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/11/14 18:47:02 UTC

[01/50] [abbrv] cayenne git commit: for cleaner output of unit tests bridging Cayenne with SLF4J

Repository: cayenne
Updated Branches:
  refs/heads/CAY-1946 fde7761f8 -> 16a8cec66


for cleaner output of unit tests bridging Cayenne with SLF4J


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/2584967e
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/2584967e
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/2584967e

Branch: refs/heads/CAY-1946
Commit: 2584967e7868f99877f5c67fd8b5fe33f92574ec
Parents: 617628c
Author: aadamchik <aa...@apache.org>
Authored: Sun Nov 2 21:29:14 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Nov 2 21:30:42 2014 +0300

----------------------------------------------------------------------
 cayenne-client/pom.xml    | 15 +++++++++++++++
 cayenne-crypto/pom.xml    | 15 +++++++++++++++
 cayenne-lifecycle/pom.xml | 15 +++++++++++++++
 cayenne-server/pom.xml    | 15 +++++++++++++++
 pom.xml                   | 15 +++++++++++++++
 5 files changed, 75 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/2584967e/cayenne-client/pom.xml
----------------------------------------------------------------------
diff --git a/cayenne-client/pom.xml b/cayenne-client/pom.xml
index 03b9bde..82dacbf 100644
--- a/cayenne-client/pom.xml
+++ b/cayenne-client/pom.xml
@@ -75,6 +75,21 @@
 			<type>test-jar</type>
 			<scope>test</scope>
 		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>jcl-over-slf4j</artifactId>
+    		<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>slf4j-api</artifactId>
+    		<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>slf4j-simple</artifactId>
+    		<scope>test</scope>
+		</dependency>
 	</dependencies>
 	<build>
 		<plugins>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2584967e/cayenne-crypto/pom.xml
----------------------------------------------------------------------
diff --git a/cayenne-crypto/pom.xml b/cayenne-crypto/pom.xml
index d33b1bd..a7b43c2 100644
--- a/cayenne-crypto/pom.xml
+++ b/cayenne-crypto/pom.xml
@@ -51,6 +51,21 @@
 			<artifactId>hsqldb</artifactId>
 			<scope>test</scope>
 		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>jcl-over-slf4j</artifactId>
+    		<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>slf4j-api</artifactId>
+    		<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>slf4j-simple</artifactId>
+    		<scope>test</scope>
+		</dependency>
 	</dependencies>
 	<build>
 		<plugins>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2584967e/cayenne-lifecycle/pom.xml
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/pom.xml b/cayenne-lifecycle/pom.xml
index 3318e2d..081519e 100644
--- a/cayenne-lifecycle/pom.xml
+++ b/cayenne-lifecycle/pom.xml
@@ -58,6 +58,21 @@
 			<artifactId>hsqldb</artifactId>
 			<scope>test</scope>
 		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>jcl-over-slf4j</artifactId>
+    		<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>slf4j-api</artifactId>
+    		<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>slf4j-simple</artifactId>
+    		<scope>test</scope>
+		</dependency>
 	</dependencies>
 		<build>
 		<plugins>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2584967e/cayenne-server/pom.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/pom.xml b/cayenne-server/pom.xml
index 8fe7724..7c313b7 100644
--- a/cayenne-server/pom.xml
+++ b/cayenne-server/pom.xml
@@ -154,6 +154,21 @@
             <artifactId>datafactory</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>jcl-over-slf4j</artifactId>
+    		<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>slf4j-api</artifactId>
+    		<scope>test</scope>
+		</dependency>
+		<dependency>
+    		<groupId>org.slf4j</groupId>
+    		<artifactId>slf4j-simple</artifactId>
+    		<scope>test</scope>
+		</dependency>
     </dependencies>
 	<build>
 		<resources>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2584967e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index d531093..d5c1f76 100644
--- a/pom.xml
+++ b/pom.xml
@@ -490,6 +490,21 @@
             	<version>1.5</version>
             	<scope>test</scope>
         	</dependency>
+        	<dependency>
+    			<groupId>org.slf4j</groupId>
+    			<artifactId>jcl-over-slf4j</artifactId>
+    			<version>1.7.7</version>
+			</dependency>
+			<dependency>
+    			<groupId>org.slf4j</groupId>
+    			<artifactId>slf4j-api</artifactId>
+    			<version>1.7.7</version>
+			</dependency>
+			<dependency>
+    			<groupId>org.slf4j</groupId>
+    			<artifactId>slf4j-simple</artifactId>
+    			<version>1.7.7</version>
+			</dependency>
 		</dependencies>
 	</dependencyManagement>
 


[21/50] [abbrv] cayenne git commit: Organize Assert Imports

Posted by aa...@apache.org.
Organize Assert Imports


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/49dd1041
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/49dd1041
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/49dd1041

Branch: refs/heads/CAY-1946
Commit: 49dd104101b00e9d113326efb8217c437504b6bc
Parents: 8990e65
Author: Savva Kolbechev <s....@gmail.com>
Authored: Wed Nov 5 13:55:13 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Wed Nov 5 13:55:13 2014 +0300

----------------------------------------------------------------------
 .../apache/cayenne/CayenneContextCayenneIT.java |  3 +
 .../CayenneContextClientChannelEventsIT.java    |  7 ++
 .../cayenne/CayenneContextDeleteRulesIT.java    |  6 ++
 .../apache/cayenne/CayenneContextEJBQLIT.java   |  3 +
 .../CayenneContextGraphDiffCompressorIT.java    |  2 +
 .../org/apache/cayenne/CayenneContextIT.java    |  7 ++
 .../cayenne/CayenneContextInheritanceIT.java    |  2 +
 .../CayenneContextMapRelationshipIT.java        |  5 ++
 .../cayenne/CayenneContextMergeHandlerIT.java   |  4 +
 .../CayenneContextNamedQueryCachingIT.java      |  4 +
 .../CayenneContextPaginatedListCachingIT.java   |  2 +
 .../cayenne/CayenneContextPrimitiveIT.java      |  4 +
 .../cayenne/CayenneContextRefreshQueryIT.java   |  2 +
 .../cayenne/CayenneContextRelationshipsIT.java  |  3 +
 .../cayenne/CayenneContextSQLTemplateIT.java    |  3 +
 .../cayenne/CayenneContextServerDiffsIT.java    |  4 +
 .../cayenne/CayenneContextValidationIT.java     |  4 +
 .../CayenneContextWithDataContextIT.java        |  8 ++
 .../apache/cayenne/NestedCayenneContextIT.java  | 16 ++--
 .../cayenne/PersistentObjectInContextIT.java    |  6 ++
 .../cayenne/access/ClientServerChannelIT.java   |  6 ++
 .../access/ClientServerChannelQueryIT.java      |  5 ++
 .../cayenne/map/ClientEntityResolverIT.java     |  5 ++
 .../cayenne/query/ClientExpressionIT.java       |  4 +
 .../query/ClientSelectQueryExpressionIT.java    |  2 +
 .../query/SelectQueryAbstractEntityIT.java      |  2 +
 .../remote/CayenneContextDeletionIT.java        |  2 +
 .../remote/ClientChannelServerDiffsIT.java      |  6 ++
 .../cayenne/remote/LightSuperClassIT.java       |  2 +
 .../remote/NestedObjectContextLocalIT.java      |  3 +
 .../NestedObjectContextParentEventsIT.java      |  5 ++
 .../remote/NestedObjectContextPeerEventsIT.java |  5 ++
 .../remote/NestedObjectContextRollbackIT.java   |  3 +
 .../cayenne/remote/ROPPrefetchToManyMapIT.java  |  2 +
 .../cayenne/remote/RelationshipChangeIT.java    |  2 +
 .../cayenne/remote/RemoteCallbacksIT.java       |  2 +
 .../remote/RemoteIncrementalFaultListIT.java    | 14 ++-
 .../apache/cayenne/remote/RemoteRollbackIT.java |  3 +
 .../apache/cayenne/remote/ValueInjectorIT.java  |  2 +
 .../unit/di/client/ClientCaseSelfIT.java        |  4 +
 .../cayenne/util/ObjectDetachOperationIT.java   |  6 ++
 .../util/ShallowMergeOperation_ClientIT.java    |  4 +
 .../cayenne/CDOCollectionRelationshipIT.java    |  7 ++
 .../java/org/apache/cayenne/CDOMany2OneIT.java  |  6 ++
 .../org/apache/cayenne/CDOMany2OneNoRevIT.java  |  4 +
 .../apache/cayenne/CDOMapRelationshipIT.java    |  7 ++
 .../java/org/apache/cayenne/CDOOne2ManyIT.java  |  4 +
 .../org/apache/cayenne/CDOOne2OneDepIT.java     |  6 ++
 .../org/apache/cayenne/CDOOneDep2OneIT.java     |  6 ++
 .../org/apache/cayenne/CDOOneToManyFKIT.java    |  4 +
 .../org/apache/cayenne/CDOOneToOneFKIT.java     |  6 ++
 .../apache/cayenne/CDOQualifiedEntitiesIT.java  |  3 +
 .../apache/cayenne/CDOSetRelationshipIT.java    |  7 ++
 .../CayenneDataObjectFlattenedRelIT.java        |  6 ++
 .../org/apache/cayenne/CayenneDataObjectIT.java |  4 +
 .../cayenne/CayenneDataObjectInContextIT.java   |  8 ++
 .../CayenneDataObjectRelationshipsIT.java       |  8 ++
 .../cayenne/CayenneDataObjectValidationIT.java  |  4 +
 .../test/java/org/apache/cayenne/CayenneIT.java |  7 ++
 .../org/apache/cayenne/CompoundPkChangeIT.java  |  2 +
 .../cayenne/DataContextMaxIdQualifierIT.java    |  2 +
 .../cayenne/DataObjectSerializationIT.java      |  6 ++
 .../cayenne/FlattenedRelationshipsIT.java       |  5 ++
 .../org/apache/cayenne/GenericMappingIT.java    |  4 +
 .../java/org/apache/cayenne/MeaningfulFKIT.java |  4 +
 .../apache/cayenne/OneWayRelationshipsIT.java   |  5 ++
 .../cayenne/PersistenceByReachabilityIT.java    |  3 +
 .../org/apache/cayenne/PersistentObjectIT.java  |  3 +
 .../org/apache/cayenne/PregeneratedPKIT.java    |  3 +
 .../cayenne/access/DataContextBinaryPKIT.java   |  3 +
 .../cayenne/access/DataContextBlobIT.java       |  3 +
 .../cayenne/access/DataContextCallbacksIT.java  |  6 ++
 .../cayenne/access/DataContextCharPKIT.java     |  3 +
 .../cayenne/access/DataContextCharTypeIT.java   |  2 +
 .../cayenne/access/DataContextClobIT.java       |  3 +
 .../cayenne/access/DataContextCommitIT.java     |  6 ++
 .../access/DataContextCompoundRelIT.java        |  2 +
 .../access/DataContextDataChannelEventsIT.java  |  3 +
 .../access/DataContextDecoratedStackIT.java     |  4 +
 .../cayenne/access/DataContextDelegateIT.java   |  5 ++
 .../DataContextDelegateSharedCacheIT.java       |  6 ++
 .../access/DataContextDeleteRulesIT.java        |  6 ++
 .../DataContextDisjointByIdPrefetchIT.java      |  5 ++
 ...ataContextDisjointByIdPrefetch_ExtrasIT.java |  4 +
 .../access/DataContextEJBQLArrayResultIT.java   |  3 +
 .../access/DataContextEJBQLConditionsIT.java    |  6 ++
 .../DataContextEJBQLConditionsPeopleIT.java     |  3 +
 .../access/DataContextEJBQLDeleteIT.java        |  4 +
 .../access/DataContextEJBQLFetchJoinIT.java     |  5 ++
 ...ataContextEJBQLFlattenedRelationshipsIT.java |  5 ++
 .../DataContextEJBQLFunctionalExpressions.java  |  3 +
 .../access/DataContextEJBQLGroupByHavingIT.java |  5 ++
 .../access/DataContextEJBQLInheritanceIT.java   |  2 +
 .../access/DataContextEJBQLIsNullIT.java        |  2 +
 .../cayenne/access/DataContextEJBQLJoinsIT.java |  3 +
 .../access/DataContextEJBQLOrderByIT.java       |  2 +
 .../cayenne/access/DataContextEJBQLQueryIT.java |  4 +
 .../access/DataContextEJBQLSubqueryIT.java      |  3 +
 .../access/DataContextEJBQLUpdateIT.java        |  3 +
 .../DataContextEntityWithMeaningfulPKIT.java    |  5 ++
 .../DataContextExtendedTypeOperationsIT.java    |  2 +
 .../cayenne/access/DataContextExtrasIT.java     |  9 ++
 .../DataContextFlattenedAttributesIT.java       |  5 ++
 .../apache/cayenne/access/DataContextIT.java    |  7 ++
 .../access/DataContextJoinAliasesIT.java        |  2 +
 .../access/DataContextLocalObjectIT.java        |  6 ++
 .../cayenne/access/DataContextNoPkIT.java       |  5 ++
 .../access/DataContextObjectIdQueryIT.java      |  4 +
 .../access/DataContextObjectTrackingIT.java     |  5 ++
 .../cayenne/access/DataContextOrderingIT.java   |  3 +
 .../cayenne/access/DataContextOuterJoinsIT.java |  2 +
 .../access/DataContextPaginatedQueryIT.java     |  3 +
 .../access/DataContextPerformQueryAPIIT.java    |  3 +
 .../access/DataContextPrefetchExtras1IT.java    |  3 +
 .../access/DataContextPrefetchExtrasIT.java     |  6 ++
 .../cayenne/access/DataContextPrefetchIT.java   |  7 ++
 .../access/DataContextPrefetchMultistepIT.java  |  6 ++
 .../DataContextPrefetchQualifierOverlapIT.java  |  2 +
 .../access/DataContextProcedureQueryIT.java     |  5 ++
 .../access/DataContextQualifiedEntityIT.java    |  2 +
 .../access/DataContextQueryCachingIT.java       |  5 ++
 .../cayenne/access/DataContextQueryChainIT.java |  3 +
 .../access/DataContextRefreshQueryIT.java       |  7 ++
 .../cayenne/access/DataContextRefreshingIT.java |  5 ++
 .../access/DataContextRelationshipQueryIT.java  |  3 +
 .../cayenne/access/DataContextRollbackIT.java   |  4 +
 .../access/DataContextSQLTemplateIT.java        |  4 +
 .../DataContextSelectQuerySplitAliasesIT.java   |  2 +
 .../access/DataContextSerializationIT.java      |  7 ++
 .../access/DataContextSharedCacheEmpiricIT.java |  4 +
 .../access/DataContextSharedCacheIT.java        |  8 ++
 .../cayenne/access/DataContextValidationIT.java |  4 +
 .../cayenne/access/DataDomainCallbacksIT.java   |  6 ++
 .../cayenne/access/DataDomainFiltersIT.java     |  4 +
 .../org/apache/cayenne/access/DataDomainIT.java |  8 ++
 .../cayenne/access/DataDomainQueryActionIT.java |  2 +
 .../org/apache/cayenne/access/DataNodeIT.java   |  4 +
 .../cayenne/access/DataNodeQueriesIT.java       |  3 +
 .../apache/cayenne/access/DataRowStoreIT.java   |  5 ++
 .../apache/cayenne/access/DataRowUtilsIT.java   |  5 ++
 .../apache/cayenne/access/DateTimeTypesIT.java  |  4 +
 .../apache/cayenne/access/DbGeneratorIT.java    |  5 ++
 .../org/apache/cayenne/access/DbLoaderIT.java   |  6 ++
 .../cayenne/access/DbLoaderPartialIT.java       |  3 +
 .../apache/cayenne/access/DeleteObjectIT.java   |  3 +
 .../apache/cayenne/access/DeleteRulesIT.java    |  6 ++
 .../org/apache/cayenne/access/EmbeddingIT.java  |  3 +
 .../java/org/apache/cayenne/access/EnumIT.java  |  3 +
 .../cayenne/access/FlattenedArcKeyIT.java       |  4 +
 .../cayenne/access/FlattenedPrefetchIT.java     |  5 ++
 .../FlattenedRelationshipInContextIT.java       |  4 +
 .../cayenne/access/IdentityColumnsIT.java       |  5 ++
 .../cayenne/access/IncrementalFaultListIT.java  |  3 +
 .../apache/cayenne/access/JointPrefetchIT.java  |  6 ++
 .../org/apache/cayenne/access/MiscTypesIT.java  |  4 +
 .../access/NestedDataContextLocalCacheIT.java   |  3 +
 .../access/NestedDataContextParentEventsIT.java |  5 ++
 .../NestedDataContextParentPeerEventsIT.java    |  6 ++
 .../access/NestedDataContextPeerEventsIT.java   |  5 ++
 .../cayenne/access/NestedDataContextReadIT.java |  8 ++
 .../access/NestedDataContextRollbackIT.java     |  3 +
 .../access/NestedDataContextValidationIT.java   |  4 +
 .../access/NestedDataContextWriteIT.java        |  6 ++
 .../access/NestedDataContext_DeadlockIT.java    |  2 +
 .../apache/cayenne/access/NumericTypesIT.java   |  5 ++
 .../access/ObjectStoreDiffRetainingIT.java      |  3 +
 .../apache/cayenne/access/ObjectStoreGCIT.java  |  2 +
 .../apache/cayenne/access/ObjectStoreIT.java    |  5 ++
 .../cayenne/access/OptimisticLockingIT.java     |  5 ++
 .../access/PrefetchProcessorTreeBuilderIT.java  |  6 ++
 .../cayenne/access/QuotedIdentifiersIT.java     |  2 +
 .../cayenne/access/ReturnTypesMappingIT.java    |  4 +
 .../SimpleIdIncrementalFaultListDataRowsIT.java |  4 +
 .../access/SimpleIdIncrementalFaultListIT.java  |  6 ++
 .../SimpleIdIncrementalFaultListPrefetchIT.java |  5 ++
 .../access/SingleTableInheritance1IT.java       |  2 +
 .../access/SingleTableInheritanceIT.java        |  5 ++
 .../org/apache/cayenne/access/ToManyListIT.java |  4 +
 .../cayenne/access/TransactionThreadIT.java     |  3 +
 .../java/org/apache/cayenne/access/UUIDIT.java  |  3 +
 .../cayenne/access/UserTransactionIT.java       |  2 +
 .../cayenne/access/VerticalInheritanceIT.java   |  5 ++
 .../access/dbsync/SchemaUpdateStrategyIT.java   |  3 +
 .../ThrowOnPartialOrCreateSchemaStrategyIT.java | 85 ++++++++++++++++++
 ...hrowOnPartialOrCreateSchemaStrategyTest.java | 82 -----------------
 .../dbsync/ThrowOnPartialSchemaStrategyIT.java  | 93 ++++++++++++++++++++
 .../ThrowOnPartialSchemaStrategyTest.java       | 89 -------------------
 .../cayenne/access/jdbc/BatchActionIT.java      |  2 +
 .../access/jdbc/BatchActionLockingIT.java       |  2 +
 .../access/jdbc/SQLTemplateActionIT.java        |  5 ++
 .../cayenne/access/jdbc/SelectActionIT.java     |  3 +
 .../batch/DefaultBatchTranslatorIT.java         |  2 +
 .../batch/DeleteBatchTranslatorIT.java          |  3 +
 .../batch/InsertBatchTranslatorIT.java          |  3 +
 .../batch/SoftDeleteBatchTranslatorIT.java      |  3 +
 .../batch/UpdateBatchTranslatorIT.java          |  3 +
 .../ejbql/EJBQLSelectTranslatorIT.java          |  3 +
 .../translator/select/OrderingTranslatorIT.java |  2 +
 .../select/QualifierTranslatorIT.java           |  4 +
 .../translator/select/QueryAssemblerIT.java     |  3 +
 .../translator/select/SelectTranslatorIT.java   |  5 ++
 .../access/util/DefaultOperationObserverIT.java |  3 +
 .../cayenne/ashwood/AshwoodEntitySorterIT.java  |  2 +
 .../org/apache/cayenne/cache/QueryCacheIT.java  |  2 +
 .../server/JNDIDataSourceFactoryIT.java         |  3 +
 .../ServerRuntimeBuilder_InAction_IT.java       |  2 +
 .../org/apache/cayenne/conn/PoolManagerIT.java  |  2 +
 .../org/apache/cayenne/dba/AutoAdapterIT.java   |  3 +
 .../cayenne/dba/ConcurrentPkGeneratorIT.java    |  3 +
 .../org/apache/cayenne/dba/JdbcAdapterIT.java   |  3 +
 .../apache/cayenne/dba/JdbcPkGeneratorIT.java   |  2 +
 .../org/apache/cayenne/dba/PkGeneratorIT.java   |  4 +
 .../org/apache/cayenne/dba/TypesMappingIT.java  |  3 +
 .../cayenne/dba/hsqldb/HSQLDBAdapterIT.java     |  3 +
 .../cayenne/dba/mysql/MySQLAdapterIT.java       |  2 +
 .../cayenne/dba/oracle/Oracle8AdapterIT.java    |  4 +
 .../cayenne/dba/oracle/OracleAdapterIT.java     |  5 ++
 .../cayenne/dba/oracle/OraclePkGeneratorIT.java |  2 +
 .../cayenne/dba/postgres/PostgresAdapterIT.java |  3 +
 .../dba/sqlserver/SQLServerAdapterIT.java       |  3 +
 .../dba/sqlserver/SQLServerSnifferIT.java       |  3 +
 .../ejbql/EJBQLCompiledExpressionIT.java        |  4 +
 .../exp/ExpressionFactory_InContextIT.java      |  6 ++
 .../cayenne/exp/Expression_InContextIT.java     |  7 ++
 .../cayenne/exp/ParsedExpQualifierCompatIT.java |  2 +
 .../parser/ExpressionEvaluateInMemoryIT.java    |  4 +
 .../cayenne/map/ClientEntityResolverIT.java     |  5 ++
 .../java/org/apache/cayenne/map/DbEntityIT.java |  7 ++
 .../apache/cayenne/map/DbRelationshipIT.java    |  5 ++
 .../java/org/apache/cayenne/map/EntityIT.java   |  8 ++
 .../map/EntityResolverClassDescriptorIT.java    |  5 ++
 .../map/EntityResolverGenericStackIT.java       |  5 ++
 .../apache/cayenne/map/EntityResolverIT.java    |  6 ++
 .../map/EntityResolverInheritanceIT.java        |  5 ++
 .../org/apache/cayenne/map/ObjEntityIT.java     |  8 ++
 .../apache/cayenne/map/ObjRelationshipIT.java   |  8 ++
 .../cayenne/merge/AddColumnToModelIT.java       |  5 ++
 .../cayenne/merge/CreateTableToModelIT.java     |  6 ++
 .../cayenne/merge/DropColumnToModelIT.java      |  7 ++
 .../merge/DropRelationshipToModelIT.java        |  6 ++
 .../cayenne/merge/DropTableToModelIT.java       |  5 ++
 .../org/apache/cayenne/merge/MergeCase.java     | 16 ++--
 .../apache/cayenne/merge/MergerFactoryIT.java   |  4 +
 .../cayenne/merge/SetAllowNullToDbIT.java       |  2 +
 .../apache/cayenne/merge/SetNotNullToDbIT.java  |  2 +
 .../apache/cayenne/merge/ValueForNullIT.java    |  4 +
 .../org/apache/cayenne/query/EJBQLQueryIT.java  |  7 ++
 .../cayenne/query/ProcedureQueryCacheKeyIT.java |  4 +
 .../org/apache/cayenne/query/QueryChainIT.java  |  4 +
 .../org/apache/cayenne/query/SQLSelectIT.java   |  4 +
 .../cayenne/query/SQLTemplateCacheKeyIT.java    |  5 ++
 .../org/apache/cayenne/query/SQLTemplateIT.java |  4 +
 .../org/apache/cayenne/query/SelectByIdIT.java  |  4 +
 .../cayenne/query/SelectQueryCacheKeyIT.java    |  5 ++
 .../query/SelectQueryFetchLimitOrderingIT.java  |  2 +
 .../org/apache/cayenne/query/SelectQueryIT.java |  7 ++
 .../SelectQueryPrefetchRouterActionIT.java      |  3 +
 ...ryPrefetchRouterActionQualifiedEntityIT.java |  3 +
 .../cayenne/query/StatementFetchSizeIT.java     |  2 +
 .../reflect/LifecycleCallbackRegistryIT.java    |  2 +
 ...LifecycleCallbackRegistry_InheritanceIT.java |  2 +
 .../reflect/MixedPersistenceStrategyIT.java     |  3 +
 .../generic/DataObjectDescriptorFactoryIT.java  |  3 +
 .../cayenne/tx/DefaultTransactionManagerIT.java |  2 +
 .../java/org/apache/cayenne/unit/di/DICase.java |  3 +-
 .../apache/cayenne/unit/di/DICaseSelfIT.java    |  4 +
 .../unit/di/server/ServerCaseSelfIT.java        |  5 ++
 .../org/apache/cayenne/unit/jira/CAY_115IT.java |  2 +
 .../org/apache/cayenne/unit/jira/CAY_191IT.java |  3 +
 .../org/apache/cayenne/unit/jira/CAY_194IT.java |  3 +
 .../cayenne/util/DeepMergeOperationIT.java      |  4 +
 .../util/DeepMergeOperationInheritanceIT.java   |  5 ++
 .../cayenne/util/EntityMergeSupportIT.java      |  5 ++
 .../cayenne/util/ShallowMergeOperationIT.java   |  4 +
 .../cayenne/velocity/BindDirectiveIT.java       |  4 +
 .../cayenne/velocity/ResultDirectiveIT.java     |  3 +
 276 files changed, 1310 insertions(+), 189 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
index 8f3cdbe..1063f56 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
@@ -26,6 +26,9 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextCayenneIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
index 1e2e6cd..71f0114 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
@@ -34,6 +34,13 @@ import org.apache.cayenne.unit.di.client.ClientRuntimeProperty;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests peer context synchronization via ClientChannel events.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
index 1c581ab..c4d6bc5 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
@@ -28,6 +28,12 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextDeleteRulesIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java
index dd83141..e1e1351 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java
@@ -29,6 +29,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextEJBQLIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java
index a3d67d8..487d03f 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java
@@ -28,6 +28,8 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextGraphDiffCompressorIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
index d8c8911..268a2cc 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
@@ -48,6 +48,13 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
index fc65b4c..55ab00d 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
@@ -32,6 +32,8 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextInheritanceIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
index 869ac6f..46fd918 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
@@ -32,6 +32,11 @@ import org.junit.Test;
 
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextMapRelationshipIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
index ea06418..31b5c80 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
@@ -26,6 +26,10 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
index 4205221..1aeae13 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
@@ -32,6 +32,10 @@ import org.junit.Test;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextNamedQueryCachingIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
index ee50cb4..a0a4efe 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
@@ -31,6 +31,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextPaginatedListCachingIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
index ee948b0..f75111c 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
@@ -33,6 +33,10 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextPrimitiveIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
index 5583605..2db0812 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
@@ -27,6 +27,8 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextRefreshQueryIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
index 10dccbc..8ae8850 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
@@ -30,6 +30,9 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextRelationshipsIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
index 9eff4c3..555dbce 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
@@ -26,6 +26,9 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextSQLTemplateIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
index ae0b006..7031d24 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
@@ -30,6 +30,10 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextServerDiffsIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
index 68f3b8f..299adef 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
@@ -28,6 +28,10 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.validation.ValidationException;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextValidationIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
index 5ef8b5b..ed19ebe 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
@@ -48,6 +48,14 @@ import java.sql.Types;
 import java.util.Iterator;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextWithDataContextIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
index d40ed76..20b7a5d 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
@@ -18,11 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.configuration.rop.client.ClientRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.graph.GraphChangeHandler;
@@ -45,6 +40,17 @@ import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests nested object contexts
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
index df94fe1..b903d1c 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
@@ -34,6 +34,12 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class PersistentObjectInContextIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
index f2dab9b..dff353f 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
@@ -52,6 +52,12 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientServerChannelIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
index 2fc7386..110f39c 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
@@ -40,6 +40,11 @@ import org.junit.Test;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientServerChannelQueryIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
index 9ff9666..c87060c 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
@@ -27,6 +27,11 @@ import org.junit.Test;
 import java.util.Collection;
 import java.util.Collections;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientEntityResolverIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
index d6685d2..ad3874d 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
@@ -38,6 +38,10 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientExpressionIT extends ClientCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
index 213da28..b484f34 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
@@ -31,6 +31,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientSelectQueryExpressionIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java b/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
index fcc55e5..7bd8a55 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
@@ -32,6 +32,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class SelectQueryAbstractEntityIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
index 686b9ae..98f89df 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
@@ -30,6 +30,8 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 @RunWith(value=Parameterized.class)
 public class CayenneContextDeletionIT extends RemoteCayenneCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java
index 2fa875b..805f730 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java
@@ -38,6 +38,12 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientChannelServerDiffsIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
index b0b600d..3ffeb20 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
@@ -36,6 +36,8 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * Test for entites that are implemented in same class on client and server
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
index 418841a..aae5787 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
@@ -36,6 +36,9 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 @RunWith(value=Parameterized.class)
 public class NestedObjectContextLocalIT extends RemoteCayenneCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
index 53ed7ac..b9d701b 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
@@ -35,6 +35,11 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 @RunWith(value=Parameterized.class)
 public class NestedObjectContextParentEventsIT extends RemoteCayenneCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
index bc86734..b6974ba 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
@@ -37,6 +37,11 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 @RunWith(value=Parameterized.class)
 public class NestedObjectContextPeerEventsIT extends RemoteCayenneCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
index 9f7df82..7b35148 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
@@ -33,6 +33,9 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 @RunWith(value=Parameterized.class)
 public class NestedObjectContextRollbackIT extends RemoteCayenneCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
index 07cefec..6e456f3 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
@@ -38,6 +38,8 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime("cayenne-multi-tier.xml")
 @RunWith(value=Parameterized.class)
 public class ROPPrefetchToManyMapIT extends RemoteCayenneCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
index ad88348..3fba2bf 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
@@ -31,6 +31,8 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * This is a test primarily for CAY-1118
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
index 17c3973..d7bf475 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
@@ -32,6 +32,8 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 @RunWith(value=Parameterized.class)
 public class RemoteCallbacksIT extends RemoteCayenneCase implements LifecycleListener {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
index 77f15f4..be2f520 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.remote;
 
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
 import org.apache.cayenne.CayenneContext;
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.di.Inject;
@@ -38,6 +34,16 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class RemoteIncrementalFaultListIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
index aeff54a..8c90da4 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
@@ -32,6 +32,9 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
 /**
  * This is a test primarily for CAY-1103
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
index 0503ffc..4b7dc76 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
@@ -37,6 +37,8 @@ import org.junit.runners.Parameterized.Parameters;
 import java.util.Arrays;
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 @RunWith(value=Parameterized.class)
 public class ValueInjectorIT extends RemoteCayenneCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
index b8e31ae..32fb280 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
@@ -24,6 +24,10 @@ import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientCaseSelfIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java b/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
index 4857c5f..236e06a 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
@@ -32,6 +32,12 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ObjectDetachOperationIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java b/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
index 3a22a38..398467b 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
@@ -36,6 +36,10 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ShallowMergeOperation_ClientIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
index 8e7ade5..8983e01 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
@@ -32,6 +32,13 @@ import org.junit.Test;
 
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class CDOCollectionRelationshipIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
index 3af42e8..fefc3b3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
@@ -40,6 +40,12 @@ import java.sql.Types;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CDOMany2OneIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
index baa83aa..232e685 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
@@ -26,6 +26,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CDOMany2OneNoRevIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
index 95b3985..988af5c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
@@ -33,6 +33,13 @@ import org.junit.Test;
 
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class CDOMapRelationshipIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
index 1182010..b8a09c3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
@@ -38,6 +38,10 @@ import org.junit.Test;
 import java.util.Date;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CDOOne2ManyIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
index 96278e5..470d298 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
@@ -27,6 +27,12 @@ import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime("cayenne-small-testmap.xml")
 public class CDOOne2OneDepIT extends CayenneDOTestBase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
index 7056d6a..b93d1cc 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
@@ -32,6 +32,12 @@ import org.junit.Test;
 
 import java.sql.Timestamp;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime("cayenne-small-testmap.xml")
 public class CDOOneDep2OneIT extends CayenneDOTestBase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
index 8c21b8d..a3270bf 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
@@ -29,6 +29,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 // TODO: this mapping scenario is really unsupported ... this is just an attempt at
 // partial solution
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
index e06eddf..ff61bab 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
@@ -29,6 +29,12 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests the behavior of one-to-one relationship where to-one is pointing to an FK.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
index f2c9531..45962d0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
@@ -32,6 +32,9 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.DEFAULT_PROJECT)
 public class CDOQualifiedEntitiesIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
index 114a2a5..ed688e7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
@@ -32,6 +32,13 @@ import org.junit.Test;
 
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class CDOSetRelationshipIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
index bd4857c..b32f188 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
@@ -37,6 +37,12 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CayenneDataObjectFlattenedRelIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
index 37c4927..964766c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
@@ -33,6 +33,10 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CayenneDataObjectIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
index df37ac2..752efa7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
@@ -33,6 +33,14 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CayenneDataObjectInContextIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
index ff44ba7..725ce81 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
@@ -35,6 +35,14 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CayenneDataObjectRelationshipsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
index fda101f..d65b3c4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
@@ -34,6 +34,10 @@ import org.junit.Test;
 import java.util.Date;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CayenneDataObjectValidationIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
index 0ee8ac8..d2ac438 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
@@ -45,6 +45,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CayenneIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
index 6acbd18..f0035b0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
@@ -27,6 +27,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CompoundPkChangeIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java b/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
index 4a2f07f..9e57d0b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
@@ -38,6 +38,8 @@ import java.sql.Types;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextMaxIdQualifierIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
index d34016d..2e1c441 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
@@ -29,6 +29,12 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataObjectSerializationIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
index 7246c62..b6af41a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
@@ -38,6 +38,11 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Test case for objects with flattened relationships.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
index 73468d1..95381ce 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
@@ -32,6 +32,10 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.DEFAULT_PROJECT)
 public class GenericMappingIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
index 65ed9a4..2cc7ef9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
@@ -28,6 +28,10 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.validation.ValidationResult;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class MeaningfulFKIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
index bc47ae0..4b99f55 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
@@ -33,6 +33,11 @@ import org.junit.Test;
 import java.sql.SQLException;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.ONEWAY_PROJECT)
 public class OneWayRelationshipsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
index 24d880f..65fb933 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
@@ -26,6 +26,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class PersistenceByReachabilityIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java
index baba75a..c6a1146 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java
@@ -23,6 +23,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
index 05ce2ab..4059622 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
@@ -29,6 +29,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 /**
  * This test case ensures that PK pre-generated for the entity manually before commit is
  * used during commit as well.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
index f7fbddb..de99905 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
@@ -30,6 +30,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextBinaryPKIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
index 80b355a..6552b73 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
@@ -31,6 +31,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextBlobIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
index fdb98d7..1b89bd2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
@@ -30,6 +30,12 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextCallbacksIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
index 5e0ac6a..569b216 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
@@ -30,6 +30,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextCharPKIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
index 1b920f0..9c3779a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
@@ -32,6 +32,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextCharTypeIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
index 1ee5119..4cd56eb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
@@ -30,6 +30,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextClobIT extends ServerCase {
 


[19/50] [abbrv] cayenne git commit: Organize Assert Imports

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
index 4929c4f..55c5efc 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
@@ -35,6 +35,11 @@ import org.junit.Test;
 import java.util.Collections;
 import java.util.Date;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ObjectStoreIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
index 20e9f07..edcf679 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
@@ -35,6 +35,11 @@ import java.sql.Types;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.LOCKING_PROJECT)
 public class OptimisticLockingIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
index 6e9a6ad..5a4e6fa 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
@@ -41,6 +41,12 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class PrefetchProcessorTreeBuilderIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
index 2eac6d0..b629dbb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
@@ -39,6 +39,8 @@ import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.QUOTED_IDENTIFIERS_PROJECT)
 public class QuotedIdentifiersIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
index d84939c..9b61b6a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
@@ -38,6 +38,10 @@ import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Test Types mapping for selected columns
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
index 99e5f41..d1d6ee6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
@@ -35,6 +35,10 @@ import org.junit.Test;
 import java.util.Iterator;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests IncrementalFaultList behavior when fetching data rows.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
index 22e3691..42dbc25 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
@@ -37,6 +37,12 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.ListIterator;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SimpleIdIncrementalFaultListIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
index 6194ff8..fee6220 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
@@ -39,6 +39,11 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SimpleIdIncrementalFaultListPrefetchIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
index 31e093c..02b2c41 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
@@ -31,6 +31,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertTrue;
+
 /**
  * Special test cases per CAY-1378, CAY-1379.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
index 22a6e8b..8f8cd39 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
@@ -49,6 +49,11 @@ import java.sql.Types;
 import java.util.Arrays;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)
 public class SingleTableInheritanceIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java
index e31a0bd..6355ed5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java
@@ -33,6 +33,10 @@ import java.lang.reflect.Field;
 import java.util.LinkedList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ToManyListIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java
index b4a9b10..caf6d6a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java
@@ -33,6 +33,9 @@ import org.junit.Test;
 
 import java.sql.Connection;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class TransactionThreadIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
index e3cb82e..45ab106 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
@@ -32,6 +32,9 @@ import org.junit.Test;
 
 import java.util.UUID;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class UUIDIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java
index 3d77739..d88ae08 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java
@@ -32,6 +32,8 @@ import org.junit.Test;
 
 import java.sql.Connection;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class UserTransactionIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
index c389fa1..f93f140 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
@@ -41,6 +41,11 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.INHERTITANCE_VERTICAL_PROJECT)
 public class VerticalInheritanceIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
index 8ac759d..29ca1ae 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
@@ -29,6 +29,9 @@ import org.junit.Test;
 import java.util.Collections;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.SUS_PROJECT)
 public class SchemaUpdateStrategyIT extends SchemaUpdateStrategyBase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyIT.java
new file mode 100644
index 0000000..f38e524
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyIT.java
@@ -0,0 +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.access.dbsync;
+
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.OperationObserver;
+import org.apache.cayenne.query.SQLTemplate;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.mock;
+
+@UseServerRuntime(ServerCase.SUS_PROJECT)
+public class ThrowOnPartialOrCreateSchemaStrategyIT extends SchemaUpdateStrategyBase {
+
+    @Test
+	public void testMixedStrategyTableExist() throws Exception {
+
+		createOneTable("SUS1");
+		createOneTable("SUS2");
+
+		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
+		SQLTemplate query = new SQLTemplate(Object.class, template);
+
+		setStrategy(ThrowOnPartialOrCreateSchemaStrategy.class);
+		node.performQueries(Collections.singletonList(query), mock(OperationObserver.class));
+	}
+
+    @Test
+	public void testMixedStrategyTableNoExist() throws Exception {
+
+		String template = "SELECT #result('id' 'int') FROM SUS1";
+		SQLTemplate query = new SQLTemplate(Object.class, template);
+
+		setStrategy(ThrowOnPartialOrCreateSchemaStrategy.class);
+
+		node.performQueries(Collections.singletonList(query), mock(OperationObserver.class));
+		Map<String, Boolean> nameTables = tablesMap();
+		assertTrue(nameTables.get("SUS1"));
+		assertEquals(2, existingTables().size());
+
+		node.performQueries(Collections.singletonList(query), mock(OperationObserver.class));
+		assertEquals(2, existingTables().size());
+	}
+
+    @Test
+	public void testMixedStrategyWithOneTable() throws Exception {
+		createOneTable("SUS1");
+		setStrategy(ThrowOnPartialOrCreateSchemaStrategy.class);
+
+		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
+		SQLTemplate query = new SQLTemplate(Object.class, template);
+
+		try {
+			node.performQueries(Collections.singletonList(query), mock(OperationObserver.class));
+			assertEquals(1, existingTables().size());
+			fail("Must have thrown on partial schema");
+		} catch (CayenneRuntimeException e) {
+			// expected
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyTest.java b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyTest.java
deleted file mode 100644
index cd7f7af..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyTest.java
+++ /dev/null
@@ -1,82 +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.access.dbsync;
-
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.access.OperationObserver;
-import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Test;
-
-import java.util.Collections;
-import java.util.Map;
-
-import static org.mockito.Mockito.mock;
-
-@UseServerRuntime(ServerCase.SUS_PROJECT)
-public class ThrowOnPartialOrCreateSchemaStrategyTest extends SchemaUpdateStrategyBase {
-
-    @Test
-	public void testMixedStrategyTableExist() throws Exception {
-
-		createOneTable("SUS1");
-		createOneTable("SUS2");
-
-		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
-		SQLTemplate query = new SQLTemplate(Object.class, template);
-
-		setStrategy(ThrowOnPartialOrCreateSchemaStrategy.class);
-		node.performQueries(Collections.singletonList(query), mock(OperationObserver.class));
-	}
-
-    @Test
-	public void testMixedStrategyTableNoExist() throws Exception {
-
-		String template = "SELECT #result('id' 'int') FROM SUS1";
-		SQLTemplate query = new SQLTemplate(Object.class, template);
-
-		setStrategy(ThrowOnPartialOrCreateSchemaStrategy.class);
-
-		node.performQueries(Collections.singletonList(query), mock(OperationObserver.class));
-		Map<String, Boolean> nameTables = tablesMap();
-		assertTrue(nameTables.get("SUS1"));
-		assertEquals(2, existingTables().size());
-
-		node.performQueries(Collections.singletonList(query), mock(OperationObserver.class));
-		assertEquals(2, existingTables().size());
-	}
-
-    @Test
-	public void testMixedStrategyWithOneTable() throws Exception {
-		createOneTable("SUS1");
-		setStrategy(ThrowOnPartialOrCreateSchemaStrategy.class);
-
-		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
-		SQLTemplate query = new SQLTemplate(Object.class, template);
-
-		try {
-			node.performQueries(Collections.singletonList(query), mock(OperationObserver.class));
-			assertEquals(1, existingTables().size());
-			fail("Must have thrown on partial schema");
-		} catch (CayenneRuntimeException e) {
-			// expected
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyIT.java
new file mode 100644
index 0000000..8738e2f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyIT.java
@@ -0,0 +1,93 @@
+/*****************************************************************
+ *   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.access.dbsync;
+
+import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.access.MockOperationObserver;
+import org.apache.cayenne.query.Query;
+import org.apache.cayenne.query.SQLTemplate;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+@UseServerRuntime(ServerCase.SUS_PROJECT)
+public class ThrowOnPartialSchemaStrategyIT extends SchemaUpdateStrategyBase {
+
+    @Test
+	public void testThrowOnPartialStrategyTableNoExist() throws Exception {
+
+		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
+		SQLTemplate query = new SQLTemplate(Object.class, template);
+		MockOperationObserver observer = new MockOperationObserver();
+
+		setStrategy(ThrowOnPartialSchemaStrategy.class);
+
+		try {
+			node.performQueries(Collections.singletonList((Query) query), observer);
+		} catch (CayenneRuntimeException e) {
+			assertNotNull(e);
+		}
+
+		try {
+			node.performQueries(Collections.singletonList((Query) query), observer);
+		} catch (CayenneRuntimeException e) {
+			assertNotNull(e);
+		}
+	}
+
+    @Test
+	public void testThrowOnPartialStrategyTableExist() throws Exception {
+
+		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
+		SQLTemplate query = new SQLTemplate(Object.class, template);
+		MockOperationObserver observer = new MockOperationObserver();
+
+		createOneTable("SUS1");
+		createOneTable("SUS2");
+
+		setStrategy(ThrowOnPartialSchemaStrategy.class);
+		node.performQueries(Collections.singletonList(query), observer);
+	}
+
+    @Test
+	public void testThrowOnPartialStrategyWithOneTable() throws Exception {
+		createOneTable("SUS1");
+
+		setStrategy(ThrowOnPartialSchemaStrategy.class);
+
+		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
+		SQLTemplate query = new SQLTemplate(Object.class, template);
+		MockOperationObserver observer = new MockOperationObserver();
+
+		try {
+			node.performQueries(Collections.singletonList(query), observer);
+			assertEquals(1, existingTables().size());
+			fail("Must have thrown on partial schema");
+		} catch (CayenneRuntimeException e) {
+			// expected
+		}
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyTest.java b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyTest.java
deleted file mode 100644
index 55abbcb..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyTest.java
+++ /dev/null
@@ -1,89 +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.access.dbsync;
-
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.access.MockOperationObserver;
-import org.apache.cayenne.query.Query;
-import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Test;
-
-import java.util.Collections;
-
-@UseServerRuntime(ServerCase.SUS_PROJECT)
-public class ThrowOnPartialSchemaStrategyTest extends SchemaUpdateStrategyBase {
-
-    @Test
-	public void testThrowOnPartialStrategyTableNoExist() throws Exception {
-
-		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
-		SQLTemplate query = new SQLTemplate(Object.class, template);
-		MockOperationObserver observer = new MockOperationObserver();
-
-		setStrategy(ThrowOnPartialSchemaStrategy.class);
-
-		try {
-			node.performQueries(Collections.singletonList((Query) query), observer);
-		} catch (CayenneRuntimeException e) {
-			assertNotNull(e);
-		}
-
-		try {
-			node.performQueries(Collections.singletonList((Query) query), observer);
-		} catch (CayenneRuntimeException e) {
-			assertNotNull(e);
-		}
-	}
-
-    @Test
-	public void testThrowOnPartialStrategyTableExist() throws Exception {
-
-		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
-		SQLTemplate query = new SQLTemplate(Object.class, template);
-		MockOperationObserver observer = new MockOperationObserver();
-
-		createOneTable("SUS1");
-		createOneTable("SUS2");
-
-		setStrategy(ThrowOnPartialSchemaStrategy.class);
-		node.performQueries(Collections.singletonList(query), observer);
-	}
-
-    @Test
-	public void testThrowOnPartialStrategyWithOneTable() throws Exception {
-		createOneTable("SUS1");
-
-		setStrategy(ThrowOnPartialSchemaStrategy.class);
-
-		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
-		SQLTemplate query = new SQLTemplate(Object.class, template);
-		MockOperationObserver observer = new MockOperationObserver();
-
-		try {
-			node.performQueries(Collections.singletonList(query), observer);
-			assertEquals(1, existingTables().size());
-			fail("Must have thrown on partial schema");
-		} catch (CayenneRuntimeException e) {
-			// expected
-		}
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
index f59c4f6..51bd248 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
@@ -33,6 +33,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
index 89cc849..4152e50 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
@@ -47,6 +47,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.LOCKING_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
index b9f0240..58a15ed 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
@@ -46,6 +46,11 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLTemplateActionIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
index 77df179..48ddcef 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
@@ -33,6 +33,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectActionIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java
index fef421e..8d6ee68 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java
@@ -33,6 +33,8 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
index 6384c07..c6c2ad6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
@@ -38,6 +38,9 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.LOCKING_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
index ad28d6e..5febbae 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
@@ -31,6 +31,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.LOCKING_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
index 1860cc1..dee5340 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
@@ -43,6 +43,9 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.LOCKING_PROJECT)
 public class SoftDeleteBatchTranslatorIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
index 8f3eea2..848860a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
@@ -37,6 +37,9 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.LOCKING_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
index 7db9fe3..c9c7203 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
@@ -34,6 +34,9 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EJBQLSelectTranslatorIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
index d5a8e5a..34ead39 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
@@ -32,6 +32,8 @@ import org.junit.Test;
 
 import java.sql.Connection;
 
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class OrderingTranslatorIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
index 8dddbe0..9417ac4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
@@ -41,6 +41,10 @@ import org.junit.Test;
 
 import java.sql.Connection;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class QualifierTranslatorIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java
index c731bb8..133281b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java
@@ -30,6 +30,9 @@ import org.junit.Test;
 
 import java.sql.Connection;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class QueryAssemblerIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java
index a225b7e..c872a4b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java
@@ -47,6 +47,11 @@ import java.sql.Connection;
 import java.util.Date;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectTranslatorIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
index 948cf37..dafacd6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
@@ -24,6 +24,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DefaultOperationObserverIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
index 75c4d82..e7eff63 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
@@ -34,6 +34,8 @@ import java.sql.Types;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class AshwoodEntitySorterIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
index 13276c6..9536e44 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
@@ -29,6 +29,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertNotSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class QueryCacheIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java
index e140fe1..c5e8a75 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java
@@ -30,6 +30,9 @@ import org.junit.Test;
 import javax.naming.InitialContext;
 import javax.naming.NameNotFoundException;
 
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class JNDIDataSourceFactoryIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
index ef5f536..86218d9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
@@ -31,6 +31,8 @@ import org.junit.Test;
 import javax.sql.DataSource;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ServerRuntimeBuilder_InAction_IT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java b/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java
index 02622d3..ff0b69f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java
@@ -26,6 +26,8 @@ import org.junit.Test;
 
 import java.sql.Connection;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class PoolManagerIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
index 623e603..e267277 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
@@ -30,6 +30,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
index 646e192..8719e86 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
@@ -38,6 +38,9 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime("cayenne-default.xml")
 public class ConcurrentPkGeneratorIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
index 21ca79c..b760549 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
@@ -32,6 +32,9 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class JdbcAdapterIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
index dd56f0b..8a1c692 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
@@ -31,6 +31,8 @@ import org.junit.Test;
 
 import java.util.Collections;
 
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class JdbcPkGeneratorIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
index 63e3d91..2d8214b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
@@ -30,6 +30,10 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class PkGeneratorIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
index f3163ff..a07de22 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
@@ -34,6 +34,9 @@ import java.util.Calendar;
 import java.util.GregorianCalendar;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 public class TypesMappingIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
index 414a28b..d7c3ccb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
@@ -29,6 +29,9 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class HSQLDBAdapterIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
index 908a030..754667d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
@@ -27,6 +27,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class MySQLAdapterIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
index cfa295e..808c8a2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
@@ -28,6 +28,10 @@ import org.junit.Test;
 import java.net.URL;
 import java.sql.Types;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class Oracle8AdapterIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
index edcde29..d2a372e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
@@ -30,6 +30,11 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class OracleAdapterIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
index 603944b..d8494af 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
@@ -28,6 +28,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class OraclePkGeneratorIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
index adada5b..a5ea63d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
@@ -28,6 +28,9 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class PostgresAdapterIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
index 198b2b1..41a6ab9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
@@ -28,6 +28,9 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLServerAdapterIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
index fc27cf9..ffb848a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
@@ -32,6 +32,9 @@ import org.junit.Test;
 import java.sql.Connection;
 import java.sql.SQLException;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLServerSnifferIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java
index 1a6ecac..6cf63ec 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java
@@ -25,6 +25,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EJBQLCompiledExpressionIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java
index 917a18a..85fd501 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java
@@ -33,6 +33,12 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ExpressionFactory_InContextIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java
index e8af55b..13cf36f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java
@@ -34,6 +34,13 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class Expression_InContextIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
index 5e4c5cd..ff1a88f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
@@ -34,6 +34,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ParsedExpQualifierCompatIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java
index b99c369..8360807 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java
@@ -40,6 +40,10 @@ import org.junit.Test;
 import java.math.BigDecimal;
 import java.sql.Types;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ExpressionEvaluateInMemoryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
index df0466a..5c4025f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
@@ -30,6 +30,11 @@ import org.junit.Test;
 import java.util.Collection;
 import java.util.Collections;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.MULTI_TIER_PROJECT)
 public class ClientEntityResolverIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java
index fc9b747..7c4cedc 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java
@@ -29,6 +29,13 @@ import org.junit.Test;
 
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DbEntityIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
index fbe1b24..947d9b0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
@@ -28,6 +28,11 @@ import org.junit.Test;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DbRelationshipIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java
index 7f9ab16..fbc6947 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java
@@ -32,6 +32,14 @@ import org.junit.Test;
 import java.util.Collection;
 import java.util.Iterator;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EntityIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
index 68f9df8..2a32c5e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
@@ -32,6 +32,11 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
index 69553ad..155b9fe 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
@@ -27,6 +27,11 @@ import org.junit.Test;
 
 import java.util.Collections;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.DEFAULT_PROJECT)
 public class EntityResolverGenericStackIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
index cd4bf49..bf7a64e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
@@ -35,6 +35,12 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EntityResolverIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
index 55071d4..5858164 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
@@ -24,6 +24,11 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)
 public class EntityResolverInheritanceIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
index 575cae5..9103f15 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
@@ -38,6 +38,14 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ObjEntityIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
index 4ae579e..ce66e0c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
@@ -38,6 +38,14 @@ import java.net.URL;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ObjRelationshipIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java
index ddc96ef..6e3296f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java
@@ -29,6 +29,11 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class AddColumnToModelIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java
index bcb58b2..2067b46 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java
@@ -28,6 +28,12 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CreateTableToModelIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java
index e308b77..9dd44e5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java
@@ -32,6 +32,13 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DropColumnToModelIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java
index 20dff04..c160193 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java
@@ -32,6 +32,12 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DropRelationshipToModelIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java
index 64ef6ad..bcfc34d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java
@@ -29,6 +29,11 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DropTableToModelIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
index dc8a349..53d5039 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
@@ -18,13 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.merge;
 
-import java.sql.Connection;
-import java.sql.Statement;
-import java.sql.Types;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.dba.DbAdapter;
@@ -40,6 +33,15 @@ import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import java.sql.Connection;
+import java.sql.Statement;
+import java.sql.Types;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
 public abstract class MergeCase extends ServerCase {
 
     private Log logger = LogFactory.getLog(MergeCase.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java
index 40233d5..c0a3198 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java
@@ -33,6 +33,10 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class MergerFactoryIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java
index d3f815e..536f706 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java
@@ -26,6 +26,8 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SetAllowNullToDbIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java
index 2656a52..ff6d0d6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java
@@ -28,6 +28,8 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SetNotNullToDbIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java
index ec3effe..3761035 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java
@@ -38,6 +38,10 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ValueForNullIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
index 350a774..2513627 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
@@ -43,6 +43,13 @@ import java.io.StringWriter;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EJBQLQueryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
index 4a1f94d..bab22f8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
@@ -26,6 +26,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ProcedureQueryCacheKeyIT extends ServerCase {
 


[28/50] [abbrv] cayenne git commit: Refactor Locking Project

Posted by aa...@apache.org.
Refactor Locking Project


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/4baf598d
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/4baf598d
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/4baf598d

Branch: refs/heads/CAY-1946
Commit: 4baf598da2b258ef4f788b15f9b324680a874596
Parents: 4d8b2e1
Author: Savva Kolbechev <s....@gmail.com>
Authored: Mon Nov 10 13:49:38 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Mon Nov 10 13:49:38 2014 +0300

----------------------------------------------------------------------
 .../batch/SoftDeleteBatchTranslatorIT.java      |  4 +--
 .../testdo/locking/DateLockingTestEntity.java   | 28 ----------------
 .../cayenne/testdo/locking/SoftDelete.java      | 30 -----------------
 .../testdo/locking/TimeLockingTestEntity.java   | 28 ----------------
 .../locking/auto/_DateLockingTestEntity.java    | 34 --------------------
 .../testdo/locking/auto/_SoftDelete.java        | 34 --------------------
 .../locking/auto/_TimeLockingTestEntity.java    | 34 --------------------
 .../cayenne/testdo/soft_delete/SoftDelete.java  | 30 +++++++++++++++++
 .../testdo/soft_delete/auto/_SoftDelete.java    | 34 ++++++++++++++++++++
 .../cayenne/unit/di/server/SchemaBuilder.java   |  2 +-
 .../cayenne/unit/di/server/ServerCase.java      |  1 +
 .../src/test/resources/cayenne-soft-delete.xml  |  4 +++
 .../src/test/resources/locking.map.xml          | 29 -----------------
 .../src/test/resources/soft-delete.map.xml      | 18 +++++++++++
 14 files changed, 90 insertions(+), 220 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
index dee5340..de14c36 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
@@ -32,7 +32,7 @@ import org.apache.cayenne.query.DeleteBatchQuery;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
-import org.apache.cayenne.testdo.locking.SoftDelete;
+import org.apache.cayenne.testdo.soft_delete.SoftDelete;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -46,7 +46,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.LOCKING_PROJECT)
+@UseServerRuntime(ServerCase.SOFT_DELETE_PROJECT)
 public class SoftDeleteBatchTranslatorIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/DateLockingTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/DateLockingTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/DateLockingTestEntity.java
deleted file mode 100644
index 6fe5464..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/DateLockingTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.locking;
-
-import org.apache.cayenne.testdo.locking.auto._DateLockingTestEntity;
-
-public class DateLockingTestEntity extends _DateLockingTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/SoftDelete.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/SoftDelete.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/SoftDelete.java
deleted file mode 100644
index f1a0262..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/SoftDelete.java
+++ /dev/null
@@ -1,30 +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.testdo.locking;
-
-import org.apache.cayenne.testdo.locking.auto._SoftDelete;
-
-public class SoftDelete extends _SoftDelete {
-
-    @Override
-    protected void onPrePersist() {
-        setDeleted(false);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/TimeLockingTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/TimeLockingTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/TimeLockingTestEntity.java
deleted file mode 100644
index 53f0f51..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/TimeLockingTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.locking;
-
-import org.apache.cayenne.testdo.locking.auto._TimeLockingTestEntity;
-
-public class TimeLockingTestEntity extends _TimeLockingTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_DateLockingTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_DateLockingTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_DateLockingTestEntity.java
deleted file mode 100644
index 692c7d7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_DateLockingTestEntity.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.cayenne.testdo.locking.auto;
-
-import java.util.Date;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _DateLockingTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DateLockingTestEntity extends CayenneDataObject {
-
-    public static final String DATE_LOCK_PROPERTY = "dateLock";
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String DATE_LOCKING_TEST_ID_PK_COLUMN = "DATE_LOCKING_TEST_ID";
-
-    public void setDateLock(Date dateLock) {
-        writeProperty(DATE_LOCK_PROPERTY, dateLock);
-    }
-    public Date getDateLock() {
-        return (Date)readProperty(DATE_LOCK_PROPERTY);
-    }
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_SoftDelete.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_SoftDelete.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_SoftDelete.java
deleted file mode 100644
index 2b3d7b1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_SoftDelete.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.cayenne.testdo.locking.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _SoftTest was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _SoftDelete extends CayenneDataObject {
-
-    public static final String DELETED_PROPERTY = "deleted";
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setDeleted(Boolean deleted) {
-        writeProperty(DELETED_PROPERTY, deleted);
-    }
-    public Boolean getDeleted() {
-        return (Boolean)readProperty(DELETED_PROPERTY);
-    }
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    protected abstract void onPrePersist();
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_TimeLockingTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_TimeLockingTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_TimeLockingTestEntity.java
deleted file mode 100644
index 0f658d3..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/locking/auto/_TimeLockingTestEntity.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.cayenne.testdo.locking.auto;
-
-import java.util.Date;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _TimeLockingTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _TimeLockingTestEntity extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String TIME_LOCK_PROPERTY = "timeLock";
-
-    public static final String TIME_LOCKING_TEST_ID_PK_COLUMN = "TIME_LOCKING_TEST_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void setTimeLock(Date timeLock) {
-        writeProperty(TIME_LOCK_PROPERTY, timeLock);
-    }
-    public Date getTimeLock() {
-        return (Date)readProperty(TIME_LOCK_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/SoftDelete.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/SoftDelete.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/SoftDelete.java
new file mode 100644
index 0000000..d55ff28
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/SoftDelete.java
@@ -0,0 +1,30 @@
+/*****************************************************************
+ *   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.testdo.soft_delete;
+
+import org.apache.cayenne.testdo.soft_delete.auto._SoftDelete;
+
+public class SoftDelete extends _SoftDelete {
+
+    @Override
+    protected void onPrePersist() {
+        setDeleted(false);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/auto/_SoftDelete.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/auto/_SoftDelete.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/auto/_SoftDelete.java
new file mode 100644
index 0000000..363490f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/soft_delete/auto/_SoftDelete.java
@@ -0,0 +1,34 @@
+package org.apache.cayenne.testdo.soft_delete.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _SoftTest was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _SoftDelete extends CayenneDataObject {
+
+    public static final String DELETED_PROPERTY = "deleted";
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setDeleted(Boolean deleted) {
+        writeProperty(DELETED_PROPERTY, deleted);
+    }
+    public Boolean getDeleted() {
+        return (Boolean)readProperty(DELETED_PROPERTY);
+    }
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    protected abstract void onPrePersist();
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
index c598a8f..1c20b72 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
@@ -69,7 +69,7 @@ public class SchemaBuilder {
     public static final String SKIP_SCHEMA_KEY = "cayenne.test.schema.skip";
 
     private static String[] MAPS_REQUIRING_SCHEMA_SETUP = { "tstmap.map.xml", "people.map.xml",
-            "locking.map.xml", "relationships.map.xml", "relationships1.map.xml", "multi-tier.map.xml",
+            "locking.map.xml", "soft-delete.map.xml", "relationships.map.xml", "relationships1.map.xml", "multi-tier.map.xml",
             "persistent.map.xml", "reflexive.map.xml", "delete-rules.map.xml", "lifecycles.map.xml",
             "map-to-many.map.xml", "toone.map.xml", "meaningful-pk.map.xml", "table-primitives.map.xml",
             "generic.map.xml", "map-db1.map.xml", "map-db2.map.xml", "embeddable.map.xml", "qualified.map.xml",

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
index 0ec0980..9e2f648 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
@@ -33,6 +33,7 @@ public class ServerCase extends DICase {
 	public static final String INHERTITANCE_SINGLE_TABLE1_PROJECT = "cayenne-inheritance-single-table1.xml";
 	public static final String INHERTITANCE_VERTICAL_PROJECT = "cayenne-inheritance-vertical.xml";
 	public static final String LOCKING_PROJECT = "cayenne-locking.xml";
+	public static final String SOFT_DELETE_PROJECT = "cayenne-soft-delete.xml";
 	public static final String QUOTED_IDENTIFIERS_PROJECT = "cayenne-quoted-identifiers.xml";
 	public static final String PEOPLE_PROJECT = "cayenne-people.xml";
 	public static final String RELATIONSHIPS_PROJECT = "cayenne-relationships.xml";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/resources/cayenne-soft-delete.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-soft-delete.xml b/cayenne-server/src/test/resources/cayenne-soft-delete.xml
new file mode 100644
index 0000000..15dfc25
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-soft-delete.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="soft-delete"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/resources/locking.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/locking.map.xml b/cayenne-server/src/test/resources/locking.map.xml
index 23067e3..6bc80f1 100644
--- a/cayenne-server/src/test/resources/locking.map.xml
+++ b/cayenne-server/src/test/resources/locking.map.xml
@@ -4,11 +4,6 @@
 	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
 	 project-version="7">
 	<property name="defaultPackage" value="org.apache.cayenne.testdo.locking"/>
-	<db-entity name="DATE_LOCKING_TEST">
-		<db-attribute name="DATE_LOCK" type="DATE"/>
-		<db-attribute name="DATE_LOCKING_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
 	<db-entity name="LOCKING_HELPER">
 		<db-attribute name="LOCKING_HELPER_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="NAME" type="VARCHAR" length="100"/>
@@ -24,21 +19,6 @@
 		<db-attribute name="LOCKING_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="NAME" type="VARCHAR" length="100"/>
 	</db-entity>
-	<db-entity name="SOFT_DELETE">
-		<db-attribute name="DELETED" type="BOOLEAN"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-		<qualifier><![CDATA[DELETED = false]]></qualifier>
-	</db-entity>
-	<db-entity name="TIME_LOCKING_TEST">
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-		<db-attribute name="TIME_LOCK" type="TIMESTAMP"/>
-		<db-attribute name="TIME_LOCKING_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<obj-entity name="DateLockingTestEntity" className="org.apache.cayenne.testdo.locking.DateLockingTestEntity" lock-type="optimistic" dbEntityName="DATE_LOCKING_TEST">
-		<obj-attribute name="dateLock" type="java.util.Date" lock="true" db-attribute-path="DATE_LOCK"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
 	<obj-entity name="LockingHelper" className="org.apache.cayenne.testdo.locking.LockingHelper" dbEntityName="LOCKING_HELPER">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
@@ -49,15 +29,6 @@
 		<obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
 		<obj-attribute name="name" type="java.lang.String" lock="true" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="SoftDelete" className="org.apache.cayenne.testdo.locking.SoftDelete" dbEntityName="SOFT_DELETE">
-		<obj-attribute name="deleted" type="java.lang.Boolean" db-attribute-path="DELETED"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-		<post-add method-name="onPrePersist"/>
-	</obj-entity>
-	<obj-entity name="TimeLockingTestEntity" className="org.apache.cayenne.testdo.locking.TimeLockingTestEntity" lock-type="optimistic" dbEntityName="TIME_LOCKING_TEST">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-		<obj-attribute name="timeLock" type="java.util.Date" lock="true" db-attribute-path="TIME_LOCK"/>
-	</obj-entity>
 	<db-relationship name="toRelLockingTest" source="LOCKING_HELPER" target="REL_LOCKING_TEST" toMany="false">
 		<db-attribute-pair source="REL_LOCKING_TEST_ID" target="REL_LOCKING_TEST_ID"/>
 	</db-relationship>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4baf598d/cayenne-server/src/test/resources/soft-delete.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/soft-delete.map.xml b/cayenne-server/src/test/resources/soft-delete.map.xml
new file mode 100644
index 0000000..52efe07
--- /dev/null
+++ b/cayenne-server/src/test/resources/soft-delete.map.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.soft_delete"/>
+    <db-entity name="SOFT_DELETE">
+        <db-attribute name="DELETED" type="BOOLEAN"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+        <qualifier><![CDATA[DELETED = false]]></qualifier>
+    </db-entity>
+    <obj-entity name="SoftDelete" className="org.apache.cayenne.testdo.soft_delete.SoftDelete" dbEntityName="SOFT_DELETE">
+        <obj-attribute name="deleted" type="java.lang.Boolean" db-attribute-path="DELETED"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+        <post-add method-name="onPrePersist"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file


[42/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitNumberTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitNumberTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitNumberTestEntity.java
new file mode 100644
index 0000000..50bc6c0
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitNumberTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BitNumberTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BitNumberTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Integer> BIT_COLUMN = new Property<Integer>("bitColumn");
+
+    public void setBitColumn(Integer bitColumn) {
+        writeProperty("bitColumn", bitColumn);
+    }
+    public Integer getBitColumn() {
+        return (Integer)readProperty("bitColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitTestEntity.java
new file mode 100644
index 0000000..91d49dd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BitTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BitTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BitTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Boolean> BIT_COLUMN = new Property<Boolean>("bitColumn");
+
+    public void setBitColumn(Boolean bitColumn) {
+        writeProperty("bitColumn", bitColumn);
+    }
+    public Boolean getBitColumn() {
+        return (Boolean)readProperty("bitColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BooleanTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BooleanTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BooleanTestEntity.java
new file mode 100644
index 0000000..6651379
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BooleanTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BooleanTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BooleanTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
+
+    public void setBooleanColumn(Boolean booleanColumn) {
+        writeProperty("booleanColumn", booleanColumn);
+    }
+    public Boolean getBooleanColumn() {
+        return (Boolean)readProperty("booleanColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTest1.java
new file mode 100644
index 0000000..ef70095
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTest1.java
@@ -0,0 +1,40 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _DecimalPKTest1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DecimalPKTest1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DECIMAL_PK_PROPERTY = "decimalPK";
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
+
+    public static final Property<Double> DECIMAL_PK = new Property<Double>("decimalPK");
+    public static final Property<String> NAME = new Property<String>("name");
+
+    public void setDecimalPK(Double decimalPK) {
+        writeProperty("decimalPK", decimalPK);
+    }
+    public Double getDecimalPK() {
+        return (Double)readProperty("decimalPK");
+    }
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTestEntity.java
new file mode 100644
index 0000000..8f51019
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_DecimalPKTestEntity.java
@@ -0,0 +1,42 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import java.math.BigDecimal;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _DecimalPKTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DecimalPKTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DECIMAL_PK_PROPERTY = "decimalPK";
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
+
+    public static final Property<BigDecimal> DECIMAL_PK = new Property<BigDecimal>("decimalPK");
+    public static final Property<String> NAME = new Property<String>("name");
+
+    public void setDecimalPK(BigDecimal decimalPK) {
+        writeProperty("decimalPK", decimalPK);
+    }
+    public BigDecimal getDecimalPK() {
+        return (BigDecimal)readProperty("decimalPK");
+    }
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_LongEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_LongEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_LongEntity.java
new file mode 100644
index 0000000..3f976b6
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_LongEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _LongEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _LongEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String LONG_FIELD_PROPERTY = "longField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Long> LONG_FIELD = new Property<Long>("longField");
+
+    public void setLongField(Long longField) {
+        writeProperty("longField", longField);
+    }
+    public Long getLongField() {
+        return (Long)readProperty("longField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_SmallintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_SmallintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_SmallintTestEntity.java
new file mode 100644
index 0000000..8be4455
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_SmallintTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _SmallintTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _SmallintTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String SMALLINT_COL_PROPERTY = "smallintCol";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Short> SMALLINT_COL = new Property<Short>("smallintCol");
+
+    public void setSmallintCol(Short smallintCol) {
+        writeProperty("smallintCol", smallintCol);
+    }
+    public Short getSmallintCol() {
+        return (Short)readProperty("smallintCol");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_TinyintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_TinyintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_TinyintTestEntity.java
new file mode 100644
index 0000000..d31fccd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_TinyintTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _TinyintTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _TinyintTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String TINYINT_COL_PROPERTY = "tinyintCol";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Byte> TINYINT_COL = new Property<Byte>("tinyintCol");
+
+    public void setTinyintCol(Byte tinyintCol) {
+        writeProperty("tinyintCol", tinyintCol);
+    }
+    public Byte getTinyintCol() {
+        return (Byte)readProperty("tinyintCol");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/PrimitivesTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/PrimitivesTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/PrimitivesTestEntity.java
new file mode 100644
index 0000000..1ad4826
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/PrimitivesTestEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.primitive;
+
+import org.apache.cayenne.testdo.primitive.auto._PrimitivesTestEntity;
+
+public class PrimitivesTestEntity extends _PrimitivesTestEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
new file mode 100644
index 0000000..6bdb279
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/primitive/auto/_PrimitivesTestEntity.java
@@ -0,0 +1,42 @@
+package org.apache.cayenne.testdo.primitive.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _PrimitivesTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _PrimitivesTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
+    @Deprecated
+    public static final String INT_COLUMN_PROPERTY = "intColumn";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
+    public static final Property<Integer> INT_COLUMN = new Property<Integer>("intColumn");
+
+    public void setBooleanColumn(boolean booleanColumn) {
+        writeProperty("booleanColumn", booleanColumn);
+    }
+	public boolean isBooleanColumn() {
+        Boolean value = (Boolean)readProperty("booleanColumn");
+        return (value != null) ? value.booleanValue() : false;
+    }
+
+    public void setIntColumn(int intColumn) {
+        writeProperty("intColumn", intColumn);
+    }
+    public int getIntColumn() {
+        Object value = readProperty("intColumn");
+        return (value != null) ? (Integer) value : 0;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap1.java
new file mode 100644
index 0000000..1927981
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap1.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.return_types;
+
+import org.apache.cayenne.testdo.return_types.auto._ReturnTypesMap1;
+
+public class ReturnTypesMap1 extends _ReturnTypesMap1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap2.java
new file mode 100644
index 0000000..8d699cf
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMap2.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.return_types;
+
+import org.apache.cayenne.testdo.return_types.auto._ReturnTypesMap2;
+
+public class ReturnTypesMap2 extends _ReturnTypesMap2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMapLobs1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMapLobs1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMapLobs1.java
new file mode 100644
index 0000000..c0f1436
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/ReturnTypesMapLobs1.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.return_types;
+
+import org.apache.cayenne.testdo.return_types.auto._ReturnTypesMapLobs1;
+
+public class ReturnTypesMapLobs1 extends _ReturnTypesMapLobs1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap1.java
new file mode 100644
index 0000000..0cf2d2f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap1.java
@@ -0,0 +1,193 @@
+package org.apache.cayenne.testdo.return_types.auto;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _ReturnTypesMap1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ReturnTypesMap1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIGINT_COLUMN_PROPERTY = "bigintColumn";
+    @Deprecated
+    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
+    @Deprecated
+    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
+    @Deprecated
+    public static final String CHAR_COLUMN_PROPERTY = "charColumn";
+    @Deprecated
+    public static final String DATE_COLUMN_PROPERTY = "dateColumn";
+    @Deprecated
+    public static final String DECIMAL_COLUMN_PROPERTY = "decimalColumn";
+    @Deprecated
+    public static final String DOUBLE_COLUMN_PROPERTY = "doubleColumn";
+    @Deprecated
+    public static final String FLOAT_COLUMN_PROPERTY = "floatColumn";
+    @Deprecated
+    public static final String INTEGER_COLUMN_PROPERTY = "integerColumn";
+    @Deprecated
+    public static final String LONGVARCHAR_COLUMN_PROPERTY = "longvarcharColumn";
+    @Deprecated
+    public static final String NUMERIC_COLUMN_PROPERTY = "numericColumn";
+    @Deprecated
+    public static final String REAL_COLUMN_PROPERTY = "realColumn";
+    @Deprecated
+    public static final String SMALLINT_COLUMN_PROPERTY = "smallintColumn";
+    @Deprecated
+    public static final String TIME_COLUMN_PROPERTY = "timeColumn";
+    @Deprecated
+    public static final String TIMESTAMP_COLUMN_PROPERTY = "timestampColumn";
+    @Deprecated
+    public static final String TINYINT_COLUMN_PROPERTY = "tinyintColumn";
+    @Deprecated
+    public static final String VARCHAR_COLUMN_PROPERTY = "varcharColumn";
+
+    public static final String AAAID_PK_COLUMN = "AAAID";
+
+    public static final Property<Long> BIGINT_COLUMN = new Property<Long>("bigintColumn");
+    public static final Property<Boolean> BIT_COLUMN = new Property<Boolean>("bitColumn");
+    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
+    public static final Property<String> CHAR_COLUMN = new Property<String>("charColumn");
+    public static final Property<Date> DATE_COLUMN = new Property<Date>("dateColumn");
+    public static final Property<BigDecimal> DECIMAL_COLUMN = new Property<BigDecimal>("decimalColumn");
+    public static final Property<Double> DOUBLE_COLUMN = new Property<Double>("doubleColumn");
+    public static final Property<Float> FLOAT_COLUMN = new Property<Float>("floatColumn");
+    public static final Property<Integer> INTEGER_COLUMN = new Property<Integer>("integerColumn");
+    public static final Property<String> LONGVARCHAR_COLUMN = new Property<String>("longvarcharColumn");
+    public static final Property<BigDecimal> NUMERIC_COLUMN = new Property<BigDecimal>("numericColumn");
+    public static final Property<Float> REAL_COLUMN = new Property<Float>("realColumn");
+    public static final Property<Short> SMALLINT_COLUMN = new Property<Short>("smallintColumn");
+    public static final Property<Date> TIME_COLUMN = new Property<Date>("timeColumn");
+    public static final Property<Date> TIMESTAMP_COLUMN = new Property<Date>("timestampColumn");
+    public static final Property<Byte> TINYINT_COLUMN = new Property<Byte>("tinyintColumn");
+    public static final Property<String> VARCHAR_COLUMN = new Property<String>("varcharColumn");
+
+    public void setBigintColumn(Long bigintColumn) {
+        writeProperty("bigintColumn", bigintColumn);
+    }
+    public Long getBigintColumn() {
+        return (Long)readProperty("bigintColumn");
+    }
+
+    public void setBitColumn(Boolean bitColumn) {
+        writeProperty("bitColumn", bitColumn);
+    }
+    public Boolean getBitColumn() {
+        return (Boolean)readProperty("bitColumn");
+    }
+
+    public void setBooleanColumn(Boolean booleanColumn) {
+        writeProperty("booleanColumn", booleanColumn);
+    }
+    public Boolean getBooleanColumn() {
+        return (Boolean)readProperty("booleanColumn");
+    }
+
+    public void setCharColumn(String charColumn) {
+        writeProperty("charColumn", charColumn);
+    }
+    public String getCharColumn() {
+        return (String)readProperty("charColumn");
+    }
+
+    public void setDateColumn(Date dateColumn) {
+        writeProperty("dateColumn", dateColumn);
+    }
+    public Date getDateColumn() {
+        return (Date)readProperty("dateColumn");
+    }
+
+    public void setDecimalColumn(BigDecimal decimalColumn) {
+        writeProperty("decimalColumn", decimalColumn);
+    }
+    public BigDecimal getDecimalColumn() {
+        return (BigDecimal)readProperty("decimalColumn");
+    }
+
+    public void setDoubleColumn(Double doubleColumn) {
+        writeProperty("doubleColumn", doubleColumn);
+    }
+    public Double getDoubleColumn() {
+        return (Double)readProperty("doubleColumn");
+    }
+
+    public void setFloatColumn(Float floatColumn) {
+        writeProperty("floatColumn", floatColumn);
+    }
+    public Float getFloatColumn() {
+        return (Float)readProperty("floatColumn");
+    }
+
+    public void setIntegerColumn(Integer integerColumn) {
+        writeProperty("integerColumn", integerColumn);
+    }
+    public Integer getIntegerColumn() {
+        return (Integer)readProperty("integerColumn");
+    }
+
+    public void setLongvarcharColumn(String longvarcharColumn) {
+        writeProperty("longvarcharColumn", longvarcharColumn);
+    }
+    public String getLongvarcharColumn() {
+        return (String)readProperty("longvarcharColumn");
+    }
+
+    public void setNumericColumn(BigDecimal numericColumn) {
+        writeProperty("numericColumn", numericColumn);
+    }
+    public BigDecimal getNumericColumn() {
+        return (BigDecimal)readProperty("numericColumn");
+    }
+
+    public void setRealColumn(Float realColumn) {
+        writeProperty("realColumn", realColumn);
+    }
+    public Float getRealColumn() {
+        return (Float)readProperty("realColumn");
+    }
+
+    public void setSmallintColumn(Short smallintColumn) {
+        writeProperty("smallintColumn", smallintColumn);
+    }
+    public Short getSmallintColumn() {
+        return (Short)readProperty("smallintColumn");
+    }
+
+    public void setTimeColumn(Date timeColumn) {
+        writeProperty("timeColumn", timeColumn);
+    }
+    public Date getTimeColumn() {
+        return (Date)readProperty("timeColumn");
+    }
+
+    public void setTimestampColumn(Date timestampColumn) {
+        writeProperty("timestampColumn", timestampColumn);
+    }
+    public Date getTimestampColumn() {
+        return (Date)readProperty("timestampColumn");
+    }
+
+    public void setTinyintColumn(Byte tinyintColumn) {
+        writeProperty("tinyintColumn", tinyintColumn);
+    }
+    public Byte getTinyintColumn() {
+        return (Byte)readProperty("tinyintColumn");
+    }
+
+    public void setVarcharColumn(String varcharColumn) {
+        writeProperty("varcharColumn", varcharColumn);
+    }
+    public String getVarcharColumn() {
+        return (String)readProperty("varcharColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap2.java
new file mode 100644
index 0000000..ece568c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMap2.java
@@ -0,0 +1,60 @@
+package org.apache.cayenne.testdo.return_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _ReturnTypesMap2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ReturnTypesMap2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BINARY_COLUMN_PROPERTY = "binaryColumn";
+    @Deprecated
+    public static final String BLOB_COLUMN_PROPERTY = "blobColumn";
+    @Deprecated
+    public static final String LONGVARBINARY_COLUMN_PROPERTY = "longvarbinaryColumn";
+    @Deprecated
+    public static final String VARBINARY_COLUMN_PROPERTY = "varbinaryColumn";
+
+    public static final String AAAID_PK_COLUMN = "AAAID";
+
+    public static final Property<byte[]> BINARY_COLUMN = new Property<byte[]>("binaryColumn");
+    public static final Property<byte[]> BLOB_COLUMN = new Property<byte[]>("blobColumn");
+    public static final Property<byte[]> LONGVARBINARY_COLUMN = new Property<byte[]>("longvarbinaryColumn");
+    public static final Property<byte[]> VARBINARY_COLUMN = new Property<byte[]>("varbinaryColumn");
+
+    public void setBinaryColumn(byte[] binaryColumn) {
+        writeProperty("binaryColumn", binaryColumn);
+    }
+    public byte[] getBinaryColumn() {
+        return (byte[])readProperty("binaryColumn");
+    }
+
+    public void setBlobColumn(byte[] blobColumn) {
+        writeProperty("blobColumn", blobColumn);
+    }
+    public byte[] getBlobColumn() {
+        return (byte[])readProperty("blobColumn");
+    }
+
+    public void setLongvarbinaryColumn(byte[] longvarbinaryColumn) {
+        writeProperty("longvarbinaryColumn", longvarbinaryColumn);
+    }
+    public byte[] getLongvarbinaryColumn() {
+        return (byte[])readProperty("longvarbinaryColumn");
+    }
+
+    public void setVarbinaryColumn(byte[] varbinaryColumn) {
+        writeProperty("varbinaryColumn", varbinaryColumn);
+    }
+    public byte[] getVarbinaryColumn() {
+        return (byte[])readProperty("varbinaryColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMapLobs1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMapLobs1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMapLobs1.java
new file mode 100644
index 0000000..eb7b0da
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/return_types/auto/_ReturnTypesMapLobs1.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.return_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _ReturnTypesMapLobs1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ReturnTypesMapLobs1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String CLOB_COLUMN_PROPERTY = "clobColumn";
+
+    public static final String AAAID_PK_COLUMN = "AAAID";
+
+    public static final Property<String> CLOB_COLUMN = new Property<String>("clobColumn");
+
+    public void setClobColumn(String clobColumn) {
+        writeProperty("clobColumn", clobColumn);
+    }
+    public String getClobColumn() {
+        return (String)readProperty("clobColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ArraysEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ArraysEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ArraysEntity.java
deleted file mode 100644
index a815b4b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ArraysEntity.java
+++ /dev/null
@@ -1,27 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ArraysEntity;
-
-public class ArraysEntity extends _ArraysEntity {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Bag.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Bag.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Bag.java
deleted file mode 100644
index c916205..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Bag.java
+++ /dev/null
@@ -1,27 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._Bag;
-
-public class Bag extends _Bag {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Ball.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Ball.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Ball.java
deleted file mode 100644
index 0dac2a1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Ball.java
+++ /dev/null
@@ -1,27 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._Ball;
-
-public class Ball extends _Ball {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigDecimalEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigDecimalEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigDecimalEntity.java
deleted file mode 100644
index 97546ab..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigDecimalEntity.java
+++ /dev/null
@@ -1,27 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BigDecimalEntity;
-
-public class BigDecimalEntity extends _BigDecimalEntity {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigIntegerEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigIntegerEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigIntegerEntity.java
deleted file mode 100644
index d519c22..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BigIntegerEntity.java
+++ /dev/null
@@ -1,27 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BigIntegerEntity;
-
-public class BigIntegerEntity extends _BigIntegerEntity {
-
-    private static final long serialVersionUID = 1L; 
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest1.java
deleted file mode 100644
index 4466401..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest1.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BinaryPKTest1;
-
-public class BinaryPKTest1 extends _BinaryPKTest1 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest2.java
deleted file mode 100644
index 0fd5e0c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BinaryPKTest2.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BinaryPKTest2;
-
-public class BinaryPKTest2 extends _BinaryPKTest2 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitNumberTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitNumberTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitNumberTestEntity.java
deleted file mode 100644
index 6333707..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitNumberTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BitNumberTestEntity;
-
-public class BitNumberTestEntity extends _BitNumberTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitTestEntity.java
deleted file mode 100644
index 453105e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BitTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BitTestEntity;
-
-public class BitTestEntity extends _BitTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BlobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BlobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BlobTestEntity.java
deleted file mode 100644
index 75cf2ed..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BlobTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BlobTestEntity;
-
-public class BlobTestEntity extends _BlobTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BooleanTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BooleanTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BooleanTestEntity.java
deleted file mode 100644
index e1e2992..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BooleanTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BooleanTestEntity;
-
-public class BooleanTestEntity extends _BooleanTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Box.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Box.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Box.java
deleted file mode 100644
index 8736f39..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Box.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._Box;
-
-public class Box extends _Box {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BoxInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BoxInfo.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BoxInfo.java
deleted file mode 100644
index c5457c8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/BoxInfo.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._BoxInfo;
-
-public class BoxInfo extends _BoxInfo {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CalendarEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CalendarEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CalendarEntity.java
deleted file mode 100644
index 29ffa81..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CalendarEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CalendarEntity;
-
-public class CalendarEntity extends _CalendarEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharFkTestEntity.java
deleted file mode 100644
index 950b098..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharFkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CharFkTestEntity;
-
-public class CharFkTestEntity extends _CharFkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharPkTestEntity.java
deleted file mode 100644
index 8985bee..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharPkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CharPkTestEntity;
-
-public class CharPkTestEntity extends _CharPkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharacterEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharacterEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharacterEntity.java
deleted file mode 100644
index 4c00b7d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CharacterEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CharacterEntity;
-
-public class CharacterEntity extends _CharacterEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestEntity.java
deleted file mode 100644
index 5099fa4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ClobTestEntity;
-
-public class ClobTestEntity extends _ClobTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestRelation.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestRelation.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestRelation.java
deleted file mode 100644
index c79cfe0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ClobTestRelation.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ClobTestRelation;
-
-public class ClobTestRelation extends _ClobTestRelation {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundFkTestEntity.java
deleted file mode 100644
index e24e4bb..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundFkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CompoundFkTestEntity;
-
-public class CompoundFkTestEntity extends _CompoundFkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundPkTestEntity.java
deleted file mode 100644
index 14afeb5..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/CompoundPkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._CompoundPkTestEntity;
-
-public class CompoundPkTestEntity extends _CompoundPkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DateTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DateTestEntity.java
deleted file mode 100644
index c93c38d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DateTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._DateTestEntity;
-
-public class DateTestEntity extends _DateTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTest1.java
deleted file mode 100644
index 901c239..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTest1.java
+++ /dev/null
@@ -1,26 +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.testdo.testmap;
-
-public class DecimalPKTest1 extends org.apache.cayenne.testdo.testmap.auto._DecimalPKTest1 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTestEntity.java
deleted file mode 100644
index 12d3050..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/DecimalPKTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._DecimalPKTestEntity;
-
-public class DecimalPKTestEntity extends _DecimalPKTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Enum1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Enum1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Enum1.java
deleted file mode 100644
index 6c24524..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Enum1.java
+++ /dev/null
@@ -1,23 +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.testdo.testmap;
-
-public enum Enum1 {
-    one, two, three
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/EnumEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/EnumEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/EnumEntity.java
deleted file mode 100644
index 0573389..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/EnumEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._EnumEntity;
-
-public class EnumEntity extends _EnumEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ExtendedTypeEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ExtendedTypeEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ExtendedTypeEntity.java
deleted file mode 100644
index 5c067f6..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ExtendedTypeEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ExtendedTypeEntity;
-
-public class ExtendedTypeEntity extends _ExtendedTypeEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompKey.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompKey.java
deleted file mode 100644
index 03cc828..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompKey.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnCompKey;
-
-public class GeneratedColumnCompKey extends _GeneratedColumnCompKey {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompMaster.java
deleted file mode 100644
index b5f5e7f..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnCompMaster.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnCompMaster;
-
-public class GeneratedColumnCompMaster extends _GeneratedColumnCompMaster {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnDep.java
deleted file mode 100644
index 4b4f3cc..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnDep.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnDep;
-
-public class GeneratedColumnDep extends _GeneratedColumnDep {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTest2.java
deleted file mode 100644
index e8bb3cb..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTest2.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnTest2;
-
-public class GeneratedColumnTest2 extends _GeneratedColumnTest2 {
-
-}
-
-
-


[09/50] [abbrv] cayenne git commit: Apply JUnit4 instead of JUnit3 in IT

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
index 3e32532..73d564a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
@@ -19,11 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.sql.Types;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.DataObject;
@@ -44,6 +39,12 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Types;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextReadIT extends ServerCase {
@@ -112,6 +113,7 @@ public class NestedDataContextReadIT extends ServerCase {
         tPainting.insert(33006, "P_artist6", 33001, 3000);
     }
 
+    @Test
     public void testCreateChildDataContext() {
         context.setValidatingObjectsOnCommit(true);
 
@@ -137,6 +139,7 @@ public class NestedDataContextReadIT extends ServerCase {
         assertFalse(((DataContext) child2).isValidatingObjectsOnCommit());
     }
 
+    @Test
     public void testSelect() throws Exception {
         createArtistsDataSet();
 
@@ -178,6 +181,7 @@ public class NestedDataContextReadIT extends ServerCase {
         }
     }
 
+    @Test
     public void testReadToOneRelationship() throws Exception {
         createRelationshipDataSet();
 
@@ -277,6 +281,7 @@ public class NestedDataContextReadIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchingToOne() throws Exception {
         createPrefetchingDataSet();
 
@@ -315,6 +320,7 @@ public class NestedDataContextReadIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchingToMany() throws Exception {
         createPrefetchingDataSet();
 
@@ -356,6 +362,7 @@ public class NestedDataContextReadIT extends ServerCase {
         });
     }
 
+    @Test
     public void testObjectFromDataRow() throws Exception {
 
         DataContext childContext = (DataContext) runtime.newContext(context);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
index 86110c2..63b5ea0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextRollbackIT extends ServerCase {
@@ -34,6 +35,7 @@ public class NestedDataContextRollbackIT extends ServerCase {
     @Inject
     private DataContext context;
 
+    @Test
     public void testRollbackChanges() {
         ObjectContext child1 = runtime.newContext(context);
 
@@ -51,6 +53,7 @@ public class NestedDataContextRollbackIT extends ServerCase {
         assertFalse(child1.hasChanges());
     }
 
+    @Test
     public void testRollbackChangesLocally() {
         ObjectContext child1 = runtime.newContext(context);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
index fd18428..2ac6652 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.validation.ValidationException;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextValidationIT extends ServerCase {
@@ -49,6 +50,7 @@ public class NestedDataContextValidationIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testValidateOnCommitToParent() {
         context.setValidatingObjectsOnCommit(true);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
index 569283c..ed319c8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
@@ -39,6 +39,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Collection;
@@ -129,6 +130,7 @@ public class NestedDataContextWriteIT extends ServerCase {
         return context;
     }
 
+    @Test
     public void testDeleteNew() throws Exception {
         createSingleArtistDataSet();
 
@@ -151,6 +153,7 @@ public class NestedDataContextWriteIT extends ServerCase {
     /**
      * A test case for CAY-698 bug.
      */
+    @Test
     public void testNullifyToOne() throws Exception {
         createNullifyToOneDataSet();
 
@@ -180,6 +183,7 @@ public class NestedDataContextWriteIT extends ServerCase {
         });
     }
 
+    @Test
     public void testCommitChangesToParent() throws Exception {
         createArtistsDataSet();
 
@@ -254,6 +258,7 @@ public class NestedDataContextWriteIT extends ServerCase {
         });
     }
 
+    @Test
     public void testCommitChangesToParentDeleted() throws Exception {
         createArtistsDataSet();
 
@@ -290,6 +295,7 @@ public class NestedDataContextWriteIT extends ServerCase {
         assertEquals("DDD", parentDeleted.getArtistName());
     }
 
+    @Test
     public void testCommitChanges() throws Exception {
         createArtistsDataSet();
 
@@ -356,6 +362,7 @@ public class NestedDataContextWriteIT extends ServerCase {
         assertNotNull(parentHollow);
     }
 
+    @Test
     public void testCommitChangesToParent_MergeProperties() throws Exception {
         createMixedDataSet();
 
@@ -436,6 +443,7 @@ public class NestedDataContextWriteIT extends ServerCase {
         });
     }
 
+    @Test
     public void testCommitChangesToParentPropagatedKey() throws Exception {
         final DataContext context = createDataContext();
         final ObjectContext childContext = runtime.newContext(context);
@@ -476,6 +484,7 @@ public class NestedDataContextWriteIT extends ServerCase {
         });
     }
 
+    @Test
     public void testCommitChangesToParentFlattened() throws Exception {
 
         final DataContext context = createDataContext();
@@ -525,6 +534,7 @@ public class NestedDataContextWriteIT extends ServerCase {
         });
     }
 
+    @Test
     public void testCommitChangesToParentFlattenedMultipleFlush() throws Exception {
         final DataContext context = createDataContext();
         final ObjectContext childContext = runtime.newContext(context);
@@ -622,6 +632,7 @@ public class NestedDataContextWriteIT extends ServerCase {
         });
     }
 
+    @Test
     public void testAddRemove() {
 
         DataContext context = createDataContext();
@@ -648,6 +659,7 @@ public class NestedDataContextWriteIT extends ServerCase {
 
     }
 
+    @Test
     public void testCAY1194() throws Exception {
         DataContext context = createDataContext();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
index a46c506..2d05ff3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
@@ -18,9 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import java.util.List;
-import java.util.Random;
-
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
@@ -31,6 +28,10 @@ import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+import java.util.Random;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContext_DeadlockIT extends ServerCase {
@@ -64,6 +65,7 @@ public class NestedDataContext_DeadlockIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDeadlock() throws Exception {
 
         createArtists();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
index 4581852..2ce5d42 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.List;
-
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
@@ -42,6 +38,11 @@ import org.apache.cayenne.testdo.testmap.SmallintTestEntity;
 import org.apache.cayenne.testdo.testmap.TinyintTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.List;
 
 /**
  */
@@ -87,6 +88,7 @@ public class NumericTypesIT extends ServerCase {
         tTinyintTest.insert(2, 50);
     }
 
+    @Test
     public void testLong() throws Exception {
 
         LongEntity test = context.newObject(LongEntity.class);
@@ -104,6 +106,7 @@ public class NumericTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testBigInteger() throws Exception {
 
         BigIntegerEntity test = context.newObject(BigIntegerEntity.class);
@@ -121,6 +124,7 @@ public class NumericTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testBigDecimal() throws Exception {
 
         BigDecimalEntity test = context.newObject(BigDecimalEntity.class);
@@ -138,6 +142,7 @@ public class NumericTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testShortInQualifier() throws Exception {
         createShortDataSet();
 
@@ -152,6 +157,7 @@ public class NumericTypesIT extends ServerCase {
         assertEquals(new Short("9999"), object.getSmallintCol());
     }
 
+    @Test
     public void testShortInInsert() throws Exception {
         SmallintTestEntity object = (SmallintTestEntity) (context)
                 .newObject("SmallintTestEntity");
@@ -159,6 +165,7 @@ public class NumericTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testTinyintInQualifier() throws Exception {
         createTinyintDataSet();
 
@@ -173,6 +180,7 @@ public class NumericTypesIT extends ServerCase {
         assertEquals(new Byte((byte) 81), object.getTinyintCol());
     }
 
+    @Test
     public void testTinyintInInsert() throws Exception {
         TinyintTestEntity object = (TinyintTestEntity) (context)
                 .newObject("TinyintTestEntity");
@@ -180,6 +188,7 @@ public class NumericTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testBooleanBit() throws Exception {
 
         BitTestEntity trueObject = (BitTestEntity) context.newObject("BitTestEntity");
@@ -218,6 +227,7 @@ public class NumericTypesIT extends ServerCase {
         assertSame(Boolean.FALSE, falseRefetched.getBitColumn());
     }
 
+    @Test
     public void testBooleanBoolean() throws Exception {
 
         // populate (testing insert as well)
@@ -260,6 +270,7 @@ public class NumericTypesIT extends ServerCase {
         assertSame(Boolean.FALSE, falseRefetched.getBooleanColumn());
     }
 
+    @Test
     public void testDecimalPK() throws Exception {
 
         // populate (testing insert as well)
@@ -279,6 +290,7 @@ public class NumericTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testDecimalPK1() throws Exception {
 
         // populate (testing insert as well)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
index f8b11d7..67eeb7a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 
@@ -73,6 +74,7 @@ public class ObjectStoreDiffRetainingIT extends ServerCase {
         tPainting.insert(2000, null, null, 3000, "p1");
     }
 
+    @Test
     public void testSnapshotRetainedOnPropertyModification() throws Exception {
         createMixedDataSet();
 
@@ -85,6 +87,7 @@ public class ObjectStoreDiffRetainingIT extends ServerCase {
         assertNotNull(objectStore.getChangesByObjectId().get(a.getObjectId()));
     }
 
+    @Test
     public void testSnapshotRetainedOnRelAndPropertyModification() throws Exception {
         createMixedDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
index 86e8ede..81abf7f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ObjectStoreGCIT extends ServerCase {
@@ -46,6 +47,7 @@ public class ObjectStoreGCIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testReleaseUnreferenced() throws Exception {
         context.performGenericQuery(new SQLTemplate(
                 Artist.class,
@@ -66,6 +68,7 @@ public class ObjectStoreGCIT extends ServerCase {
         }.runTest(2000);
     }
 
+    @Test
     public void testRetainUnreferencedNew() throws Exception {
         assertEquals(0, context.getObjectStore().registeredObjectsCount());
         Artist a = context.newObject(Artist.class);
@@ -96,6 +99,7 @@ public class ObjectStoreGCIT extends ServerCase {
 
     }
 
+    @Test
     public void testRetainUnreferencedModified() throws Exception {
         context.performGenericQuery(new SQLTemplate(
                 Artist.class,

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
index 8e24d38..4929c4f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collections;
 import java.util.Date;
@@ -40,6 +41,7 @@ public class ObjectStoreIT extends ServerCase {
     @Inject
     private DataContext context;
 
+    @Test
     public void testRegisteredObjectsCount() throws Exception {
 
         assertEquals(0, context.getObjectStore().registeredObjectsCount());
@@ -62,6 +64,7 @@ public class ObjectStoreIT extends ServerCase {
         assertEquals(2, context.getObjectStore().registeredObjectsCount());
     }
 
+    @Test
     public void testObjectsUnregistered() throws Exception {
 
         DataRow row = new DataRow(10);
@@ -85,6 +88,7 @@ public class ObjectStoreIT extends ServerCase {
         assertNull(context.getObjectStore().getCachedSnapshot(oid));
     }
 
+    @Test
     public void testUnregisterThenRegister() throws Exception {
 
         // Create a gallery.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
index b345f2a..20e9f07 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/OptimisticLockingIT.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.sql.Types;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.Ordering;
 import org.apache.cayenne.query.SelectQuery;
@@ -33,6 +29,11 @@ import org.apache.cayenne.testdo.locking.RelLockingTestEntity;
 import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Types;
+import java.util.List;
+import java.util.Map;
 
 @UseServerRuntime(ServerCase.LOCKING_PROJECT)
 public class OptimisticLockingIT extends ServerCase {
@@ -117,6 +118,7 @@ public class OptimisticLockingIT extends ServerCase {
         tSimpleLockingTest.delete().execute();
     }
 
+    @Test
     public void testSuccessSimpleLockingOnDelete() throws Exception {
         createSimpleLockingDataSet();
 
@@ -134,6 +136,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testSuccessSimpleLockingOnDeleteFollowedByInvalidate() throws Exception {
         createSimpleLockingDataSet();
 
@@ -152,6 +155,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testSuccessSimpleLockingOnDeleteFollowedByForgetSnapshot()
             throws Exception {
         createSimpleLockingDataSet();
@@ -171,6 +175,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testSuccessSimpleLockingOnDeletePrecededByInvalidate() throws Exception {
         createSimpleLockingDataSet();
 
@@ -189,6 +194,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testSuccessSimpleLockingOnDeletePrecededByForgetSnapshot()
             throws Exception {
         createSimpleLockingDataSet();
@@ -208,6 +214,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testFailSimpleLockingOnDelete() throws Exception {
         createSimpleLockingDataSet();
 
@@ -235,6 +242,7 @@ public class OptimisticLockingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSuccessSimpleLockingOnUpdate() throws Exception {
         createSimpleLockingDataSet();
 
@@ -253,6 +261,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testSuccessSimpleLockingOnUpdateFollowedByInvalidate() throws Exception {
         createSimpleLockingDataSet();
 
@@ -272,6 +281,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testSuccessSimpleLockingOnUpdatePrecededByInvalidate() throws Exception {
         createSimpleLockingDataSet();
 
@@ -291,6 +301,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testSuccessSimpleLockingOnUpdateFollowedByForgetSnapshot()
             throws Exception {
         createSimpleLockingDataSet();
@@ -311,6 +322,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testSuccessSimpleLockingOnUpdatePrecededByForgetSnapshot()
             throws Exception {
         createSimpleLockingDataSet();
@@ -331,6 +343,7 @@ public class OptimisticLockingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testFailSimpleLocking() throws Exception {
         createSimpleLockingDataSet();
 
@@ -359,6 +372,7 @@ public class OptimisticLockingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testFailLockingOnNull() throws Exception {
         createLockingOnNullDataSet();
 
@@ -388,6 +402,7 @@ public class OptimisticLockingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSuccessLockingOnMixed() throws Exception {
         createLockingOnMixedDataSet();
 
@@ -412,6 +427,7 @@ public class OptimisticLockingIT extends ServerCase {
         // this requires refactoring of ContextCommit.
     }
 
+    @Test
     public void testFailLockingOnToOne() throws Exception {
         createLockingOnToOneDataSet();
 
@@ -446,6 +462,7 @@ public class OptimisticLockingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testFailRetrieveRow() throws Exception {
         createSimpleLockingDataSet();
 
@@ -471,6 +488,7 @@ public class OptimisticLockingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testFailRetrieveDeletedRow() throws Exception {
         createSimpleLockingDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
index cdf65e3..6e9a6ad 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/PrefetchProcessorTreeBuilderIT.java
@@ -34,6 +34,7 @@ import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -49,6 +50,7 @@ public class PrefetchProcessorTreeBuilderIT extends ServerCase {
     @Inject
     private EntityResolver resolver;
 
+    @Test
     public void testBuildTreeNoPrefetches() {
 
         final ClassDescriptor descriptor = resolver.getClassDescriptor("Artist");
@@ -109,6 +111,7 @@ public class PrefetchProcessorTreeBuilderIT extends ServerCase {
         assertNull(processingTree.getIncoming());
     }
 
+    @Test
     public void testBuildTreeWithPrefetches() {
 
         final ClassDescriptor descriptor = resolver.getClassDescriptor("Artist");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
index f16395d..206c90d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.PrimitivesTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class PrimitiveAttributesIT extends ServerCase {
@@ -38,6 +39,7 @@ public class PrimitiveAttributesIT extends ServerCase {
         dbHelper.deleteAll("PRIMITIVES_TEST");
     }
 
+    @Test
     public void testCommit() {
         PrimitivesTestEntity e = context.newObject(PrimitivesTestEntity.class);
         e.setBooleanColumn(true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
index de7f72a..2eac6d0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/QuotedIdentifiersIT.java
@@ -18,10 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.di.Inject;
@@ -37,6 +33,11 @@ import org.apache.cayenne.testdo.quotemap.QuoteAdress;
 import org.apache.cayenne.testdo.quotemap.Quote_Person;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
 
 @UseServerRuntime(ServerCase.QUOTED_IDENTIFIERS_PROJECT)
 public class QuotedIdentifiersIT extends ServerCase {
@@ -85,6 +86,7 @@ public class QuotedIdentifiersIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testPrefetchQuote() throws Exception {
         DbEntity entity = context.getEntityResolver().getObjEntity(QuoteAdress.class).getDbEntity();
         List idAttributes = Collections.singletonList(entity.getAttribute("City"));
@@ -129,6 +131,7 @@ public class QuotedIdentifiersIT extends ServerCase {
         assertEquals(1, objects10.size());
     }
 
+    @Test
     public void testQuotedEJBQLQuery() throws Exception {
         String ejbql = "select a from QuoteAdress a where a.group = '324'";
         EJBQLQuery queryEJBQL = new EJBQLQuery(ejbql);
@@ -136,6 +139,7 @@ public class QuotedIdentifiersIT extends ServerCase {
         assertEquals(1, objects11.size());
     }
 
+    @Test
     public void testQuotedEJBQLQueryWithJoin() throws Exception {
         String ejbql = "select p from Quote_Person p join p.address_Rel a where p.name = 'Arcadi'";
         EJBQLQuery queryEJBQL = new EJBQLQuery(ejbql);
@@ -143,6 +147,7 @@ public class QuotedIdentifiersIT extends ServerCase {
         assertEquals(1, resultList.size());
     }
 
+    @Test
     public void testQuotedEJBQLQueryWithOrderBy() throws Exception {
         EJBQLQuery query = new EJBQLQuery("select p from Quote_Person p order by p.name");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
index 920096d..d84939c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.testmap.ReturnTypesMapLobs1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Time;
@@ -65,7 +66,8 @@ public class ReturnTypesMappingIT extends ServerCase {
     /*
      * TODO: olga: We need divided TYPES_MAPPING_TES2 to 2 schemas with lobs columns and not lobs columns 
      */
-    
+
+    @Test
     public void testBIGINT() throws Exception {
         String columnName = "BIGINT_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -82,6 +84,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(bigintValue, columnValue);
     }
 
+    @Test
     public void testBIGINT2() throws Exception {
        ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
     
@@ -97,6 +100,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(bigintValue, columnValue);
     }
 
+    @Test
     public void testBINARY() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             String columnName = "BINARY_COLUMN";
@@ -117,6 +121,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testBINARY2() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
@@ -136,6 +141,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testBIT() throws Exception {
         String columnName = "BIT_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -153,6 +159,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertTrue(bitValue.equals(columnValue) || ((Number) columnValue).intValue() == 1);
     }
 
+    @Test
     public void testBIT2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -168,6 +175,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(bitValue, columnValue);
     }
 
+    @Test
     public void testBLOB() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             String columnName = "BLOB_COLUMN";
@@ -188,6 +196,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testBLOB2() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
@@ -207,6 +216,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testBOOLEAN() throws Exception {
         String columnName = "BOOLEAN_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -225,6 +235,7 @@ public class ReturnTypesMappingIT extends ServerCase {
                 || ((Number) columnValue).intValue() == 1);
     }
 
+    @Test
     public void testBOOLEAN2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -240,6 +251,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(booleanValue, columnValue);
     }
 
+    @Test
     public void testCHAR() throws Exception {
         String columnName = "CHAR_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -256,6 +268,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(charValue, columnValue);
     }
 
+    @Test
     public void testCHAR2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -271,6 +284,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(charValue, columnValue);
     }
 
+    @Test
     public void testCLOB() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             String columnName = "CLOB_COLUMN";
@@ -296,6 +310,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCLOB2() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             ReturnTypesMapLobs1 test = context.newObject(ReturnTypesMapLobs1.class);
@@ -317,6 +332,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDATE() throws Exception {
         String columnName = "DATE_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -336,6 +352,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(dateValue.toString(), columnValue.toString());
     }
 
+    @Test
     public void testDATE2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -354,6 +371,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(dateValue.toString(), columnValue.toString());
     }
 
+    @Test
     public void testDECIMAL() throws Exception {
         String columnName = "DECIMAL_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -370,6 +388,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(decimalValue, columnValue);
     }
 
+    @Test
     public void testDECIMAL2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -385,6 +404,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(decimalValue, columnValue);
     }
 
+    @Test
     public void testDOUBLE() throws Exception {
         String columnName = "DOUBLE_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -401,6 +421,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(doubleValue, columnValue);
     }
 
+    @Test
     public void testDOUBLE2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -416,6 +437,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(doubleValue, columnValue);
     }
 
+    @Test
     public void testFLOAT() throws Exception {
         String columnName = "FLOAT_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -430,9 +452,10 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertNotNull(columnValue);
         assertTrue(Float.class.equals(columnValue.getClass())
                 || Double.class.equals(columnValue.getClass()));
-        assertEquals(floatValue.floatValue(), ((Number)columnValue).floatValue());
+        assertEquals(floatValue.floatValue(), ((Number)columnValue).floatValue(), 0);
     }
 
+    @Test
     public void testFLOAT2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -448,6 +471,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(floatValue, columnValue);
     }
 
+    @Test
     public void testINTEGER() throws Exception {
         String columnName = "INTEGER_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -464,6 +488,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(integerValue, columnValue);
     }
 
+    @Test
     public void testINTEGER2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -479,6 +504,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(integerValue, columnValue);
     }
 
+    @Test
     public void testLONGVARBINARY() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             String columnName = "LONGVARBINARY_COLUMN";
@@ -499,6 +525,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testLONGVARBINARY2() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
@@ -518,6 +545,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testLONGVARCHAR() throws Exception {
         String columnName = "LONGVARCHAR_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -538,6 +566,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(longvarcharValue, columnValue);
     }
 
+    @Test
     public void testLONGVARCHAR2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -557,6 +586,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(longvarcharValue, columnValue);
     }
 
+    @Test
     public void testNUMERIC() throws Exception {
         String columnName = "NUMERIC_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -573,6 +603,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(numericValue, columnValue);
     }
 
+    @Test
     public void testNUMERIC2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -588,6 +619,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(numericValue, columnValue);
     }
 
+    @Test
     public void testREAL() throws Exception {
         String columnName = "REAL_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -612,6 +644,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testREAL2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -627,6 +660,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(realValue, columnValue);
     }
 
+    @Test
     public void testSMALLINT() throws Exception {
         String columnName = "SMALLINT_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -643,6 +677,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(smallintValue, columnValue);
     }
 
+    @Test
     public void testSMALLINT2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -658,6 +693,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(smallintValue, columnValue);
     }
 
+    @Test
     public void testTIME() throws Exception {
         String columnName = "TIME_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -678,6 +714,7 @@ public class ReturnTypesMappingIT extends ServerCase {
                 .toString());
     }
 
+    @Test
     public void testTIME2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -696,6 +733,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(timeValue.toString(), new Time(columnValue.getTime()).toString());
     }
 
+    @Test
     public void testSQLTemplateTime() throws Exception {
         DateTestEntity test = (DateTestEntity) context.newObject("DateTestEntity");
 
@@ -717,6 +755,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(now.toString(), new Time(columnValue.getTime()).toString());
     }
 
+    @Test
     public void testTIMESTAMP() throws Exception {
         String columnName = "TIMESTAMP_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -737,6 +776,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertTrue(delta < 1000);
     }
 
+    @Test
     public void testTIMESTAMP2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -755,6 +795,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         long delta = timestampValue.getTime() - ((Date) columnValue).getTime();
         assertTrue(delta < 1000);    }
 
+    @Test
     public void testTINYINT() throws Exception {
         String columnName = "TINYINT_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -771,6 +812,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(tinyintValue.intValue(), ((Number)columnValue).intValue());
     }
 
+    @Test
     public void testTINYINT2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 
@@ -786,6 +828,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(tinyintValue, columnValue);
     }
 
+    @Test
     public void testVARBINARY() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             String columnName = "VARBINARY_COLUMN";
@@ -806,6 +849,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testVARBINARY2() throws Exception {
         if (unitDbAdapter.supportsLobs()) {
             ReturnTypesMap2 test = context.newObject(ReturnTypesMap2.class);
@@ -825,6 +869,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testVARCHAR() throws Exception {
         String columnName = "VARCHAR_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
@@ -841,6 +886,7 @@ public class ReturnTypesMappingIT extends ServerCase {
         assertEquals(varcharValue, columnValue);
     }
 
+    @Test
     public void testVARCHAR2() throws Exception {
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
index 1c84092..99e5f41 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListDataRowsIT.java
@@ -19,9 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
@@ -33,6 +30,10 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Iterator;
+import java.util.List;
 
 /**
  * Tests IncrementalFaultList behavior when fetching data rows.
@@ -100,6 +101,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
         tArtist.insert(33025, "artist25");
     }
 
+    @Test
     public void testGet1() throws Exception {
         assertEquals(1, list.idWidth);
         assertTrue(list.elements.get(0) instanceof Long);
@@ -113,6 +115,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
         assertEquals("artist20", ((DataRow) a).get("ARTIST_NAME"));
     }
 
+    @Test
     public void testIndexOf1() throws Exception {
 
         Expression qual = ExpressionFactory.matchExp("artistName", "artist20");
@@ -132,6 +135,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
         assertEquals(-1, list.indexOf(row));
     }
 
+    @Test
     public void testIndexOf2() throws Exception {
 
         // resolve first page
@@ -151,6 +155,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
         assertEquals(-1, list.indexOf(row));
     }
 
+    @Test
     public void testLastIndexOf1() throws Exception {
 
         // resolve first page
@@ -170,6 +175,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
         assertEquals(-1, list.lastIndexOf(row));
     }
 
+    @Test
     public void testLastIndexOf2() throws Exception {
 
         Expression qual = ExpressionFactory.matchExp("artistName", "artist20");
@@ -186,6 +192,7 @@ public class SimpleIdIncrementalFaultListDataRowsIT extends ServerCase {
         assertEquals(-1, list.lastIndexOf(row));
     }
 
+    @Test
     public void testIterator() throws Exception {
         assertEquals(1, list.idWidth);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
index ce4e4ea..22e3691 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListIT.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
 import org.apache.cayenne.DataObject;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
@@ -35,6 +31,11 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SimpleIdIncrementalFaultListIT extends ServerCase {
@@ -87,6 +88,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         tArtist.insert(33025, "artist25");
     }
 
+    @Test
     public void testRemoveDeleted() throws Exception {
         createArtistsDataSet();
 
@@ -120,21 +122,25 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         return new SimpleIdIncrementalFaultList<Object>(context, query, 10000);
     }
 
+    @Test
     public void testSize() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
         assertEquals(25, list.size());
     }
 
+    @Test
     public void testSmallList() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(49);
         assertEquals(25, list.size());
     }
 
+    @Test
     public void testOnePageList() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(25);
         assertEquals(25, list.size());
     }
 
+    @Test
     public void testIterator() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
         Iterator<?> it = list.iterator();
@@ -158,6 +164,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         }
     }
 
+    @Test
     public void testNewObject() throws Exception {
 
         createArtistsDataSet();
@@ -177,6 +184,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         assertSame(newArtist, list.get(25));
     }
 
+    @Test
     public void testListIterator() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
         ListIterator<?> it = list.listIterator();
@@ -200,6 +208,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSort() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
 
@@ -216,6 +225,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         }
     }
 
+    @Test
     public void testUnfetchedObjects() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
         assertEquals(25, list.getUnfetchedObjects());
@@ -225,6 +235,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         assertEquals(0, list.getUnfetchedObjects());
     }
 
+    @Test
     public void testPageIndex() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
         assertEquals(0, list.pageIndex(0));
@@ -240,6 +251,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         }
     }
 
+    @Test
     public void testPagesRead1() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
         assertTrue(list.elements.get(0) instanceof Long);
@@ -252,6 +264,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         assertTrue((list.elements.get(list.size() - 1)) instanceof Artist);
     }
 
+    @Test
     public void testGet1() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
         assertTrue(list.elements.get(0) instanceof Long);
@@ -264,6 +277,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         assertTrue(list.elements.get(8) instanceof Artist);
     }
 
+    @Test
     public void testIndexOf() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
         Expression qual = ExpressionFactory.matchExp("artistName", "artist20");
@@ -277,6 +291,7 @@ public class SimpleIdIncrementalFaultListIT extends ServerCase {
         assertEquals(-1, list.indexOf(list.dataContext.newObject("Artist")));
     }
 
+    @Test
     public void testLastIndexOf() throws Exception {
         SimpleIdIncrementalFaultList<?> list = prepareList(6);
         Expression qual = ExpressionFactory.matchExp("artistName", "artist20");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
index d0a1b6e..6194ff8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SimpleIdIncrementalFaultListPrefetchIT.java
@@ -35,6 +35,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -94,6 +95,7 @@ public class SimpleIdIncrementalFaultListPrefetchIT extends ServerCase {
         tPaining.insert(33007, "P_artist21", 33007, 21000);
     }
 
+    @Test
     public void testListType() throws Exception {
 
         createArtistsDataSet();
@@ -110,6 +112,7 @@ public class SimpleIdIncrementalFaultListPrefetchIT extends ServerCase {
      * Test that all queries specified in prefetch are executed with a single prefetch
      * path.
      */
+    @Test
     public void testPrefetch1() throws Exception {
 
         createArtistsAndPaintingsDataSet();
@@ -144,6 +147,7 @@ public class SimpleIdIncrementalFaultListPrefetchIT extends ServerCase {
     /**
      * Test that a to-many relationship is initialized.
      */
+    @Test
     public void testPrefetch3() throws Exception {
 
         createArtistsAndPaintingsDataSet();
@@ -173,6 +177,7 @@ public class SimpleIdIncrementalFaultListPrefetchIT extends ServerCase {
     /**
      * Test that a to-one relationship is initialized.
      */
+    @Test
     public void testPrefetch4() throws Exception {
 
         createArtistsAndPaintingsDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
index 32220f0..31e093c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.inheritance_flat.Role;
 import org.apache.cayenne.testdo.inheritance_flat.User;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 /**
  * Special test cases per CAY-1378, CAY-1379.
@@ -51,6 +52,7 @@ public class SingleTableInheritance1IT extends ServerCase {
         dbHelper.deleteAll("ROLES");
     }
 
+    @Test
     public void testGroupActions() throws Exception {
 
         User user = context.newObject(User.class);
@@ -80,6 +82,7 @@ public class SingleTableInheritance1IT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testFlattenedNullifyNullifyDeleteRules() throws Exception {
 
         User user = context.newObject(User.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
index ea76fa7..22a6e8b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
@@ -43,6 +43,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Arrays;
@@ -151,6 +152,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         tPerson.insert(9, "Kelly", "EM", 100000, null, 1);
     }
 
+    @Test
     public void testMatchingOnSuperAttributes() throws Exception {
         create2PersonDataSet();
 
@@ -164,6 +166,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         assertEquals("E2", results.get(0).getName());
     }
 
+    @Test
     public void testMatchingOnSuperAttributesWithPrefetch() throws Exception {
         create2PersonDataSet();
 
@@ -178,6 +181,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         assertEquals("E2", results.get(0).getName());
     }
 
+    @Test
     public void testPaginatedQueries() throws Exception {
 
         create5PersonDataSet();
@@ -200,6 +204,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         assertTrue(results.get(4) instanceof Employee);
     }
 
+    @Test
     public void testRelationshipToAbstractSuper() {
         context
                 .performGenericQuery(new SQLTemplate(
@@ -216,6 +221,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         assertTrue(note.getPerson() instanceof Employee);
     }
 
+    @Test
     public void testRelationshipAbstractFromSuperPrefetchingJoint() {
         context
                 .performGenericQuery(new SQLTemplate(
@@ -255,6 +261,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         });
     }
 
+    @Test
     public void testRelationshipAbstractFromSuperPrefetchingDisjoint() {
         context
                 .performGenericQuery(new SQLTemplate(
@@ -292,6 +299,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         });
     }
 
+    @Test
     public void testRelationshipAbstractToSuperPrefetchingDisjoint() {
         context
                 .performGenericQuery(new SQLTemplate(
@@ -322,6 +330,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         });
     }
 
+    @Test
     public void testRelationshipAbstractToSuperPrefetchingJoint() {
         context
                 .performGenericQuery(new SQLTemplate(
@@ -347,6 +356,7 @@ public class SingleTableInheritanceIT extends ServerCase {
 
     }
 
+    @Test
     public void testSave() throws Exception {
         ClientCompany company = context.newObject(ClientCompany.class);
         company.setName("Boeing");
@@ -373,6 +383,7 @@ public class SingleTableInheritanceIT extends ServerCase {
     /**
      * Tests that to-one relationship produces correct subclass.
      */
+    @Test
     public void testEmployeeAddress() throws Exception {
         createEmployeeAddressDataSet();
 
@@ -386,6 +397,7 @@ public class SingleTableInheritanceIT extends ServerCase {
     /**
      * Tests that to-one relationship produces correct subclass.
      */
+    @Test
     public void testManagerAddress() throws Exception {
         createManagerAddressDataSet();
 
@@ -398,6 +410,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         assertSame(Manager.class, e.getClass());
     }
 
+    @Test
     public void testCAY592() throws Exception {
         createManagerAddressDataSet();
 
@@ -421,6 +434,7 @@ public class SingleTableInheritanceIT extends ServerCase {
     /**
      * Tests that to-one relationship produces correct subclass.
      */
+    @Test
     public void testRepCompany() throws Exception {
         createRepCompanyDataSet();
 
@@ -436,6 +450,7 @@ public class SingleTableInheritanceIT extends ServerCase {
     /**
      * Tests that to-many relationship produces correct subclasses.
      */
+    @Test
     public void testDepartmentEmployees() throws Exception {
         createDepartmentEmployeesDataSet();
 
@@ -449,6 +464,7 @@ public class SingleTableInheritanceIT extends ServerCase {
         assertEquals(1, countObjectOfClass(employees, Manager.class));
     }
 
+    @Test
     public void testSelectInheritanceResolving() throws Exception {
         createSelectDataSet();
 
@@ -465,6 +481,7 @@ public class SingleTableInheritanceIT extends ServerCase {
      * Test for CAY-1008: Reverse relationships may not be correctly set if inheritance is
      * used.
      */
+    @Test
     public void testCAY1008() {
         RelatedEntity related = context.newObject(RelatedEntity.class);
 
@@ -486,6 +503,7 @@ public class SingleTableInheritanceIT extends ServerCase {
     /**
      * Test for CAY-1009: Bogus runtime relationships can mess up commit.
      */
+    @Test
     public void testCAY1009() {
 
         // We should have only one relationship. DirectToSubEntity -> SubEntity.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java
index 54a555c..e31a0bd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ToManyListIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.PersistentObjectList;
+import org.junit.Test;
 
 import java.lang.reflect.Field;
 import java.util.LinkedList;
@@ -62,6 +63,7 @@ public class ToManyListIT extends ServerCase {
         return new ToManyList(artist, Artist.PAINTING_ARRAY_PROPERTY);
     }
 
+    @Test
     public void testNewAddRemove() throws Exception {
         ToManyList list = createForNewArtist();
         assertFalse("Expected resolved list when created with a new object", list
@@ -80,6 +82,7 @@ public class ToManyListIT extends ServerCase {
         assertEquals(1, list.size());
     }
 
+    @Test
     public void testSavedUnresolvedAddRemove() throws Exception {
         ToManyList list = createForExistingArtist();
 
@@ -110,6 +113,7 @@ public class ToManyListIT extends ServerCase {
         assertTrue(getValue(list).contains(p2));
     }
 
+    @Test
     public void testSavedUnresolvedMerge() throws Exception {
         ToManyList list = createForExistingArtist();
 
@@ -144,6 +148,7 @@ public class ToManyListIT extends ServerCase {
         assertTrue(getValue(list).contains(p1));
     }
 
+    @Test
     public void testThrowOutDeleted() throws Exception {
         ToManyList list = createForExistingArtist();
 
@@ -191,6 +196,7 @@ public class ToManyListIT extends ServerCase {
                 .contains(p2));
     }
 
+    @Test
     public void testRealRelationship() throws Exception {
         Artist artist = context.newObject(Artist.class);
         artist.setArtistName("aaa");
@@ -222,6 +228,7 @@ public class ToManyListIT extends ServerCase {
         assertEquals(2, size);
     }
 
+    @Test
     public void testRealRelationshipRollback() throws Exception {
         Artist artist = context.newObject(Artist.class);
         artist.setArtistName("aaa");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java
index eb290fd..b4a9b10 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/TransactionThreadIT.java
@@ -19,8 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.sql.Connection;
-
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.query.SelectQuery;
@@ -31,6 +29,9 @@ import org.apache.cayenne.tx.CayenneTransaction;
 import org.apache.cayenne.tx.Transaction;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Connection;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class TransactionThreadIT extends ServerCase {
@@ -53,6 +54,7 @@ public class TransactionThreadIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testThreadConnectionReuseOnSelect() throws Exception {
 
         ConnectionCounterTx t = new ConnectionCounterTx(new CayenneTransaction(logger));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
index 9275638..e3cb82e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.UuidPkEntity;
 import org.apache.cayenne.testdo.testmap.UuidTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.UUID;
 
@@ -50,6 +51,7 @@ public class UUIDIT extends ServerCase {
         uuidPkEntity = new TableHelper(dbHelper, "UUID_PK_ENTITY", "ID");
     }
 
+    @Test
     public void testUUID() throws Exception {
 
         UuidTestEntity test = context.newObject(UuidTestEntity.class);
@@ -67,6 +69,7 @@ public class UUIDIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testUUIDMeaningfulPkInsert() throws Exception {
         UUID id = UUID.randomUUID();
 
@@ -79,6 +82,7 @@ public class UUIDIT extends ServerCase {
         assertEquals(id, UUID.fromString(fetched));
     }
 
+    @Test
     public void testUUIDMeaningfulPkSelect() throws Exception {
         UUID id = UUID.randomUUID();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java
index 5e6c461..3d77739 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/UserTransactionIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.tx.CayenneTransaction;
 import org.apache.cayenne.tx.Transaction;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Connection;
 
@@ -40,6 +41,7 @@ public class UserTransactionIT extends ServerCase {
     @Inject
     private JdbcEventLogger logger;
 
+    @Test
     public void testCommit() throws Exception {
 
         Artist a = context.newObject(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
index 46bdc11..c389fa1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.testdo.inheritance.vertical.IvSub1Sub1;
 import org.apache.cayenne.testdo.inheritance.vertical.IvSub2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.SQLException;
 import java.sql.Types;
@@ -65,6 +66,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		dbHelper.deleteAll("IV2_X");
 	}
 
+    @Test
 	public void testInsert_Root() throws Exception {
 
 		TableHelper ivRootTable = new TableHelper(dbHelper, "IV_ROOT");
@@ -86,6 +88,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		assertNull(rootData[2]);
 	}
 
+    @Test
 	public void testInsert_Sub1() throws Exception {
 
 		TableHelper ivRootTable = new TableHelper(dbHelper, "IV_ROOT");
@@ -134,6 +137,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		assertEquals("BdE2", subdata[1]);
 	}
 
+    @Test
 	public void testInsert_Sub2() throws Exception {
 
 		TableHelper ivRootTable = new TableHelper(dbHelper, "IV_ROOT");
@@ -200,6 +204,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		assertEquals(0, ivSub2Table.getRowCount());
 	}
 
+    @Test
 	public void testInsert_Sub1Sub1() throws Exception {
 
 		TableHelper ivRootTable = new TableHelper(dbHelper, "IV_ROOT");
@@ -239,6 +244,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		assertEquals("3DQa", subsubdata[1]);
 	}
 
+    @Test
 	public void testSelectQuery_SuperSub() throws Exception {
 
 		TableHelper ivRootTable = new TableHelper(dbHelper, "IV_ROOT");
@@ -280,6 +286,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		assertEquals("IvSub1", sub1.getDiscriminator());
 	}
 
+    @Test
 	public void testSelectQuery_DeepAndWide() throws Exception {
 
 		TableHelper ivRootTable = new TableHelper(dbHelper, "IV_ROOT");
@@ -349,6 +356,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		assertEquals("xSUB2", sub2.getSub2Name());
 	}
 
+    @Test
 	public void testSelectQuery_MiddleLeaf() throws Exception {
 
 		TableHelper ivRootTable = new TableHelper(dbHelper, "IV_ROOT");
@@ -407,6 +415,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		assertEquals("xSUB1_SUB1", sub1Sub1.getSub1Sub1Name());
 	}
 
+    @Test
 	public void testDelete_Mix() throws Exception {
 
 		TableHelper ivRootTable = new TableHelper(dbHelper, "IV_ROOT");
@@ -465,6 +474,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		assertEquals(2, results.size());
 	}
 
+    @Test
 	public void testSelectQuery_AttributeOverrides() throws Exception {
 
 		TableHelper iv1RootTable = new TableHelper(dbHelper, "IV1_ROOT");
@@ -505,6 +515,7 @@ public class VerticalInheritanceIT extends ServerCase {
 		assertEquals("xSUB1", sub1.getName());
 	}
 
+    @Test
 	public void testInsertWithRelationship() throws SQLException {
 		TableHelper xTable = new TableHelper(dbHelper, "IV2_X");
 		TableHelper rootTable = new TableHelper(dbHelper, "IV2_ROOT");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
index 682d187..8ac759d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyIT.java
@@ -18,19 +18,21 @@
  ****************************************************************/
 package org.apache.cayenne.access.dbsync;
 
-import java.util.Collections;
-import java.util.Map;
-
 import org.apache.cayenne.access.MockOperationObserver;
 import org.apache.cayenne.access.OperationObserver;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.Map;
 
 @UseServerRuntime(ServerCase.SUS_PROJECT)
 public class SchemaUpdateStrategyIT extends SchemaUpdateStrategyBase {
 
+    @Test
 	public void testCreateIfNoSchemaStrategy() throws Exception {
 
 		setStrategy(CreateIfNoSchemaStrategy.class);
@@ -49,6 +51,7 @@ public class SchemaUpdateStrategyIT extends SchemaUpdateStrategyBase {
 		assertEquals(2, existingTables().size());
 	}
 
+    @Test
 	public void testNoStandardSchema() throws Exception {
 		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
 		SQLTemplate query = new SQLTemplate(Object.class, template);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyTest.java b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyTest.java
index 138f131..cd7f7af 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialOrCreateSchemaStrategyTest.java
@@ -18,20 +18,22 @@
  ****************************************************************/
 package org.apache.cayenne.access.dbsync;
 
-import static org.mockito.Mockito.mock;
-
-import java.util.Collections;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.access.OperationObserver;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.Map;
+
+import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.SUS_PROJECT)
 public class ThrowOnPartialOrCreateSchemaStrategyTest extends SchemaUpdateStrategyBase {
 
+    @Test
 	public void testMixedStrategyTableExist() throws Exception {
 
 		createOneTable("SUS1");
@@ -44,6 +46,7 @@ public class ThrowOnPartialOrCreateSchemaStrategyTest extends SchemaUpdateStrate
 		node.performQueries(Collections.singletonList(query), mock(OperationObserver.class));
 	}
 
+    @Test
 	public void testMixedStrategyTableNoExist() throws Exception {
 
 		String template = "SELECT #result('id' 'int') FROM SUS1";
@@ -60,6 +63,7 @@ public class ThrowOnPartialOrCreateSchemaStrategyTest extends SchemaUpdateStrate
 		assertEquals(2, existingTables().size());
 	}
 
+    @Test
 	public void testMixedStrategyWithOneTable() throws Exception {
 		createOneTable("SUS1");
 		setStrategy(ThrowOnPartialOrCreateSchemaStrategy.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyTest.java b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyTest.java
index 383996a..55abbcb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/dbsync/ThrowOnPartialSchemaStrategyTest.java
@@ -18,18 +18,20 @@
  ****************************************************************/
 package org.apache.cayenne.access.dbsync;
 
-import java.util.Collections;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.access.MockOperationObserver;
 import org.apache.cayenne.query.Query;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
 
 @UseServerRuntime(ServerCase.SUS_PROJECT)
 public class ThrowOnPartialSchemaStrategyTest extends SchemaUpdateStrategyBase {
 
+    @Test
 	public void testThrowOnPartialStrategyTableNoExist() throws Exception {
 
 		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
@@ -51,6 +53,7 @@ public class ThrowOnPartialSchemaStrategyTest extends SchemaUpdateStrategyBase {
 		}
 	}
 
+    @Test
 	public void testThrowOnPartialStrategyTableExist() throws Exception {
 
 		String template = "SELECT #result('ARTIST_ID' 'int') FROM ARTIST ORDER BY ARTIST_ID";
@@ -64,6 +67,7 @@ public class ThrowOnPartialSchemaStrategyTest extends SchemaUpdateStrategyBase {
 		node.performQueries(Collections.singletonList(query), observer);
 	}
 
+    @Test
 	public void testThrowOnPartialStrategyWithOneTable() throws Exception {
 		createOneTable("SUS1");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
index be323bb..f59c4f6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import static org.mockito.Mockito.mock;
 
@@ -43,6 +44,7 @@ public class BatchActionIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testHasGeneratedKeys1() throws Exception {
         EntityResolver resolver = runtime.getChannel().getEntityResolver();
 
@@ -62,6 +64,7 @@ public class BatchActionIT extends ServerCase {
         assertFalse(new BatchAction(batch2, node, false).hasGeneratedKeys());
     }
 
+    @Test
     public void testHasGeneratedKeys2() throws Exception {
         EntityResolver resolver = runtime.getChannel().getEntityResolver();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
index 42061b8..89cc849 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionLockingIT.java
@@ -38,6 +38,7 @@ import org.apache.cayenne.query.DeleteBatchQuery;
 import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -60,6 +61,7 @@ public class BatchActionLockingIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testRunAsIndividualQueriesSuccess() throws Exception {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
 
@@ -101,6 +103,7 @@ public class BatchActionLockingIT extends ServerCase {
         assertEquals(0, mockConnection.getNumberRollbacks());
     }
 
+    @Test
     public void testRunAsIndividualQueriesOptimisticLockingFailure() throws Exception {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
index ab1b1c9..b9f0240 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java
@@ -37,6 +37,7 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
+import org.junit.Test;
 
 import java.sql.Connection;
 import java.sql.Date;
@@ -90,6 +91,7 @@ public class SQLTemplateActionIT extends ServerCase {
         tArtist.insert(3001, "artist5", date);
     }
 
+    @Test
     public void testProperties() throws Exception {
         SQLTemplate template = new SQLTemplate(Object.class, "AAAAA");      
   
@@ -98,6 +100,7 @@ public class SQLTemplateActionIT extends ServerCase {
         assertSame(node, action.dataNode);
     }
 
+    @Test
     public void testExecuteSelect() throws Exception {
         createFourArtists();
 
@@ -139,6 +142,7 @@ public class SQLTemplateActionIT extends ServerCase {
         assertTrue(row.containsKey("DATE_OF_BIRTH"));
     }
 
+    @Test
     public void testSelectUtilDate() throws Exception {
         createFourArtists();
 
@@ -172,6 +176,7 @@ public class SQLTemplateActionIT extends ServerCase {
         assertEquals(java.util.Date.class, row.get("DOB").getClass());
     }
 
+    @Test
     public void testSelectSQLDate() throws Exception {
         createFourArtists();
 
@@ -205,6 +210,7 @@ public class SQLTemplateActionIT extends ServerCase {
         assertEquals(java.sql.Date.class, row.get("DOB").getClass());
     }
 
+    @Test
     public void testSelectSQLTimestamp() throws Exception {
         createFourArtists();
 
@@ -239,6 +245,7 @@ public class SQLTemplateActionIT extends ServerCase {
         assertTrue(java.sql.Timestamp.class.isAssignableFrom(row.get("DOB").getClass()));
     }
 
+    @Test
     public void testExecuteUpdate() throws Exception {
         String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) "
                 + "VALUES (#bind($id), #bind($name), #bind($dob 'DATE'))";
@@ -271,6 +278,7 @@ public class SQLTemplateActionIT extends ServerCase {
         assertEquals("a1", tArtist.getString("ARTIST_NAME").trim());
     }
 
+    @Test
     public void testExecuteUpdateNoParameters() throws Exception {
         createFourArtists();
 
@@ -295,6 +303,7 @@ public class SQLTemplateActionIT extends ServerCase {
         }
     }
 
+    @Test
     public void testExecuteUpdateBatch() throws Exception {
         String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) "
                 + "VALUES (#bind($id), #bind($name), #bind($dob 'DATE'))";
@@ -355,6 +364,7 @@ public class SQLTemplateActionIT extends ServerCase {
         // assertEquals(bindings2.get("dob"), row2.get("DATE_OF_BIRTH"));
     }
 
+    @Test
     public void testExtractTemplateString() throws Exception {
         SQLTemplate template = new SQLTemplate(Artist.class, "A\nBC");
         SQLTemplateAction action = new SQLTemplateAction(template, node);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
index 40849fd..77df179 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.testmap.ClobTestRelation;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -53,6 +54,7 @@ public class SelectActionIT extends ServerCase {
         }
     }
 
+    @Test
     public void testFetchLimit_DistinctResultIterator() throws Exception {
         if (accessStackAdapter.supportsLobs()) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java
index 542f7cd..fef421e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DefaultBatchTranslatorIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.query.BatchQuery;
 import org.apache.cayenne.query.BatchQueryRow;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 
@@ -40,6 +41,7 @@ public class DefaultBatchTranslatorIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testConstructor() throws Exception {
         DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
         DefaultBatchTranslator builder = new DefaultBatchTranslator(mock(BatchQuery.class), adapter, null) {
@@ -62,6 +64,7 @@ public class DefaultBatchTranslatorIT extends ServerCase {
         assertSame(adapter, builder.adapter);
     }
 
+    @Test
     public void testAppendDbAttribute1() throws Exception {
         DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
         String trimFunction = "testTrim";
@@ -98,6 +101,7 @@ public class DefaultBatchTranslatorIT extends ServerCase {
         assertEquals("testAttr", buf.toString());
     }
 
+    @Test
     public void testAppendDbAttribute2() throws Exception {
         DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
 


[15/50] [abbrv] cayenne git commit: Optimize Imports in cayenne-client module

Posted by aa...@apache.org.
Optimize Imports in cayenne-client module


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/e2a965ff
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/e2a965ff
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/e2a965ff

Branch: refs/heads/CAY-1946
Commit: e2a965ff040cc1ec91fea258b702398b5f1ff068
Parents: b62c9d0
Author: Savva Kolbechev <s....@gmail.com>
Authored: Tue Nov 4 14:06:25 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Tue Nov 4 14:06:25 2014 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/CayenneContextCayenneIT.java     |  2 --
 .../cayenne/CayenneContextClientChannelEventsIT.java    |  2 --
 .../test/java/org/apache/cayenne/CayenneContextIT.java  |  2 +-
 .../org/apache/cayenne/CayenneContextInheritanceIT.java |  2 +-
 .../apache/cayenne/CayenneContextMapRelationshipIT.java |  2 +-
 .../apache/cayenne/CayenneContextMergeHandlerIT.java    |  2 +-
 .../cayenne/CayenneContextNamedQueryCachingIT.java      |  2 +-
 .../cayenne/CayenneContextPaginatedListCachingIT.java   |  2 +-
 .../org/apache/cayenne/CayenneContextPrimitiveIT.java   |  2 +-
 .../apache/cayenne/CayenneContextRefreshQueryIT.java    |  2 +-
 .../apache/cayenne/CayenneContextRelationshipsIT.java   |  2 --
 .../org/apache/cayenne/CayenneContextSQLTemplateIT.java |  3 ---
 .../org/apache/cayenne/CayenneContextServerDiffsIT.java |  2 +-
 .../org/apache/cayenne/CayenneContextValidationIT.java  |  2 --
 .../apache/cayenne/CayenneContextWithDataContextIT.java |  8 --------
 .../org/apache/cayenne/PersistentObjectInContextIT.java |  2 +-
 .../apache/cayenne/access/ClientServerChannelIT.java    |  2 +-
 .../cayenne/access/ClientServerChannelQueryIT.java      |  2 +-
 .../org/apache/cayenne/map/ClientEntityResolverIT.java  |  2 +-
 .../org/apache/cayenne/query/ClientExpressionIT.java    |  2 +-
 .../cayenne/query/ClientSelectQueryExpressionIT.java    |  2 +-
 .../java/org/apache/cayenne/query/SQLTemplateTest.java  | 12 ++++++------
 .../java/org/apache/cayenne/query/SelectByIdTest.java   |  8 ++++----
 .../cayenne/query/SelectQueryAbstractEntityIT.java      |  2 +-
 .../apache/cayenne/unit/di/client/ClientCaseSelfIT.java |  2 +-
 .../apache/cayenne/util/ObjectDetachOperationIT.java    |  2 --
 .../cayenne/util/ShallowMergeOperation_ClientIT.java    |  2 +-
 27 files changed, 28 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
index 43869eb..8f3cdbe 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
@@ -26,8 +26,6 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
-
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextCayenneIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
index f1caca7..1e2e6cd 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
@@ -34,8 +34,6 @@ import org.apache.cayenne.unit.di.client.ClientRuntimeProperty;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
-
 /**
  * Tests peer context synchronization via ClientChannel events.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
index c005543..d8c8911 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
@@ -50,7 +50,7 @@ import java.util.List;
 
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;import static org.junit.Assert.*;
+import static org.mockito.Mockito.when;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
index b9fbb2b..fc65b4c 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
@@ -30,7 +30,7 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextInheritanceIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
index e080def..869ac6f 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
@@ -30,7 +30,7 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import java.util.Map;import static org.junit.Assert.*;
+import java.util.Map;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextMapRelationshipIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
index 7fd1c0d..ea06418 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import static org.mockito.Mockito.mock;import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextMergeHandlerIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
index ade7590..4205221 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
@@ -30,7 +30,7 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.util.Collections;
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextNamedQueryCachingIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
index 3a90802..ee50cb4 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
@@ -29,7 +29,7 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextPaginatedListCachingIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
index fd3b795..ee948b0 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
@@ -31,7 +31,7 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextPrimitiveIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
index 908abe7..5583605 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Test;import static org.junit.Assert.*;
+import org.junit.Test;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextRefreshQueryIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
index 458b58b..10dccbc 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
@@ -30,8 +30,6 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
-
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextRelationshipsIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
index 555dbce..9eff4c3 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
@@ -26,9 +26,6 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextSQLTemplateIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
index a0cfaa2..ae0b006 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
@@ -28,7 +28,7 @@ import org.apache.cayenne.testdo.mt.ClientMtTable2;
 import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Test;import static org.junit.Assert.*;
+import org.junit.Test;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextServerDiffsIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
index 37ff005..68f3b8f 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
@@ -28,8 +28,6 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.validation.ValidationException;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
-
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextValidationIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
index ed19ebe..5ef8b5b 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
@@ -48,14 +48,6 @@ import java.sql.Types;
 import java.util.Iterator;
 import java.util.List;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextWithDataContextIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
index da6cac9..df94fe1 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
@@ -32,7 +32,7 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.PersistentObjectHolder;
 import org.junit.Test;
 
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class PersistentObjectInContextIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
index 140f6e2..f2dab9b 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
@@ -50,7 +50,7 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.EqualsBuilder;
 import org.junit.Test;
 
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientServerChannelIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
index d4da266..2fc7386 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
@@ -38,7 +38,7 @@ import org.apache.cayenne.util.PersistentObjectList;
 import org.junit.Test;
 
 import java.util.Collections;
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientServerChannelQueryIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
index b0add33..9ff9666 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.util.Collection;
-import java.util.Collections;import static org.junit.Assert.*;
+import java.util.Collections;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientEntityResolverIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
index 2c2f006..d6685d2 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
@@ -36,7 +36,7 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientExpressionIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
index a706de1..213da28 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
@@ -29,7 +29,7 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientSelectQueryExpressionIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
index d432fe1..9e6e4bd 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
@@ -18,16 +18,16 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Collections;
-
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
 import org.junit.Test;
 
+import java.util.Collections;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
 public class SQLTemplateTest {
 
 	@Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/query/SelectByIdTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/SelectByIdTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/SelectByIdTest.java
index 84b2e06..087c84c 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/SelectByIdTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/SelectByIdTest.java
@@ -18,15 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertTrue;
-
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
 public class SelectByIdTest {
 
 	@Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java b/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
index 72f505d..fcc55e5 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
@@ -30,7 +30,7 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import java.util.List;import static org.junit.Assert.*;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class SelectQueryAbstractEntityIT extends ServerCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
index a0f77bc..b8e31ae 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
@@ -22,7 +22,7 @@ import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Test;import static org.junit.Assert.*;
+import org.junit.Test;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientCaseSelfIT extends ClientCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java b/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
index 4dc37ef..4857c5f 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
@@ -32,8 +32,6 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import static org.junit.Assert.*;
-
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ObjectDetachOperationIT extends ClientCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/e2a965ff/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java b/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
index bbb9f4b..3a22a38 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
@@ -34,7 +34,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Test;import static org.junit.Assert.*;
+import org.junit.Test;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ShallowMergeOperation_ClientIT extends ClientCase {


[11/50] [abbrv] cayenne git commit: Apply JUnit4 instead of JUnit3 in IT

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
index 88c15e4..7c7d812 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
@@ -35,6 +35,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
@@ -112,6 +113,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
     /**
      * CAY-899: Checks that aggregate results do not cause callbacks execution.
      */
+    @Test
     public void testSelectAggregatePostLoadCallback() throws Exception {
 
         createFourArtistsTwoPaintings();
@@ -143,6 +145,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectAggregate() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -159,6 +162,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         AssertExtras.assertEquals(new BigDecimal(8000d), aggregates[3], 0.01);
     }
 
+    @Test
     public void testSelectAggregateNull() throws Exception {
 
         if (!accessStackAdapter.supportNullRowForAggregateFunctions()) {
@@ -178,6 +182,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(null, aggregates[2]);
     }
 
+    @Test
     public void testSelectEntityPathsScalarResult() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -192,6 +197,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals("P1", data.get(1));
     }
 
+    @Test
     public void testSelectEntityPathsArrayResult() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -215,6 +221,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals("AA2", row1[1]);
     }
 
+    @Test
     public void testSimpleSelect() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -227,6 +234,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertTrue(((Artist) artists.get(0)).getPersistenceState() == PersistenceState.COMMITTED);
     }
 
+    @Test
     public void testFetchLimit() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -238,6 +246,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(2, artists.size());
     }
 
+    @Test
     public void testSelectFromWhereEqual() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -249,6 +258,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals("AA2", ((Artist) artists.get(0)).getArtistName());
     }
 
+    @Test
     public void testSelectFromWhereEqualReverseOrder() throws Exception {
         if (!accessStackAdapter.supportsReverseComparison()) {
             return;
@@ -264,6 +274,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals("AA2", ((Artist) artists.get(0)).getArtistName());
     }
 
+    @Test
     public void testSelectFromWhereNot() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -279,6 +290,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectFromWhereNotEquals() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -294,6 +306,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectFromWhereOrEqual() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -313,6 +326,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertTrue(names.contains("BB1"));
     }
 
+    @Test
     public void testSelectFromWhereAndEqual() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -328,6 +342,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         AssertExtras.assertEquals(new BigDecimal(3000d), p.getEstimatedPrice(), 0.01);
     }
 
+    @Test
     public void testSelectFromWhereBetween() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -342,6 +357,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         AssertExtras.assertEquals(new BigDecimal(3000d), p.getEstimatedPrice(), 0.01);
     }
 
+    @Test
     public void testSelectFromWhereNotBetween() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -356,6 +372,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         AssertExtras.assertEquals(new BigDecimal(5000d), p.getEstimatedPrice(), 0.01);
     }
 
+    @Test
     public void testSelectFromWhereGreater() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -370,6 +387,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         AssertExtras.assertEquals(new BigDecimal(5000d), p.getEstimatedPrice(), 0.01);
     }
 
+    @Test
     public void testSelectFromWhereGreaterOrEqual() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -380,6 +398,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(2, ps.size());
     }
 
+    @Test
     public void testSelectFromWhereLess() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -394,6 +413,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         AssertExtras.assertEquals(new BigDecimal(3000d), p.getEstimatedPrice(), 0.01);
     }
 
+    @Test
     public void testSelectFromWhereLessOrEqual() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -404,6 +424,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(2, ps.size());
     }
 
+    @Test
     public void testSelectFromWhereDecimalNumber() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -414,6 +435,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(2, ps.size());
     }
 
+    @Test
     public void testSelectFromWhereDecimalNumberPositional() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -425,6 +447,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(2, ps.size());
     }
 
+    @Test
     public void testSelectFromWhereDecimalNumberNamed() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -436,6 +459,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(2, ps.size());
     }
 
+    @Test
     public void testSelectFromWhereMatchOnObject() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -452,6 +476,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testSelectFromWhereMatchRelationshipAndScalar() throws Exception {
         createFourArtistsTwoPaintings();
 
@@ -465,6 +490,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testSelectFromWhereMatchOnMultiColumnObject() throws Exception {
         createTwoCompoundPKTwoFK();
 
@@ -487,6 +513,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject(o1));
     }
 
+    @Test
     public void testSelectFromWhereMatchOnMultiColumnObjectReverse() throws Exception {
         if (!accessStackAdapter.supportsReverseComparison()) {
             return;
@@ -513,6 +540,7 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject(o1));
     }
 
+    @Test
     public void testSelectFromWhereNoMatchOnMultiColumnObject() throws Exception {
         createTwoCompoundPKTwoFK();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
index 37054c4..7b42a27 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.HashSet;
@@ -84,6 +85,7 @@ public class DataContextEJBQLSubqueryIT extends ServerCase {
         tPainting.insert(33004, null, "P4", 6000);
     }
 
+    @Test
     public void testSubqueryNoQualifier() throws Exception {
         if (!accessStackAdapter.supportsAllAnySome()) {
             return;
@@ -110,6 +112,7 @@ public class DataContextEJBQLSubqueryIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33004)));
     }
 
+    @Test
     public void testDifferentEntity() throws Exception {
         createTwoArtistsFourPaintings();
 
@@ -135,6 +138,7 @@ public class DataContextEJBQLSubqueryIT extends ServerCase {
         assertTrue("" + objects.get(0), objects.get(0) instanceof Artist);
     }
 
+    @Test
     public void testExists() throws Exception {
         createTwoArtistsFourPaintings();
 
@@ -160,6 +164,7 @@ public class DataContextEJBQLSubqueryIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33003)));
     }
 
+    @Test
     public void testAll() throws Exception {
         if (!accessStackAdapter.supportsAllAnySome()) {
             return;
@@ -188,6 +193,7 @@ public class DataContextEJBQLSubqueryIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33004)));
     }
 
+    @Test
     public void testAny() throws Exception {
         if (!accessStackAdapter.supportsAllAnySome()) {
             return;
@@ -217,6 +223,7 @@ public class DataContextEJBQLSubqueryIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33004)));
     }
 
+    @Test
     public void testSome() throws Exception {
         if (!accessStackAdapter.supportsAllAnySome()) {
             return;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
index a3ba28b..d16eb51 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
 import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.HashMap;
@@ -96,6 +97,7 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         tCompoundFk.insert(33002, "b1", "b2");
     }
 
+    @Test
     public void testUpdateQualifier() throws Exception {
         createThreeArtistsTwoPaintings();
 
@@ -119,6 +121,7 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         assertEquals(new Long(1l), notUpdated);
     }
 
+    @Test
     public void testUpdateNoQualifierString() throws Exception {
         createThreeArtistsTwoPaintings();
 
@@ -142,6 +145,7 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         assertEquals(new Long(0l), notUpdated);
     }
 
+    @Test
     public void testUpdateNoQualifierNull() throws Exception {
         createThreeArtistsTwoPaintings();
 
@@ -191,6 +195,7 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
     // assertEquals(new Long(0l), notUpdated);
     // }
 
+    @Test
     public void testUpdateNoQualifierMultipleItems() throws Exception {
         createThreeArtistsTwoPaintings();
 
@@ -214,6 +219,7 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         assertEquals(new Long(0l), notUpdated);
     }
 
+    @Test
     public void testUpdateNoQualifierDecimal() throws Exception {
         createThreeArtistsTwoPaintings();
 
@@ -237,6 +243,7 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         assertEquals(new Long(0l), notUpdated);
     }
 
+    @Test
     public void testUpdateNoQualifierBoolean() throws Exception {
 
         BooleanTestEntity o1 = context.newObject(BooleanTestEntity.class);
@@ -270,6 +277,7 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         assertEquals(new Long(3l), notUpdated);
     }
 
+    @Test
     public void testUpdateNoQualifierToOne() throws Exception {
         createThreeArtistsTwoPaintings();
 
@@ -297,6 +305,7 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         assertEquals(new Long(0l), notUpdated);
     }
 
+    @Test
     public void testUpdateNoQualifierToOneCompoundPK() throws Exception {
         createTwoCompoundPKTwoFK();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
index d8c3366..6ee1311 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.testdo.testmap.MeaningfulPKDep;
 import org.apache.cayenne.testdo.testmap.MeaningfulPKTest1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 import java.util.Map;
@@ -53,6 +54,7 @@ public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
         dbHelper.deleteAll("MEANINGFUL_PK_TEST1");
     }
 
+    @Test
     public void testInsertWithMeaningfulPK() throws Exception {
         MeaningfulPKTest1 obj = context.newObject(MeaningfulPKTest1.class);
         obj.setPkAttribute(1000);
@@ -65,6 +67,7 @@ public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
         assertEquals(1, context.performQuery(q).size());
     }
 
+    @Test
     public void testGeneratedKey() throws Exception {
         MeaningfulPKTest1 obj = context.newObject(MeaningfulPKTest1.class);
         obj.setDescr("aaa-aaa");
@@ -84,6 +87,7 @@ public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
                 .get(MeaningfulPKTest1.PK_ATTRIBUTE_PK_COLUMN));
     }
 
+    @Test
     public void testChangeKey() throws Exception {
         MeaningfulPKTest1 obj = (MeaningfulPKTest1) context
                 .newObject("MeaningfulPKTest1");
@@ -99,6 +103,7 @@ public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
         assertEquals(new Integer(2000), id.getIdSnapshot().get("PK_ATTRIBUTE"));
     }
 
+    @Test
     public void testToManyRelationshipWithMeaningfulPK1() throws Exception {
         MeaningfulPKTest1 obj = (MeaningfulPKTest1) context
                 .newObject("MeaningfulPKTest1");
@@ -114,6 +119,7 @@ public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
         assertEquals(0, obj.getMeaningfulPKDepArray().size());
     }
 
+    @Test
     public void testToManyRelationshipWithMeaningfulPK2() throws Exception {
         MeaningfulPKTest1 obj = (MeaningfulPKTest1) context
                 .newObject("MeaningfulPKTest1");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
index 9caaf2b..05a8ece 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.testmap.ExtendedTypeEntity;
 import org.apache.cayenne.testdo.testmap.StringET1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Arrays;
 
@@ -47,6 +48,7 @@ public class DataContextExtendedTypeOperationsIT extends ServerCase {
         dbHelper.deleteAll("EXTENDED_TYPE_TEST");
     }
 
+    @Test
     public void testStoreExtendedType() {
         ExtendedTypeEntity e1 = context.newObject(ExtendedTypeEntity.class);
         e1.setName(new StringET1("X"));
@@ -60,6 +62,7 @@ public class DataContextExtendedTypeOperationsIT extends ServerCase {
         assertEquals(1, e1.getObjectContext().performQuery(checkQ).size());
     }
 
+    @Test
     public void testInExpressionExtendedTypeArray() {
         ExtendedTypeEntity e1 = context.newObject(ExtendedTypeEntity.class);
         e1.setName(new StringET1("X"));
@@ -80,6 +83,7 @@ public class DataContextExtendedTypeOperationsIT extends ServerCase {
         assertEquals(2, e1.getObjectContext().performQuery(query).size());
     }
 
+    @Test
     public void testInExpressionExtendedTypeList() {
         ExtendedTypeEntity e1 = context.newObject(ExtendedTypeEntity.class);
         e1.setName(new StringET1("X"));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
index 1c6e13e..f8b2ba4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
@@ -41,6 +41,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Date;
@@ -108,6 +109,7 @@ public class DataContextExtrasIT extends ServerCase {
         tPainting.insert(33001, 33001, "P1", 3000);
     }
 
+    @Test
     public void testManualIdProcessingOnCommit() throws Exception {
 
         Artist object = context.newObject(Artist.class);
@@ -125,6 +127,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertEquals(manualId, object.getObjectId());
     }
 
+    @Test
     public void testResolveFault() {
 
         Artist o1 = context.newObject(Artist.class);
@@ -140,6 +143,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertEquals("a", o1.readPropertyDirectly("artistName"));
     }
 
+    @Test
     public void testResolveFaultFailure() {
 
         Persistent o1 = context.findOrCreateObject(new ObjectId(
@@ -156,6 +160,7 @@ public class DataContextExtrasIT extends ServerCase {
         }
     }
 
+    @Test
     public void testUserProperties() {
 
         assertNull(context.getUserProperty("ABC"));
@@ -165,6 +170,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertSame(object, context.getUserProperty("ABC"));
     }
 
+    @Test
     public void testHasChangesNew() {
 
         assertTrue("No changes expected in context", !context.hasChanges());
@@ -174,6 +180,7 @@ public class DataContextExtrasIT extends ServerCase {
                 context.hasChanges());
     }
 
+    @Test
     public void testNewObject() {
 
         Artist a1 = (Artist) context.newObject("Artist");
@@ -181,6 +188,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertTrue(context.newObjects().contains(a1));
     }
 
+    @Test
     public void testNewObjectWithClass() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -188,6 +196,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertTrue(context.newObjects().contains(a1));
     }
 
+    @Test
     public void testIdObjectFromDataRow() {
 
         DataRow row = new DataRow(10);
@@ -200,6 +209,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertNull(context.getObjectStore().getCachedSnapshot(obj.getObjectId()));
     }
 
+    @Test
     public void testPartialObjectFromDataRow() {
 
         DataRow row = new DataRow(10);
@@ -212,6 +222,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertNull(context.getObjectStore().getCachedSnapshot(obj.getObjectId()));
     }
 
+    @Test
     public void testFullObjectFromDataRow() {
 
         DataRow row = new DataRow(10);
@@ -226,6 +237,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertEquals("ArtistXYZ", obj.getArtistName());
     }
 
+    @Test
     public void testCommitChangesError() {
 
         DataDomain domain = context.getParentDataDomain();
@@ -273,6 +285,7 @@ public class DataContextExtrasIT extends ServerCase {
     /**
      * Testing behavior of Cayenne when a database exception is thrown in SELECT query.
      */
+    @Test
     public void testSelectException() {
 
         SQLTemplate q = new SQLTemplate(Artist.class, "SELECT * FROM NON_EXISTENT_TABLE");
@@ -287,10 +300,12 @@ public class DataContextExtrasIT extends ServerCase {
 
     }
 
+    @Test
     public void testEntityResolver() {
         assertNotNull(context.getEntityResolver());
     }
 
+    @Test
     public void testPhantomModificationsValidate() throws Exception {
 
         createPhantomModificationDataSet();
@@ -323,6 +338,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertFalse(a1.isValidateForSaveCalled());
     }
 
+    @Test
     public void testPhantomModificationsValidateToOne() throws Exception {
 
         createPhantomModificationsValidateToOneDataSet();
@@ -339,6 +355,7 @@ public class DataContextExtrasIT extends ServerCase {
                 p1.isValidateForSaveCalled());
     }
 
+    @Test
     public void testValidateOnToManyChange() throws Exception {
 
         createValidateOnToManyChangeDataSet();
@@ -355,6 +372,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertFalse(a1.isValidateForSaveCalled());
     }
 
+    @Test
     public void testPhantomAttributeModificationCommit() throws Exception {
 
         createPhantomModificationDataSet();
@@ -371,6 +389,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, a1.getPersistenceState());
     }
 
+    @Test
     public void testPhantomRelationshipModificationCommit() throws Exception {
 
         createPhantomRelationshipModificationCommitDataSet();
@@ -396,6 +415,7 @@ public class DataContextExtrasIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, newArtist.getPersistenceState());
     }
 
+    @Test
     public void testPhantomRelationshipModificationValidate() throws Exception {
 
         createPhantomRelationshipModificationCommitDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
index 6cb1ec4..3357d28 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
@@ -34,6 +34,7 @@ import org.apache.cayenne.testdo.testmap.CompoundPaintingLongNames;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
@@ -112,6 +113,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
 
     }
 
+    @Test
     public void testSelectCompound1() throws Exception {
         createTestDataSet();
         SelectQuery query = new SelectQuery(CompoundPainting.class);
@@ -162,6 +164,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
     // attributes, while
     // EJBQLQuery does an OUTER JOIN... which seems like a better idea...
     // 14/01/2010 now it uses LEFT JOIN
+    @Test
     public void testSelectCompound2() throws Exception {
         createTestDataSet();
         SelectQuery query = new SelectQuery(
@@ -196,6 +199,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
      * {@link PersistentDescriptor}[105] That forced an error during the building of the
      * SelectQuery statement, CAY-1484
      */
+    @Test
     public void testSelectCompoundLongNames() throws Exception {
         createTestDataSet();
         SelectQuery query = new SelectQuery(CompoundPaintingLongNames.class);
@@ -204,6 +208,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
         assertNotNull(objects);
     }
 
+    @Test
     public void testSelectEJQBQL() throws Exception {
         createTestDataSet();
         EJBQLQuery query = new EJBQLQuery(
@@ -222,6 +227,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectEJQBQLCollectionTheta() throws Exception {
         createTestDataSet();
         EJBQLQuery query = new EJBQLQuery(
@@ -241,6 +247,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectEJQBQLLike() throws Exception {
         createTestDataSet();
         EJBQLQuery query = new EJBQLQuery(
@@ -260,6 +267,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectEJQBQLBetween() throws Exception {
         createTestDataSet();
         EJBQLQuery query = new EJBQLQuery("SELECT a FROM CompoundPainting a "
@@ -279,6 +287,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectEJQBQLSubquery() throws Exception {
         createTestDataSet();
         EJBQLQuery query = new EJBQLQuery(
@@ -294,6 +303,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
 
     }
 
+    @Test
     public void testSelectEJQBQLHaving() throws Exception {
         createTestDataSet();
         EJBQLQuery query = new EJBQLQuery(
@@ -311,6 +321,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
         assertEquals(3L, galleryItem[1]);
     }
 
+    @Test
     public void testInsert() {
         CompoundPainting o1 = context.newObject(CompoundPainting.class);
         o1.setArtistName("A1");
@@ -333,6 +344,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
         assertEquals(1, galleryCount.intValue());
     }
 
+    @Test
     public void testDelete() throws Exception {
         // throw in a bit of random overlapping data, to make sure FK/PK correspondence is
         // not purely coincidental
@@ -364,6 +376,7 @@ public class DataContextFlattenedAttributesIT extends ServerCase {
         assertEquals(0, galleryCount.intValue());
     }
 
+    @Test
     public void testUpdate() {
         CompoundPainting o1 = context.newObject(CompoundPainting.class);
         o1.setArtistName("A1");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java
index ca4f923..fcc66db 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java
@@ -54,6 +54,7 @@ import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Timestamp;
@@ -164,6 +165,7 @@ public class DataContextIT extends ServerCase {
         tPainting.insert(33007, "P_artist21", 33007, 21000);
     }
 
+    @Test
     public void testCurrentSnapshot1() throws Exception {
         createSingleArtistDataSet();
 
@@ -176,6 +178,7 @@ public class DataContextIT extends ServerCase {
         assertEquals(artist.getDateOfBirth(), snapshot.get("DATE_OF_BIRTH"));
     }
 
+    @Test
     public void testCurrentSnapshot2() throws Exception {
         createSingleArtistDataSet();
 
@@ -195,6 +198,7 @@ public class DataContextIT extends ServerCase {
         assertNull(snapshot.get("DATE_OF_BIRTH"));
     }
 
+    @Test
     public void testCurrentSnapshot3() throws Exception {
         createSingleArtistDataSet();
 
@@ -216,6 +220,7 @@ public class DataContextIT extends ServerCase {
     /**
      * Testing snapshot with to-one fault. This was a bug CAY-96.
      */
+    @Test
     public void testCurrentSnapshotWithToOneFault() throws Exception {
 
         createGalleriesAndExhibitsDataSet();
@@ -244,6 +249,7 @@ public class DataContextIT extends ServerCase {
      * would pad a CHAR column with extra spaces, returned to the client.
      * Cayenne should trim it.
      */
+    @Test
     public void testCharFetch() throws Exception {
         createSingleArtistDataSet();
 
@@ -257,6 +263,7 @@ public class DataContextIT extends ServerCase {
      * databases (Oracle...) would pad a CHAR column with extra spaces, returned
      * to the client. Cayenne should trim it.
      */
+    @Test
     public void testCharInQualifier() throws Exception {
         createArtistsDataSet();
 
@@ -270,6 +277,7 @@ public class DataContextIT extends ServerCase {
      * Test fetching query with multiple relationship paths between the same 2
      * entities used in qualifier.
      */
+    @Test
     public void testMultiObjRelFetch() throws Exception {
         createArtistsAndPaintingsDataSet();
 
@@ -285,6 +293,7 @@ public class DataContextIT extends ServerCase {
      * Test fetching query with multiple relationship paths between the same 2
      * entities used in qualifier.
      */
+    @Test
     public void testMultiDbRelFetch() throws Exception {
         createArtistsAndPaintingsDataSet();
 
@@ -296,6 +305,7 @@ public class DataContextIT extends ServerCase {
         assertEquals(2, results.size());
     }
 
+    @Test
     public void testSelectDate() throws Exception {
         createGalleriesAndExhibitsDataSet();
 
@@ -306,6 +316,7 @@ public class DataContextIT extends ServerCase {
         assertEquals(java.util.Date.class, e1.getClosingDate().getClass());
     }
 
+    @Test
     public void testCaseInsensitiveOrdering() throws Exception {
         if (!accessStackAdapter.supportsCaseInsensitiveOrder()) {
             return;
@@ -337,6 +348,7 @@ public class DataContextIT extends ServerCase {
         assertEquals("aRtist5", objects.get(4).getArtistName());
     }
 
+    @Test
     public void testSelect_DataRows() throws Exception {
         createArtistsAndPaintingsDataSet();
 
@@ -348,6 +360,7 @@ public class DataContextIT extends ServerCase {
         assertTrue("DataRow expected, got " + objects.get(0).getClass(), objects.get(0) instanceof DataRow);
     }
 
+    @Test
     public void testPerformSelectQuery1() throws Exception {
         createArtistsAndPaintingsDataSet();
 
@@ -359,6 +372,7 @@ public class DataContextIT extends ServerCase {
         assertTrue("Artist expected, got " + objects.get(0).getClass(), objects.get(0) instanceof Artist);
     }
 
+    @Test
     public void testPerformSelectQuery2() throws Exception {
         createArtistsAndPaintingsDataSet();
 
@@ -377,6 +391,7 @@ public class DataContextIT extends ServerCase {
         assertTrue("Artist expected, got " + objects.get(0).getClass(), objects.get(0) instanceof Artist);
     }
 
+    @Test
     public void testPerformQuery_Routing() {
         Query query = mock(Query.class);
         QueryMetadata md = mock(QueryMetadata.class);
@@ -385,6 +400,7 @@ public class DataContextIT extends ServerCase {
         verify(query).route(any(QueryRouter.class), eq(context.getEntityResolver()), (Query) isNull());
     }
 
+    @Test
     public void testPerformNonSelectingQuery() throws Exception {
 
         createSingleArtistDataSet();
@@ -400,6 +416,7 @@ public class DataContextIT extends ServerCase {
         assertEquals(1, context.performQuery(select).size());
     }
 
+    @Test
     public void testPerformNonSelectingQueryCounts1() throws Exception {
         createArtistsDataSet();
 
@@ -422,6 +439,7 @@ public class DataContextIT extends ServerCase {
         assertEquals(1, counts[0]);
     }
 
+    @Test
     public void testPerformNonSelectingQueryCounts2() throws Exception {
 
         createArtistsDataSet();
@@ -456,6 +474,7 @@ public class DataContextIT extends ServerCase {
         assertEquals(3, counts[0]);
     }
 
+    @Test
     public void testPerformPaginatedQuery() throws Exception {
         createArtistsDataSet();
 
@@ -470,6 +489,7 @@ public class DataContextIT extends ServerCase {
         assertTrue(objects.get(0) instanceof Artist);
     }
 
+    @Test
     public void testPerformPaginatedQuery1() throws Exception {
         createArtistsDataSet();
 
@@ -484,6 +504,7 @@ public class DataContextIT extends ServerCase {
         assertTrue(objects.get(0) instanceof Artist);
     }
 
+    @Test
     public void testPerformPaginatedQueryBigPage() throws Exception {
         createArtistsDataSet();
 
@@ -501,6 +522,7 @@ public class DataContextIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPerformDataRowQuery() throws Exception {
 
         createArtistsDataSet();
@@ -514,6 +536,7 @@ public class DataContextIT extends ServerCase {
         assertTrue("Map expected, got " + objects.get(0).getClass(), objects.get(0) instanceof Map<?, ?>);
     }
 
+    @Test
     public void testCommitChangesRO1() throws Exception {
 
         ROArtist a1 = (ROArtist) context.newObject("ROArtist");
@@ -529,6 +552,7 @@ public class DataContextIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCommitChangesRO2() throws Exception {
         createArtistsDataSet();
 
@@ -546,6 +570,7 @@ public class DataContextIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCommitChangesRO3() throws Exception {
 
         createArtistsDataSet();
@@ -564,6 +589,7 @@ public class DataContextIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCommitChangesRO4() throws Exception {
         createArtistsDataSet();
 
@@ -585,6 +611,7 @@ public class DataContextIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, a1.getPersistenceState());
     }
 
+    @Test
 	public void testIterate() throws Exception {
 
 		createArtistsDataSet();
@@ -605,6 +632,7 @@ public class DataContextIT extends ServerCase {
 		 assertEquals(7, count[0]);
 	}
 
+    @Test
     public void testIterateDataRows() throws Exception {
 
         createArtistsDataSet();
@@ -624,6 +652,7 @@ public class DataContextIT extends ServerCase {
         assertEquals(7, count[0]);
     }
 
+    @Test
     public void testIterator() throws Exception {
 
         createArtistsDataSet();
@@ -644,6 +673,7 @@ public class DataContextIT extends ServerCase {
         }
     }
 
+    @Test
     public void testPerformIteratedQuery1() throws Exception {
 
         createArtistsDataSet();
@@ -664,6 +694,7 @@ public class DataContextIT extends ServerCase {
         }
     }
 
+    @Test
     public void testPerformIteratedQuery2() throws Exception {
         createArtistsAndPaintingsDataSet();
 
@@ -693,6 +724,7 @@ public class DataContextIT extends ServerCase {
      * Tests that hasChanges performs correctly when an object is "modified" and
      * the property is simply set to the same value (an unreal modification)
      */
+    @Test
     public void testHasChangesPhantom() {
 
         String artistName = "ArtistName";
@@ -716,6 +748,7 @@ public class DataContextIT extends ServerCase {
      * Tests that hasChanges performs correctly when an object is "modified" and
      * the property is simply set to the same value (an unreal modification)
      */
+    @Test
     public void testHasChangesRealModify() {
         Artist artist = (Artist) context.newObject("Artist");
         artist.setArtistName("ArtistName");
@@ -725,6 +758,7 @@ public class DataContextIT extends ServerCase {
         assertTrue(context.hasChanges());
     }
 
+    @Test
     public void testInvalidateObjects_Vararg() throws Exception {
 
         DataRow row = new DataRow(10);
@@ -747,6 +781,7 @@ public class DataContextIT extends ServerCase {
         assertSame(object, context.getObjectStore().getNode(oid));
     }
 
+    @Test
     public void testInvalidateObjects() throws Exception {
 
         DataRow row = new DataRow(10);
@@ -769,6 +804,7 @@ public class DataContextIT extends ServerCase {
         assertSame(object, context.getObjectStore().getNode(oid));
     }
 
+    @Test
     public void testBeforeHollowDeleteShouldChangeStateToCommited() throws Exception {
         createSingleArtistDataSet();
 
@@ -784,6 +820,7 @@ public class DataContextIT extends ServerCase {
         assertEquals(PersistenceState.DELETED, hollow.getPersistenceState());
     }
 
+    @Test
     public void testCommitUnchangedInsert() throws Exception {
 
         // see CAY-1444 - reproducible on DB's that support auto incremented PK

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
index b6ba8ee..a3ec14f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Timestamp;
 import java.util.List;
@@ -92,6 +93,7 @@ public class DataContextJoinAliasesIT extends ServerCase {
         tArtistExhibit.insert(5, 2);
     }
 
+    @Test
     public void testMatchAll() throws Exception {
         // select all galleries that have exhibits by both Picasso and Dali...
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
index c0cd1c1..5bccd04 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextLocalObjectIT extends ServerCase {
@@ -66,6 +67,7 @@ public class DataContextLocalObjectIT extends ServerCase {
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
     }
 
+    @Test
     public void testLocalObject_InCache() throws Exception {
         tArtist.insert(456, "Bla");
 
@@ -82,6 +84,7 @@ public class DataContextLocalObjectIT extends ServerCase {
         });
     }
 
+    @Test
     public void testLocalObject_SameContext() throws Exception {
         tArtist.insert(456, "Bla");
 
@@ -96,6 +99,7 @@ public class DataContextLocalObjectIT extends ServerCase {
         });
     }
 
+    @Test
     public void testLocalObject_NotInCache() throws Exception {
         tArtist.insert(456, "Bla");
 
@@ -112,6 +116,7 @@ public class DataContextLocalObjectIT extends ServerCase {
         });
     }
 
+    @Test
     public void testLocalObject_FFE_InvalidID() throws Exception {
         tArtist.insert(777, "AA");
 
@@ -137,6 +142,7 @@ public class DataContextLocalObjectIT extends ServerCase {
 
     }
 
+    @Test
     public void testLocalObject_TempId() throws Exception {
 
         final Artist a1 = context1.newObject(Artist.class);
@@ -163,6 +169,7 @@ public class DataContextLocalObjectIT extends ServerCase {
         });
     }
 
+    @Test
     public void testLocalObject_TempId_NestedContext() throws Exception {
 
         final Artist a1 = context1.newObject(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
index 88dc6a5..3719e69 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.NoPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 import java.util.Map;
@@ -50,6 +51,7 @@ public class DataContextNoPkIT extends ServerCase {
         noPkTestTable.insert(2);
     }
 
+    @Test
     public void testNoPkFetchObjects() throws Exception {
         try {
             List objects = context.performQuery(new SelectQuery(NoPkTestEntity.class));
@@ -62,6 +64,7 @@ public class DataContextNoPkIT extends ServerCase {
         }
     }
 
+    @Test
     public void testNoPkFetchDataRows() throws Exception {
         SelectQuery query = new SelectQuery(NoPkTestEntity.class);
         query.setFetchingDataRows(true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
index f9536e9..fbbec3c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collections;
 import java.util.Date;
@@ -50,6 +51,7 @@ public class DataContextObjectIdQueryIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testRefreshNullifiedValuesNew() {
 
         Artist a = context.newObject(Artist.class);
@@ -73,6 +75,7 @@ public class DataContextObjectIdQueryIT extends ServerCase {
         assertEquals("X", a1.getArtistName());
     }
 
+    @Test
     public void testNoRefreshValuesNew() {
 
         Artist a = context.newObject(Artist.class);
@@ -94,6 +97,7 @@ public class DataContextObjectIdQueryIT extends ServerCase {
         assertEquals("X", a1.getArtistName());
     }
 
+    @Test
     public void testRefreshNullifiedValuesExisting() {
 
         SQLTemplate insert = new SQLTemplate(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
index 3b2f043..8b5b1c0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Collections;
@@ -93,6 +94,7 @@ public class DataContextObjectTrackingIT extends ServerCase {
         tPainting.insert(33003, 33003, "P_artist3", 3000);
     }
 
+    @Test
     public void testUnregisterObject() {
 
         DataRow row = new DataRow(10);
@@ -115,6 +117,7 @@ public class DataContextObjectTrackingIT extends ServerCase {
         assertNull(context.getObjectStore().getCachedSnapshot(oid));
     }
 
+    @Test
     public void testInvalidateObjects_Vararg() {
 
         DataRow row = new DataRow(10);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
index 9d40879..9d9471e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.util.Calendar;
@@ -51,6 +52,7 @@ public class DataContextOrderingIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testMultipleOrdering() throws Exception {
 
         Calendar c = Calendar.getInstance();
@@ -82,6 +84,7 @@ public class DataContextOrderingIT extends ServerCase {
         assertSame(a1, list.get(2));
     }
 
+    @Test
     public void testMultipleOrderingInSelectClauseCAY_1074() throws Exception {
 
         Calendar c = Calendar.getInstance();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
index a081b86..0b8fd4e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -77,6 +78,7 @@ public class DataContextOuterJoinsIT extends ServerCase {
         artistHelper.deleteAll();
     }
 
+    @Test
     public void testSelectWithOuterJoinFlattened() throws Exception {
 
         artistHelper.insert(33001, "AA1");
@@ -101,6 +103,7 @@ public class DataContextOuterJoinsIT extends ServerCase {
         assertEquals("BB1", artists.get(0).getArtistName());
     }
 
+    @Test
     public void testSelectWithOuterJoin() throws Exception {
 
         artistHelper.insert(33001, "AA1");
@@ -137,6 +140,7 @@ public class DataContextOuterJoinsIT extends ServerCase {
         assertEquals("BB2", artists.get(2).getArtistName());
     }
 
+    @Test
     public void testSelectWithOuterJoinFromString() throws Exception {
 
         artistHelper.insert(33001, "AA1");
@@ -171,6 +175,7 @@ public class DataContextOuterJoinsIT extends ServerCase {
         assertEquals("BB2", artists.get(2).getArtistName());
     }
 
+    @Test
     public void testSelectWithOuterOrdering() throws Exception {
 
         artistHelper.insert(33001, "AA1");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
index 4299b02..cd22677 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -64,6 +65,7 @@ public class DataContextPaginatedQueryIT extends ServerCase {
         tArtist.insert(33010, "artist10");
     }
 
+    @Test
     public void testLocalCache() throws Exception {
 
         createArtistsDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
index b6298be..ac06353 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
@@ -35,6 +35,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
@@ -97,6 +98,7 @@ public class DataContextPerformQueryAPIIT extends ServerCase {
         tPainting.insert(7, 11, "p_artist2", 2000);
     }
 
+    @Test
     public void testObjectQueryStringBoolean() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -105,6 +107,7 @@ public class DataContextPerformQueryAPIIT extends ServerCase {
         assertEquals(2, paintings.size());
     }
 
+    @Test
     public void testObjectQueryStringMapBoolean() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -116,6 +119,7 @@ public class DataContextPerformQueryAPIIT extends ServerCase {
         assertEquals(1, paintings.size());
     }
 
+    @Test
     public void testProcedureQueryStringMapBoolean() throws Exception {
 
         if (!accessStackAdapter.supportsStoredProcedures()) {
@@ -151,6 +155,7 @@ public class DataContextPerformQueryAPIIT extends ServerCase {
         assertEquals(11, ((Number) artist.getObjectId().getIdSnapshot().get(Artist.ARTIST_ID_PK_COLUMN)).intValue());
     }
 
+    @Test
     public void testNonSelectingQueryString() throws Exception {
 
         int[] counts = context.performNonSelectingQuery("NonSelectingQuery");
@@ -163,6 +168,7 @@ public class DataContextPerformQueryAPIIT extends ServerCase {
         assertEquals("No Painting Like This", p.getPaintingTitle());
     }
 
+    @Test
     public void testNonSelectingQueryStringMap() throws Exception {
 
         Map<String, Object> parameters = new HashMap<String, Object>();
@@ -180,6 +186,7 @@ public class DataContextPerformQueryAPIIT extends ServerCase {
         assertEquals("Go Figure", p.getPaintingTitle());
     }
 
+    @Test
     public void testPerfomQueryNonSelecting() throws Exception {
 
         Artist a = context.newObject(Artist.class);
@@ -196,6 +203,7 @@ public class DataContextPerformQueryAPIIT extends ServerCase {
         assertEquals(0, result.size());
     }
 
+    @Test
     public void testObjectQueryWithLocalCache() throws Exception {
         createTwoArtists();
 
@@ -211,6 +219,7 @@ public class DataContextPerformQueryAPIIT extends ServerCase {
         });
     }
 
+    @Test
     public void testObjectQueryWithSharedCache() throws Exception {
         createTwoArtists();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
index a6d632a..0534635 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -66,6 +67,7 @@ public class DataContextPrefetchExtras1IT extends ServerCase {
         }
     }
 
+    @Test
     public void testPrefetchToOne() throws Exception {
         createDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
index 2676819..524251d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
@@ -37,6 +37,7 @@ import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
 import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -99,6 +100,7 @@ public class DataContextPrefetchExtrasIT extends ServerCase {
         tCompoundFkTest.insert(303, "101", "201", "CFK3");
     }
 
+    @Test
     public void testPrefetchToManyOnCharKey() throws Exception {
         createPrefetchToManyOnCharKeyDataSet();
 
@@ -124,6 +126,7 @@ public class DataContextPrefetchExtrasIT extends ServerCase {
     /**
      * Tests to-one prefetching over relationships with compound keys.
      */
+    @Test
     public void testPrefetch10() throws Exception {
         createCompoundDataSet();
 
@@ -149,6 +152,7 @@ public class DataContextPrefetchExtrasIT extends ServerCase {
     /**
      * Tests to-many prefetching over relationships with compound keys.
      */
+    @Test
     public void testPrefetch11() throws Exception {
         createCompoundDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
index 39525fd..ec04fb0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
@@ -43,6 +43,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Timestamp;
 import java.sql.Types;
@@ -149,6 +150,7 @@ public class DataContextPrefetchIT extends ServerCase {
         tArtistExhibit.insert(101, 4);
     }
 
+    @Test
     public void testPrefetchToMany_ViaProperty() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -177,6 +179,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchToMany_WithQualfier() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -216,6 +219,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchToManyNoQualifier() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -248,6 +252,7 @@ public class DataContextPrefetchIT extends ServerCase {
      * Test that a to-many relationship is initialized when a target entity has
      * a compound PK only partially involved in relationship.
      */
+    @Test
     public void testPrefetchToMany_OnJoinTableDisjoinedPrefetch() throws Exception {
 
         createTwoArtistsWithExhibitsDataSet();
@@ -288,6 +293,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchToManyOnJoinTableJoinedPrefetch_ViaProperty() throws Exception {
         createTwoArtistsWithExhibitsDataSet();
 
@@ -332,6 +338,7 @@ public class DataContextPrefetchIT extends ServerCase {
      * Test that a to-many relationship is initialized when a target entity has
      * a compound PK only partially involved in relationship.
      */
+    @Test
     public void testPrefetchToManyOnJoinTableJoinedPrefetch() throws Exception {
         createTwoArtistsWithExhibitsDataSet();
 
@@ -376,6 +383,7 @@ public class DataContextPrefetchIT extends ServerCase {
      * Test that a to-many relationship is initialized when there is no inverse
      * relationship
      */
+    @Test
     public void testPrefetch_ToManyNoReverse() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -403,6 +411,7 @@ public class DataContextPrefetchIT extends ServerCase {
         }
     }
 
+    @Test
     public void testPrefetch_ToManyNoReverseWithQualifier() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -434,6 +443,7 @@ public class DataContextPrefetchIT extends ServerCase {
         }
     }
 
+    @Test
     public void testPrefetch_ToOne() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -459,6 +469,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetch_ToOne_DbPath() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -471,6 +482,7 @@ public class DataContextPrefetchIT extends ServerCase {
         assertEquals(1, results.size());
     }
 
+    @Test
     public void testPrefetch_ToOne_ObjPath() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -482,6 +494,7 @@ public class DataContextPrefetchIT extends ServerCase {
         assertEquals(1, results.size());
     }
 
+    @Test
     public void testPrefetch_ReflexiveRelationship() throws Exception {
         ArtGroup parent = (ArtGroup) context.newObject("ArtGroup");
         parent.setName("parent");
@@ -508,6 +521,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetch_ToOneWithQualifierOverlappingPrefetchPath() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -530,7 +544,8 @@ public class DataContextPrefetchIT extends ServerCase {
             }
         });
     }
-    
+
+    @Test
     public void testPrefetch_ToOneWith_OuterJoinFlattenedQualifier() throws Exception {
 
         tArtGroup.insert(1, "AG");
@@ -564,6 +579,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetch9() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -595,6 +611,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetch_OneToOneWithQualifier() throws Exception {
         createArtistWithTwoPaintingsAndTwoInfosDataSet();
 
@@ -629,6 +646,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchToMany_DateInQualifier() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -642,6 +660,7 @@ public class DataContextPrefetchIT extends ServerCase {
         context.performQuery(q);
     }
 
+    @Test
     public void testPrefetchingToOneNull() throws Exception {
 
         tPainting.insert(6, "p_Xty", null, 1000);
@@ -662,6 +681,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchToOneSharedCache() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -697,6 +717,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchToOneLocalCache() throws Exception {
         createTwoArtistsAndTwoPaintingsDataSet();
 
@@ -732,6 +753,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchToOneWithBackRelationship() throws Exception {
         createArtistWithTwoPaintingsAndTwoInfosDataSet();
 
@@ -754,6 +776,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchPaintingOverToOneAndToMany() throws Exception {
         createArtistWithTwoPaintingsAndTwoInfosDataSet();
 
@@ -777,6 +800,7 @@ public class DataContextPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testPrefetchToOneWithBackRelationship_Joint() throws Exception {
         createArtistWithTwoPaintingsAndTwoInfosDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
index 7adfbbf..82dfb55 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
@@ -36,6 +36,7 @@ import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Timestamp;
 import java.util.Collections;
@@ -111,6 +112,7 @@ public class DataContextPrefetchMultistepIT extends ServerCase {
         tGallery.insert(45, "gallery3");
     }
 
+    @Test
     public void testToManyToManyFirstStepUnresolved() throws Exception {
 
         createTwoArtistsWithExhibitsDataSet();
@@ -160,6 +162,7 @@ public class DataContextPrefetchMultistepIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, ae2.getPersistenceState());
     }
 
+    @Test
     public void testToManyToManyFirstStepResolved() throws Exception {
 
         createTwoArtistsWithExhibitsDataSet();
@@ -195,6 +198,7 @@ public class DataContextPrefetchMultistepIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, ae1.getPersistenceState());
     }
 
+    @Test
     public void testMixedPrefetch1() throws Exception {
 
         createTwoArtistsWithExhibitsDataSet();
@@ -231,6 +235,7 @@ public class DataContextPrefetchMultistepIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, ae1.getPersistenceState());
     }
 
+    @Test
     public void testMixedPrefetch2() throws Exception {
 
         createTwoArtistsWithExhibitsDataSet();
@@ -268,7 +273,8 @@ public class DataContextPrefetchMultistepIT extends ServerCase {
         ArtistExhibit ae1 = aexhibits.get(0);
         assertEquals(PersistenceState.COMMITTED, ae1.getPersistenceState());
     }
-    
+
+    @Test
     public void testToManyToOne_EmptyToMany() throws Exception {
 
         createGalleriesAndArtists();
@@ -288,7 +294,8 @@ public class DataContextPrefetchMultistepIT extends ServerCase {
         assertFalse(((ValueHolder) exhibits).isFault());
         assertEquals(0, exhibits.size());
     }
-    
+
+    @Test
     public void testToManyToOne_EmptyToMany_NoRootQualifier() throws Exception {
 
         createGalleriesAndArtists();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
index dd6e52e..7c3915e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -65,6 +66,7 @@ public class DataContextPrefetchQualifierOverlapIT extends ServerCase {
         tPainting.insert(3, "ACC", 1);
     }
 
+    @Test
     public void testToManyDisjointOverlappingQualifierWithInnerJoin() throws Exception {
         createTwoArtistsThreePaintingsDataSet();
 
@@ -81,6 +83,7 @@ public class DataContextPrefetchQualifierOverlapIT extends ServerCase {
         assertEquals(3, a.getPaintingArray().size());
     }
 
+    @Test
     public void testToManyJointOverlappingQualifierWithInnerJoin() throws Exception {
         createTwoArtistsThreePaintingsDataSet();
 
@@ -97,6 +100,7 @@ public class DataContextPrefetchQualifierOverlapIT extends ServerCase {
         assertEquals(3, a.getPaintingArray().size());
     }
 
+    @Test
     public void testToManyJointOverlappingQualifierWithOuterJoin() throws Exception {
         createTwoArtistsThreePaintingsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
index 2937935..8660d20 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
@@ -35,6 +35,7 @@ import org.apache.cayenne.tx.ExternalTransaction;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
@@ -75,6 +76,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testUpdate() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -111,6 +113,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         assertEquals(2000, p.getEstimatedPrice().intValue());
     }
 
+    @Test
     public void testUpdateNoParam() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -146,6 +149,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         assertEquals(2000, p.getEstimatedPrice().intValue());
     }
 
+    @Test
     public void testSelect1() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -171,6 +175,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         assertEquals(2000, p.getEstimatedPrice().intValue());
     }
 
+    @Test
     public void testSelect2() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -197,6 +202,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         assertEquals(2000, p.getEstimatedPrice().intValue());
     }
 
+    @Test
     public void testSelect3() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -225,6 +231,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         assertEquals(2000, p.getEstimatedPrice().intValue());
     }
 
+    @Test
     public void testFetchLimit() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -244,6 +251,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         assertEquals(2, artists.size());
     }
 
+    @Test
     public void testFetchOffset() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -263,6 +271,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         assertEquals(1, artists.size());
     }
 
+    @Test
     public void testColumnNameCapitalization() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -290,6 +299,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
 
     }
 
+    @Test
     public void testOutParams() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -310,6 +320,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         assertEquals(40, price.intValue());
     }
 
+    @Test
     public void testSelectDataObject() throws Exception {
         if (!accessStackAdapter.supportsStoredProcedures()) {
             return;
@@ -338,6 +349,7 @@ public class DataContextProcedureQueryIT extends ServerCase {
         assertEquals(1101.01, p.getEstimatedPrice().doubleValue(), 0.02);
     }
 
+    @Test
     public void testSelectWithRowDescriptor() throws Exception {
 
         if (!accessStackAdapter.supportsStoredProcedures()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
index 3d61ee6..7f692f5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.inherit.Employee;
 import org.apache.cayenne.testdo.inherit.Manager;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -85,6 +86,7 @@ public class DataContextQualifiedEntityIT extends ServerCase {
         tPerson.insert(null, null, null, "c1", 6, "C", null);
     }
 
+    @Test
     public void testSelect() throws Exception {
         createPersonsDataSet();
 
@@ -109,6 +111,7 @@ public class DataContextQualifiedEntityIT extends ServerCase {
         assertEquals(2, managers.size());
     }
 
+    @Test
     public void testPrefetch() throws Exception {
         createPersonsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
index 14c1954..54137ac 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
@@ -32,6 +32,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -97,6 +98,7 @@ public class DataContextQueryCachingIT extends ServerCase {
         tArtist.update().set("ARTIST_NAME", "ccc").where("ARTIST_ID", 33001).execute();
     }
 
+    @Test
     public void testLocalCacheDataRowsRefresh() throws Exception {
         SelectQuery select = new SelectQuery(Artist.class);
         select.setFetchingDataRows(true);
@@ -135,6 +137,7 @@ public class DataContextQueryCachingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSharedCacheDataRowsRefresh() throws Exception {
 
         SelectQuery select = new SelectQuery(Artist.class);
@@ -176,6 +179,7 @@ public class DataContextQueryCachingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testLocalCacheDataObjectsRefresh() throws Exception {
 
         SelectQuery select = new SelectQuery(Artist.class);
@@ -216,6 +220,7 @@ public class DataContextQueryCachingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testLocalCacheRefreshObjectsRefresh() throws Exception {
         createInsertDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
index 97dd1b0..4e190f9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -49,6 +50,7 @@ public class DataContextQueryChainIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testSelectQuery() {
         Artist a1 = context.newObject(Artist.class);
         a1.setArtistName("X");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
index bbbb8ba..cdac918 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import java.util.List;
-
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.ValueHolder;
@@ -36,6 +34,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextRefreshQueryIT extends ServerCase {
@@ -89,6 +90,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
         tPainting.delete().where("PAINTING_ID", 33001).execute();
     }
 
+    @Test
     public void testRefreshCollection() throws Exception {
         createRefreshCollectionDataSet();
 
@@ -132,6 +134,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
                 .isFault());
     }
 
+    @Test
     public void testRefreshCollectionToOne() throws Exception {
         createRefreshCollectionDataSet();
 
@@ -176,6 +179,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
         assertEquals("b", p1.getToArtist().getArtistName());
     }
 
+    @Test
     public void testRefreshSingleObject() throws Exception {
         createRefreshCollectionDataSet();
 
@@ -206,6 +210,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
                 .isFault());
     }
 
+    @Test
     public void testRefreshObjectToMany() throws Exception {
         createRefreshObjectToManyDataSet();
 
@@ -220,6 +225,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
         assertEquals(1, a.getPaintingArray().size());
     }
 
+    @Test
     public void testRefreshQueryResultsLocalCache() throws Exception {
         createRefreshCollectionDataSet();
 
@@ -274,6 +280,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
         assertEquals("b", p2.getToArtist().getArtistName());
     }
 
+    @Test
     public void testRefreshQueryResultsSharedCache() throws Exception {
         createRefreshCollectionDataSet();
 
@@ -328,6 +335,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
         assertEquals("b", p2.getToArtist().getArtistName());
     }
 
+    @Test
     public void testRefreshQueryResultGroupLocal() throws Exception {
         createRefreshCollectionDataSet();
 
@@ -383,6 +391,7 @@ public class DataContextRefreshQueryIT extends ServerCase {
         assertEquals("b", p2.getToArtist().getArtistName());
     }
 
+    @Test
     public void testRefreshAll() throws Exception {
         createRefreshCollectionDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
index 91fb0ef..620507d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Date;
@@ -99,6 +100,7 @@ public class DataContextRefreshingIT extends ServerCase {
         tPainting.insert(4, "p", 5, 1000);
     }
 
+    @Test
     public void testRefetchRootWithUpdatedAttributes() throws Exception {
 
         createSingleArtistDataSet();
@@ -128,6 +130,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals(nameAfter, artist.getArtistName());
     }
 
+    @Test
     public void testRefetchRootWithNullifiedToOne() throws Exception {
         createSingleArtistAndPaintingDataSet();
 
@@ -147,6 +150,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertNull(painting.getToArtist());
     }
 
+    @Test
     public void testRefetchRootWithChangedToOneTarget() throws Exception {
         createTwoArtistsAndPaintingDataSet();
 
@@ -167,6 +171,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals("artist3", painting.getToArtist().getArtistName());
     }
 
+    @Test
     public void testRefetchRootWithNullToOneTargetChangedToNotNull() throws Exception {
         createSingleArtistAndUnrelatedPaintingDataSet();
 
@@ -185,6 +190,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals("artist2", painting.getToArtist().getArtistName());
     }
 
+    @Test
     public void testRefetchRootWithDeletedToMany() throws Exception {
         createSingleArtistAndPaintingDataSet();
 
@@ -208,6 +214,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals(0, artist.getPaintingArray().size());
     }
 
+    @Test
     public void testRefetchRootWithAddedToMany() throws Exception {
 
         createSingleArtistDataSet();
@@ -229,6 +236,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals(artist.getPaintingArray().size(), 1);
     }
 
+    @Test
     public void testInvalidateRootWithUpdatedAttributes() throws Exception {
         createSingleArtistDataSet();
 
@@ -247,6 +255,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals(nameAfter, artist.getArtistName());
     }
 
+    @Test
     public void testInvalidateRootWithNullifiedToOne() throws Exception {
 
         createSingleArtistAndPaintingDataSet();
@@ -263,6 +272,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertNull(painting.getToArtist());
     }
 
+    @Test
     public void testInvalidateRootWithChangedToOneTarget() throws Exception {
         createTwoArtistsAndPaintingDataSet();
 
@@ -279,6 +289,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals("artist3", painting.getToArtist().getArtistName());
     }
 
+    @Test
     public void testInvalidateRootWithNullToOneTargetChangedToNotNull() throws Exception {
         createSingleArtistAndUnrelatedPaintingDataSet();
 
@@ -293,6 +304,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals("artist2", painting.getToArtist().getArtistName());
     }
 
+    @Test
     public void testInvalidateRootWithDeletedToMany() throws Exception {
         createSingleArtistAndPaintingDataSet();
 
@@ -306,6 +318,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals(artist.getPaintingArray().size(), 0);
     }
 
+    @Test
     public void testInvaliateRootWithAddedToMany() throws Exception {
 
         createSingleArtistDataSet();
@@ -321,6 +334,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals(artist.getPaintingArray().size(), 1);
     }
 
+    @Test
     public void testInvalidateThenModify() throws Exception {
 
         createSingleArtistDataSet();
@@ -345,6 +359,7 @@ public class DataContextRefreshingIT extends ServerCase {
         assertEquals(PersistenceState.MODIFIED, artist.getPersistenceState());
     }
 
+    @Test
     public void testModifyHollow() throws Exception {
 
         createSingleArtistAndPaintingDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
index bb38882..68067b3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -63,6 +64,7 @@ public class DataContextRelationshipQueryIT extends ServerCase {
         tPainting.insert(1, "p1", 1);
     }
 
+    @Test
     public void testUnrefreshingToOne() throws Exception {
 
         createOneArtistOnePaintingDataSet();
@@ -99,6 +101,7 @@ public class DataContextRelationshipQueryIT extends ServerCase {
                 a.getPropertyWrittenDirectly());
     }
 
+    @Test
     public void testRefreshingToOne() throws Exception {
 
         createOneArtistOnePaintingDataSet();


[46/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
Refactor TestMap Project


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/535ecb88
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/535ecb88
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/535ecb88

Branch: refs/heads/CAY-1946
Commit: 535ecb881e04a644f585aaa3adbcd39556c3cdac
Parents: d7178a8
Author: Savva Kolbechev <s....@gmail.com>
Authored: Wed Nov 12 18:02:46 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Wed Nov 12 18:02:46 2014 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/CayenneCompoundIT.java   | 149 ++++
 .../test/java/org/apache/cayenne/CayenneIT.java | 117 +--
 .../org/apache/cayenne/CompoundPkChangeIT.java  |   4 +-
 .../cayenne/access/DataContextBinaryPKIT.java   |   6 +-
 .../cayenne/access/DataContextBlobIT.java       |   4 +-
 .../cayenne/access/DataContextCharPKIT.java     |   4 +-
 .../cayenne/access/DataContextCharTypeIT.java   |   4 +-
 .../cayenne/access/DataContextClobIT.java       |   4 +-
 .../access/DataContextCompoundRelIT.java        |   6 +-
 ...ataContextDisjointByIdPrefetch_ExtrasIT.java |  17 +-
 ...extEJBQLDateTimeFunctionalExpressionsIT.java | 102 +++
 .../access/DataContextEJBQLDeleteIT.java        |  35 -
 .../access/DataContextEJBQLDeletePKIT.java      |  64 ++
 .../DataContextEJBQLFunctionalExpressions.java  | 430 ---------
 ...DataContextEJBQLFunctionalExpressionsIT.java | 295 +++++++
 .../DataContextEJBQLNumericalFunctionalIT.java  | 133 +++
 .../access/DataContextEJBQLQueryCompoundIT.java | 129 +++
 .../cayenne/access/DataContextEJBQLQueryIT.java |  93 --
 .../DataContextEJBQLUpdateCompoundIT.java       |  87 ++
 .../access/DataContextEJBQLUpdateIT.java        |  89 --
 .../DataContextEntityWithMeaningfulPKIT.java    |   6 +-
 .../DataContextExtendedTypeOperationsIT.java    |   6 +-
 .../cayenne/access/DataContextNoPkIT.java       |   4 +-
 .../access/DataContextPrefetchExtrasIT.java     |  10 +-
 .../access/DataContextProcedureQueryIT.java     |   8 +-
 .../DataContextSQLTemplateCompoundIT.java       | 105 +++
 .../access/DataContextSQLTemplateIT.java        |  82 +-
 .../apache/cayenne/access/DateTimeTypesIT.java  |   7 +-
 .../apache/cayenne/access/DbGeneratorIT.java    |   4 +-
 .../java/org/apache/cayenne/access/EnumIT.java  |   6 +-
 .../cayenne/access/IdentityColumnsIT.java       |  16 +-
 .../org/apache/cayenne/access/MiscTypesIT.java  |   8 +-
 .../apache/cayenne/access/NumericTypesIT.java   |  20 +-
 .../cayenne/access/PrimitiveAttributesIT.java   |   4 +-
 .../cayenne/access/ReturnTypesMappingIT.java    |  32 +-
 .../java/org/apache/cayenne/access/UUIDIT.java  |   6 +-
 .../access/jdbc/BatchActionGeneratedIT.java     |  70 ++
 .../cayenne/access/jdbc/BatchActionIT.java      |  11 -
 .../cayenne/access/jdbc/SelectActionIT.java     |   6 +-
 .../ServerRuntimeBuilder_InAction_IT.java       |   2 +-
 .../cayenne/dba/oracle/OracleAdapterIT.java     |   6 +-
 .../cayenne/exp/BooleanExpressionTest.java      |   2 +-
 .../apache/cayenne/map/MapLoaderLoadTest.java   |   6 +-
 .../org/apache/cayenne/map/ObjEntityIT.java     |   2 +-
 .../org/apache/cayenne/merge/MergeCase.java     |   2 +-
 .../org/apache/cayenne/query/EJBQLQueryIT.java  |  29 -
 .../cayenne/query/EJBQLQueryNumericIT.java      |  57 ++
 .../org/apache/cayenne/query/SQLSelectIT.java   |   2 +-
 .../org/apache/cayenne/query/SQLTemplateIT.java |   8 +-
 .../apache/cayenne/query/SelectQueryClobIT.java | 108 +++
 .../org/apache/cayenne/query/SelectQueryIT.java | 189 ----
 .../cayenne/query/SelectQueryReturnTypesIT.java | 149 ++++
 .../reflect/MixedPersistenceStrategyIT.java     |   6 +-
 .../cayenne/testdo/binary_pk/BinaryPKTest1.java |  28 +
 .../cayenne/testdo/binary_pk/BinaryPKTest2.java |  28 +
 .../testdo/binary_pk/auto/_BinaryPKTest1.java   |  48 +
 .../testdo/binary_pk/auto/_BinaryPKTest2.java   |  43 +
 .../testdo/compound/CharFkTestEntity.java       |  28 +
 .../testdo/compound/CharPkTestEntity.java       |  28 +
 .../testdo/compound/CompoundFkTestEntity.java   |  28 +
 .../testdo/compound/CompoundPkTestEntity.java   |  28 +
 .../testdo/compound/auto/_CharFkTestEntity.java |  43 +
 .../testdo/compound/auto/_CharPkTestEntity.java |  58 ++
 .../compound/auto/_CompoundFkTestEntity.java    |  43 +
 .../compound/auto/_CompoundPkTestEntity.java    |  69 ++
 .../testdo/date_time/CalendarEntity.java        |  28 +
 .../testdo/date_time/DateTestEntity.java        |  28 +
 .../testdo/date_time/auto/_CalendarEntity.java  |  32 +
 .../testdo/date_time/auto/_DateTestEntity.java  |  52 ++
 .../apache/cayenne/testdo/enum_test/Enum1.java  |  23 +
 .../cayenne/testdo/enum_test/EnumEntity.java    |  25 +
 .../testdo/enum_test/auto/_EnumEntity.java      |  31 +
 .../extended_type/ExtendedTypeEntity.java       |  25 +
 .../cayenne/testdo/extended_type/StringET1.java |  35 +
 .../extended_type/StringET1ExtendedType.java    |  62 ++
 .../extended_type/auto/_ExtendedTypeEntity.java |  31 +
 .../generated/GeneratedColumnCompKey.java       |  28 +
 .../generated/GeneratedColumnCompMaster.java    |  28 +
 .../testdo/generated/GeneratedColumnDep.java    |  28 +
 .../testdo/generated/GeneratedColumnTest2.java  |  28 +
 .../generated/GeneratedColumnTestEntity.java    |  28 +
 .../cayenne/testdo/generated/GeneratedF1.java   |  25 +
 .../cayenne/testdo/generated/GeneratedF2.java   |  25 +
 .../generated/auto/_GeneratedColumnCompKey.java |  45 +
 .../auto/_GeneratedColumnCompMaster.java        |  48 +
 .../generated/auto/_GeneratedColumnDep.java     |  43 +
 .../generated/auto/_GeneratedColumnTest2.java   |  30 +
 .../auto/_GeneratedColumnTestEntity.java        |  43 +
 .../testdo/generated/auto/_GeneratedF1.java     |  38 +
 .../testdo/generated/auto/_GeneratedF2.java     |  38 +
 .../horizontalinherit/AbstractSuperEntity.java  |  25 -
 .../testdo/horizontalinherit/SubEntity1.java    |  25 -
 .../testdo/horizontalinherit/SubEntity2.java    |  25 -
 .../testdo/horizontalinherit/SubEntity3.java    |  25 -
 .../auto/_AbstractSuperEntity.java              |  32 -
 .../horizontalinherit/auto/_SubEntity1.java     |  24 -
 .../horizontalinherit/auto/_SubEntity2.java     |  25 -
 .../horizontalinherit/auto/_SubEntity3.java     |  25 -
 .../AbstractSuperEntity.java                    |  25 +
 .../inheritance_horizontal/SubEntity1.java      |  25 +
 .../inheritance_horizontal/SubEntity2.java      |  25 +
 .../inheritance_horizontal/SubEntity3.java      |  25 +
 .../auto/_AbstractSuperEntity.java              |  32 +
 .../auto/_SubEntity1.java                       |  24 +
 .../auto/_SubEntity2.java                       |  25 +
 .../auto/_SubEntity3.java                       |  25 +
 .../cayenne/testdo/lob/BlobTestEntity.java      |  28 +
 .../cayenne/testdo/lob/ClobTestEntity.java      |  28 +
 .../cayenne/testdo/lob/ClobTestRelation.java    |  25 +
 .../testdo/lob/auto/_BlobTestEntity.java        |  30 +
 .../testdo/lob/auto/_ClobTestEntity.java        |  48 +
 .../testdo/lob/auto/_ClobTestRelation.java      |  53 ++
 .../testdo/meaningful_pk/MeaningfulPKDep.java   |  26 +
 .../testdo/meaningful_pk/MeaningfulPKTest1.java |  26 +
 .../meaningful_pk/auto/_MeaningfulPKDep.java    |  43 +
 .../meaningful_pk/auto/_MeaningfulPKTest1.java  |  58 ++
 .../cayenne/testdo/misc_types/ArraysEntity.java |  27 +
 .../testdo/misc_types/CharacterEntity.java      |  28 +
 .../testdo/misc_types/SerializableEntity.java   |  28 +
 .../testdo/misc_types/auto/_ArraysEntity.java   |  60 ++
 .../misc_types/auto/_CharacterEntity.java       |  30 +
 .../misc_types/auto/_SerializableEntity.java    |  31 +
 .../MixedPersistenceStrategy.java               |  35 +
 .../MixedPersistenceStrategy2.java              |  25 +
 .../auto/_MixedPersistenceStrategy.java         |  58 ++
 .../auto/_MixedPersistenceStrategy2.java        |  43 +
 .../cayenne/testdo/no_pk/NoPkTestEntity.java    |  28 +
 .../testdo/no_pk/auto/_NoPkTestEntity.java      |  29 +
 .../testdo/numeric_types/BigDecimalEntity.java  |  27 +
 .../testdo/numeric_types/BigIntegerEntity.java  |  27 +
 .../numeric_types/BitNumberTestEntity.java      |  28 +
 .../testdo/numeric_types/BitTestEntity.java     |  28 +
 .../testdo/numeric_types/BooleanTestEntity.java |  28 +
 .../testdo/numeric_types/DecimalPKTest1.java    |  28 +
 .../numeric_types/DecimalPKTestEntity.java      |  28 +
 .../testdo/numeric_types/LongEntity.java        |  28 +
 .../numeric_types/SmallintTestEntity.java       |  28 +
 .../testdo/numeric_types/TinyintTestEntity.java |  28 +
 .../numeric_types/auto/_BigDecimalEntity.java   |  32 +
 .../numeric_types/auto/_BigIntegerEntity.java   |  32 +
 .../auto/_BitNumberTestEntity.java              |  30 +
 .../numeric_types/auto/_BitTestEntity.java      |  30 +
 .../numeric_types/auto/_BooleanTestEntity.java  |  30 +
 .../numeric_types/auto/_DecimalPKTest1.java     |  40 +
 .../auto/_DecimalPKTestEntity.java              |  42 +
 .../testdo/numeric_types/auto/_LongEntity.java  |  30 +
 .../numeric_types/auto/_SmallintTestEntity.java |  30 +
 .../numeric_types/auto/_TinyintTestEntity.java  |  30 +
 .../testdo/primitive/PrimitivesTestEntity.java  |  25 +
 .../primitive/auto/_PrimitivesTestEntity.java   |  42 +
 .../testdo/return_types/ReturnTypesMap1.java    |  25 +
 .../testdo/return_types/ReturnTypesMap2.java    |  25 +
 .../return_types/ReturnTypesMapLobs1.java       |  25 +
 .../return_types/auto/_ReturnTypesMap1.java     | 193 +++++
 .../return_types/auto/_ReturnTypesMap2.java     |  60 ++
 .../return_types/auto/_ReturnTypesMapLobs1.java |  30 +
 .../cayenne/testdo/testmap/ArraysEntity.java    |  27 -
 .../org/apache/cayenne/testdo/testmap/Bag.java  |  27 -
 .../org/apache/cayenne/testdo/testmap/Ball.java |  27 -
 .../testdo/testmap/BigDecimalEntity.java        |  27 -
 .../testdo/testmap/BigIntegerEntity.java        |  27 -
 .../cayenne/testdo/testmap/BinaryPKTest1.java   |  28 -
 .../cayenne/testdo/testmap/BinaryPKTest2.java   |  28 -
 .../testdo/testmap/BitNumberTestEntity.java     |  28 -
 .../cayenne/testdo/testmap/BitTestEntity.java   |  28 -
 .../cayenne/testdo/testmap/BlobTestEntity.java  |  28 -
 .../testdo/testmap/BooleanTestEntity.java       |  28 -
 .../org/apache/cayenne/testdo/testmap/Box.java  |  25 -
 .../apache/cayenne/testdo/testmap/BoxInfo.java  |  25 -
 .../cayenne/testdo/testmap/CalendarEntity.java  |  28 -
 .../testdo/testmap/CharFkTestEntity.java        |  28 -
 .../testdo/testmap/CharPkTestEntity.java        |  28 -
 .../cayenne/testdo/testmap/CharacterEntity.java |  28 -
 .../cayenne/testdo/testmap/ClobTestEntity.java  |  28 -
 .../testdo/testmap/ClobTestRelation.java        |  25 -
 .../testdo/testmap/CompoundFkTestEntity.java    |  28 -
 .../testdo/testmap/CompoundPkTestEntity.java    |  28 -
 .../cayenne/testdo/testmap/DateTestEntity.java  |  28 -
 .../cayenne/testdo/testmap/DecimalPKTest1.java  |  26 -
 .../testdo/testmap/DecimalPKTestEntity.java     |  28 -
 .../apache/cayenne/testdo/testmap/Enum1.java    |  23 -
 .../cayenne/testdo/testmap/EnumEntity.java      |  25 -
 .../testdo/testmap/ExtendedTypeEntity.java      |  25 -
 .../testdo/testmap/GeneratedColumnCompKey.java  |  28 -
 .../testmap/GeneratedColumnCompMaster.java      |  28 -
 .../testdo/testmap/GeneratedColumnDep.java      |  28 -
 .../testdo/testmap/GeneratedColumnTest2.java    |  28 -
 .../testmap/GeneratedColumnTestEntity.java      |  28 -
 .../cayenne/testdo/testmap/GeneratedF1.java     |  25 -
 .../cayenne/testdo/testmap/GeneratedF2.java     |  25 -
 .../cayenne/testdo/testmap/LongEntity.java      |  28 -
 .../cayenne/testdo/testmap/MeaningfulPKDep.java |  24 -
 .../testdo/testmap/MeaningfulPKTest1.java       |  24 -
 .../testmap/MixedPersistenceStrategy.java       |  35 -
 .../testmap/MixedPersistenceStrategy2.java      |  25 -
 .../cayenne/testdo/testmap/NoPkTestEntity.java  |  28 -
 .../testdo/testmap/PrimitivesTestEntity.java    |  25 -
 .../cayenne/testdo/testmap/ReturnTypesMap1.java |  25 -
 .../cayenne/testdo/testmap/ReturnTypesMap2.java |  25 -
 .../testdo/testmap/ReturnTypesMapLobs1.java     |  25 -
 .../testdo/testmap/SerializableEntity.java      |  28 -
 .../testdo/testmap/SmallintTestEntity.java      |  28 -
 .../cayenne/testdo/testmap/StringET1.java       |  35 -
 .../testdo/testmap/StringET1ExtendedType.java   |  62 --
 .../apache/cayenne/testdo/testmap/Thing.java    |  25 -
 .../testdo/testmap/TinyintTestEntity.java       |  28 -
 .../cayenne/testdo/testmap/UuidPkEntity.java    |  25 -
 .../cayenne/testdo/testmap/UuidTestEntity.java  |  25 -
 .../testdo/testmap/auto/_ArraysEntity.java      |  60 --
 .../cayenne/testdo/testmap/auto/_Bag.java       |  68 --
 .../cayenne/testdo/testmap/auto/_Ball.java      |  66 --
 .../testdo/testmap/auto/_BigDecimalEntity.java  |  32 -
 .../testdo/testmap/auto/_BigIntegerEntity.java  |  32 -
 .../testdo/testmap/auto/_BinaryPKTest1.java     |  48 -
 .../testdo/testmap/auto/_BinaryPKTest2.java     |  43 -
 .../testmap/auto/_BitNumberTestEntity.java      |  30 -
 .../testdo/testmap/auto/_BitTestEntity.java     |  30 -
 .../testdo/testmap/auto/_BlobTestEntity.java    |  30 -
 .../testdo/testmap/auto/_BooleanTestEntity.java |  30 -
 .../cayenne/testdo/testmap/auto/_Box.java       |  84 --
 .../cayenne/testdo/testmap/auto/_BoxInfo.java   |  43 -
 .../testdo/testmap/auto/_CalendarEntity.java    |  32 -
 .../testdo/testmap/auto/_CharFkTestEntity.java  |  43 -
 .../testdo/testmap/auto/_CharPkTestEntity.java  |  58 --
 .../testdo/testmap/auto/_CharacterEntity.java   |  30 -
 .../testdo/testmap/auto/_ClobTestEntity.java    |  48 -
 .../testdo/testmap/auto/_ClobTestRelation.java  |  53 --
 .../testmap/auto/_CompoundFkTestEntity.java     |  43 -
 .../testmap/auto/_CompoundPkTestEntity.java     |  69 --
 .../testdo/testmap/auto/_DateTestEntity.java    |  52 --
 .../testdo/testmap/auto/_DecimalPKTest1.java    |  40 -
 .../testmap/auto/_DecimalPKTestEntity.java      |  42 -
 .../testdo/testmap/auto/_EnumEntity.java        |  31 -
 .../testmap/auto/_ExtendedTypeEntity.java       |  31 -
 .../testmap/auto/_GeneratedColumnCompKey.java   |  45 -
 .../auto/_GeneratedColumnCompMaster.java        |  48 -
 .../testmap/auto/_GeneratedColumnDep.java       |  43 -
 .../testmap/auto/_GeneratedColumnTest2.java     |  30 -
 .../auto/_GeneratedColumnTestEntity.java        |  43 -
 .../testdo/testmap/auto/_GeneratedF1.java       |  38 -
 .../testdo/testmap/auto/_GeneratedF2.java       |  38 -
 .../testdo/testmap/auto/_LongEntity.java        |  30 -
 .../testdo/testmap/auto/_MeaningfulPKDep.java   |  43 -
 .../testdo/testmap/auto/_MeaningfulPKTest1.java |  58 --
 .../testmap/auto/_MixedPersistenceStrategy.java |  58 --
 .../auto/_MixedPersistenceStrategy2.java        |  43 -
 .../testdo/testmap/auto/_NoPkTestEntity.java    |  29 -
 .../testmap/auto/_PrimitivesTestEntity.java     |  42 -
 .../testdo/testmap/auto/_ReturnTypesMap1.java   | 193 -----
 .../testdo/testmap/auto/_ReturnTypesMap2.java   |  60 --
 .../testmap/auto/_ReturnTypesMapLobs1.java      |  30 -
 .../testmap/auto/_SerializableEntity.java       |  31 -
 .../testmap/auto/_SmallintTestEntity.java       |  30 -
 .../cayenne/testdo/testmap/auto/_Thing.java     |  65 --
 .../testdo/testmap/auto/_TinyintTestEntity.java |  30 -
 .../testdo/testmap/auto/_UuidPkEntity.java      |  32 -
 .../testdo/testmap/auto/_UuidTestEntity.java    |  32 -
 .../org/apache/cayenne/testdo/things/Bag.java   |  27 +
 .../org/apache/cayenne/testdo/things/Ball.java  |  27 +
 .../org/apache/cayenne/testdo/things/Box.java   |  25 +
 .../apache/cayenne/testdo/things/BoxInfo.java   |  25 +
 .../org/apache/cayenne/testdo/things/Thing.java |  25 +
 .../apache/cayenne/testdo/things/auto/_Bag.java |  68 ++
 .../cayenne/testdo/things/auto/_Ball.java       |  66 ++
 .../apache/cayenne/testdo/things/auto/_Box.java |  84 ++
 .../cayenne/testdo/things/auto/_BoxInfo.java    |  43 +
 .../cayenne/testdo/things/auto/_Thing.java      |  65 ++
 .../cayenne/testdo/uuid/UuidPkEntity.java       |  25 +
 .../cayenne/testdo/uuid/UuidTestEntity.java     |  25 +
 .../cayenne/testdo/uuid/auto/_UuidPkEntity.java |  32 +
 .../testdo/uuid/auto/_UuidTestEntity.java       |  32 +
 .../cayenne/unit/HSQLDBUnitDbAdapter.java       |   6 +-
 .../apache/cayenne/unit/MySQLUnitDbAdapter.java |  12 +-
 .../cayenne/unit/OracleUnitDbAdapter.java       |   2 +-
 .../cayenne/unit/PostgresUnitDbAdapter.java     |   8 +-
 .../cayenne/unit/SybaseUnitDbAdapter.java       |  14 +-
 .../cayenne/unit/di/server/SchemaBuilder.java   |   7 +-
 .../cayenne/unit/di/server/ServerCase.java      |  16 +
 .../cayenne/velocity/ResultDirectiveIT.java     |   2 +-
 .../src/test/resources/binary-pk.map.xml        |  34 +
 .../src/test/resources/cayenne-binary-pk.xml    |   4 +
 .../src/test/resources/cayenne-compound.xml     |   4 +
 .../src/test/resources/cayenne-date-time.xml    |   4 +
 .../src/test/resources/cayenne-enum.xml         |   4 +
 .../test/resources/cayenne-extended-type.xml    |   4 +
 .../src/test/resources/cayenne-generated.xml    |   4 +
 .../src/test/resources/cayenne-lob.xml          |   4 +
 .../src/test/resources/cayenne-misc-types.xml   |   4 +
 .../cayenne-mixed-persistence-strategy.xml      |   4 +
 .../src/test/resources/cayenne-no-pk.xml        |   4 +
 .../test/resources/cayenne-numeric-types.xml    |   4 +
 .../src/test/resources/cayenne-primitive.xml    |   4 +
 .../src/test/resources/cayenne-return-types.xml |   4 +
 .../src/test/resources/cayenne-testmap.xml      |   2 +-
 .../src/test/resources/cayenne-things.xml       |   4 +
 .../src/test/resources/cayenne-uuid.xml         |   4 +
 .../src/test/resources/compound.map.xml         |  64 ++
 .../src/test/resources/date-time.map.xml        |  34 +
 cayenne-server/src/test/resources/enum.map.xml  |  18 +
 .../src/test/resources/extended-type.map.xml    |  18 +
 .../src/test/resources/generated.map.xml        |  93 ++
 cayenne-server/src/test/resources/lob.map.xml   |  46 +
 .../src/test/resources/meaningful-pk.map.xml    |  24 +
 .../src/test/resources/misc-types.map.xml       |  38 +
 .../mixed-persistence-strategy.map.xml          |  36 +
 cayenne-server/src/test/resources/no-pk.map.xml |  17 +
 .../src/test/resources/numeric-types.map.xml    |  79 ++
 .../src/test/resources/primitive.map.xml        |  20 +
 .../src/test/resources/return-types.map.xml     |  84 ++
 .../src/test/resources/small-testmap.map.xml    |  10 +-
 .../src/test/resources/testmap.map.xml          | 302 +++++++
 .../src/test/resources/things.map.xml           | 110 +++
 .../src/test/resources/tstmap.map.xml           | 868 -------------------
 cayenne-server/src/test/resources/uuid.map.xml  |  24 +
 .../src/test/resources/testmap.map.xml          |  88 +-
 .../src/test/resources/testmap-client.map.xml   |  88 +-
 .../src/test/resources/testmap.map.xml          |  88 +-
 317 files changed, 6744 insertions(+), 6133 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
new file mode 100644
index 0000000..0a0fa92
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
@@ -0,0 +1,149 @@
+package org.apache.cayenne;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CharPkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class CayenneCompoundIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    protected TableHelper tCompoundPKTest;
+    protected TableHelper tCharPKTest;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+        dbHelper.deleteAll("CHAR_PK_TEST");
+
+        tCompoundPKTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPKTest.setColumns("KEY1", "KEY2", "NAME");
+
+        tCharPKTest = new TableHelper(dbHelper, "CHAR_PK_TEST");
+        tCharPKTest.setColumns("PK_COL", "OTHER_COL");
+    }
+
+    private void createOneCompoundPK() throws Exception {
+        tCompoundPKTest.insert("PK1", "PK2", "BBB");
+    }
+
+    private void createOneCharPK() throws Exception {
+        tCharPKTest.insert("CPK", "AAAA");
+    }
+
+    @Test
+    public void testObjectForPKEntityMapCompound() throws Exception {
+        createOneCompoundPK();
+
+        Map<String, Object> pk = new HashMap<String, Object>();
+        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "PK1");
+        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "PK2");
+        Object object = Cayenne.objectForPK(context, CompoundPkTestEntity.class, pk);
+
+        assertNotNull(object);
+        assertTrue(object instanceof CompoundPkTestEntity);
+        assertEquals("BBB", ((CompoundPkTestEntity) object).getName());
+    }
+
+    @Test
+    public void testCompoundPKForObject() throws Exception {
+        createOneCompoundPK();
+
+        List<?> objects = context
+                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        Map<String, Object> pk = Cayenne.compoundPKForObject(object);
+        assertNotNull(pk);
+        assertEquals(2, pk.size());
+        assertEquals("PK1", pk.get(CompoundPkTestEntity.KEY1_PK_COLUMN));
+        assertEquals("PK2", pk.get(CompoundPkTestEntity.KEY2_PK_COLUMN));
+    }
+
+    @Test
+    public void testIntPKForObjectFailureForCompound() throws Exception {
+        createOneCompoundPK();
+
+        List<?> objects = context
+                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        try {
+            Cayenne.intPKForObject(object);
+            fail("intPKForObject must fail for compound key");
+        }
+        catch (CayenneRuntimeException ex) {
+            // expected
+        }
+    }
+
+    @Test
+    public void testIntPKForObjectFailureForNonNumeric() throws Exception {
+        createOneCharPK();
+
+        List<?> objects = context.performQuery(new SelectQuery(CharPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        try {
+            Cayenne.intPKForObject(object);
+            fail("intPKForObject must fail for non-numeric key");
+        }
+        catch (CayenneRuntimeException ex) {
+
+        }
+    }
+
+    @Test
+    public void testPKForObjectFailureForCompound() throws Exception {
+        createOneCompoundPK();
+
+        List<?> objects = context
+                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        try {
+            Cayenne.pkForObject(object);
+            fail("pkForObject must fail for compound key");
+        }
+        catch (CayenneRuntimeException ex) {
+
+        }
+    }
+
+    @Test
+    public void testIntPKForObjectNonNumeric() throws Exception {
+        createOneCharPK();
+
+        List<?> objects = context.performQuery(new SelectQuery(CharPkTestEntity.class));
+        assertEquals(1, objects.size());
+        DataObject object = (DataObject) objects.get(0);
+
+        assertEquals("CPK", Cayenne.pkForObject(object));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
index d2ac438..008bb52 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
@@ -33,15 +33,12 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -50,7 +47,6 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CayenneIT extends ServerCase {
@@ -63,8 +59,6 @@ public class CayenneIT extends ServerCase {
 
     protected TableHelper tArtist;
     protected TableHelper tPainting;
-    protected TableHelper tCompoundPKTest;
-    protected TableHelper tCharPKTest;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
@@ -73,9 +67,6 @@ public class CayenneIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
-        dbHelper.deleteAll("CHAR_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -83,19 +74,6 @@ public class CayenneIT extends ServerCase {
         tPainting = new TableHelper(dbHelper, "PAINTING");
         tPainting.setColumns("PAINTING_ID", "ARTIST_ID", "PAINTING_TITLE");
 
-        tCompoundPKTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPKTest.setColumns("KEY1", "KEY2", "NAME");
-
-        tCharPKTest = new TableHelper(dbHelper, "CHAR_PK_TEST");
-        tCharPKTest.setColumns("PK_COL", "OTHER_COL");
-    }
-
-    private void createOneCompoundPK() throws Exception {
-        tCompoundPKTest.insert("PK1", "PK2", "BBB");
-    }
-
-    private void createOneCharPK() throws Exception {
-        tCharPKTest.insert("CPK", "AAAA");
     }
 
     private void createOneArtist() throws Exception {
@@ -133,7 +111,7 @@ public class CayenneIT extends ServerCase {
 
         String sql = "SELECT count(1) AS X FROM ARTIST";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setTemplate(
                 FrontBaseAdapter.class.getName(),
@@ -286,89 +264,6 @@ public class CayenneIT extends ServerCase {
     }
 
     @Test
-    public void testObjectForPKEntityMapCompound() throws Exception {
-        createOneCompoundPK();
-
-        Map<String, Object> pk = new HashMap<String, Object>();
-        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "PK1");
-        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "PK2");
-        Object object = Cayenne.objectForPK(context, CompoundPkTestEntity.class, pk);
-
-        assertNotNull(object);
-        assertTrue(object instanceof CompoundPkTestEntity);
-        assertEquals("BBB", ((CompoundPkTestEntity) object).getName());
-    }
-
-    @Test
-    public void testCompoundPKForObject() throws Exception {
-        createOneCompoundPK();
-
-        List<?> objects = context
-                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        Map<String, Object> pk = Cayenne.compoundPKForObject(object);
-        assertNotNull(pk);
-        assertEquals(2, pk.size());
-        assertEquals("PK1", pk.get(CompoundPkTestEntity.KEY1_PK_COLUMN));
-        assertEquals("PK2", pk.get(CompoundPkTestEntity.KEY2_PK_COLUMN));
-    }
-
-    @Test
-    public void testIntPKForObjectFailureForCompound() throws Exception {
-        createOneCompoundPK();
-
-        List<?> objects = context
-                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        try {
-            Cayenne.intPKForObject(object);
-            fail("intPKForObject must fail for compound key");
-        }
-        catch (CayenneRuntimeException ex) {
-            // expected
-        }
-    }
-
-    @Test
-    public void testIntPKForObjectFailureForNonNumeric() throws Exception {
-        createOneCharPK();
-
-        List<?> objects = context.performQuery(new SelectQuery(CharPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        try {
-            Cayenne.intPKForObject(object);
-            fail("intPKForObject must fail for non-numeric key");
-        }
-        catch (CayenneRuntimeException ex) {
-
-        }
-    }
-
-    @Test
-    public void testPKForObjectFailureForCompound() throws Exception {
-        createOneCompoundPK();
-
-        List<?> objects = context
-                .performQuery(new SelectQuery(CompoundPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        try {
-            Cayenne.pkForObject(object);
-            fail("pkForObject must fail for compound key");
-        }
-        catch (CayenneRuntimeException ex) {
-
-        }
-    }
-
-    @Test
     public void testIntPKForObject() throws Exception {
         createOneArtist();
 
@@ -390,14 +285,4 @@ public class CayenneIT extends ServerCase {
         assertEquals(new Long(33002), Cayenne.pkForObject(object));
     }
 
-    @Test
-    public void testIntPKForObjectNonNumeric() throws Exception {
-        createOneCharPK();
-
-        List<?> objects = context.performQuery(new SelectQuery(CharPkTestEntity.class));
-        assertEquals(1, objects.size());
-        DataObject object = (DataObject) objects.get(0);
-
-        assertEquals("CPK", Cayenne.pkForObject(object));
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
index f0035b0..dcdaa83 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
@@ -22,14 +22,14 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
 public class CompoundPkChangeIT extends ServerCase {
 
     private static final String key1v1 = "-key1-v1-";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
index de99905..8dd8202 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
@@ -23,8 +23,8 @@ import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.BinaryPKTest1;
-import org.apache.cayenne.testdo.testmap.BinaryPKTest2;
+import org.apache.cayenne.testdo.binary_pk.BinaryPKTest1;
+import org.apache.cayenne.testdo.binary_pk.BinaryPKTest2;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -33,7 +33,7 @@ import org.junit.Test;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.BINARY_PK_PROJECT)
 public class DataContextBinaryPKIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
index 6552b73..c482bd8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
@@ -23,7 +23,7 @@ import org.apache.cayenne.access.types.ByteArrayTypeTest;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.BlobTestEntity;
+import org.apache.cayenne.testdo.lob.BlobTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -34,7 +34,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class DataContextBlobIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
index 569b216..8d37950 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
@@ -23,7 +23,7 @@ import org.apache.cayenne.DataRow;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
+import org.apache.cayenne.testdo.compound.CharPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -33,7 +33,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
 public class DataContextCharPKIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
index 9c3779a..2b35330 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
@@ -24,7 +24,7 @@ import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -34,7 +34,7 @@ import java.util.List;
 
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.RETURN_TYPES_PROJECT)
 public class DataContextCharTypeIT extends ServerCase {
     
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
index 4cd56eb..68e79bd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
@@ -22,7 +22,7 @@ package org.apache.cayenne.access;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ClobTestEntity;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -33,7 +33,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class DataContextClobIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
index c9f4262..9c5932f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
 /**
  * Testing relationships with compound keys.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
 public class DataContextCompoundRelIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
index daa9acd..2d43bf5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
@@ -28,11 +28,11 @@ import org.apache.cayenne.query.PrefetchTreeNode;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.Bag;
-import org.apache.cayenne.testdo.testmap.Ball;
-import org.apache.cayenne.testdo.testmap.Box;
-import org.apache.cayenne.testdo.testmap.BoxInfo;
-import org.apache.cayenne.testdo.testmap.Thing;
+import org.apache.cayenne.testdo.things.Bag;
+import org.apache.cayenne.testdo.things.Ball;
+import org.apache.cayenne.testdo.things.Box;
+import org.apache.cayenne.testdo.things.BoxInfo;
+import org.apache.cayenne.testdo.things.Thing;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
@@ -50,7 +50,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.THINGS_PROJECT)
 public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
 
     @Inject
@@ -65,11 +65,6 @@ public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
     @Inject
     protected DataChannelInterceptor queryInterceptor;
 
-    protected TableHelper tBag;
-    protected TableHelper tBox;
-    protected TableHelper tBoxInfo;
-    protected TableHelper tBall;
-    protected TableHelper tThing;
     protected TableHelper tBoxThing;
 
     @Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
new file mode 100644
index 0000000..f42f730
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
@@ -0,0 +1,102 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.testdo.date_time.DateTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Calendar;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+@UseServerRuntime(ServerCase.DATE_TIME_PROJECT)
+public class DataContextEJBQLDateTimeFunctionalExpressionsIT extends ServerCase {
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    private ObjectContext context;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("DATE_TEST");
+    }
+
+    @Test
+    public void testCURRENT_DATE() {
+
+        Calendar cal = Calendar.getInstance();
+        int year = cal.get(Calendar.YEAR);
+
+        DateTestEntity o1 = context.newObject(DateTestEntity.class);
+        cal.set(year - 3, 1, 1);
+        o1.setDateColumn(cal.getTime());
+
+        DateTestEntity o2 = context.newObject(DateTestEntity.class);
+        cal.set(year + 3, 1, 1);
+        o2.setDateColumn(cal.getTime());
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM DateTestEntity d WHERE d.dateColumn > CURRENT_DATE");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o2));
+    }
+
+    @Test
+    public void testCURRENT_TIME() {
+
+        Calendar cal = Calendar.getInstance();
+        int year = cal.get(Calendar.YEAR);
+
+        DateTestEntity o1 = context.newObject(DateTestEntity.class);
+        cal.set(year, 1, 1, 0, 0, 0);
+        o1.setTimeColumn(cal.getTime());
+
+        DateTestEntity o2 = context.newObject(DateTestEntity.class);
+        cal.set(year, 1, 1, 23, 59, 59);
+        o2.setTimeColumn(cal.getTime());
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM DateTestEntity d WHERE d.timeColumn < CURRENT_TIME");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o1));
+    }
+
+    @Test
+    public void testCURRENT_TIMESTAMP() {
+
+        Calendar cal = Calendar.getInstance();
+        int year = cal.get(Calendar.YEAR);
+        int month = cal.get(Calendar.MONTH);
+        int date = cal.get(Calendar.DATE);
+
+        DateTestEntity o1 = context.newObject(DateTestEntity.class);
+        cal.set(year, month, date, 0, 0, 0);
+        o1.setTimestampColumn(cal.getTime());
+
+        DateTestEntity o2 = context.newObject(DateTestEntity.class);
+        cal.set(year, month, date, 23, 59, 59);
+        o2.setTimestampColumn(cal.getTime());
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM DateTestEntity d WHERE d.timestampColumn < CURRENT_TIMESTAMP");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o1));
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
index b364ea7..f29f219 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
@@ -32,7 +32,6 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
-import java.util.List;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -52,8 +51,6 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
 
     protected TableHelper tPainting;
 
-    protected TableHelper tMeaningfulPKTest1Table;
-
     @Override
     protected void setUpAfterInjection() throws Exception {
         dbHelper.deleteAll("PAINTING_INFO");
@@ -61,8 +58,6 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("MEANINGFUL_PK_DEP");
-        dbHelper.deleteAll("MEANINGFUL_PK_TEST1");
 
         tPainting = new TableHelper(dbHelper, "PAINTING");
         tPainting.setColumns(
@@ -74,9 +69,6 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
                 Types.BIGINT,
                 Types.VARCHAR,
                 Types.DECIMAL);
-
-        tMeaningfulPKTest1Table = new TableHelper(dbHelper, "MEANINGFUL_PK_TEST1");
-        tMeaningfulPKTest1Table.setColumns("PK_ATTRIBUTE", "DESCR");
     }
 
     protected void createPaintingsDataSet() throws Exception {
@@ -84,13 +76,6 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         tPainting.insert(33002, null, "P2", 5000);
     }
 
-    protected void createMeaningfulPKDataSet() throws Exception {
-
-        for (int i = 1; i <= 33; i++) {
-            tMeaningfulPKTest1Table.insert(i, "a" + i);
-        }
-    }
-
     @Test
     public void testDeleteNoIdVar() throws Exception {
         createPaintingsDataSet();
@@ -141,24 +126,4 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         assertNull(Cayenne.objectForPK(freshContext, Painting.class, 33002));
     }
 
-    @Test
-    public void testDeleteIdVar() throws Exception {
-
-        createMeaningfulPKDataSet();
-
-        EJBQLQuery q = new EJBQLQuery("select m.pkAttribute from MeaningfulPKTest1 m");
-
-        List<Integer> id = context.performQuery(q);
-
-        String ejbql = "delete from MeaningfulPKTest1 m WHERE m.pkAttribute in (:id)";
-
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("id", id);
-        QueryResponse result = context.performGenericQuery(query);
-
-        int[] count = result.firstUpdateCount();
-        assertNotNull(count);
-        assertEquals(1, count.length);
-        assertEquals(33, count[0]);
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
new file mode 100644
index 0000000..f532f13
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
@@ -0,0 +1,64 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.QueryResponse;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+@UseServerRuntime(ServerCase.MEANINGFUL_PK_PROJECT)
+public class DataContextEJBQLDeletePKIT extends ServerCase {
+
+    @Inject
+    protected ObjectContext context;
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    protected TableHelper tMeaningfulPKTest1Table;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("MEANINGFUL_PK_DEP");
+        dbHelper.deleteAll("MEANINGFUL_PK_TEST1");
+
+        tMeaningfulPKTest1Table = new TableHelper(dbHelper, "MEANINGFUL_PK_TEST1");
+        tMeaningfulPKTest1Table.setColumns("PK_ATTRIBUTE", "DESCR");
+    }
+
+    protected void createMeaningfulPKDataSet() throws Exception {
+        for (int i = 1; i <= 33; i++) {
+            tMeaningfulPKTest1Table.insert(i, "a" + i);
+        }
+    }
+
+    @Test
+    public void testDeleteIdVar() throws Exception {
+
+        createMeaningfulPKDataSet();
+
+        EJBQLQuery q = new EJBQLQuery("select m.pkAttribute from MeaningfulPKTest1 m");
+
+        List<Integer> id = context.performQuery(q);
+
+        String ejbql = "delete from MeaningfulPKTest1 m WHERE m.pkAttribute in (:id)";
+
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("id", id);
+        QueryResponse result = context.performGenericQuery(query);
+
+        int[] count = result.firstUpdateCount();
+        assertNotNull(count);
+        assertEquals(1, count.length);
+        assertEquals(33, count[0]);
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
deleted file mode 100644
index 9c4ae2e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
+++ /dev/null
@@ -1,430 +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.access;
-
-import org.apache.cayenne.Cayenne;
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.query.EJBQLQuery;
-import org.apache.cayenne.query.QueryChain;
-import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.BigDecimalEntity;
-import org.apache.cayenne.testdo.testmap.BigIntegerEntity;
-import org.apache.cayenne.testdo.testmap.DateTestEntity;
-import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.unit.UnitDbAdapter;
-import org.apache.cayenne.unit.di.server.ServerCase;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Test;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Calendar;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-// TODO: renamed as it fails on DB's like Derby. See CAY-1480. 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
-public class DataContextEJBQLFunctionalExpressions extends ServerCase {
-
-    @Inject
-    protected DBHelper dbHelper;
-
-    @Inject
-    private ObjectContext context;
-
-    @Inject
-    private UnitDbAdapter accessStackAdapter;
-
-    @Override
-    protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("PAINTING_INFO");
-        dbHelper.deleteAll("PAINTING");
-        dbHelper.deleteAll("ARTIST_EXHIBIT");
-        dbHelper.deleteAll("ARTIST_GROUP");
-        dbHelper.deleteAll("ARTIST");
-
-        dbHelper.deleteAll("BIGDECIMAL_ENTITY");
-        dbHelper.deleteAll("BIGINTEGER_ENTITY");
-        dbHelper.deleteAll("DATE_TEST");
-    }
-
-    @Test
-    public void testCURRENT_DATE() {
-
-        Calendar cal = Calendar.getInstance();
-        int year = cal.get(Calendar.YEAR);
-
-        DateTestEntity o1 = context.newObject(DateTestEntity.class);
-        cal.set(year - 3, 1, 1);
-        o1.setDateColumn(cal.getTime());
-
-        DateTestEntity o2 = context.newObject(DateTestEntity.class);
-        cal.set(year + 3, 1, 1);
-        o2.setDateColumn(cal.getTime());
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM DateTestEntity d WHERE d.dateColumn > CURRENT_DATE");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o2));
-    }
-
-    @Test
-    public void testCURRENT_TIME() {
-
-        Calendar cal = Calendar.getInstance();
-        int year = cal.get(Calendar.YEAR);
-
-        DateTestEntity o1 = context.newObject(DateTestEntity.class);
-        cal.set(year, 1, 1, 0, 0, 0);
-        o1.setTimeColumn(cal.getTime());
-
-        DateTestEntity o2 = context.newObject(DateTestEntity.class);
-        cal.set(year, 1, 1, 23, 59, 59);
-        o2.setTimeColumn(cal.getTime());
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM DateTestEntity d WHERE d.timeColumn < CURRENT_TIME");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o1));
-    }
-
-    @Test
-    public void testCURRENT_TIMESTAMP() {
-
-        Calendar cal = Calendar.getInstance();
-        int year = cal.get(Calendar.YEAR);
-        int month = cal.get(Calendar.MONTH);
-        int date = cal.get(Calendar.DATE);
-
-        DateTestEntity o1 = context.newObject(DateTestEntity.class);
-        cal.set(year, month, date, 0, 0, 0);
-        o1.setTimestampColumn(cal.getTime());
-
-        DateTestEntity o2 = context.newObject(DateTestEntity.class);
-        cal.set(year, month, date, 23, 59, 59);
-        o2.setTimestampColumn(cal.getTime());
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM DateTestEntity d WHERE d.timestampColumn < CURRENT_TIMESTAMP");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o1));
-    }
-
-    @Test
-    public void testABS() {
-
-        BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
-        o1.setBigDecimalField(new BigDecimal("4.1"));
-
-        BigDecimalEntity o2 = context.newObject(BigDecimalEntity.class);
-        o2.setBigDecimalField(new BigDecimal("-5.1"));
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM BigDecimalEntity d WHERE ABS(d.bigDecimalField) > 4.5");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o2));
-    }
-
-    @Test
-    public void testSQRT() {
-
-        BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
-        o1.setBigDecimalField(new BigDecimal("9"));
-
-        BigDecimalEntity o2 = context.newObject(BigDecimalEntity.class);
-        o2.setBigDecimalField(new BigDecimal("16"));
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM BigDecimalEntity d WHERE SQRT(d.bigDecimalField) > 3.1");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o2));
-    }
-
-    @Test
-    public void testMOD() {
-
-        BigIntegerEntity o1 = context.newObject(BigIntegerEntity.class);
-        o1.setBigIntegerField(new BigInteger("9"));
-
-        BigIntegerEntity o2 = context.newObject(BigIntegerEntity.class);
-        o2.setBigIntegerField(new BigInteger("10"));
-
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT d FROM BigIntegerEntity d WHERE MOD(d.bigIntegerField, 4) = 2");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(o2));
-    }
-
-    @Test
-    public void testSIZE() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("a1");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("a2");
-
-        Painting p12 = context.newObject(Painting.class);
-        p12.setPaintingTitle("p12");
-        a2.addToPaintingArray(p12);
-        Painting p22 = context.newObject(Painting.class);
-        p22.setPaintingTitle("p22");
-        a2.addToPaintingArray(p22);
-
-        context.commitChanges();
-
-        // this fails:
-        // EJBQLQuery query = new EJBQLQuery(
-        // "SELECT d FROM Artist d WHERE SIZE(d.paintingArray) = 2");
-        // List<?> objects = context.performQuery(query);
-        // assertEquals(1, objects.size());
-        // assertTrue(objects.contains(a2));
-        //
-        // EJBQLQuery query2 = new EJBQLQuery(
-        // "SELECT d FROM Artist d WHERE SIZE(d.paintingArray) = 0");
-        // List<?> objects2 = context.performQuery(query2);
-        // assertEquals(1, objects2.size());
-        // assertTrue(objects2.contains(a1));
-    }
-
-    @Test
-    public void testCONCAT() {
-
-        Painting a1 = context.newObject(Painting.class);
-        a1.setPaintingTitle("a1");
-
-        Painting a2 = context.newObject(Painting.class);
-        a2.setPaintingTitle("a2");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Painting a WHERE CONCAT(a.paintingTitle, a.paintingTitle) = 'a1a1'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a1));
-    }
-
-    @Test
-    public void testSUBSTRING() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("12345678");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("abcdefg");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE SUBSTRING(a.artistName, 2, 3) = 'bcd'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testLOWER() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("ABCDEFG");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("abcdefg");
-        context.commitChanges();
-
-        Artist a3 = context.newObject(Artist.class);
-        a3.setArtistName("Xabcdefg");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE LOWER(a.artistName) = 'abcdefg'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testUPPER() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("ABCDEFG");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("abcdefg");
-        context.commitChanges();
-
-        Artist a3 = context.newObject(Artist.class);
-        a3.setArtistName("Xabcdefg");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE UPPER(a.artistName) = UPPER('abcdefg')");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testLENGTH() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("1234567");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("1234567890");
-
-        Artist a3 = context.newObject(Artist.class);
-        a3.setArtistName("1234567890-=");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE LENGTH(a.artistName) > 7");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a3));
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testLOCATE() {
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("___A___");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("_A_____");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE LOCATE('A', a.artistName) = 2");
-        List<?> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a2));
-    }
-
-    @Test
-    public void testTRIM() {
-
-        // insert via a SQL template to prevent adapter trimming and such...
-        QueryChain inserts = new QueryChain();
-        inserts.addQuery(new SQLTemplate(
-                Artist.class,
-                "INSERT INTO ARTIST (ARTIST_ID,ARTIST_NAME) VALUES(1, '  A')"));
-        inserts.addQuery(new SQLTemplate(
-                Artist.class,
-                "INSERT INTO ARTIST (ARTIST_ID,ARTIST_NAME) VALUES(2, 'A  ')"));
-        context.performGenericQuery(inserts);
-
-        Artist a1 = Cayenne.objectForPK(context, Artist.class, 1);
-        Artist a2 = Cayenne.objectForPK(context, Artist.class, 2);
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(a.artistName) = 'A'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(LEADING FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        // this is fuzzy cause some DB trim trailing data by default
-        assertTrue(objects.size() == 1 || objects.size() == 2);
-        assertTrue(objects.contains(a1));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(TRAILING FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a2));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(BOTH FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-
-    }
-
-    @Test
-    public void testTRIMChar() {
-
-        if (!accessStackAdapter.supportsTrimChar()) {
-            return;
-        }
-
-        Artist a1 = context.newObject(Artist.class);
-        a1.setArtistName("XXXA");
-
-        Artist a2 = context.newObject(Artist.class);
-        a2.setArtistName("AXXX");
-        context.commitChanges();
-
-        EJBQLQuery query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM('X' FROM a.artistName) = 'A'");
-        List<?> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(LEADING 'X' FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a1));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(TRAILING 'X' FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertTrue(objects.contains(a2));
-
-        query = new EJBQLQuery(
-                "SELECT a FROM Artist a WHERE TRIM(BOTH 'X' FROM a.artistName) = 'A'");
-        objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-        assertTrue(objects.contains(a1));
-        assertTrue(objects.contains(a2));
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java
new file mode 100644
index 0000000..cd75d76
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressionsIT.java
@@ -0,0 +1,295 @@
+/*****************************************************************
+ *   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.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.query.QueryChain;
+import org.apache.cayenne.query.SQLTemplate;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.testdo.testmap.Artist;
+import org.apache.cayenne.testdo.testmap.Painting;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+// TODO: renamed as it fails on DB's like Derby. See CAY-1480. 
+@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+public class DataContextEJBQLFunctionalExpressionsIT extends ServerCase {
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("PAINTING_INFO");
+        dbHelper.deleteAll("PAINTING");
+        dbHelper.deleteAll("ARTIST_EXHIBIT");
+        dbHelper.deleteAll("ARTIST_GROUP");
+        dbHelper.deleteAll("ARTIST");
+    }
+
+    @Test
+    public void testSIZE() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("a1");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("a2");
+
+        Painting p12 = context.newObject(Painting.class);
+        p12.setPaintingTitle("p12");
+        a2.addToPaintingArray(p12);
+        Painting p22 = context.newObject(Painting.class);
+        p22.setPaintingTitle("p22");
+        a2.addToPaintingArray(p22);
+
+        context.commitChanges();
+
+        // this fails:
+        // EJBQLQuery query = new EJBQLQuery(
+        // "SELECT d FROM Artist d WHERE SIZE(d.paintingArray) = 2");
+        // List<?> objects = context.performQuery(query);
+        // assertEquals(1, objects.size());
+        // assertTrue(objects.contains(a2));
+        //
+        // EJBQLQuery query2 = new EJBQLQuery(
+        // "SELECT d FROM Artist d WHERE SIZE(d.paintingArray) = 0");
+        // List<?> objects2 = context.performQuery(query2);
+        // assertEquals(1, objects2.size());
+        // assertTrue(objects2.contains(a1));
+    }
+
+    @Test
+    public void testCONCAT() {
+
+        Painting a1 = context.newObject(Painting.class);
+        a1.setPaintingTitle("a1");
+
+        Painting a2 = context.newObject(Painting.class);
+        a2.setPaintingTitle("a2");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Painting a WHERE CONCAT(a.paintingTitle, a.paintingTitle) = 'a1a1'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a1));
+    }
+
+    @Test
+    public void testSUBSTRING() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("12345678");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("abcdefg");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE SUBSTRING(a.artistName, 2, 3) = 'bcd'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testLOWER() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("ABCDEFG");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("abcdefg");
+        context.commitChanges();
+
+        Artist a3 = context.newObject(Artist.class);
+        a3.setArtistName("Xabcdefg");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE LOWER(a.artistName) = 'abcdefg'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testUPPER() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("ABCDEFG");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("abcdefg");
+        context.commitChanges();
+
+        Artist a3 = context.newObject(Artist.class);
+        a3.setArtistName("Xabcdefg");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE UPPER(a.artistName) = UPPER('abcdefg')");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testLENGTH() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("1234567");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("1234567890");
+
+        Artist a3 = context.newObject(Artist.class);
+        a3.setArtistName("1234567890-=");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE LENGTH(a.artistName) > 7");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a3));
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testLOCATE() {
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("___A___");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("_A_____");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE LOCATE('A', a.artistName) = 2");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a2));
+    }
+
+    @Test
+    public void testTRIM() {
+
+        // insert via a SQL template to prevent adapter trimming and such...
+        QueryChain inserts = new QueryChain();
+        inserts.addQuery(new SQLTemplate(
+                Artist.class,
+                "INSERT INTO ARTIST (ARTIST_ID,ARTIST_NAME) VALUES(1, '  A')"));
+        inserts.addQuery(new SQLTemplate(
+                Artist.class,
+                "INSERT INTO ARTIST (ARTIST_ID,ARTIST_NAME) VALUES(2, 'A  ')"));
+        context.performGenericQuery(inserts);
+
+        Artist a1 = Cayenne.objectForPK(context, Artist.class, 1);
+        Artist a2 = Cayenne.objectForPK(context, Artist.class, 2);
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(a.artistName) = 'A'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(LEADING FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        // this is fuzzy cause some DB trim trailing data by default
+        assertTrue(objects.size() == 1 || objects.size() == 2);
+        assertTrue(objects.contains(a1));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(TRAILING FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a2));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(BOTH FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+
+    }
+
+    @Test
+    public void testTRIMChar() {
+
+        if (!accessStackAdapter.supportsTrimChar()) {
+            return;
+        }
+
+        Artist a1 = context.newObject(Artist.class);
+        a1.setArtistName("XXXA");
+
+        Artist a2 = context.newObject(Artist.class);
+        a2.setArtistName("AXXX");
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM('X' FROM a.artistName) = 'A'");
+        List<?> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(LEADING 'X' FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a1));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(TRAILING 'X' FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(a2));
+
+        query = new EJBQLQuery(
+                "SELECT a FROM Artist a WHERE TRIM(BOTH 'X' FROM a.artistName) = 'A'");
+        objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+        assertTrue(objects.contains(a1));
+        assertTrue(objects.contains(a2));
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
new file mode 100644
index 0000000..b639559
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
@@ -0,0 +1,133 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.QueryResponse;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.numeric_types.BigDecimalEntity;
+import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
+import org.apache.cayenne.testdo.numeric_types.BooleanTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+@UseServerRuntime(ServerCase.NUMERIC_TYPES_PROJECT)
+public class DataContextEJBQLNumericalFunctionalIT extends ServerCase {
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    private ObjectContext context;
+
+    private TableHelper tBigIntegerEntity;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("BIGDECIMAL_ENTITY");
+        dbHelper.deleteAll("BIGINTEGER_ENTITY");
+        dbHelper.deleteAll("BOOLEAN_TEST");
+
+        tBigIntegerEntity = new TableHelper(dbHelper, "BIGINTEGER_ENTITY");
+        tBigIntegerEntity.setColumns("ID", "BIG_INTEGER_FIELD");
+    }
+
+    @Test
+    public void testABS() {
+
+        BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
+        o1.setBigDecimalField(new BigDecimal("4.1"));
+
+        BigDecimalEntity o2 = context.newObject(BigDecimalEntity.class);
+        o2.setBigDecimalField(new BigDecimal("-5.1"));
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM BigDecimalEntity d WHERE ABS(d.bigDecimalField) > 4.5");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o2));
+    }
+
+    @Test
+    public void testSQRT() {
+
+        BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
+        o1.setBigDecimalField(new BigDecimal("9"));
+
+        BigDecimalEntity o2 = context.newObject(BigDecimalEntity.class);
+        o2.setBigDecimalField(new BigDecimal("16"));
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM BigDecimalEntity d WHERE SQRT(d.bigDecimalField) > 3.1");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o2));
+    }
+
+    @Test
+    public void testMOD() {
+
+        BigIntegerEntity o1 = context.newObject(BigIntegerEntity.class);
+        o1.setBigIntegerField(new BigInteger("9"));
+
+        BigIntegerEntity o2 = context.newObject(BigIntegerEntity.class);
+        o2.setBigIntegerField(new BigInteger("10"));
+
+        context.commitChanges();
+
+        EJBQLQuery query = new EJBQLQuery(
+                "SELECT d FROM BigIntegerEntity d WHERE MOD(d.bigIntegerField, 4) = 2");
+        List<?> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertTrue(objects.contains(o2));
+    }
+
+    @Test
+    public void testUpdateNoQualifierBoolean() throws Exception {
+
+        BooleanTestEntity o1 = context.newObject(BooleanTestEntity.class);
+        o1.setBooleanColumn(Boolean.TRUE);
+
+        BooleanTestEntity o2 = context.newObject(BooleanTestEntity.class);
+        o2.setBooleanColumn(Boolean.FALSE);
+
+        BooleanTestEntity o3 = context.newObject(BooleanTestEntity.class);
+        o3.setBooleanColumn(Boolean.FALSE);
+
+        context.commitChanges();
+
+        EJBQLQuery check = new EJBQLQuery("select count(p) from BooleanTestEntity p "
+                + "WHERE p.booleanColumn = true");
+
+        Object notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(1l), notUpdated);
+
+        String ejbql = "UPDATE BooleanTestEntity AS p SET p.booleanColumn = true";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+
+        QueryResponse result = context.performGenericQuery(query);
+
+        int[] count = result.firstUpdateCount();
+        assertNotNull(count);
+        assertEquals(1, count.length);
+        assertEquals(3, count[0]);
+
+        notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(3l), notUpdated);
+    }
+}


[38/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/testmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/testmap.map.xml b/cayenne-server/src/test/resources/testmap.map.xml
new file mode 100644
index 0000000..52a8a67
--- /dev/null
+++ b/cayenne-server/src/test/resources/testmap.map.xml
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+	 project-version="7">
+	<property name="defaultPackage" value="org.apache.cayenne.testdo.testmap"/>
+	<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+	<property name="clientSupported" value="true"/>
+	<property name="defaultClientPackage" value="test.client"/>
+	<property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+	<procedure name="cayenne_test_out_proc">
+		<procedure-parameter name="in_param" type="INTEGER" direction="in"/>
+		<procedure-parameter name="out_param" type="INTEGER" direction="out"/>
+	</procedure>
+	<procedure name="cayenne_test_select_proc">
+		<procedure-parameter name="aName" type="VARCHAR" length="254" direction="in"/>
+		<procedure-parameter name="paintingPrice" type="INTEGER" direction="in"/>
+	</procedure>
+	<procedure name="cayenne_test_upd_proc">
+		<procedure-parameter name="paintingPrice" type="INTEGER" direction="in"/>
+	</procedure>Ï
+	<procedure name="cayenne_test_upd_proc2">
+	</procedure>
+	<db-entity name="ARTGROUP">
+		<db-attribute name="GROUP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+		<db-attribute name="PARENT_GROUP_ID" type="INTEGER"/>
+	</db-entity>
+	<db-entity name="ARTIST">
+		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="ARTIST_NAME" type="CHAR" isMandatory="true" length="254"/>
+		<db-attribute name="DATE_OF_BIRTH" type="DATE"/>
+	</db-entity>
+	<db-entity name="ARTIST_CT">
+		<db-attribute name="ARTIST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="ARTIST_NAME" type="CHAR" isMandatory="true" length="254"/>
+		<db-attribute name="DATE_OF_BIRTH" type="DATE"/>
+	</db-entity>
+	<db-entity name="ARTIST_EXHIBIT">
+		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="EXHIBIT_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+	</db-entity>
+	<db-entity name="ARTIST_GROUP">
+		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="GROUP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+	</db-entity>
+	<db-entity name="EXHIBIT">
+		<db-attribute name="CLOSING_DATE" type="TIMESTAMP" isMandatory="true"/>
+		<db-attribute name="EXHIBIT_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="GALLERY_ID" type="INTEGER" isMandatory="true"/>
+		<db-attribute name="OPENING_DATE" type="TIMESTAMP" isMandatory="true"/>
+	</db-entity>
+	<db-entity name="GALLERY">
+		<db-attribute name="GALLERY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="GALLERY_NAME" type="VARCHAR" isMandatory="true" length="100"/>
+	</db-entity>
+	<db-entity name="GENERATED_COLUMN">
+		<db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+		<db-attribute name="NAME" type="VARCHAR" length="250"/>
+	</db-entity>
+	<db-entity name="NULL_TEST">
+		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+		<db-attribute name="NAME" type="VARCHAR" length="100"/>
+	</db-entity>
+	<db-entity name="PAINTING">
+		<db-attribute name="ARTIST_ID" type="BIGINT"/>
+		<db-attribute name="ESTIMATED_PRICE" type="DECIMAL" length="10" scale="2"/>
+		<db-attribute name="GALLERY_ID" type="INTEGER"/>
+		<db-attribute name="PAINTING_DESCRIPTION" type="VARCHAR" length="255"/>
+		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="PAINTING_TITLE" type="VARCHAR" isMandatory="true" length="255"/>
+	</db-entity>
+	<db-entity name="PAINTING1">
+		<db-attribute name="ARTIST_ID" type="BIGINT"/>
+		<db-attribute name="ESTIMATED_PRICE" type="DECIMAL" length="10" scale="2"/>
+		<db-attribute name="GALLERY_ID" type="INTEGER"/>
+		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="PAINTING_TITLE" type="VARCHAR" isMandatory="true" length="255"/>
+	</db-entity>
+	<db-entity name="PAINTING_INFO">
+		<db-attribute name="IMAGE_BLOB" type="LONGVARBINARY"/>
+		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="TEXT_REVIEW" type="LONGVARCHAR"/>
+	</db-entity>
+	<obj-entity name="ArtGroup" className="org.apache.cayenne.testdo.testmap.ArtGroup" dbEntityName="ARTGROUP">
+		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+	</obj-entity>
+	<obj-entity name="Artist" className="org.apache.cayenne.testdo.testmap.Artist" dbEntityName="ARTIST">
+		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="ARTIST_NAME"/>
+		<obj-attribute name="dateOfBirth" type="java.util.Date" db-attribute-path="DATE_OF_BIRTH"/>
+	</obj-entity>
+	<obj-entity name="ArtistCallback" className="org.apache.cayenne.testdo.testmap.ArtistCallback" dbEntityName="ARTIST_CT" exclude-superclass-listeners="true" exclude-default-listeners="true">
+		<obj-attribute name="artistName" type="java.lang.String"/>
+		<obj-attribute name="dateOfBirth" type="java.util.Date"/>
+		<post-add method-name="prePersistEntityObjEntity"/>
+		<post-persist method-name="postPersistEntityObjEntity"/>
+		<pre-update method-name="preUpdateEntityObjEntity"/>
+		<post-update method-name="postUpdateEntityObjEntity"/>
+		<pre-remove method-name="preRemoveEntityObjEntity"/>
+		<post-remove method-name="postRemoveEntityObjEntity"/>
+		<post-load method-name="postLoadEntityObjEntity"/>
+	</obj-entity>
+	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
+	</obj-entity>
+	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" dbEntityName="PAINTING">
+		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="toArtist.ARTIST_NAME"/>
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="toGallery.GALLERY_NAME"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
+	</obj-entity>
+	<obj-entity name="CompoundPaintingLongNames" className="org.apache.cayenne.testdo.testmap.CompoundPaintingLongNames" clientClassName="test.client.CompoundPaintingLongNames" dbEntityName="PAINTING" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+		<obj-attribute name="artistLongName" type="java.lang.String" db-attribute-path="toArtist.ARTIST_NAME"/>
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="galleryLongName" type="java.lang.String" db-attribute-path="toGallery.GALLERY_NAME"/>
+		<obj-attribute name="paintingDescription" type="java.lang.String" db-attribute-path="PAINTING_DESCRIPTION"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+		<obj-attribute name="textLongReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
+	</obj-entity>
+	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
+		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
+		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
+	</obj-entity>
+	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" dbEntityName="GALLERY">
+		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
+	</obj-entity>
+	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN">
+		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
+		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+	</obj-entity>
+	<obj-entity name="NullTestEntity" className="org.apache.cayenne.testdo.testmap.NullTestEntity" dbEntityName="NULL_TEST">
+		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+	</obj-entity>
+	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="paintingDescription" type="java.lang.String" db-attribute-path="PAINTING_DESCRIPTION"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+	</obj-entity>
+	<obj-entity name="Painting1" className="org.apache.cayenne.testdo.testmap.Painting1" dbEntityName="PAINTING1">
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+	</obj-entity>
+	<obj-entity name="PaintingInfo" className="org.apache.cayenne.testdo.testmap.PaintingInfo" dbEntityName="PAINTING_INFO">
+		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
+		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
+	</obj-entity>
+	<obj-entity name="ROArtist" className="org.apache.cayenne.testdo.testmap.ROArtist" readOnly="true" dbEntityName="ARTIST">
+		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="ARTIST_NAME"/>
+		<obj-attribute name="dateOfBirth" type="java.sql.Date" db-attribute-path="DATE_OF_BIRTH"/>
+	</obj-entity>
+	<obj-entity name="ROPainting" className="org.apache.cayenne.testdo.testmap.ROPainting" readOnly="true" dbEntityName="PAINTING">
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+	</obj-entity>
+	<obj-entity name="RWCompoundPainting" className="org.apache.cayenne.testdo.testmap.RWCompoundPainting" dbEntityName="PAINTING">
+		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
+	</obj-entity>
+	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" dbEntityName="PAINTING">
+		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
+	</obj-entity>
+	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">
+		<db-attribute-pair source="GROUP_ID" target="GROUP_ID"/>
+	</db-relationship>
+	<db-relationship name="toChildGroups" source="ARTGROUP" target="ARTGROUP" toMany="true">
+		<db-attribute-pair source="GROUP_ID" target="PARENT_GROUP_ID"/>
+	</db-relationship>
+	<db-relationship name="toParentGroup" source="ARTGROUP" target="ARTGROUP" toMany="false">
+		<db-attribute-pair source="PARENT_GROUP_ID" target="GROUP_ID"/>
+	</db-relationship>
+	<db-relationship name="artistExhibitArray" source="ARTIST" target="ARTIST_EXHIBIT" toDependentPK="true" toMany="true">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="artistGroupArray" source="ARTIST" target="ARTIST_GROUP" toMany="true">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="paintingArray" source="ARTIST" target="PAINTING" toMany="true">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="toArtist" source="ARTIST_EXHIBIT" target="ARTIST" toMany="false">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="toExhibit" source="ARTIST_EXHIBIT" target="EXHIBIT" toMany="false">
+		<db-attribute-pair source="EXHIBIT_ID" target="EXHIBIT_ID"/>
+	</db-relationship>
+	<db-relationship name="toArtist" source="ARTIST_GROUP" target="ARTIST" toMany="false">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="toGroup" source="ARTIST_GROUP" target="ARTGROUP" toMany="false">
+		<db-attribute-pair source="GROUP_ID" target="GROUP_ID"/>
+	</db-relationship>
+	<db-relationship name="artistExhibitArray" source="EXHIBIT" target="ARTIST_EXHIBIT" toDependentPK="true" toMany="true">
+		<db-attribute-pair source="EXHIBIT_ID" target="EXHIBIT_ID"/>
+	</db-relationship>
+	<db-relationship name="toGallery" source="EXHIBIT" target="GALLERY" toMany="false">
+		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
+	</db-relationship>
+	<db-relationship name="exhibitArray" source="GALLERY" target="EXHIBIT" toMany="true">
+		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
+	</db-relationship>
+	<db-relationship name="paintingArray" source="GALLERY" target="PAINTING" toMany="true">
+		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
+	</db-relationship>
+	<db-relationship name="toArtist" source="PAINTING" target="ARTIST" toMany="false">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="toGallery" source="PAINTING" target="GALLERY" toMany="false">
+		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
+	</db-relationship>
+	<db-relationship name="toPaintingInfo" source="PAINTING" target="PAINTING_INFO" toDependentPK="true" toMany="false">
+		<db-attribute-pair source="PAINTING_ID" target="PAINTING_ID"/>
+	</db-relationship>
+	<db-relationship name="toArtist" source="PAINTING1" target="ARTIST" toMany="false">
+		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
+	</db-relationship>
+	<db-relationship name="painting" source="PAINTING_INFO" target="PAINTING" toMany="false">
+		<db-attribute-pair source="PAINTING_ID" target="PAINTING_ID"/>
+	</db-relationship>
+	<obj-relationship name="artistArray" source="ArtGroup" target="Artist" deleteRule="Nullify" db-relationship-path="artistGroupArray.toArtist"/>
+	<obj-relationship name="childGroupsArray" source="ArtGroup" target="ArtGroup" deleteRule="Nullify" db-relationship-path="toChildGroups"/>
+	<obj-relationship name="toParentGroup" source="ArtGroup" target="ArtGroup" deleteRule="Nullify" db-relationship-path="toParentGroup"/>
+	<obj-relationship name="artistExhibitArray" source="Artist" target="ArtistExhibit" deleteRule="Cascade" db-relationship-path="artistExhibitArray"/>
+	<obj-relationship name="groupArray" source="Artist" target="ArtGroup" deleteRule="Cascade" db-relationship-path="artistGroupArray.toGroup"/>
+	<obj-relationship name="paintingArray" source="Artist" target="Painting" deleteRule="Cascade" db-relationship-path="paintingArray"/>
+	<obj-relationship name="toArtist" source="ArtistExhibit" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toExhibit" source="ArtistExhibit" target="Exhibit" deleteRule="Nullify" db-relationship-path="toExhibit"/>
+	<obj-relationship name="toArtist" source="CompoundPainting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toGallery" source="CompoundPainting" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
+	<obj-relationship name="toPaintingInfo" source="CompoundPainting" target="PaintingInfo" deleteRule="Cascade" db-relationship-path="toPaintingInfo"/>
+	<obj-relationship name="toArtist" source="CompoundPaintingLongNames" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toArtist1" source="CompoundPaintingLongNames" target="ROArtist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toGallery" source="CompoundPaintingLongNames" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
+	<obj-relationship name="toPaintingInfo" source="CompoundPaintingLongNames" target="PaintingInfo" deleteRule="Nullify" db-relationship-path="toPaintingInfo"/>
+	<obj-relationship name="artistExhibitArray" source="Exhibit" target="ArtistExhibit" deleteRule="Cascade" db-relationship-path="artistExhibitArray"/>
+	<obj-relationship name="toGallery" source="Exhibit" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
+	<obj-relationship name="exhibitArray" source="Gallery" target="Exhibit" deleteRule="Cascade" db-relationship-path="exhibitArray"/>
+	<obj-relationship name="paintingArray" source="Gallery" target="Painting" deleteRule="Deny" db-relationship-path="paintingArray"/>
+	<obj-relationship name="toArtist" source="Painting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="toGallery" source="Painting" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
+	<obj-relationship name="toPaintingInfo" source="Painting" target="PaintingInfo" deleteRule="Cascade" db-relationship-path="toPaintingInfo"/>
+	<obj-relationship name="toArtist" source="Painting1" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<obj-relationship name="painting" source="PaintingInfo" target="Painting" deleteRule="Nullify" db-relationship-path="painting"/>
+	<obj-relationship name="paintingArray" source="ROArtist" target="Painting" deleteRule="Deny" db-relationship-path="paintingArray"/>
+	<obj-relationship name="toArtist" source="ROPainting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
+	<query name="EjbqlQueryTest" factory="org.apache.cayenne.map.EjbqlBuilder">
+		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
+		<ejbql><![CDATA[select a from Artist a]]></ejbql>
+	</query>
+	<query name="NonSelectingQuery" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="testmap">
+		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+		<sql><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE)
+VALUES (512, 'No Painting Like This', 12.5)]]></sql>
+		<sql adapter-class="org.apache.cayenne.dba.db2.DB2Adapter"><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) VALUES (512, 'No Painting Like This', 12.5)]]></sql>
+	</query>
+	<query name="ObjectQuery" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Painting">
+		<qualifier><![CDATA[toArtist = $artist]]></qualifier>
+		<ordering><![CDATA[paintingTitle]]></ordering>
+	</query>
+	<query name="ParameterizedNonSelectingQuery" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="testmap">
+		<sql><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE)
+VALUES (#bind($id), #bind($title), #bind($price))]]></sql>
+		<sql adapter-class="org.apache.cayenne.dba.db2.DB2Adapter"><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) values (#bind($id), #bind($title), #bind($price))]]></sql>
+	</query>
+	<query name="ParameterizedQueryWithLocalCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="LOCAL_CACHE"/>
+		<qualifier><![CDATA[artistName like $name]]></qualifier>
+	</query>
+	<query name="ParameterizedQueryWithSharedCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
+		<qualifier><![CDATA[artistName like $name]]></qualifier>
+	</query>
+	<query name="ProcedureQuery" factory="org.apache.cayenne.map.ProcedureQueryBuilder" root="procedure" root-name="cayenne_test_select_proc" result-entity="Artist">
+	</query>
+	<query name="QueryWithLocalCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="LOCAL_CACHE"/>
+	</query>
+	<query name="QueryWithOrdering" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<ordering descending="true" ignore-case="true"><![CDATA[artistName]]></ordering>
+		<ordering><![CDATA[dateOfBirth]]></ordering>
+	</query>
+	<query name="QueryWithPrefetch" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Gallery">
+		<prefetch>paintingArray</prefetch>
+	</query>
+	<query name="QueryWithQualifier" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<qualifier><![CDATA[artistName = $param1]]></qualifier>
+	</query>
+	<query name="QueryWithSharedCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
+		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
+	</query>
+	<query name="SelectTestLower" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="testmap">
+		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="LOWER"/>
+		<sql><![CDATA[select * from ARTIST]]></sql>
+	</query>
+	<query name="SelectTestUpper" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="testmap">
+		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+		<sql><![CDATA[select * from ARTIST]]></sql>
+	</query>
+</data-map>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/things.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/things.map.xml b/cayenne-server/src/test/resources/things.map.xml
new file mode 100644
index 0000000..8cbe47c
--- /dev/null
+++ b/cayenne-server/src/test/resources/things.map.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.things"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="BAG">
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <db-entity name="BALL">
+        <db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="THING_VOLUME" type="INTEGER" isMandatory="true"/>
+        <db-attribute name="THING_WEIGHT" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BOX">
+        <db-attribute name="BAG_ID" type="BIGINT" isMandatory="true"/>
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <db-entity name="BOX_INFO">
+        <db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
+        <db-attribute name="COLOR" type="VARCHAR" isMandatory="true" length="200"/>
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BOX_THING">
+        <db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
+        <db-attribute name="THING_VOLUME" type="INTEGER" isMandatory="true"/>
+        <db-attribute name="THING_WEIGHT" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="THING">
+        <db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="VOLUME" type="INTEGER" isMandatory="true"/>
+        <db-attribute name="WEIGHT" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="Bag" className="org.apache.cayenne.testdo.things.Bag" clientClassName="test.client.Bag" dbEntityName="BAG" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="Ball" className="org.apache.cayenne.testdo.things.Ball" clientClassName="test.client.Ball" dbEntityName="BALL" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="thingVolume" type="java.lang.Integer" db-attribute-path="THING_VOLUME"/>
+        <obj-attribute name="thingWeight" type="java.lang.Integer" db-attribute-path="THING_WEIGHT"/>
+    </obj-entity>
+    <obj-entity name="Box" className="org.apache.cayenne.testdo.things.Box" clientClassName="test.client.Box" dbEntityName="BOX" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="BoxInfo" className="org.apache.cayenne.testdo.things.BoxInfo" clientClassName="test.client.BoxInfo" dbEntityName="BOX_INFO" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="color" type="java.lang.String" db-attribute-path="COLOR"/>
+    </obj-entity>
+    <obj-entity name="Thing" className="org.apache.cayenne.testdo.things.Thing" clientClassName="test.client.Thing" dbEntityName="THING" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="volume" type="java.lang.Integer" db-attribute-path="VOLUME"/>
+        <obj-attribute name="weight" type="java.lang.Integer" db-attribute-path="WEIGHT"/>
+    </obj-entity>
+    <db-relationship name="BOXES" source="BAG" target="BOX" toMany="true">
+        <db-attribute-pair source="ID" target="BAG_ID"/>
+    </db-relationship>
+    <db-relationship name="BOX" source="BALL" target="BOX" toMany="false">
+        <db-attribute-pair source="BOX_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="THING" source="BALL" target="THING" toMany="false">
+        <db-attribute-pair source="THING_VOLUME" target="VOLUME"/>
+        <db-attribute-pair source="THING_WEIGHT" target="WEIGHT"/>
+    </db-relationship>
+    <db-relationship name="BAG" source="BOX" target="BAG" toMany="false">
+        <db-attribute-pair source="BAG_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="BALLS" source="BOX" target="BALL" toMany="true">
+        <db-attribute-pair source="ID" target="BOX_ID"/>
+    </db-relationship>
+    <db-relationship name="BOX_INFO" source="BOX" target="BOX_INFO" toMany="false">
+        <db-attribute-pair source="ID" target="BOX_ID"/>
+    </db-relationship>
+    <db-relationship name="BOX_THING" source="BOX" target="BOX_THING" toMany="true">
+        <db-attribute-pair source="ID" target="BOX_ID"/>
+    </db-relationship>
+    <db-relationship name="BOX" source="BOX_INFO" target="BOX" toMany="false">
+        <db-attribute-pair source="BOX_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="BOX" source="BOX_THING" target="BOX" toMany="false">
+        <db-attribute-pair source="BOX_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="THING" source="BOX_THING" target="THING" toMany="false">
+        <db-attribute-pair source="THING_VOLUME" target="VOLUME"/>
+        <db-attribute-pair source="THING_WEIGHT" target="WEIGHT"/>
+    </db-relationship>
+    <db-relationship name="BALL" source="THING" target="BALL" toMany="false">
+        <db-attribute-pair source="VOLUME" target="THING_VOLUME"/>
+        <db-attribute-pair source="WEIGHT" target="THING_WEIGHT"/>
+    </db-relationship>
+    <db-relationship name="BOX_THING" source="THING" target="BOX_THING" toMany="true">
+        <db-attribute-pair source="VOLUME" target="THING_VOLUME"/>
+        <db-attribute-pair source="WEIGHT" target="THING_WEIGHT"/>
+    </db-relationship>
+    <obj-relationship name="balls" source="Bag" target="Ball" deleteRule="Deny" db-relationship-path="BOXES.BALLS"/>
+    <obj-relationship name="boxes" source="Bag" target="Box" deleteRule="Deny" db-relationship-path="BOXES"/>
+    <obj-relationship name="things" source="Bag" target="Thing" deleteRule="Deny" db-relationship-path="BOXES.BOX_THING.THING"/>
+    <obj-relationship name="box" source="Ball" target="Box" deleteRule="Nullify" db-relationship-path="BOX"/>
+    <obj-relationship name="thing" source="Ball" target="Thing" deleteRule="Nullify" db-relationship-path="THING"/>
+    <obj-relationship name="bag" source="Box" target="Bag" deleteRule="Nullify" db-relationship-path="BAG"/>
+    <obj-relationship name="balls" source="Box" target="Ball" deleteRule="Deny" db-relationship-path="BALLS"/>
+    <obj-relationship name="boxInfo" source="Box" target="BoxInfo" deleteRule="Deny" db-relationship-path="BOX_INFO"/>
+    <obj-relationship name="things" source="Box" target="Thing" deleteRule="Deny" db-relationship-path="BOX_THING.THING"/>
+    <obj-relationship name="box" source="BoxInfo" target="Box" deleteRule="Nullify" db-relationship-path="BOX"/>
+    <obj-relationship name="ball" source="Thing" target="Ball" deleteRule="Nullify" db-relationship-path="BALL"/>
+    <obj-relationship name="box" source="Thing" target="Box" deleteRule="Deny" db-relationship-path="BOX_THING.BOX"/>
+</data-map>
\ No newline at end of file


[43/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity1.java
deleted file mode 100644
index fc5f8b0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity1.java
+++ /dev/null
@@ -1,25 +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.testdo.horizontalinherit;
-
-import org.apache.cayenne.testdo.horizontalinherit.auto._SubEntity1;
-
-public class SubEntity1 extends _SubEntity1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity2.java
deleted file mode 100644
index cd37042..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity2.java
+++ /dev/null
@@ -1,25 +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.testdo.horizontalinherit;
-
-import org.apache.cayenne.testdo.horizontalinherit.auto._SubEntity2;
-
-public class SubEntity2 extends _SubEntity2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity3.java
deleted file mode 100644
index c12f956..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/SubEntity3.java
+++ /dev/null
@@ -1,25 +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.testdo.horizontalinherit;
-
-import org.apache.cayenne.testdo.horizontalinherit.auto._SubEntity3;
-
-public class SubEntity3 extends _SubEntity3 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_AbstractSuperEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_AbstractSuperEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_AbstractSuperEntity.java
deleted file mode 100644
index bde41fd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_AbstractSuperEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.horizontalinherit.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _AbstractSuperEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _AbstractSuperEntity extends CayenneDataObject {
-
-    public static final String SUPER_INT_ATTR_PROPERTY = "superIntAttr";
-    public static final String SUPER_STRING_ATTR_PROPERTY = "superStringAttr";
-
-
-    public void setSuperIntAttr(int superIntAttr) {
-        writeProperty("superIntAttr", superIntAttr);
-    }
-    public int getSuperIntAttr() {
-        Object value = readProperty("superIntAttr");
-        return (value != null) ? (Integer) value : 0;
-    }
-
-    public void setSuperStringAttr(String superStringAttr) {
-        writeProperty("superStringAttr", superStringAttr);
-    }
-    public String getSuperStringAttr() {
-        return (String)readProperty("superStringAttr");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity1.java
deleted file mode 100644
index 124fb68..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.horizontalinherit.auto;
-
-import org.apache.cayenne.testdo.horizontalinherit.AbstractSuperEntity;
-
-/**
- * Class _SubEntity1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _SubEntity1 extends AbstractSuperEntity {
-
-    public static final String SUB_ENTITY_STRING_ATTR_PROPERTY = "subEntityStringAttr";
-
-    public static final String ID_PK_COLUMN = "id";
-
-    public void setSubEntityStringAttr(String subEntityStringAttr) {
-        writeProperty("subEntityStringAttr", subEntityStringAttr);
-    }
-    public String getSubEntityStringAttr() {
-        return (String)readProperty("subEntityStringAttr");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity2.java
deleted file mode 100644
index b08b0b0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity2.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.cayenne.testdo.horizontalinherit.auto;
-
-import org.apache.cayenne.testdo.horizontalinherit.AbstractSuperEntity;
-
-/**
- * Class _SubEntity2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _SubEntity2 extends AbstractSuperEntity {
-
-    public static final String SUB_ENTITY_INT_ATTR_PROPERTY = "subEntityIntAttr";
-
-    public static final String ID_PK_COLUMN = "id";
-
-    public void setSubEntityIntAttr(int subEntityIntAttr) {
-        writeProperty("subEntityIntAttr", subEntityIntAttr);
-    }
-    public int getSubEntityIntAttr() {
-        Object value = readProperty("subEntityIntAttr");
-        return (value != null) ? (Integer) value : 0;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity3.java
deleted file mode 100644
index 29e3c61..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/auto/_SubEntity3.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.apache.cayenne.testdo.horizontalinherit.auto;
-
-import org.apache.cayenne.testdo.horizontalinherit.AbstractSuperEntity;
-
-/**
- * Class _SubEntity3 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _SubEntity3 extends AbstractSuperEntity {
-
-    public static final String SUB_BOOLEAN_ATTR_PROPERTY = "subBooleanAttr";
-
-    public static final String ID_PK_COLUMN = "id";
-
-    public void setSubBooleanAttr(boolean subBooleanAttr) {
-        writeProperty("subBooleanAttr", subBooleanAttr);
-    }
-	public boolean isSubBooleanAttr() {
-        Boolean value = (Boolean)readProperty("subBooleanAttr");
-        return (value != null) ? value.booleanValue() : false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/AbstractSuperEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/AbstractSuperEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/AbstractSuperEntity.java
new file mode 100644
index 0000000..cde9a16
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/AbstractSuperEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_horizontal;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.auto._AbstractSuperEntity;
+
+public abstract class AbstractSuperEntity extends _AbstractSuperEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity1.java
new file mode 100644
index 0000000..7f34015
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity1.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_horizontal;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.auto._SubEntity1;
+
+public class SubEntity1 extends _SubEntity1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity2.java
new file mode 100644
index 0000000..9fd6eef
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity2.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_horizontal;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.auto._SubEntity2;
+
+public class SubEntity2 extends _SubEntity2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity3.java
new file mode 100644
index 0000000..1c222c1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/SubEntity3.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_horizontal;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.auto._SubEntity3;
+
+public class SubEntity3 extends _SubEntity3 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_AbstractSuperEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_AbstractSuperEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_AbstractSuperEntity.java
new file mode 100644
index 0000000..169b93f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_AbstractSuperEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance_horizontal.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _AbstractSuperEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _AbstractSuperEntity extends CayenneDataObject {
+
+    public static final String SUPER_INT_ATTR_PROPERTY = "superIntAttr";
+    public static final String SUPER_STRING_ATTR_PROPERTY = "superStringAttr";
+
+
+    public void setSuperIntAttr(int superIntAttr) {
+        writeProperty("superIntAttr", superIntAttr);
+    }
+    public int getSuperIntAttr() {
+        Object value = readProperty("superIntAttr");
+        return (value != null) ? (Integer) value : 0;
+    }
+
+    public void setSuperStringAttr(String superStringAttr) {
+        writeProperty("superStringAttr", superStringAttr);
+    }
+    public String getSuperStringAttr() {
+        return (String)readProperty("superStringAttr");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity1.java
new file mode 100644
index 0000000..d637c6a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity1.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.inheritance_horizontal.auto;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.AbstractSuperEntity;
+
+/**
+ * Class _SubEntity1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _SubEntity1 extends AbstractSuperEntity {
+
+    public static final String SUB_ENTITY_STRING_ATTR_PROPERTY = "subEntityStringAttr";
+
+    public static final String ID_PK_COLUMN = "id";
+
+    public void setSubEntityStringAttr(String subEntityStringAttr) {
+        writeProperty("subEntityStringAttr", subEntityStringAttr);
+    }
+    public String getSubEntityStringAttr() {
+        return (String)readProperty("subEntityStringAttr");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity2.java
new file mode 100644
index 0000000..80e0ac3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity2.java
@@ -0,0 +1,25 @@
+package org.apache.cayenne.testdo.inheritance_horizontal.auto;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.AbstractSuperEntity;
+
+/**
+ * Class _SubEntity2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _SubEntity2 extends AbstractSuperEntity {
+
+    public static final String SUB_ENTITY_INT_ATTR_PROPERTY = "subEntityIntAttr";
+
+    public static final String ID_PK_COLUMN = "id";
+
+    public void setSubEntityIntAttr(int subEntityIntAttr) {
+        writeProperty("subEntityIntAttr", subEntityIntAttr);
+    }
+    public int getSubEntityIntAttr() {
+        Object value = readProperty("subEntityIntAttr");
+        return (value != null) ? (Integer) value : 0;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity3.java
new file mode 100644
index 0000000..f2d6d98
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_horizontal/auto/_SubEntity3.java
@@ -0,0 +1,25 @@
+package org.apache.cayenne.testdo.inheritance_horizontal.auto;
+
+import org.apache.cayenne.testdo.inheritance_horizontal.AbstractSuperEntity;
+
+/**
+ * Class _SubEntity3 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _SubEntity3 extends AbstractSuperEntity {
+
+    public static final String SUB_BOOLEAN_ATTR_PROPERTY = "subBooleanAttr";
+
+    public static final String ID_PK_COLUMN = "id";
+
+    public void setSubBooleanAttr(boolean subBooleanAttr) {
+        writeProperty("subBooleanAttr", subBooleanAttr);
+    }
+	public boolean isSubBooleanAttr() {
+        Boolean value = (Boolean)readProperty("subBooleanAttr");
+        return (value != null) ? value.booleanValue() : false;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/BlobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/BlobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/BlobTestEntity.java
new file mode 100644
index 0000000..788bd7b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/BlobTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.lob;
+
+import org.apache.cayenne.testdo.lob.auto._BlobTestEntity;
+
+public class BlobTestEntity extends _BlobTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestEntity.java
new file mode 100644
index 0000000..b6ae490
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.lob;
+
+import org.apache.cayenne.testdo.lob.auto._ClobTestEntity;
+
+public class ClobTestEntity extends _ClobTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestRelation.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestRelation.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestRelation.java
new file mode 100644
index 0000000..61027cf
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/ClobTestRelation.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.lob;
+
+import org.apache.cayenne.testdo.lob.auto._ClobTestRelation;
+
+public class ClobTestRelation extends _ClobTestRelation {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_BlobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_BlobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_BlobTestEntity.java
new file mode 100644
index 0000000..458574c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_BlobTestEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.lob.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BlobTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BlobTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BLOB_COL_PROPERTY = "blobCol";
+
+    public static final String BLOB_TEST_ID_PK_COLUMN = "BLOB_TEST_ID";
+
+    public static final Property<byte[]> BLOB_COL = new Property<byte[]>("blobCol");
+
+    public void setBlobCol(byte[] blobCol) {
+        writeProperty("blobCol", blobCol);
+    }
+    public byte[] getBlobCol() {
+        return (byte[])readProperty("blobCol");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestEntity.java
new file mode 100644
index 0000000..ad745fe
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestEntity.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.lob.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.lob.ClobTestRelation;
+
+/**
+ * Class _ClobTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ClobTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String CLOB_COL_PROPERTY = "clobCol";
+    @Deprecated
+    public static final String CLOB_VALUE_PROPERTY = "clobValue";
+
+    public static final String CLOB_TEST_ID_PK_COLUMN = "CLOB_TEST_ID";
+
+    public static final Property<String> CLOB_COL = new Property<String>("clobCol");
+    public static final Property<List<ClobTestRelation>> CLOB_VALUE = new Property<List<ClobTestRelation>>("clobValue");
+
+    public void setClobCol(String clobCol) {
+        writeProperty("clobCol", clobCol);
+    }
+    public String getClobCol() {
+        return (String)readProperty("clobCol");
+    }
+
+    public void addToClobValue(ClobTestRelation obj) {
+        addToManyTarget("clobValue", obj, true);
+    }
+    public void removeFromClobValue(ClobTestRelation obj) {
+        removeToManyTarget("clobValue", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<ClobTestRelation> getClobValue() {
+        return (List<ClobTestRelation>)readProperty("clobValue");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestRelation.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestRelation.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestRelation.java
new file mode 100644
index 0000000..0316e78
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lob/auto/_ClobTestRelation.java
@@ -0,0 +1,53 @@
+package org.apache.cayenne.testdo.lob.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
+
+/**
+ * Class _ClobTestRelation was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ClobTestRelation extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String ID_PROPERTY = "id";
+    @Deprecated
+    public static final String VALUE_PROPERTY = "value";
+    @Deprecated
+    public static final String CLOB_ID_PROPERTY = "clobId";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Integer> ID = new Property<Integer>("id");
+    public static final Property<Integer> VALUE = new Property<Integer>("value");
+    public static final Property<ClobTestEntity> CLOB_ID = new Property<ClobTestEntity>("clobId");
+
+    public void setId(Integer id) {
+        writeProperty("id", id);
+    }
+    public Integer getId() {
+        return (Integer)readProperty("id");
+    }
+
+    public void setValue(Integer value) {
+        writeProperty("value", value);
+    }
+    public Integer getValue() {
+        return (Integer)readProperty("value");
+    }
+
+    public void setClobId(ClobTestEntity clobId) {
+        setToOneTarget("clobId", clobId, true);
+    }
+
+    public ClobTestEntity getClobId() {
+        return (ClobTestEntity)readProperty("clobId");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKDep.java
new file mode 100644
index 0000000..1c2c251
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKDep.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.meaningful_pk;
+
+import org.apache.cayenne.testdo.meaningful_pk.auto._MeaningfulPKDep;
+
+public class MeaningfulPKDep extends _MeaningfulPKDep {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKTest1.java
new file mode 100644
index 0000000..1b4cbcc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPKTest1.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.meaningful_pk;
+
+import org.apache.cayenne.testdo.meaningful_pk.auto._MeaningfulPKTest1;
+
+public class MeaningfulPKTest1 extends _MeaningfulPKTest1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKDep.java
new file mode 100644
index 0000000..d390a37
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKDep.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.meaningful_pk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
+
+/**
+ * Class _MeaningfulPKDep was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _MeaningfulPKDep extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DESCR_PROPERTY = "descr";
+    @Deprecated
+    public static final String TO_MEANINGFUL_PK_PROPERTY = "toMeaningfulPK";
+
+    public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
+
+    public static final Property<String> DESCR = new Property<String>("descr");
+    public static final Property<MeaningfulPKTest1> TO_MEANINGFUL_PK = new Property<MeaningfulPKTest1>("toMeaningfulPK");
+
+    public void setDescr(String descr) {
+        writeProperty("descr", descr);
+    }
+    public String getDescr() {
+        return (String)readProperty("descr");
+    }
+
+    public void setToMeaningfulPK(MeaningfulPKTest1 toMeaningfulPK) {
+        setToOneTarget("toMeaningfulPK", toMeaningfulPK, true);
+    }
+
+    public MeaningfulPKTest1 getToMeaningfulPK() {
+        return (MeaningfulPKTest1)readProperty("toMeaningfulPK");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKTest1.java
new file mode 100644
index 0000000..ea6ab42
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPKTest1.java
@@ -0,0 +1,58 @@
+package org.apache.cayenne.testdo.meaningful_pk.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep;
+
+/**
+ * Class _MeaningfulPKTest1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _MeaningfulPKTest1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DESCR_PROPERTY = "descr";
+    @Deprecated
+    public static final String PK_ATTRIBUTE_PROPERTY = "pkAttribute";
+    @Deprecated
+    public static final String MEANINGFUL_PKDEP_ARRAY_PROPERTY = "meaningfulPKDepArray";
+
+    public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
+
+    public static final Property<String> DESCR = new Property<String>("descr");
+    public static final Property<Integer> PK_ATTRIBUTE = new Property<Integer>("pkAttribute");
+    public static final Property<List<MeaningfulPKDep>> MEANINGFUL_PKDEP_ARRAY = new Property<List<MeaningfulPKDep>>("meaningfulPKDepArray");
+
+    public void setDescr(String descr) {
+        writeProperty("descr", descr);
+    }
+    public String getDescr() {
+        return (String)readProperty("descr");
+    }
+
+    public void setPkAttribute(Integer pkAttribute) {
+        writeProperty("pkAttribute", pkAttribute);
+    }
+    public Integer getPkAttribute() {
+        return (Integer)readProperty("pkAttribute");
+    }
+
+    public void addToMeaningfulPKDepArray(MeaningfulPKDep obj) {
+        addToManyTarget("meaningfulPKDepArray", obj, true);
+    }
+    public void removeFromMeaningfulPKDepArray(MeaningfulPKDep obj) {
+        removeToManyTarget("meaningfulPKDepArray", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<MeaningfulPKDep> getMeaningfulPKDepArray() {
+        return (List<MeaningfulPKDep>)readProperty("meaningfulPKDepArray");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/ArraysEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/ArraysEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/ArraysEntity.java
new file mode 100644
index 0000000..e2d82e4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/ArraysEntity.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.testdo.misc_types;
+
+import org.apache.cayenne.testdo.misc_types.auto._ArraysEntity;
+
+public class ArraysEntity extends _ArraysEntity {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/CharacterEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/CharacterEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/CharacterEntity.java
new file mode 100644
index 0000000..725f437
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/CharacterEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.misc_types;
+
+import org.apache.cayenne.testdo.misc_types.auto._CharacterEntity;
+
+public class CharacterEntity extends _CharacterEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/SerializableEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/SerializableEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/SerializableEntity.java
new file mode 100644
index 0000000..9a46f5d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/SerializableEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.misc_types;
+
+import org.apache.cayenne.testdo.misc_types.auto._SerializableEntity;
+
+public class SerializableEntity extends _SerializableEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_ArraysEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_ArraysEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_ArraysEntity.java
new file mode 100644
index 0000000..dae0afc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_ArraysEntity.java
@@ -0,0 +1,60 @@
+package org.apache.cayenne.testdo.misc_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _ArraysEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ArraysEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BYTE_ARRAY_PROPERTY = "byteArray";
+    @Deprecated
+    public static final String BYTE_WRAPPER_ARRAY_PROPERTY = "byteWrapperArray";
+    @Deprecated
+    public static final String CHAR_ARRAY_PROPERTY = "charArray";
+    @Deprecated
+    public static final String CHAR_WRAPPER_ARRAY_PROPERTY = "charWrapperArray";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<byte[]> BYTE_ARRAY = new Property<byte[]>("byteArray");
+    public static final Property<Byte[]> BYTE_WRAPPER_ARRAY = new Property<Byte[]>("byteWrapperArray");
+    public static final Property<char[]> CHAR_ARRAY = new Property<char[]>("charArray");
+    public static final Property<Character[]> CHAR_WRAPPER_ARRAY = new Property<Character[]>("charWrapperArray");
+
+    public void setByteArray(byte[] byteArray) {
+        writeProperty("byteArray", byteArray);
+    }
+    public byte[] getByteArray() {
+        return (byte[])readProperty("byteArray");
+    }
+
+    public void setByteWrapperArray(Byte[] byteWrapperArray) {
+        writeProperty("byteWrapperArray", byteWrapperArray);
+    }
+    public Byte[] getByteWrapperArray() {
+        return (Byte[])readProperty("byteWrapperArray");
+    }
+
+    public void setCharArray(char[] charArray) {
+        writeProperty("charArray", charArray);
+    }
+    public char[] getCharArray() {
+        return (char[])readProperty("charArray");
+    }
+
+    public void setCharWrapperArray(Character[] charWrapperArray) {
+        writeProperty("charWrapperArray", charWrapperArray);
+    }
+    public Character[] getCharWrapperArray() {
+        return (Character[])readProperty("charWrapperArray");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_CharacterEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_CharacterEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_CharacterEntity.java
new file mode 100644
index 0000000..50b240a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_CharacterEntity.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.misc_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _CharacterEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _CharacterEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String CHARACTER_FIELD_PROPERTY = "characterField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Character> CHARACTER_FIELD = new Property<Character>("characterField");
+
+    public void setCharacterField(Character characterField) {
+        writeProperty("characterField", characterField);
+    }
+    public Character getCharacterField() {
+        return (Character)readProperty("characterField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_SerializableEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_SerializableEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_SerializableEntity.java
new file mode 100644
index 0000000..5d1efa1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/misc_types/auto/_SerializableEntity.java
@@ -0,0 +1,31 @@
+package org.apache.cayenne.testdo.misc_types.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.MockSerializable;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _SerializableEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _SerializableEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String SERIALIZABLE_FIELD_PROPERTY = "serializableField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<MockSerializable> SERIALIZABLE_FIELD = new Property<MockSerializable>("serializableField");
+
+    public void setSerializableField(MockSerializable serializableField) {
+        writeProperty("serializableField", serializableField);
+    }
+    public MockSerializable getSerializableField() {
+        return (MockSerializable)readProperty("serializableField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy.java
new file mode 100644
index 0000000..cdc9290
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy.java
@@ -0,0 +1,35 @@
+/*****************************************************************
+ *   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.testdo.mixed_persistence_strategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.cayenne.testdo.mixed_persistence_strategy.auto._MixedPersistenceStrategy;
+
+public class MixedPersistenceStrategy extends _MixedPersistenceStrategy {
+
+    // a private variable that intentionally mirrors the name of the persistent property
+    // to create a "conflict"
+    private List details = new ArrayList();
+    
+    public List getIvarDetails() {
+        return details;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy2.java
new file mode 100644
index 0000000..15a6884
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/MixedPersistenceStrategy2.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.mixed_persistence_strategy;
+
+import org.apache.cayenne.testdo.mixed_persistence_strategy.auto._MixedPersistenceStrategy2;
+
+public class MixedPersistenceStrategy2 extends _MixedPersistenceStrategy2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy.java
new file mode 100644
index 0000000..c664ff2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy.java
@@ -0,0 +1,58 @@
+package org.apache.cayenne.testdo.mixed_persistence_strategy.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2;
+
+/**
+ * Class _MixedPersistenceStrategy was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _MixedPersistenceStrategy extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DESCRIPTION_PROPERTY = "description";
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String DETAILS_PROPERTY = "details";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> DESCRIPTION = new Property<String>("description");
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<MixedPersistenceStrategy2>> DETAILS = new Property<List<MixedPersistenceStrategy2>>("details");
+
+    public void setDescription(String description) {
+        writeProperty("description", description);
+    }
+    public String getDescription() {
+        return (String)readProperty("description");
+    }
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void addToDetails(MixedPersistenceStrategy2 obj) {
+        addToManyTarget("details", obj, true);
+    }
+    public void removeFromDetails(MixedPersistenceStrategy2 obj) {
+        removeToManyTarget("details", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<MixedPersistenceStrategy2> getDetails() {
+        return (List<MixedPersistenceStrategy2>)readProperty("details");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy2.java
new file mode 100644
index 0000000..0fab028
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mixed_persistence_strategy/auto/_MixedPersistenceStrategy2.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.mixed_persistence_strategy.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy;
+
+/**
+ * Class _MixedPersistenceStrategy2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _MixedPersistenceStrategy2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String MASTER_PROPERTY = "master";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<MixedPersistenceStrategy> MASTER = new Property<MixedPersistenceStrategy>("master");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setMaster(MixedPersistenceStrategy master) {
+        setToOneTarget("master", master, true);
+    }
+
+    public MixedPersistenceStrategy getMaster() {
+        return (MixedPersistenceStrategy)readProperty("master");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/NoPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/NoPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/NoPkTestEntity.java
new file mode 100644
index 0000000..7e05dd3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/NoPkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.no_pk;
+
+import org.apache.cayenne.testdo.no_pk.auto._NoPkTestEntity;
+
+public class NoPkTestEntity extends _NoPkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/auto/_NoPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/auto/_NoPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/auto/_NoPkTestEntity.java
new file mode 100644
index 0000000..2cfbe63
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/no_pk/auto/_NoPkTestEntity.java
@@ -0,0 +1,29 @@
+package org.apache.cayenne.testdo.no_pk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _NoPkTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _NoPkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String ATTRIBUTE1_PROPERTY = "attribute1";
+
+
+    public static final Property<Integer> ATTRIBUTE1 = new Property<Integer>("attribute1");
+
+    public void setAttribute1(Integer attribute1) {
+        writeProperty("attribute1", attribute1);
+    }
+    public Integer getAttribute1() {
+        return (Integer)readProperty("attribute1");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigDecimalEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigDecimalEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigDecimalEntity.java
new file mode 100644
index 0000000..ea23806
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigDecimalEntity.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BigDecimalEntity;
+
+public class BigDecimalEntity extends _BigDecimalEntity {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigIntegerEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigIntegerEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigIntegerEntity.java
new file mode 100644
index 0000000..6b0867a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BigIntegerEntity.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BigIntegerEntity;
+
+public class BigIntegerEntity extends _BigIntegerEntity {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitNumberTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitNumberTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitNumberTestEntity.java
new file mode 100644
index 0000000..ab52725
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitNumberTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BitNumberTestEntity;
+
+public class BitNumberTestEntity extends _BitNumberTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitTestEntity.java
new file mode 100644
index 0000000..362936c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BitTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BitTestEntity;
+
+public class BitTestEntity extends _BitTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BooleanTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BooleanTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BooleanTestEntity.java
new file mode 100644
index 0000000..e944261
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/BooleanTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._BooleanTestEntity;
+
+public class BooleanTestEntity extends _BooleanTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTest1.java
new file mode 100644
index 0000000..f9d4b8d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTest1.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._DecimalPKTest1;
+
+public class DecimalPKTest1 extends _DecimalPKTest1 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTestEntity.java
new file mode 100644
index 0000000..c899b28
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/DecimalPKTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._DecimalPKTestEntity;
+
+public class DecimalPKTestEntity extends _DecimalPKTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/LongEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/LongEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/LongEntity.java
new file mode 100644
index 0000000..34a43b8
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/LongEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._LongEntity;
+
+public class LongEntity extends _LongEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/SmallintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/SmallintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/SmallintTestEntity.java
new file mode 100644
index 0000000..6642cbd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/SmallintTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._SmallintTestEntity;
+
+public class SmallintTestEntity extends _SmallintTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/TinyintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/TinyintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/TinyintTestEntity.java
new file mode 100644
index 0000000..75e9ecd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/TinyintTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.numeric_types;
+
+import org.apache.cayenne.testdo.numeric_types.auto._TinyintTestEntity;
+
+public class TinyintTestEntity extends _TinyintTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigDecimalEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigDecimalEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigDecimalEntity.java
new file mode 100644
index 0000000..dc6d5bb
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigDecimalEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import java.math.BigDecimal;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BigDecimalEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BigDecimalEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIG_DECIMAL_FIELD_PROPERTY = "bigDecimalField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<BigDecimal> BIG_DECIMAL_FIELD = new Property<BigDecimal>("bigDecimalField");
+
+    public void setBigDecimalField(BigDecimal bigDecimalField) {
+        writeProperty("bigDecimalField", bigDecimalField);
+    }
+    public BigDecimal getBigDecimalField() {
+        return (BigDecimal)readProperty("bigDecimalField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigIntegerEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigIntegerEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigIntegerEntity.java
new file mode 100644
index 0000000..2d9d988
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/numeric_types/auto/_BigIntegerEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.numeric_types.auto;
+
+import java.math.BigInteger;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _BigIntegerEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BigIntegerEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String BIG_INTEGER_FIELD_PROPERTY = "bigIntegerField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<BigInteger> BIG_INTEGER_FIELD = new Property<BigInteger>("bigIntegerField");
+
+    public void setBigIntegerField(BigInteger bigIntegerField) {
+        writeProperty("bigIntegerField", bigIntegerField);
+    }
+    public BigInteger getBigIntegerField() {
+        return (BigInteger)readProperty("bigIntegerField");
+    }
+
+}


[37/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/tstmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/tstmap.map.xml b/cayenne-server/src/test/resources/tstmap.map.xml
deleted file mode 100644
index 2539b3e..0000000
--- a/cayenne-server/src/test/resources/tstmap.map.xml
+++ /dev/null
@@ -1,868 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
-	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
-	 project-version="7">
-	<property name="defaultPackage" value="org.apache.cayenne.testdo.testmap"/>
-	<property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
-	<property name="clientSupported" value="true"/>
-	<property name="defaultClientPackage" value="test.client"/>
-	<property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
-	<procedure name="cayenne_tst_out_proc">
-		<procedure-parameter name="in_param" type="INTEGER" direction="in"/>
-		<procedure-parameter name="out_param" type="INTEGER" direction="out"/>
-	</procedure>
-	<procedure name="cayenne_tst_select_proc">
-		<procedure-parameter name="aName" type="VARCHAR" length="254" direction="in"/>
-		<procedure-parameter name="paintingPrice" type="INTEGER" direction="in"/>
-	</procedure>
-	<procedure name="cayenne_tst_upd_proc">
-		<procedure-parameter name="paintingPrice" type="INTEGER" direction="in"/>
-	</procedure>
-	<procedure name="cayenne_tst_upd_proc2">
-	</procedure>
-	<db-entity name="ARRAYS_ENTITY">
-		<db-attribute name="BYTE_ARRAY" type="VARBINARY" length="200"/>
-		<db-attribute name="BYTE_WRAPPER_ARRAY" type="VARBINARY" length="200"/>
-		<db-attribute name="CHAR_ARRAY" type="VARCHAR" length="200"/>
-		<db-attribute name="CHAR_WRAPPER_ARRAY" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="ARTGROUP">
-		<db-attribute name="GROUP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-		<db-attribute name="PARENT_GROUP_ID" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="ARTIST">
-		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="ARTIST_NAME" type="CHAR" isMandatory="true" length="254"/>
-		<db-attribute name="DATE_OF_BIRTH" type="DATE"/>
-	</db-entity>
-	<db-entity name="ARTIST_CT">
-		<db-attribute name="ARTIST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="ARTIST_NAME" type="CHAR" isMandatory="true" length="254"/>
-		<db-attribute name="DATE_OF_BIRTH" type="DATE"/>
-	</db-entity>
-	<db-entity name="ARTIST_EXHIBIT">
-		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="EXHIBIT_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="ARTIST_GROUP">
-		<db-attribute name="ARTIST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="GROUP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BAG">
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="BALL">
-		<db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="THING_VOLUME" type="INTEGER" isMandatory="true"/>
-		<db-attribute name="THING_WEIGHT" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BIGDECIMAL_ENTITY">
-		<db-attribute name="BIGDECIMAL_FIELD" type="NUMERIC" length="12" scale="2"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BIGINTEGER_ENTITY">
-		<db-attribute name="BIG_INTEGER_FIELD" type="BIGINT"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BINARY_PK_TEST1">
-		<db-attribute name="BIN_ID" type="VARBINARY" isPrimaryKey="true" isMandatory="true" length="32"/>
-		<db-attribute name="NAME" type="VARCHAR" length="10"/>
-	</db-entity>
-	<db-entity name="BINARY_PK_TEST2">
-		<db-attribute name="DETAIL_NAME" type="VARCHAR" length="10"/>
-		<db-attribute name="FK_ID" type="VARBINARY" length="32"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BIT_TEST">
-		<db-attribute name="BIT_COLUMN" type="BIT" isMandatory="true"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BLOB_TEST">
-		<db-attribute name="BLOB_COL" type="BLOB"/>
-		<db-attribute name="BLOB_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BOOLEAN_TEST">
-		<db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN" isMandatory="true"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BOX">
-		<db-attribute name="BAG_ID" type="BIGINT" isMandatory="true"/>
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="BOX_INFO">
-		<db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
-		<db-attribute name="COLOR" type="VARCHAR" isMandatory="true" length="200"/>
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="BOX_THING">
-		<db-attribute name="BOX_ID" type="BIGINT" isMandatory="true"/>
-		<db-attribute name="THING_VOLUME" type="INTEGER" isMandatory="true"/>
-		<db-attribute name="THING_WEIGHT" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CALENDAR_TEST">
-		<db-attribute name="CALENDAR_FIELD" type="TIMESTAMP"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CHARACTER_ENTITY">
-		<db-attribute name="CHARACTER_FIELD" type="CHAR" length="1"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CHAR_FK_TEST">
-		<db-attribute name="FK_COL" type="CHAR" length="10"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-		<db-attribute name="PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CHAR_PK_TEST">
-		<db-attribute name="OTHER_COL" type="CHAR" length="10"/>
-		<db-attribute name="PK_COL" type="CHAR" isPrimaryKey="true" isMandatory="true" length="10"/>
-	</db-entity>
-	<db-entity name="CLOB_TEST">
-		<db-attribute name="CLOB_COL" type="CLOB"/>
-		<db-attribute name="CLOB_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="CLOB_TEST_RELATION">
-		<db-attribute name="CVALUE" type="INTEGER"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="ID_CLOB" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="COMPOUND_FK_TEST">
-		<db-attribute name="F_KEY1" type="VARCHAR" length="20"/>
-		<db-attribute name="F_KEY2" type="VARCHAR" length="20"/>
-		<db-attribute name="NAME" type="VARCHAR" length="255"/>
-		<db-attribute name="PKEY" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="COMPOUND_PK_TEST">
-		<db-attribute name="KEY1" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="20"/>
-		<db-attribute name="KEY2" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="20"/>
-		<db-attribute name="NAME" type="VARCHAR" length="255"/>
-	</db-entity>
-	<db-entity name="DATE_TEST">
-		<db-attribute name="DATE_COLUMN" type="DATE"/>
-		<db-attribute name="DATE_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="TIMESTAMP_COLUMN" type="TIMESTAMP"/>
-		<db-attribute name="TIME_COLUMN" type="TIME"/>
-	</db-entity>
-	<db-entity name="DECIMAL_PK_TST">
-		<db-attribute name="DECIMAL_PK" type="DECIMAL" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="ENUM_ENTITY">
-		<db-attribute name="ENUM_ATTRIBUTE" type="VARCHAR" length="250"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="EXHIBIT">
-		<db-attribute name="CLOSING_DATE" type="TIMESTAMP" isMandatory="true"/>
-		<db-attribute name="EXHIBIT_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="GALLERY_ID" type="INTEGER" isMandatory="true"/>
-		<db-attribute name="OPENING_DATE" type="TIMESTAMP" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="EXTENDED_TYPE_TEST">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="FLOAT_TEST">
-		<db-attribute name="FLOAT_COL" type="FLOAT"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="GALLERY">
-		<db-attribute name="GALLERY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="GALLERY_NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_COMP_KEY">
-		<db-attribute name="AUTO_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-		<db-attribute name="PROPAGATED_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_COMP_M">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_DEP">
-		<db-attribute name="GENERATED_COLUMN_FK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_TEST">
-		<db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="250"/>
-	</db-entity>
-	<db-entity name="GENERATED_COLUMN_TEST2">
-		<db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="GENERATED_F1">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="GENERATED_F2">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="GENERATED_JOIN">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="ID1" type="INTEGER"/>
-		<db-attribute name="ID2" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="LONG_ENTITY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="LONG_FIELD" type="BIGINT"/>
-	</db-entity>
-	<db-entity name="MEANINGFUL_PK_DEP">
-		<db-attribute name="DESCR" type="VARCHAR" length="50"/>
-		<db-attribute name="MASTER_PK" type="INTEGER"/>
-		<db-attribute name="PK_ATTRIBUTE" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="MEANINGFUL_PK_TEST1">
-		<db-attribute name="DESCR" type="VARCHAR" length="50"/>
-		<db-attribute name="PK_ATTRIBUTE" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="MIXED_PERSISTENCE_STRATEGY">
-		<db-attribute name="DESCRIPTION" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="MIXED_PERSISTENCE_STRATEGY2">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="MASTER_ID" type="INTEGER"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="NO_PK_TEST">
-		<db-attribute name="ATTRIBUTE1" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="NULL_TEST">
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="PAINTING">
-		<db-attribute name="ARTIST_ID" type="BIGINT"/>
-		<db-attribute name="ESTIMATED_PRICE" type="DECIMAL" length="10" scale="2"/>
-		<db-attribute name="GALLERY_ID" type="INTEGER"/>
-		<db-attribute name="PAINTING_DESCRIPTION" type="VARCHAR" length="255"/>
-		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="PAINTING_TITLE" type="VARCHAR" isMandatory="true" length="255"/>
-	</db-entity>
-	<db-entity name="PAINTING1">
-		<db-attribute name="ARTIST_ID" type="BIGINT"/>
-		<db-attribute name="ESTIMATED_PRICE" type="DECIMAL" length="10" scale="2"/>
-		<db-attribute name="GALLERY_ID" type="INTEGER"/>
-		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="PAINTING_TITLE" type="VARCHAR" isMandatory="true" length="255"/>
-	</db-entity>
-	<db-entity name="PAINTING_INFO">
-		<db-attribute name="IMAGE_BLOB" type="LONGVARBINARY"/>
-		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="TEXT_REVIEW" type="LONGVARCHAR"/>
-	</db-entity>
-	<db-entity name="PRIMITIVES_TEST">
-		<db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="INT_COLUMN" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="SERIALIZABLE_ENTITY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="SERIALIZABLE_FIELD" type="BLOB"/>
-	</db-entity>
-	<db-entity name="SMALLINT_TEST">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="SMALLINT_COL" type="SMALLINT"/>
-	</db-entity>
-	<db-entity name="THING">
-		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
-		<db-attribute name="VOLUME" type="INTEGER" isMandatory="true"/>
-		<db-attribute name="WEIGHT" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="TINYINT_TEST">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="TINYINT_COL" type="TINYINT"/>
-	</db-entity>
-	<db-entity name="TYPES_MAPPING_LOBS_TEST1">
-		<db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="CLOB_COLUMN" type="CLOB"/>
-	</db-entity>
-	<db-entity name="TYPES_MAPPING_TEST1">
-		<db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="BIGINT_COLUMN" type="BIGINT"/>
-		<db-attribute name="BIT_COLUMN" type="BIT"/>
-		<db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
-		<db-attribute name="CHAR_COLUMN" type="CHAR" length="254"/>
-		<db-attribute name="DATE_COLUMN" type="DATE"/>
-		<db-attribute name="DECIMAL_COLUMN" type="DECIMAL" length="12" scale="5"/>
-		<db-attribute name="DOUBLE_COLUMN" type="DOUBLE" scale="7"/>
-		<db-attribute name="FLOAT_COLUMN" type="FLOAT" scale="3"/>
-		<db-attribute name="INTEGER_COLUMN" type="INTEGER"/>
-		<db-attribute name="LONGVARCHAR_COLUMN" type="LONGVARCHAR"/>
-		<db-attribute name="NUMERIC_COLUMN" type="NUMERIC" length="12" scale="5"/>
-		<db-attribute name="REAL_COLUMN" type="REAL" scale="5"/>
-		<db-attribute name="SMALLINT_COLUMN" type="SMALLINT"/>
-		<db-attribute name="TIMESTAMP_COLUMN" type="TIMESTAMP"/>
-		<db-attribute name="TIME_COLUMN" type="TIME"/>
-		<db-attribute name="TINYINT_COLUMN" type="TINYINT"/>
-		<db-attribute name="VARCHAR_COLUMN" type="VARCHAR" length="255"/>
-	</db-entity>
-	<db-entity name="TYPES_MAPPING_TEST2">
-		<db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="BINARY_COLUMN" type="BINARY" length="14"/>
-		<db-attribute name="BLOB_COLUMN" type="BLOB"/>
-		<db-attribute name="LONGVARBINARY_COLUMN" type="LONGVARBINARY"/>
-		<db-attribute name="VARBINARY_COLUMN" type="VARBINARY" length="1000"/>
-	</db-entity>
-	<db-entity name="UUID_PK_ENTITY">
-		<db-attribute name="ID" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="UUID_TEST">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="UUID" type="VARCHAR" length="100"/>
-	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
-		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
-		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
-		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
-		<obj-attribute name="charWrapperArray" type="java.lang.Character[]" db-attribute-path="CHAR_WRAPPER_ARRAY"/>
-	</obj-entity>
-	<obj-entity name="ArtGroup" className="org.apache.cayenne.testdo.testmap.ArtGroup" dbEntityName="ARTGROUP">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Artist" className="org.apache.cayenne.testdo.testmap.Artist" dbEntityName="ARTIST">
-		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="ARTIST_NAME"/>
-		<obj-attribute name="dateOfBirth" type="java.util.Date" db-attribute-path="DATE_OF_BIRTH"/>
-	</obj-entity>
-	<obj-entity name="ArtistCallback" className="org.apache.cayenne.testdo.testmap.ArtistCallback" dbEntityName="ARTIST_CT" exclude-superclass-listeners="true" exclude-default-listeners="true">
-		<obj-attribute name="artistName" type="java.lang.String"/>
-		<obj-attribute name="dateOfBirth" type="java.util.Date"/>
-		<post-add method-name="prePersistEntityObjEntity"/>
-		<post-persist method-name="postPersistEntityObjEntity"/>
-		<pre-update method-name="preUpdateEntityObjEntity"/>
-		<post-update method-name="postUpdateEntityObjEntity"/>
-		<pre-remove method-name="preRemoveEntityObjEntity"/>
-		<post-remove method-name="postRemoveEntityObjEntity"/>
-		<post-load method-name="postLoadEntityObjEntity"/>
-	</obj-entity>
-	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
-	</obj-entity>
-	<obj-entity name="Bag" className="org.apache.cayenne.testdo.testmap.Bag" clientClassName="test.client.Bag" dbEntityName="BAG" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Ball" className="org.apache.cayenne.testdo.testmap.Ball" clientClassName="test.client.Ball" dbEntityName="BALL" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="thingVolume" type="java.lang.Integer" db-attribute-path="THING_VOLUME"/>
-		<obj-attribute name="thingWeight" type="java.lang.Integer" db-attribute-path="THING_WEIGHT"/>
-	</obj-entity>
-	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.testmap.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
-		<obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
-	</obj-entity>
-	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.testmap.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
-		<obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
-	</obj-entity>
-	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.testmap.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.testmap.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
-		<obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
-	</obj-entity>
-	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.testmap.BitNumberTestEntity" dbEntityName="BIT_TEST">
-		<obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.testmap.BitTestEntity" dbEntityName="BIT_TEST">
-		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.testmap.BlobTestEntity" dbEntityName="BLOB_TEST">
-		<obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
-	</obj-entity>
-	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.testmap.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
-		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="Box" className="org.apache.cayenne.testdo.testmap.Box" clientClassName="test.client.Box" dbEntityName="BOX" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="BoxInfo" className="org.apache.cayenne.testdo.testmap.BoxInfo" clientClassName="test.client.BoxInfo" dbEntityName="BOX_INFO" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="color" type="java.lang.String" db-attribute-path="COLOR"/>
-	</obj-entity>
-	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.testmap.CalendarEntity" dbEntityName="CALENDAR_TEST">
-		<obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
-	</obj-entity>
-	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.testmap.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.testmap.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
-		<obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
-		<obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
-	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
-		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
-	</obj-entity>
-	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.testmap.ClobTestEntity" dbEntityName="CLOB_TEST">
-		<obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
-	</obj-entity>
-	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.testmap.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
-		<obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
-		<obj-attribute name="value" type="java.lang.Integer" db-attribute-path="CVALUE"/>
-	</obj-entity>
-	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" dbEntityName="PAINTING">
-		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="toArtist.ARTIST_NAME"/>
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="toGallery.GALLERY_NAME"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
-	</obj-entity>
-	<obj-entity name="CompoundPaintingLongNames" className="org.apache.cayenne.testdo.testmap.CompoundPaintingLongNames" clientClassName="test.client.CompoundPaintingLongNames" dbEntityName="PAINTING" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="artistLongName" type="java.lang.String" db-attribute-path="toArtist.ARTIST_NAME"/>
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="galleryLongName" type="java.lang.String" db-attribute-path="toGallery.GALLERY_NAME"/>
-		<obj-attribute name="paintingDescription" type="java.lang.String" db-attribute-path="PAINTING_DESCRIPTION"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-		<obj-attribute name="textLongReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
-	</obj-entity>
-	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
-		<obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
-		<obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" dbEntityName="DATE_TEST">
-		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
-		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
-		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.testmap.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
-		<obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.testmap.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
-		<obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
-	</obj-entity>
-	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
-		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
-		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
-	</obj-entity>
-	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.testmap.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
-		<obj-attribute name="name" type="org.apache.cayenne.testdo.testmap.StringET1" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" dbEntityName="GALLERY">
-		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.testmap.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.testmap.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-	</obj-entity>
-	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.testmap.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-	</obj-entity>
-	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.testmap.LongEntity" dbEntityName="LONG_ENTITY">
-		<obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
-	</obj-entity>
-	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
-		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.testmap.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
-		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
-	</obj-entity>
-	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.testmap.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
-		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
-		<obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
-	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
-		<obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.testmap.NoPkTestEntity" dbEntityName="NO_PK_TEST">
-		<obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
-	</obj-entity>
-	<obj-entity name="NullTestEntity" className="org.apache.cayenne.testdo.testmap.NullTestEntity" dbEntityName="NULL_TEST">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="paintingDescription" type="java.lang.String" db-attribute-path="PAINTING_DESCRIPTION"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-	</obj-entity>
-	<obj-entity name="Painting1" className="org.apache.cayenne.testdo.testmap.Painting1" dbEntityName="PAINTING1">
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-	</obj-entity>
-	<obj-entity name="PaintingInfo" className="org.apache.cayenne.testdo.testmap.PaintingInfo" dbEntityName="PAINTING_INFO">
-		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
-		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
-	</obj-entity>
-	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.testmap.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
-		<obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
-		<obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="ROArtist" className="org.apache.cayenne.testdo.testmap.ROArtist" readOnly="true" dbEntityName="ARTIST">
-		<obj-attribute name="artistName" type="java.lang.String" db-attribute-path="ARTIST_NAME"/>
-		<obj-attribute name="dateOfBirth" type="java.sql.Date" db-attribute-path="DATE_OF_BIRTH"/>
-	</obj-entity>
-	<obj-entity name="ROPainting" className="org.apache.cayenne.testdo.testmap.ROPainting" readOnly="true" dbEntityName="PAINTING">
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-	</obj-entity>
-	<obj-entity name="RWCompoundPainting" className="org.apache.cayenne.testdo.testmap.RWCompoundPainting" dbEntityName="PAINTING">
-		<obj-attribute name="estimatedPrice" type="java.math.BigDecimal" db-attribute-path="ESTIMATED_PRICE"/>
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
-	</obj-entity>
-	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
-		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
-		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
-		<obj-attribute name="charColumn" type="java.lang.String" db-attribute-path="CHAR_COLUMN"/>
-		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
-		<obj-attribute name="decimalColumn" type="java.math.BigDecimal" db-attribute-path="DECIMAL_COLUMN"/>
-		<obj-attribute name="doubleColumn" type="java.lang.Double" db-attribute-path="DOUBLE_COLUMN"/>
-		<obj-attribute name="floatColumn" type="java.lang.Float" db-attribute-path="FLOAT_COLUMN"/>
-		<obj-attribute name="integerColumn" type="java.lang.Integer" db-attribute-path="INTEGER_COLUMN"/>
-		<obj-attribute name="longvarcharColumn" type="java.lang.String" db-attribute-path="LONGVARCHAR_COLUMN"/>
-		<obj-attribute name="numericColumn" type="java.math.BigDecimal" db-attribute-path="NUMERIC_COLUMN"/>
-		<obj-attribute name="realColumn" type="java.lang.Float" db-attribute-path="REAL_COLUMN"/>
-		<obj-attribute name="smallintColumn" type="java.lang.Short" db-attribute-path="SMALLINT_COLUMN"/>
-		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
-		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
-		<obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
-		<obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
-		<obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
-		<obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
-		<obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="ReturnTypesMapLobs1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMapLobs1" clientClassName="test.client.ReturnTypesMapLobs1" dbEntityName="TYPES_MAPPING_LOBS_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="clobColumn" type="java.lang.String" db-attribute-path="CLOB_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.testmap.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
-		<obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
-	</obj-entity>
-	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.testmap.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
-		<obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
-	</obj-entity>
-	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" dbEntityName="PAINTING">
-		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
-	</obj-entity>
-	<obj-entity name="Thing" className="org.apache.cayenne.testdo.testmap.Thing" clientClassName="test.client.Thing" dbEntityName="THING" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="volume" type="java.lang.Integer" db-attribute-path="VOLUME"/>
-		<obj-attribute name="weight" type="java.lang.Integer" db-attribute-path="WEIGHT"/>
-	</obj-entity>
-	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.testmap.TinyintTestEntity" dbEntityName="TINYINT_TEST">
-		<obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
-	</obj-entity>
-	<obj-entity name="UuidPkEntity" className="org.apache.cayenne.testdo.testmap.UuidPkEntity" dbEntityName="UUID_PK_ENTITY">
-		<obj-attribute name="id" type="java.util.UUID" db-attribute-path="ID"/>
-	</obj-entity>
-	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.testmap.UuidTestEntity" dbEntityName="UUID_TEST">
-		<obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
-	</obj-entity>
-	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">
-		<db-attribute-pair source="GROUP_ID" target="GROUP_ID"/>
-	</db-relationship>
-	<db-relationship name="toChildGroups" source="ARTGROUP" target="ARTGROUP" toMany="true">
-		<db-attribute-pair source="GROUP_ID" target="PARENT_GROUP_ID"/>
-	</db-relationship>
-	<db-relationship name="toParentGroup" source="ARTGROUP" target="ARTGROUP" toMany="false">
-		<db-attribute-pair source="PARENT_GROUP_ID" target="GROUP_ID"/>
-	</db-relationship>
-	<db-relationship name="artistExhibitArray" source="ARTIST" target="ARTIST_EXHIBIT" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="artistGroupArray" source="ARTIST" target="ARTIST_GROUP" toMany="true">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="paintingArray" source="ARTIST" target="PAINTING" toMany="true">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="toArtist" source="ARTIST_EXHIBIT" target="ARTIST" toMany="false">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="toExhibit" source="ARTIST_EXHIBIT" target="EXHIBIT" toMany="false">
-		<db-attribute-pair source="EXHIBIT_ID" target="EXHIBIT_ID"/>
-	</db-relationship>
-	<db-relationship name="toArtist" source="ARTIST_GROUP" target="ARTIST" toMany="false">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="toGroup" source="ARTIST_GROUP" target="ARTGROUP" toMany="false">
-		<db-attribute-pair source="GROUP_ID" target="GROUP_ID"/>
-	</db-relationship>
-	<db-relationship name="BOXES" source="BAG" target="BOX" toMany="true">
-		<db-attribute-pair source="ID" target="BAG_ID"/>
-	</db-relationship>
-	<db-relationship name="BOX" source="BALL" target="BOX" toMany="false">
-		<db-attribute-pair source="BOX_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="THING" source="BALL" target="THING" toMany="false">
-		<db-attribute-pair source="THING_VOLUME" target="VOLUME"/>
-		<db-attribute-pair source="THING_WEIGHT" target="WEIGHT"/>
-	</db-relationship>
-	<db-relationship name="binaryPKDetails" source="BINARY_PK_TEST1" target="BINARY_PK_TEST2" toMany="true">
-		<db-attribute-pair source="BIN_ID" target="FK_ID"/>
-	</db-relationship>
-	<db-relationship name="toBinaryPKMaster" source="BINARY_PK_TEST2" target="BINARY_PK_TEST1" toMany="false">
-		<db-attribute-pair source="FK_ID" target="BIN_ID"/>
-	</db-relationship>
-	<db-relationship name="BAG" source="BOX" target="BAG" toMany="false">
-		<db-attribute-pair source="BAG_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="BALLS" source="BOX" target="BALL" toMany="true">
-		<db-attribute-pair source="ID" target="BOX_ID"/>
-	</db-relationship>
-	<db-relationship name="BOX_INFO" source="BOX" target="BOX_INFO" toMany="false">
-		<db-attribute-pair source="ID" target="BOX_ID"/>
-	</db-relationship>
-	<db-relationship name="BOX_THING" source="BOX" target="BOX_THING" toMany="true">
-		<db-attribute-pair source="ID" target="BOX_ID"/>
-	</db-relationship>
-	<db-relationship name="BOX" source="BOX_INFO" target="BOX" toMany="false">
-		<db-attribute-pair source="BOX_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="BOX" source="BOX_THING" target="BOX" toMany="false">
-		<db-attribute-pair source="BOX_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="THING" source="BOX_THING" target="THING" toMany="false">
-		<db-attribute-pair source="THING_VOLUME" target="VOLUME"/>
-		<db-attribute-pair source="THING_WEIGHT" target="WEIGHT"/>
-	</db-relationship>
-	<db-relationship name="toCharPK" source="CHAR_FK_TEST" target="CHAR_PK_TEST" toMany="false">
-		<db-attribute-pair source="FK_COL" target="PK_COL"/>
-	</db-relationship>
-	<db-relationship name="charFKs" source="CHAR_PK_TEST" target="CHAR_FK_TEST" toMany="true">
-		<db-attribute-pair source="PK_COL" target="FK_COL"/>
-	</db-relationship>
-	<db-relationship name="clob" source="CLOB_TEST" target="CLOB_TEST_RELATION" toMany="true">
-		<db-attribute-pair source="CLOB_TEST_ID" target="ID_CLOB"/>
-	</db-relationship>
-	<db-relationship name="CLOB_REL" source="CLOB_TEST_RELATION" target="CLOB_TEST" toMany="false">
-		<db-attribute-pair source="ID_CLOB" target="CLOB_TEST_ID"/>
-	</db-relationship>
-	<db-relationship name="toCompoundPk" source="COMPOUND_FK_TEST" target="COMPOUND_PK_TEST" toMany="false">
-		<db-attribute-pair source="F_KEY1" target="KEY1"/>
-		<db-attribute-pair source="F_KEY2" target="KEY2"/>
-	</db-relationship>
-	<db-relationship name="compoundFkArray" source="COMPOUND_PK_TEST" target="COMPOUND_FK_TEST" toMany="true">
-		<db-attribute-pair source="KEY1" target="F_KEY1"/>
-		<db-attribute-pair source="KEY2" target="F_KEY2"/>
-	</db-relationship>
-	<db-relationship name="artistExhibitArray" source="EXHIBIT" target="ARTIST_EXHIBIT" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="EXHIBIT_ID" target="EXHIBIT_ID"/>
-	</db-relationship>
-	<db-relationship name="toGallery" source="EXHIBIT" target="GALLERY" toMany="false">
-		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
-	</db-relationship>
-	<db-relationship name="exhibitArray" source="GALLERY" target="EXHIBIT" toMany="true">
-		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
-	</db-relationship>
-	<db-relationship name="paintingArray" source="GALLERY" target="PAINTING" toMany="true">
-		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
-	</db-relationship>
-	<db-relationship name="toMaster" source="GENERATED_COLUMN_COMP_KEY" target="GENERATED_COLUMN_COMP_M" toMany="false">
-		<db-attribute-pair source="PROPAGATED_PK" target="ID"/>
-	</db-relationship>
-	<db-relationship name="toDetail" source="GENERATED_COLUMN_COMP_M" target="GENERATED_COLUMN_COMP_KEY" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="ID" target="PROPAGATED_PK"/>
-	</db-relationship>
-	<db-relationship name="toMaster" source="GENERATED_COLUMN_DEP" target="GENERATED_COLUMN_TEST" toMany="false">
-		<db-attribute-pair source="GENERATED_COLUMN_FK" target="GENERATED_COLUMN"/>
-	</db-relationship>
-	<db-relationship name="toDep" source="GENERATED_COLUMN_TEST" target="GENERATED_COLUMN_DEP" toDependentPK="true" toMany="false">
-		<db-attribute-pair source="GENERATED_COLUMN" target="GENERATED_COLUMN_FK"/>
-	</db-relationship>
-	<db-relationship name="join" source="GENERATED_F1" target="GENERATED_JOIN" toMany="true">
-		<db-attribute-pair source="ID" target="ID1"/>
-	</db-relationship>
-	<db-relationship name="join" source="GENERATED_F2" target="GENERATED_JOIN" toMany="true">
-		<db-attribute-pair source="ID" target="ID2"/>
-	</db-relationship>
-	<db-relationship name="f1" source="GENERATED_JOIN" target="GENERATED_F1" toMany="false">
-		<db-attribute-pair source="ID1" target="ID"/>
-	</db-relationship>
-	<db-relationship name="f2" source="GENERATED_JOIN" target="GENERATED_F2" toMany="false">
-		<db-attribute-pair source="ID2" target="ID"/>
-	</db-relationship>
-	<db-relationship name="toMeaningfulPK" source="MEANINGFUL_PK_DEP" target="MEANINGFUL_PK_TEST1" toMany="false">
-		<db-attribute-pair source="MASTER_PK" target="PK_ATTRIBUTE"/>
-	</db-relationship>
-	<db-relationship name="meaningfulPKDepArray" source="MEANINGFUL_PK_TEST1" target="MEANINGFUL_PK_DEP" toMany="true">
-		<db-attribute-pair source="PK_ATTRIBUTE" target="MASTER_PK"/>
-	</db-relationship>
-	<db-relationship name="details" source="MIXED_PERSISTENCE_STRATEGY" target="MIXED_PERSISTENCE_STRATEGY2" toMany="true">
-		<db-attribute-pair source="ID" target="MASTER_ID"/>
-	</db-relationship>
-	<db-relationship name="master" source="MIXED_PERSISTENCE_STRATEGY2" target="MIXED_PERSISTENCE_STRATEGY" toMany="false">
-		<db-attribute-pair source="MASTER_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="toArtist" source="PAINTING" target="ARTIST" toMany="false">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="toGallery" source="PAINTING" target="GALLERY" toMany="false">
-		<db-attribute-pair source="GALLERY_ID" target="GALLERY_ID"/>
-	</db-relationship>
-	<db-relationship name="toPaintingInfo" source="PAINTING" target="PAINTING_INFO" toDependentPK="true" toMany="false">
-		<db-attribute-pair source="PAINTING_ID" target="PAINTING_ID"/>
-	</db-relationship>
-	<db-relationship name="toArtist" source="PAINTING1" target="ARTIST" toMany="false">
-		<db-attribute-pair source="ARTIST_ID" target="ARTIST_ID"/>
-	</db-relationship>
-	<db-relationship name="painting" source="PAINTING_INFO" target="PAINTING" toMany="false">
-		<db-attribute-pair source="PAINTING_ID" target="PAINTING_ID"/>
-	</db-relationship>
-	<db-relationship name="BALL" source="THING" target="BALL" toMany="false">
-		<db-attribute-pair source="VOLUME" target="THING_VOLUME"/>
-		<db-attribute-pair source="WEIGHT" target="THING_WEIGHT"/>
-	</db-relationship>
-	<db-relationship name="BOX_THING" source="THING" target="BOX_THING" toMany="true">
-		<db-attribute-pair source="VOLUME" target="THING_VOLUME"/>
-		<db-attribute-pair source="WEIGHT" target="THING_WEIGHT"/>
-	</db-relationship>
-	<obj-relationship name="artistArray" source="ArtGroup" target="Artist" deleteRule="Nullify" db-relationship-path="artistGroupArray.toArtist"/>
-	<obj-relationship name="childGroupsArray" source="ArtGroup" target="ArtGroup" deleteRule="Nullify" db-relationship-path="toChildGroups"/>
-	<obj-relationship name="toParentGroup" source="ArtGroup" target="ArtGroup" deleteRule="Nullify" db-relationship-path="toParentGroup"/>
-	<obj-relationship name="artistExhibitArray" source="Artist" target="ArtistExhibit" deleteRule="Cascade" db-relationship-path="artistExhibitArray"/>
-	<obj-relationship name="groupArray" source="Artist" target="ArtGroup" deleteRule="Cascade" db-relationship-path="artistGroupArray.toGroup"/>
-	<obj-relationship name="paintingArray" source="Artist" target="Painting" deleteRule="Cascade" db-relationship-path="paintingArray"/>
-	<obj-relationship name="toArtist" source="ArtistExhibit" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toExhibit" source="ArtistExhibit" target="Exhibit" deleteRule="Nullify" db-relationship-path="toExhibit"/>
-	<obj-relationship name="balls" source="Bag" target="Ball" deleteRule="Deny" db-relationship-path="BOXES.BALLS"/>
-	<obj-relationship name="boxes" source="Bag" target="Box" deleteRule="Deny" db-relationship-path="BOXES"/>
-	<obj-relationship name="things" source="Bag" target="Thing" deleteRule="Deny" db-relationship-path="BOXES.BOX_THING.THING"/>
-	<obj-relationship name="box" source="Ball" target="Box" deleteRule="Nullify" db-relationship-path="BOX"/>
-	<obj-relationship name="thing" source="Ball" target="Thing" deleteRule="Nullify" db-relationship-path="THING"/>
-	<obj-relationship name="binaryPKDetails" source="BinaryPKTest1" target="BinaryPKTest2" db-relationship-path="binaryPKDetails"/>
-	<obj-relationship name="toBinaryPKMaster" source="BinaryPKTest2" target="BinaryPKTest1" db-relationship-path="toBinaryPKMaster"/>
-	<obj-relationship name="bag" source="Box" target="Bag" deleteRule="Nullify" db-relationship-path="BAG"/>
-	<obj-relationship name="balls" source="Box" target="Ball" deleteRule="Deny" db-relationship-path="BALLS"/>
-	<obj-relationship name="boxInfo" source="Box" target="BoxInfo" deleteRule="Deny" db-relationship-path="BOX_INFO"/>
-	<obj-relationship name="things" source="Box" target="Thing" deleteRule="Deny" db-relationship-path="BOX_THING.THING"/>
-	<obj-relationship name="box" source="BoxInfo" target="Box" deleteRule="Nullify" db-relationship-path="BOX"/>
-	<obj-relationship name="toCharPK" source="CharFkTestEntity" target="CharPkTestEntity" db-relationship-path="toCharPK"/>
-	<obj-relationship name="charFKs" source="CharPkTestEntity" target="CharFkTestEntity" db-relationship-path="charFKs"/>
-	<obj-relationship name="clobValue" source="ClobTestEntity" target="ClobTestRelation" db-relationship-path="clob"/>
-	<obj-relationship name="clobId" source="ClobTestRelation" target="ClobTestEntity" db-relationship-path="CLOB_REL"/>
-	<obj-relationship name="toCompoundPk" source="CompoundFkTestEntity" target="CompoundPkTestEntity" db-relationship-path="toCompoundPk"/>
-	<obj-relationship name="toArtist" source="CompoundPainting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toGallery" source="CompoundPainting" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
-	<obj-relationship name="toPaintingInfo" source="CompoundPainting" target="PaintingInfo" deleteRule="Cascade" db-relationship-path="toPaintingInfo"/>
-	<obj-relationship name="toArtist" source="CompoundPaintingLongNames" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toArtist1" source="CompoundPaintingLongNames" target="ROArtist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toGallery" source="CompoundPaintingLongNames" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
-	<obj-relationship name="toPaintingInfo" source="CompoundPaintingLongNames" target="PaintingInfo" deleteRule="Nullify" db-relationship-path="toPaintingInfo"/>
-	<obj-relationship name="compoundFkArray" source="CompoundPkTestEntity" target="CompoundFkTestEntity" db-relationship-path="compoundFkArray"/>
-	<obj-relationship name="artistExhibitArray" source="Exhibit" target="ArtistExhibit" deleteRule="Cascade" db-relationship-path="artistExhibitArray"/>
-	<obj-relationship name="toGallery" source="Exhibit" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
-	<obj-relationship name="exhibitArray" source="Gallery" target="Exhibit" deleteRule="Cascade" db-relationship-path="exhibitArray"/>
-	<obj-relationship name="paintingArray" source="Gallery" target="Painting" deleteRule="Deny" db-relationship-path="paintingArray"/>
-	<obj-relationship name="toMaster" source="GeneratedColumnCompKey" target="GeneratedColumnCompMaster" db-relationship-path="toMaster"/>
-	<obj-relationship name="toDetail" source="GeneratedColumnCompMaster" target="GeneratedColumnCompKey" db-relationship-path="toDetail"/>
-	<obj-relationship name="toMaster" source="GeneratedColumnDep" target="GeneratedColumnTestEntity" db-relationship-path="toMaster"/>
-	<obj-relationship name="toDep" source="GeneratedColumnTestEntity" target="GeneratedColumnDep" db-relationship-path="toDep"/>
-	<obj-relationship name="f2" source="GeneratedF1" target="GeneratedF2" deleteRule="Nullify" db-relationship-path="join.f2"/>
-	<obj-relationship name="f1" source="GeneratedF2" target="GeneratedF1" deleteRule="Nullify" db-relationship-path="join.f1"/>
-	<obj-relationship name="toMeaningfulPK" source="MeaningfulPKDep" target="MeaningfulPKTest1" db-relationship-path="toMeaningfulPK"/>
-	<obj-relationship name="meaningfulPKDepArray" source="MeaningfulPKTest1" target="MeaningfulPKDep" db-relationship-path="meaningfulPKDepArray"/>
-	<obj-relationship name="details" source="MixedPersistenceStrategy" target="MixedPersistenceStrategy2" db-relationship-path="details"/>
-	<obj-relationship name="master" source="MixedPersistenceStrategy2" target="MixedPersistenceStrategy" db-relationship-path="master"/>
-	<obj-relationship name="toArtist" source="Painting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="toGallery" source="Painting" target="Gallery" deleteRule="Nullify" db-relationship-path="toGallery"/>
-	<obj-relationship name="toPaintingInfo" source="Painting" target="PaintingInfo" deleteRule="Cascade" db-relationship-path="toPaintingInfo"/>
-	<obj-relationship name="toArtist" source="Painting1" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="painting" source="PaintingInfo" target="Painting" deleteRule="Nullify" db-relationship-path="painting"/>
-	<obj-relationship name="paintingArray" source="ROArtist" target="Painting" deleteRule="Deny" db-relationship-path="paintingArray"/>
-	<obj-relationship name="toArtist" source="ROPainting" target="Artist" deleteRule="Nullify" db-relationship-path="toArtist"/>
-	<obj-relationship name="ball" source="Thing" target="Ball" deleteRule="Nullify" db-relationship-path="BALL"/>
-	<obj-relationship name="box" source="Thing" target="Box" deleteRule="Deny" db-relationship-path="BOX_THING.BOX"/>
-	<query name="EjbqlQueryTest" factory="org.apache.cayenne.map.EjbqlBuilder">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
-		<ejbql><![CDATA[select a from Artist a]]></ejbql>
-	</query>
-	<query name="NonSelectingQuery" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE)
-VALUES (512, 'No Painting Like This', 12.5)]]></sql>
-		<sql adapter-class="org.apache.cayenne.dba.db2.DB2Adapter"><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) VALUES (512, 'No Painting Like This', 12.5)]]></sql>
-	</query>
-	<query name="ObjectQuery" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Painting">
-		<qualifier><![CDATA[toArtist = $artist]]></qualifier>
-		<ordering><![CDATA[paintingTitle]]></ordering>
-	</query>
-	<query name="ParameterizedNonSelectingQuery" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<sql><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE)
-VALUES (#bind($id), #bind($title), #bind($price))]]></sql>
-		<sql adapter-class="org.apache.cayenne.dba.db2.DB2Adapter"><![CDATA[INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) values (#bind($id), #bind($title), #bind($price))]]></sql>
-	</query>
-	<query name="ParameterizedQueryWithLocalCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="LOCAL_CACHE"/>
-		<qualifier><![CDATA[artistName like $name]]></qualifier>
-	</query>
-	<query name="ParameterizedQueryWithSharedCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
-		<qualifier><![CDATA[artistName like $name]]></qualifier>
-	</query>
-	<query name="ProcedureQuery" factory="org.apache.cayenne.map.ProcedureQueryBuilder" root="procedure" root-name="cayenne_tst_select_proc" result-entity="Artist">
-	</query>
-	<query name="QueryWithLocalCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="LOCAL_CACHE"/>
-	</query>
-	<query name="QueryWithOrdering" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<ordering descending="true" ignore-case="true"><![CDATA[artistName]]></ordering>
-		<ordering><![CDATA[dateOfBirth]]></ordering>
-	</query>
-	<query name="QueryWithPrefetch" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Gallery">
-		<prefetch>paintingArray</prefetch>
-	</query>
-	<query name="QueryWithQualifier" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<qualifier><![CDATA[artistName = $param1]]></qualifier>
-	</query>
-	<query name="QueryWithSharedCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="Artist">
-		<property name="cayenne.GenericSelectQuery.cacheStrategy" value="SHARED_CACHE"/>
-	</query>
-	<query name="SelectDateTest" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[SELECT * FROM DATE_TEST]]></sql>
-	</query>
-	<query name="SelectReturnTypesLobsMap1" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<sql><![CDATA[SELECT * FROM TYPES_MAPPING_LOBS_TEST1]]></sql>
-	</query>
-	<query name="SelectReturnTypesMap1" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[SELECT * FROM TYPES_MAPPING_TEST1]]></sql>
-	</query>
-	<query name="SelectReturnTypesMap2" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[SELECT * FROM TYPES_MAPPING_TEST2]]></sql>
-	</query>
-	<query name="SelectTestLower" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="LOWER"/>
-		<sql><![CDATA[select * from ARTIST]]></sql>
-	</query>
-	<query name="SelectTestUpper" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="tstmap">
-		<property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
-		<property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
-		<sql><![CDATA[select * from ARTIST]]></sql>
-	</query>
-</data-map>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/uuid.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/uuid.map.xml b/cayenne-server/src/test/resources/uuid.map.xml
new file mode 100644
index 0000000..c5ed630
--- /dev/null
+++ b/cayenne-server/src/test/resources/uuid.map.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.uuid"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="UUID_PK_ENTITY">
+        <db-attribute name="ID" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="100"/>
+    </db-entity>
+    <db-entity name="UUID_TEST">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="UUID" type="VARCHAR" length="100"/>
+    </db-entity>
+    <obj-entity name="UuidPkEntity" className="org.apache.cayenne.testdo.uuid.UuidPkEntity" dbEntityName="UUID_PK_ENTITY">
+        <obj-attribute name="id" type="java.util.UUID" db-attribute-path="ID"/>
+    </obj-entity>
+    <obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.uuid.UuidTestEntity" dbEntityName="UUID_TEST">
+        <obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-tools/src/test/resources/testmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/resources/testmap.map.xml b/cayenne-tools/src/test/resources/testmap.map.xml
index 6542bd2..71dfb21 100644
--- a/cayenne-tools/src/test/resources/testmap.map.xml
+++ b/cayenne-tools/src/test/resources/testmap.map.xml
@@ -277,7 +277,7 @@
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="UUID" type="VARCHAR" length="100"/>
 	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
 		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
 		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
 		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
@@ -312,51 +312,51 @@
 	</obj-entity>
 	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
 	</obj-entity>
-	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.testmap.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
+	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.numeric_types.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
 		<obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.testmap.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
+	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.numeric_types.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
 		<obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.testmap.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
+	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.testmap.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
+	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
 		<obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
 	</obj-entity>
-	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.testmap.BitNumberTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitNumberTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.testmap.BitTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.testmap.BlobTestEntity" dbEntityName="BLOB_TEST">
+	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.lob.BlobTestEntity" dbEntityName="BLOB_TEST">
 		<obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.testmap.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
+	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.numeric_types.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.testmap.CalendarEntity" dbEntityName="CALENDAR_TEST">
+	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.date_time.CalendarEntity" dbEntityName="CALENDAR_TEST">
 		<obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
 	</obj-entity>
-	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.testmap.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
+	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.compound.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.testmap.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
+	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.compound.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
 		<obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
 		<obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
 	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
 		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.testmap.ClobTestEntity" dbEntityName="CLOB_TEST">
+	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.lob.ClobTestEntity" dbEntityName="CLOB_TEST">
 		<obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.testmap.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
+	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.lob.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
 		<obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
 		<obj-attribute name="value" type="java.lang.Integer" db-attribute-path="VALUE"/>
 	</obj-entity>
-	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
+	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" dbEntityName="PAINTING">
@@ -366,78 +366,78 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
+	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
 		<obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
 		<obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" dbEntityName="DATE_TEST">
+	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" dbEntityName="DATE_TEST">
 		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
 		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
 		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.testmap.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.testmap.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" dbEntityName="ENUM_ENTITY">
+		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
 	</obj-entity>
 	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
 		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
 		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
 	</obj-entity>
-	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.testmap.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
-		<obj-attribute name="name" type="org.apache.cayenne.testdo.testmap.StringET1" db-attribute-path="NAME"/>
+	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
+		<obj-attribute name="name" type="org.apache.cayenne.testdo.extended_type.StringET1" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" dbEntityName="GALLERY">
 		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
+	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
+	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.testmap.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
+	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.generated.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
+	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.generated.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
+	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.testmap.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.generated.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.testmap.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.generated.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.testmap.LongEntity" dbEntityName="LONG_ENTITY">
+	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.numeric_types.LongEntity" dbEntityName="LONG_ENTITY">
 		<obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
 	</obj-entity>
 	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.testmap.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
+	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.testmap.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
+	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 		<obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
+	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
 		<obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
+	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.testmap.NoPkTestEntity" dbEntityName="NO_PK_TEST">
+	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.no_pk.NoPkTestEntity" dbEntityName="NO_PK_TEST">
 		<obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
 	</obj-entity>
 	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
@@ -453,7 +453,7 @@
 		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.testmap.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
+	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.primitive.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
 		<obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 		<obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
 	</obj-entity>
@@ -470,7 +470,7 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
@@ -490,25 +490,25 @@
 		<obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
 		<obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
 		<obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
 		<obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
 		<obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.testmap.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
+	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.misc_types.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
 		<obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
 	</obj-entity>
-	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.testmap.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
+	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.numeric_types.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
 		<obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
 	</obj-entity>
 	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" dbEntityName="PAINTING">
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 	</obj-entity>
-	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.testmap.TinyintTestEntity" dbEntityName="TINYINT_TEST">
+	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.numeric_types.TinyintTestEntity" dbEntityName="TINYINT_TEST">
 		<obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
 	</obj-entity>
-	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.testmap.UuidTestEntity" dbEntityName="UUID_TEST">
+	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.uuid.UuidTestEntity" dbEntityName="UUID_TEST">
 		<obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
 	</obj-entity>
 	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">


[34/50] [abbrv] cayenne git commit: Refactor Relationships Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyRoot2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyRoot2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyRoot2.java
deleted file mode 100644
index 970a25a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyRoot2.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._ToManyRoot2;
-
-public class ToManyRoot2 extends _ToManyRoot2 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToOneFK1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToOneFK1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToOneFK1.java
deleted file mode 100644
index f2e3324..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToOneFK1.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class ToOneFK1 extends org.apache.cayenne.testdo.relationship.auto._ToOneFK1 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToOneFK2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToOneFK2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToOneFK2.java
deleted file mode 100644
index dc774b0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToOneFK2.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class ToOneFK2 extends org.apache.cayenne.testdo.relationship.auto._ToOneFK2 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Child.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Child.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Child.java
deleted file mode 100644
index 77192c0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Child.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.Master;
-
-/**
- * Class _Child was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Child extends CayenneDataObject {
-
-    public static final String MASTER_PROPERTY = "master";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setMaster(Master master) {
-        setToOneTarget(MASTER_PROPERTY, master, true);
-    }
-
-    public Master getMaster() {
-        return (Master)readProperty(MASTER_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ClobDetail.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ClobDetail.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ClobDetail.java
deleted file mode 100644
index 5090c54..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ClobDetail.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.ClobMaster;
-
-/**
- * Class _ClobDetail was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ClobDetail extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String MASTER_PROPERTY = "master";
-
-    public static final String CLOB_DETAIL_ID_PK_COLUMN = "CLOB_DETAIL_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void setMaster(ClobMaster master) {
-        setToOneTarget(MASTER_PROPERTY, master, true);
-    }
-
-    public ClobMaster getMaster() {
-        return (ClobMaster)readProperty(MASTER_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ClobMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ClobMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ClobMaster.java
deleted file mode 100644
index 85f1374..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ClobMaster.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.ClobDetail;
-
-/**
- * Class _ClobMaster was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ClobMaster extends CayenneDataObject {
-
-    public static final String CLOB_COLUMN_PROPERTY = "clobColumn";
-    public static final String NAME_PROPERTY = "name";
-    public static final String DETAILS_PROPERTY = "details";
-
-    public static final String CLOB_MASTER_ID_PK_COLUMN = "CLOB_MASTER_ID";
-
-    public void setClobColumn(String clobColumn) {
-        writeProperty(CLOB_COLUMN_PROPERTY, clobColumn);
-    }
-    public String getClobColumn() {
-        return (String)readProperty(CLOB_COLUMN_PROPERTY);
-    }
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToDetails(ClobDetail obj) {
-        addToManyTarget(DETAILS_PROPERTY, obj, true);
-    }
-    public void removeFromDetails(ClobDetail obj) {
-        removeToManyTarget(DETAILS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<ClobDetail> getDetails() {
-        return (List<ClobDetail>)readProperty(DETAILS_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CollectionToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CollectionToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CollectionToMany.java
deleted file mode 100644
index 438ec94..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CollectionToMany.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.Collection;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.CollectionToManyTarget;
-
-/**
- * Class _CollectionToMany was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CollectionToMany extends CayenneDataObject {
-
-    public static final String TARGETS_PROPERTY = "targets";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void addToTargets(CollectionToManyTarget obj) {
-        addToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    public void removeFromTargets(CollectionToManyTarget obj) {
-        removeToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public Collection<CollectionToManyTarget> getTargets() {
-        return (Collection<CollectionToManyTarget>)readProperty(TARGETS_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CollectionToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CollectionToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CollectionToManyTarget.java
deleted file mode 100644
index 309985a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CollectionToManyTarget.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.CollectionToMany;
-
-/**
- * Class _CollectionToManyTarget was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CollectionToManyTarget extends CayenneDataObject {
-
-    public static final String COLLECTION_TO_MANY_PROPERTY = "collectionToMany";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setCollectionToMany(CollectionToMany collectionToMany) {
-        setToOneTarget(COLLECTION_TO_MANY_PROPERTY, collectionToMany, true);
-    }
-
-    public CollectionToMany getCollectionToMany() {
-        return (CollectionToMany)readProperty(COLLECTION_TO_MANY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CyclicChild.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CyclicChild.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CyclicChild.java
deleted file mode 100644
index 7504371..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CyclicChild.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.CyclicParent;
-
-/**
- * Class _CyclicChild was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CyclicChild extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String PARENT_PROPERTY = "parent";
-    public static final String UNTITLED_REL_PROPERTY = "untitledRel";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setParent(CyclicParent parent) {
-        setToOneTarget("parent", parent, true);
-    }
-
-    public CyclicParent getParent() {
-        return (CyclicParent)readProperty("parent");
-    }
-
-
-    public void addToUntitledRel(CyclicParent obj) {
-        addToManyTarget("untitledRel", obj, true);
-    }
-    public void removeFromUntitledRel(CyclicParent obj) {
-        removeToManyTarget("untitledRel", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<CyclicParent> getUntitledRel() {
-        return (List<CyclicParent>)readProperty("untitledRel");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CyclicParent.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CyclicParent.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CyclicParent.java
deleted file mode 100644
index bb14f37..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_CyclicParent.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.CyclicChild;
-
-/**
- * Class _CyclicParent was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CyclicParent extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String CHILDREN_PROPERTY = "children";
-    public static final String DEFAULT_CHILD_PROPERTY = "defaultChild";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void addToChildren(CyclicChild obj) {
-        addToManyTarget("children", obj, true);
-    }
-    public void removeFromChildren(CyclicChild obj) {
-        removeToManyTarget("children", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<CyclicChild> getChildren() {
-        return (List<CyclicChild>)readProperty("children");
-    }
-
-
-    public void setDefaultChild(CyclicChild defaultChild) {
-        setToOneTarget("defaultChild", defaultChild, true);
-    }
-
-    public CyclicChild getDefaultChild() {
-        return (CyclicChild)readProperty("defaultChild");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleFlatA.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleFlatA.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleFlatA.java
deleted file mode 100644
index 0223b44..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleFlatA.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.DeleteRuleFlatB;
-
-/**
- * Class _DeleteRuleFlatA was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DeleteRuleFlatA extends CayenneDataObject {
-
-    public static final String FLAT_B_PROPERTY = "flatB";
-
-    public static final String FLATA_ID_PK_COLUMN = "FLATA_ID";
-
-    public void addToFlatB(DeleteRuleFlatB obj) {
-        addToManyTarget(FLAT_B_PROPERTY, obj, true);
-    }
-    public void removeFromFlatB(DeleteRuleFlatB obj) {
-        removeToManyTarget(FLAT_B_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<DeleteRuleFlatB> getFlatB() {
-        return (List<DeleteRuleFlatB>)readProperty(FLAT_B_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleFlatB.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleFlatB.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleFlatB.java
deleted file mode 100644
index 65706d2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleFlatB.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.DeleteRuleFlatA;
-
-/**
- * Class _DeleteRuleFlatB was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DeleteRuleFlatB extends CayenneDataObject {
-
-    public static final String UNTITLED_REL_PROPERTY = "untitledRel";
-
-    public static final String FLATB_ID_PK_COLUMN = "FLATB_ID";
-
-    public void addToUntitledRel(DeleteRuleFlatA obj) {
-        addToManyTarget(UNTITLED_REL_PROPERTY, obj, true);
-    }
-    public void removeFromUntitledRel(DeleteRuleFlatA obj) {
-        removeToManyTarget(UNTITLED_REL_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<DeleteRuleFlatA> getUntitledRel() {
-        return (List<DeleteRuleFlatA>)readProperty(UNTITLED_REL_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest1.java
deleted file mode 100644
index ad05119..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest1.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.DeleteRuleTest2;
-
-/**
- * Class _DeleteRuleTest1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DeleteRuleTest1 extends CayenneDataObject {
-
-    public static final String TEST2_PROPERTY = "test2";
-
-    public static final String DEL_RULE_TEST1_ID_PK_COLUMN = "DEL_RULE_TEST1_ID";
-
-    public void setTest2(DeleteRuleTest2 test2) {
-        setToOneTarget(TEST2_PROPERTY, test2, true);
-    }
-
-    public DeleteRuleTest2 getTest2() {
-        return (DeleteRuleTest2)readProperty(TEST2_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest2.java
deleted file mode 100644
index 1114cef..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest2.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.DeleteRuleTest1;
-import org.apache.cayenne.testdo.relationship.DeleteRuleTest3;
-
-/**
- * Class _DeleteRuleTest2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DeleteRuleTest2 extends CayenneDataObject {
-
-    public static final String DELETE_RULE_TEST3ARRAY_PROPERTY = "deleteRuleTest3Array";
-    public static final String TEST1ARRAY_PROPERTY = "test1Array";
-
-    public static final String DEL_RULE_TEST2_ID_PK_COLUMN = "DEL_RULE_TEST2_ID";
-
-    public void addToDeleteRuleTest3Array(DeleteRuleTest3 obj) {
-        addToManyTarget(DELETE_RULE_TEST3ARRAY_PROPERTY, obj, true);
-    }
-    public void removeFromDeleteRuleTest3Array(DeleteRuleTest3 obj) {
-        removeToManyTarget(DELETE_RULE_TEST3ARRAY_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<DeleteRuleTest3> getDeleteRuleTest3Array() {
-        return (List<DeleteRuleTest3>)readProperty(DELETE_RULE_TEST3ARRAY_PROPERTY);
-    }
-
-
-    public void addToTest1Array(DeleteRuleTest1 obj) {
-        addToManyTarget(TEST1ARRAY_PROPERTY, obj, true);
-    }
-    public void removeFromTest1Array(DeleteRuleTest1 obj) {
-        removeToManyTarget(TEST1ARRAY_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<DeleteRuleTest1> getTest1Array() {
-        return (List<DeleteRuleTest1>)readProperty(TEST1ARRAY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest3.java
deleted file mode 100644
index 7f04e9b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_DeleteRuleTest3.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.DeleteRuleTest2;
-
-/**
- * Class _DeleteRuleTest3 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DeleteRuleTest3 extends CayenneDataObject {
-
-    public static final String TO_DELETE_RULE_TEST2_PROPERTY = "toDeleteRuleTest2";
-
-    public static final String DELETE_RULE_TEST_3_ID_PK_COLUMN = "DELETE_RULE_TEST_3_ID";
-
-    public void setToDeleteRuleTest2(DeleteRuleTest2 toDeleteRuleTest2) {
-        setToOneTarget(TO_DELETE_RULE_TEST2_PROPERTY, toDeleteRuleTest2, true);
-    }
-
-    public DeleteRuleTest2 getToDeleteRuleTest2() {
-        return (DeleteRuleTest2)readProperty(TO_DELETE_RULE_TEST2_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FkOfDifferentType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FkOfDifferentType.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FkOfDifferentType.java
deleted file mode 100644
index eb0c95f..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FkOfDifferentType.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.RelationshipHelper;
-
-/**
- * Class _FkOfDifferentType was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _FkOfDifferentType extends CayenneDataObject {
-
-    public static final String RELATIONSHIP_HELPER_PROPERTY = "relationshipHelper";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setRelationshipHelper(RelationshipHelper relationshipHelper) {
-        setToOneTarget(RELATIONSHIP_HELPER_PROPERTY, relationshipHelper, true);
-    }
-
-    public RelationshipHelper getRelationshipHelper() {
-        return (RelationshipHelper)readProperty(RELATIONSHIP_HELPER_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedCircular.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedCircular.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedCircular.java
deleted file mode 100644
index f9f913c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedCircular.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.FlattenedCircular;
-
-/**
- * Class _FlattenedCircular was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _FlattenedCircular extends CayenneDataObject {
-
-    public static final String SIDE1S_PROPERTY = "side1s";
-    public static final String SIDE2S_PROPERTY = "side2s";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void addToSide1s(FlattenedCircular obj) {
-        addToManyTarget(SIDE1S_PROPERTY, obj, true);
-    }
-    public void removeFromSide1s(FlattenedCircular obj) {
-        removeToManyTarget(SIDE1S_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<FlattenedCircular> getSide1s() {
-        return (List<FlattenedCircular>)readProperty(SIDE1S_PROPERTY);
-    }
-
-
-    public void addToSide2s(FlattenedCircular obj) {
-        addToManyTarget(SIDE2S_PROPERTY, obj, true);
-    }
-    public void removeFromSide2s(FlattenedCircular obj) {
-        removeToManyTarget(SIDE2S_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<FlattenedCircular> getSide2s() {
-        return (List<FlattenedCircular>)readProperty(SIDE2S_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest1.java
deleted file mode 100644
index 484487d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest1.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.FlattenedTest2;
-import org.apache.cayenne.testdo.relationship.FlattenedTest3;
-import org.apache.cayenne.testdo.relationship.FlattenedTest4;
-
-/**
- * Class _FlattenedTest1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _FlattenedTest1 extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String FT2ARRAY_PROPERTY = "ft2Array";
-    public static final String FT3ARRAY_PROPERTY = "ft3Array";
-    public static final String FT3OVER_COMPLEX_PROPERTY = "ft3OverComplex";
-    public static final String FT4ARRAY_FOR1_PROPERTY = "ft4ArrayFor1";
-
-    public static final String FT1_ID_PK_COLUMN = "FT1_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToFt2Array(FlattenedTest2 obj) {
-        addToManyTarget(FT2ARRAY_PROPERTY, obj, true);
-    }
-    public void removeFromFt2Array(FlattenedTest2 obj) {
-        removeToManyTarget(FT2ARRAY_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<FlattenedTest2> getFt2Array() {
-        return (List<FlattenedTest2>)readProperty(FT2ARRAY_PROPERTY);
-    }
-
-
-    @SuppressWarnings("unchecked")
-    public List<FlattenedTest3> getFt3Array() {
-        return (List<FlattenedTest3>)readProperty(FT3ARRAY_PROPERTY);
-    }
-
-
-    public void addToFt3OverComplex(FlattenedTest3 obj) {
-        addToManyTarget(FT3OVER_COMPLEX_PROPERTY, obj, true);
-    }
-    public void removeFromFt3OverComplex(FlattenedTest3 obj) {
-        removeToManyTarget(FT3OVER_COMPLEX_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<FlattenedTest3> getFt3OverComplex() {
-        return (List<FlattenedTest3>)readProperty(FT3OVER_COMPLEX_PROPERTY);
-    }
-
-
-    @SuppressWarnings("unchecked")
-    public List<FlattenedTest4> getFt4ArrayFor1() {
-        return (List<FlattenedTest4>)readProperty(FT4ARRAY_FOR1_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest2.java
deleted file mode 100644
index 0a44c22..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest2.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.FlattenedTest1;
-import org.apache.cayenne.testdo.relationship.FlattenedTest3;
-
-/**
- * Class _FlattenedTest2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _FlattenedTest2 extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String FT3ARRAY_PROPERTY = "ft3Array";
-    public static final String TO_FT1_PROPERTY = "toFT1";
-
-    public static final String FT2_ID_PK_COLUMN = "FT2_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToFt3Array(FlattenedTest3 obj) {
-        addToManyTarget(FT3ARRAY_PROPERTY, obj, true);
-    }
-    public void removeFromFt3Array(FlattenedTest3 obj) {
-        removeToManyTarget(FT3ARRAY_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<FlattenedTest3> getFt3Array() {
-        return (List<FlattenedTest3>)readProperty(FT3ARRAY_PROPERTY);
-    }
-
-
-    public void setToFT1(FlattenedTest1 toFT1) {
-        setToOneTarget(TO_FT1_PROPERTY, toFT1, true);
-    }
-
-    public FlattenedTest1 getToFT1() {
-        return (FlattenedTest1)readProperty(TO_FT1_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest3.java
deleted file mode 100644
index d6dfc80..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest3.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.FlattenedTest1;
-import org.apache.cayenne.testdo.relationship.FlattenedTest2;
-import org.apache.cayenne.testdo.relationship.FlattenedTest4;
-
-/**
- * Class _FlattenedTest3 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _FlattenedTest3 extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String FT4ARRAY_PROPERTY = "ft4Array";
-    public static final String TO_FT1_PROPERTY = "toFT1";
-    public static final String TO_FT2_PROPERTY = "toFT2";
-
-    public static final String FT3_ID_PK_COLUMN = "FT3_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToFt4Array(FlattenedTest4 obj) {
-        addToManyTarget(FT4ARRAY_PROPERTY, obj, true);
-    }
-    public void removeFromFt4Array(FlattenedTest4 obj) {
-        removeToManyTarget(FT4ARRAY_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<FlattenedTest4> getFt4Array() {
-        return (List<FlattenedTest4>)readProperty(FT4ARRAY_PROPERTY);
-    }
-
-
-
-    public FlattenedTest1 getToFT1() {
-        return (FlattenedTest1)readProperty(TO_FT1_PROPERTY);
-    }
-
-
-    public void setToFT2(FlattenedTest2 toFT2) {
-        setToOneTarget(TO_FT2_PROPERTY, toFT2, true);
-    }
-
-    public FlattenedTest2 getToFT2() {
-        return (FlattenedTest2)readProperty(TO_FT2_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest4.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest4.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest4.java
deleted file mode 100644
index 3a37622..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_FlattenedTest4.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.FlattenedTest3;
-
-/**
- * Class _FlattenedTest4 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _FlattenedTest4 extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String TO_FT3_PROPERTY = "toFT3";
-
-    public static final String FT4_ID_PK_COLUMN = "FT4_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void setToFT3(FlattenedTest3 toFT3) {
-        setToOneTarget(TO_FT3_PROPERTY, toFT3, true);
-    }
-
-    public FlattenedTest3 getToFT3() {
-        return (FlattenedTest3)readProperty(TO_FT3_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Master.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Master.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Master.java
deleted file mode 100644
index eaf4d6e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Master.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.Child;
-
-/**
- * Class _Master was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Master extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String CHILDREN_PROPERTY = "children";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToChildren(Child obj) {
-        addToManyTarget(CHILDREN_PROPERTY, obj, true);
-    }
-    public void removeFromChildren(Child obj) {
-        removeToManyTarget(CHILDREN_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<Child> getChildren() {
-        return (List<Child>)readProperty(CHILDREN_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MeaningfulFK.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MeaningfulFK.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MeaningfulFK.java
deleted file mode 100644
index e7771ea..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MeaningfulFK.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.RelationshipHelper;
-
-/**
- * Class _MeaningfulFK was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MeaningfulFK extends CayenneDataObject {
-
-    public static final String RELATIONSHIP_HELPER_ID_PROPERTY = "relationshipHelperID";
-    public static final String TO_RELATIONSHIP_HELPER_PROPERTY = "toRelationshipHelper";
-
-    public static final String MEANIGNFUL_FK_ID_PK_COLUMN = "MEANIGNFUL_FK_ID";
-
-    public void setRelationshipHelperID(Integer relationshipHelperID) {
-        writeProperty(RELATIONSHIP_HELPER_ID_PROPERTY, relationshipHelperID);
-    }
-    public Integer getRelationshipHelperID() {
-        return (Integer)readProperty(RELATIONSHIP_HELPER_ID_PROPERTY);
-    }
-
-    public void setToRelationshipHelper(RelationshipHelper toRelationshipHelper) {
-        setToOneTarget(TO_RELATIONSHIP_HELPER_PROPERTY, toRelationshipHelper, true);
-    }
-
-    public RelationshipHelper getToRelationshipHelper() {
-        return (RelationshipHelper)readProperty(TO_RELATIONSHIP_HELPER_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ReflexiveAndToOne.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ReflexiveAndToOne.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ReflexiveAndToOne.java
deleted file mode 100644
index 4f8508e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ReflexiveAndToOne.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.ReflexiveAndToOne;
-import org.apache.cayenne.testdo.relationship.RelationshipHelper;
-
-/**
- * Class _ReflexiveAndToOne was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ReflexiveAndToOne extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String CHILDREN_PROPERTY = "children";
-    public static final String TO_HELPER_PROPERTY = "toHelper";
-    public static final String TO_PARENT_PROPERTY = "toParent";
-
-    public static final String REFLEXIVE_AND_TO_ONE_ID_PK_COLUMN = "REFLEXIVE_AND_TO_ONE_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToChildren(ReflexiveAndToOne obj) {
-        addToManyTarget(CHILDREN_PROPERTY, obj, true);
-    }
-    public void removeFromChildren(ReflexiveAndToOne obj) {
-        removeToManyTarget(CHILDREN_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<ReflexiveAndToOne> getChildren() {
-        return (List<ReflexiveAndToOne>)readProperty(CHILDREN_PROPERTY);
-    }
-
-
-    public void setToHelper(RelationshipHelper toHelper) {
-        setToOneTarget(TO_HELPER_PROPERTY, toHelper, true);
-    }
-
-    public RelationshipHelper getToHelper() {
-        return (RelationshipHelper)readProperty(TO_HELPER_PROPERTY);
-    }
-
-
-    public void setToParent(ReflexiveAndToOne toParent) {
-        setToOneTarget(TO_PARENT_PROPERTY, toParent, true);
-    }
-
-    public ReflexiveAndToOne getToParent() {
-        return (ReflexiveAndToOne)readProperty(TO_PARENT_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_RelationshipHelper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_RelationshipHelper.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_RelationshipHelper.java
deleted file mode 100644
index d681baf..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_RelationshipHelper.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.FkOfDifferentType;
-import org.apache.cayenne.testdo.relationship.MeaningfulFK;
-import org.apache.cayenne.testdo.relationship.ReflexiveAndToOne;
-
-/**
- * Class _RelationshipHelper was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _RelationshipHelper extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String FKS_OF_DIFFERENT_TYPE_PROPERTY = "fksOfDifferentType";
-    public static final String MEANIGFUL_FKS_PROPERTY = "meanigfulFKs";
-    public static final String REFLEXIVE_AND_TO_ONE_ARRAY_PROPERTY = "reflexiveAndToOneArray";
-
-    public static final String RELATIONSHIP_HELPER_ID_PK_COLUMN = "RELATIONSHIP_HELPER_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToFksOfDifferentType(FkOfDifferentType obj) {
-        addToManyTarget(FKS_OF_DIFFERENT_TYPE_PROPERTY, obj, true);
-    }
-    public void removeFromFksOfDifferentType(FkOfDifferentType obj) {
-        removeToManyTarget(FKS_OF_DIFFERENT_TYPE_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<FkOfDifferentType> getFksOfDifferentType() {
-        return (List<FkOfDifferentType>)readProperty(FKS_OF_DIFFERENT_TYPE_PROPERTY);
-    }
-
-
-    public void addToMeanigfulFKs(MeaningfulFK obj) {
-        addToManyTarget(MEANIGFUL_FKS_PROPERTY, obj, true);
-    }
-    public void removeFromMeanigfulFKs(MeaningfulFK obj) {
-        removeToManyTarget(MEANIGFUL_FKS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<MeaningfulFK> getMeanigfulFKs() {
-        return (List<MeaningfulFK>)readProperty(MEANIGFUL_FKS_PROPERTY);
-    }
-
-
-    public void addToReflexiveAndToOneArray(ReflexiveAndToOne obj) {
-        addToManyTarget(REFLEXIVE_AND_TO_ONE_ARRAY_PROPERTY, obj, true);
-    }
-    public void removeFromReflexiveAndToOneArray(ReflexiveAndToOne obj) {
-        removeToManyTarget(REFLEXIVE_AND_TO_ONE_ARRAY_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<ReflexiveAndToOne> getReflexiveAndToOneArray() {
-        return (List<ReflexiveAndToOne>)readProperty(REFLEXIVE_AND_TO_ONE_ARRAY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Relationships.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Relationships.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Relationships.java
deleted file mode 100644
index ef061da..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_Relationships.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-
-
-/**
- * This class was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public class _Relationships {
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_SetToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_SetToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_SetToMany.java
deleted file mode 100644
index 46af567..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_SetToMany.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.Set;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.SetToManyTarget;
-
-/**
- * Class _SetToMany was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _SetToMany extends CayenneDataObject {
-
-    public static final String TARGETS_PROPERTY = "targets";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void addToTargets(SetToManyTarget obj) {
-        addToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    public void removeFromTargets(SetToManyTarget obj) {
-        removeToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public Set<SetToManyTarget> getTargets() {
-        return (Set<SetToManyTarget>)readProperty(TARGETS_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_SetToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_SetToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_SetToManyTarget.java
deleted file mode 100644
index 46f4901..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_SetToManyTarget.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.SetToMany;
-
-/**
- * Class _SetToManyTarget was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _SetToManyTarget extends CayenneDataObject {
-
-    public static final String SET_TO_MANY_PROPERTY = "setToMany";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setSetToMany(SetToMany setToMany) {
-        setToOneTarget(SET_TO_MANY_PROPERTY, setToMany, true);
-    }
-
-    public SetToMany getSetToMany() {
-        return (SetToMany)readProperty(SET_TO_MANY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyFkDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyFkDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyFkDep.java
deleted file mode 100644
index c9a85c0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyFkDep.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.ToManyFkRoot;
-import org.apache.cayenne.testdo.relationship.ToManyRoot2;
-
-/**
- * Class _ToManyFkDep was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ToManyFkDep extends CayenneDataObject {
-
-    public static final String DEP_ID_PROPERTY = "depId";
-    public static final String NAME_PROPERTY = "name";
-    public static final String ROOT_PROPERTY = "root";
-    public static final String ROOT2_PROPERTY = "root2";
-
-    public static final String DEP_ID_PK_COLUMN = "DEP_ID";
-    public static final String OTHER_ID_PK_COLUMN = "OTHER_ID";
-
-    public void setDepId(Integer depId) {
-        writeProperty(DEP_ID_PROPERTY, depId);
-    }
-    public Integer getDepId() {
-        return (Integer)readProperty(DEP_ID_PROPERTY);
-    }
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void setRoot(ToManyFkRoot root) {
-        setToOneTarget(ROOT_PROPERTY, root, true);
-    }
-
-    public ToManyFkRoot getRoot() {
-        return (ToManyFkRoot)readProperty(ROOT_PROPERTY);
-    }
-
-
-    public void setRoot2(ToManyRoot2 root2) {
-        setToOneTarget(ROOT2_PROPERTY, root2, true);
-    }
-
-    public ToManyRoot2 getRoot2() {
-        return (ToManyRoot2)readProperty(ROOT2_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyFkRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyFkRoot.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyFkRoot.java
deleted file mode 100644
index d7b000d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyFkRoot.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.ToManyFkDep;
-
-/**
- * Class _ToManyFkRoot was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ToManyFkRoot extends CayenneDataObject {
-
-    public static final String DEP_ID_PROPERTY = "depId";
-    public static final String NAME_PROPERTY = "name";
-    public static final String DEPS_PROPERTY = "deps";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setDepId(Integer depId) {
-        writeProperty(DEP_ID_PROPERTY, depId);
-    }
-    public Integer getDepId() {
-        return (Integer)readProperty(DEP_ID_PROPERTY);
-    }
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToDeps(ToManyFkDep obj) {
-        addToManyTarget(DEPS_PROPERTY, obj, true);
-    }
-    public void removeFromDeps(ToManyFkDep obj) {
-        removeToManyTarget(DEPS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<ToManyFkDep> getDeps() {
-        return (List<ToManyFkDep>)readProperty(DEPS_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyRoot2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyRoot2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyRoot2.java
deleted file mode 100644
index e415ad1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToManyRoot2.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.ToManyFkDep;
-
-/**
- * Class _ToManyRoot2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ToManyRoot2 extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String DEPS_PROPERTY = "deps";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToDeps(ToManyFkDep obj) {
-        addToManyTarget(DEPS_PROPERTY, obj, true);
-    }
-    public void removeFromDeps(ToManyFkDep obj) {
-        removeToManyTarget(DEPS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<ToManyFkDep> getDeps() {
-        return (List<ToManyFkDep>)readProperty(DEPS_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToOneFK1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToOneFK1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToOneFK1.java
deleted file mode 100644
index ee61258..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToOneFK1.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.ToOneFK2;
-
-/**
- * Class _ToOneFK1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ToOneFK1 extends CayenneDataObject {
-
-    public static final String TO_PK_PROPERTY = "toPK";
-
-    public static final String TO_ONEFK1_PK_PK_COLUMN = "TO_ONEFK1_PK";
-
-    public void setToPK(ToOneFK2 toPK) {
-        setToOneTarget(TO_PK_PROPERTY, toPK, true);
-    }
-
-    public ToOneFK2 getToPK() {
-        return (ToOneFK2)readProperty(TO_PK_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToOneFK2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToOneFK2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToOneFK2.java
deleted file mode 100644
index b536f6e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_ToOneFK2.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.ToOneFK1;
-
-/**
- * Class _ToOneFK2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ToOneFK2 extends CayenneDataObject {
-
-    public static final String TO_ONE_TO_FK_PROPERTY = "toOneToFK";
-
-    public static final String TO_ONEFK2_PK_PK_COLUMN = "TO_ONEFK2_PK";
-
-    public void setToOneToFK(ToOneFK1 toOneToFK) {
-        setToOneTarget(TO_ONE_TO_FK_PROPERTY, toOneToFK, true);
-    }
-
-    public ToOneFK1 getToOneToFK() {
-        return (ToOneFK1)readProperty(TO_ONE_TO_FK_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/FkOfDifferentType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/FkOfDifferentType.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/FkOfDifferentType.java
new file mode 100644
index 0000000..1d36537
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/FkOfDifferentType.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships;
+
+import org.apache.cayenne.testdo.relationships.auto._FkOfDifferentType;
+
+public class FkOfDifferentType extends _FkOfDifferentType {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/MeaningfulFK.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/MeaningfulFK.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/MeaningfulFK.java
new file mode 100644
index 0000000..52c25ce
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/MeaningfulFK.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships;
+
+import org.apache.cayenne.testdo.relationships.auto._MeaningfulFK;
+
+public class MeaningfulFK extends _MeaningfulFK {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/ReflexiveAndToOne.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/ReflexiveAndToOne.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/ReflexiveAndToOne.java
new file mode 100644
index 0000000..a550c0f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/ReflexiveAndToOne.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.relationships;
+
+public class ReflexiveAndToOne extends org.apache.cayenne.testdo.relationships.auto._ReflexiveAndToOne {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/RelationshipHelper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/RelationshipHelper.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/RelationshipHelper.java
new file mode 100644
index 0000000..6fc4e25
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/RelationshipHelper.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.relationships;
+
+public class RelationshipHelper extends org.apache.cayenne.testdo.relationships.auto._RelationshipHelper {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/Relationships.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/Relationships.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/Relationships.java
new file mode 100644
index 0000000..d7ccf94
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/Relationships.java
@@ -0,0 +1,36 @@
+/*****************************************************************
+ *   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.testdo.relationships;
+
+import org.apache.cayenne.testdo.relationships.auto._Relationships;
+
+public class Relationships extends _Relationships {
+
+    private static Relationships instance;
+
+    private Relationships() {}
+
+    public static Relationships getInstance() {
+        if(instance == null) {
+            instance = new Relationships();
+        }
+
+        return instance;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_FkOfDifferentType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_FkOfDifferentType.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_FkOfDifferentType.java
new file mode 100644
index 0000000..63b1138
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_FkOfDifferentType.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.relationships.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships.RelationshipHelper;
+
+/**
+ * Class _FkOfDifferentType was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _FkOfDifferentType extends CayenneDataObject {
+
+    public static final String RELATIONSHIP_HELPER_PROPERTY = "relationshipHelper";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setRelationshipHelper(RelationshipHelper relationshipHelper) {
+        setToOneTarget(RELATIONSHIP_HELPER_PROPERTY, relationshipHelper, true);
+    }
+
+    public RelationshipHelper getRelationshipHelper() {
+        return (RelationshipHelper)readProperty(RELATIONSHIP_HELPER_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_MeaningfulFK.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_MeaningfulFK.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_MeaningfulFK.java
new file mode 100644
index 0000000..65e855c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_MeaningfulFK.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.relationships.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships.RelationshipHelper;
+
+/**
+ * Class _MeaningfulFK was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _MeaningfulFK extends CayenneDataObject {
+
+    public static final String RELATIONSHIP_HELPER_ID_PROPERTY = "relationshipHelperID";
+    public static final String TO_RELATIONSHIP_HELPER_PROPERTY = "toRelationshipHelper";
+
+    public static final String MEANIGNFUL_FK_ID_PK_COLUMN = "MEANIGNFUL_FK_ID";
+
+    public void setRelationshipHelperID(Integer relationshipHelperID) {
+        writeProperty(RELATIONSHIP_HELPER_ID_PROPERTY, relationshipHelperID);
+    }
+    public Integer getRelationshipHelperID() {
+        return (Integer)readProperty(RELATIONSHIP_HELPER_ID_PROPERTY);
+    }
+
+    public void setToRelationshipHelper(RelationshipHelper toRelationshipHelper) {
+        setToOneTarget(TO_RELATIONSHIP_HELPER_PROPERTY, toRelationshipHelper, true);
+    }
+
+    public RelationshipHelper getToRelationshipHelper() {
+        return (RelationshipHelper)readProperty(TO_RELATIONSHIP_HELPER_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_ReflexiveAndToOne.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_ReflexiveAndToOne.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_ReflexiveAndToOne.java
new file mode 100644
index 0000000..01f17c7
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_ReflexiveAndToOne.java
@@ -0,0 +1,61 @@
+package org.apache.cayenne.testdo.relationships.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships.ReflexiveAndToOne;
+import org.apache.cayenne.testdo.relationships.RelationshipHelper;
+
+/**
+ * Class _ReflexiveAndToOne was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ReflexiveAndToOne extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String CHILDREN_PROPERTY = "children";
+    public static final String TO_HELPER_PROPERTY = "toHelper";
+    public static final String TO_PARENT_PROPERTY = "toParent";
+
+    public static final String REFLEXIVE_AND_TO_ONE_ID_PK_COLUMN = "REFLEXIVE_AND_TO_ONE_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToChildren(ReflexiveAndToOne obj) {
+        addToManyTarget(CHILDREN_PROPERTY, obj, true);
+    }
+    public void removeFromChildren(ReflexiveAndToOne obj) {
+        removeToManyTarget(CHILDREN_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<ReflexiveAndToOne> getChildren() {
+        return (List<ReflexiveAndToOne>)readProperty(CHILDREN_PROPERTY);
+    }
+
+
+    public void setToHelper(RelationshipHelper toHelper) {
+        setToOneTarget(TO_HELPER_PROPERTY, toHelper, true);
+    }
+
+    public RelationshipHelper getToHelper() {
+        return (RelationshipHelper)readProperty(TO_HELPER_PROPERTY);
+    }
+
+
+    public void setToParent(ReflexiveAndToOne toParent) {
+        setToOneTarget(TO_PARENT_PROPERTY, toParent, true);
+    }
+
+    public ReflexiveAndToOne getToParent() {
+        return (ReflexiveAndToOne)readProperty(TO_PARENT_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_RelationshipHelper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_RelationshipHelper.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_RelationshipHelper.java
new file mode 100644
index 0000000..9cdff59
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_RelationshipHelper.java
@@ -0,0 +1,68 @@
+package org.apache.cayenne.testdo.relationships.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships.FkOfDifferentType;
+import org.apache.cayenne.testdo.relationships.MeaningfulFK;
+import org.apache.cayenne.testdo.relationships.ReflexiveAndToOne;
+
+/**
+ * Class _RelationshipHelper was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _RelationshipHelper extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String FKS_OF_DIFFERENT_TYPE_PROPERTY = "fksOfDifferentType";
+    public static final String MEANIGFUL_FKS_PROPERTY = "meanigfulFKs";
+    public static final String REFLEXIVE_AND_TO_ONE_ARRAY_PROPERTY = "reflexiveAndToOneArray";
+
+    public static final String RELATIONSHIP_HELPER_ID_PK_COLUMN = "RELATIONSHIP_HELPER_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToFksOfDifferentType(FkOfDifferentType obj) {
+        addToManyTarget(FKS_OF_DIFFERENT_TYPE_PROPERTY, obj, true);
+    }
+    public void removeFromFksOfDifferentType(FkOfDifferentType obj) {
+        removeToManyTarget(FKS_OF_DIFFERENT_TYPE_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<FkOfDifferentType> getFksOfDifferentType() {
+        return (List<FkOfDifferentType>)readProperty(FKS_OF_DIFFERENT_TYPE_PROPERTY);
+    }
+
+
+    public void addToMeanigfulFKs(MeaningfulFK obj) {
+        addToManyTarget(MEANIGFUL_FKS_PROPERTY, obj, true);
+    }
+    public void removeFromMeanigfulFKs(MeaningfulFK obj) {
+        removeToManyTarget(MEANIGFUL_FKS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<MeaningfulFK> getMeanigfulFKs() {
+        return (List<MeaningfulFK>)readProperty(MEANIGFUL_FKS_PROPERTY);
+    }
+
+
+    public void addToReflexiveAndToOneArray(ReflexiveAndToOne obj) {
+        addToManyTarget(REFLEXIVE_AND_TO_ONE_ARRAY_PROPERTY, obj, true);
+    }
+    public void removeFromReflexiveAndToOneArray(ReflexiveAndToOne obj) {
+        removeToManyTarget(REFLEXIVE_AND_TO_ONE_ARRAY_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<ReflexiveAndToOne> getReflexiveAndToOneArray() {
+        return (List<ReflexiveAndToOne>)readProperty(REFLEXIVE_AND_TO_ONE_ARRAY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_Relationships.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_Relationships.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_Relationships.java
new file mode 100644
index 0000000..ef1d872
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships/auto/_Relationships.java
@@ -0,0 +1,12 @@
+package org.apache.cayenne.testdo.relationships.auto;
+
+
+
+/**
+ * This class was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public class _Relationships {
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/Activity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/Activity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/Activity.java
new file mode 100644
index 0000000..9308ec1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/Activity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.relationships_activity;
+
+import org.apache.cayenne.testdo.relationships_activity.auto._Activity;
+
+public class Activity extends _Activity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/ActivityResult.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/ActivityResult.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/ActivityResult.java
new file mode 100644
index 0000000..04edc9a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/ActivityResult.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.relationships_activity;
+
+import org.apache.cayenne.testdo.relationships_activity.auto._ActivityResult;
+
+public class ActivityResult extends _ActivityResult {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/Relationships1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/Relationships1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/Relationships1.java
new file mode 100644
index 0000000..aab368a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/Relationships1.java
@@ -0,0 +1,36 @@
+/*****************************************************************
+ *   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.testdo.relationships_activity;
+
+import org.apache.cayenne.testdo.relationships_activity.auto._Relationships1;
+
+public class Relationships1 extends _Relationships1 {
+
+    private static Relationships1 instance;
+
+    private Relationships1() {}
+
+    public static Relationships1 getInstance() {
+        if(instance == null) {
+            instance = new Relationships1();
+        }
+
+        return instance;
+    }
+}


[03/50] [abbrv] cayenne git commit: CAY-1966 SQLTemplate/SQLSelect positional parameter binding

Posted by aa...@apache.org.
CAY-1966 SQLTemplate/SQLSelect positional parameter binding

    * positional parameter bindings in SQLSelect


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/8f16b607
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/8f16b607
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/8f16b607

Branch: refs/heads/CAY-1946
Commit: 8f16b60728ac7bb0b54497053d91c6cd5c566359
Parents: 14e9dc3
Author: aadamchik <aa...@apache.org>
Authored: Sun Nov 2 22:59:04 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Nov 2 23:17:15 2014 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/query/SQLSelect.java     |  48 +++-
 .../org/apache/cayenne/query/SQLTemplate.java   |  11 +-
 .../org/apache/cayenne/query/SQLSelectIT.java   | 250 ++++++++++---------
 docs/doc/src/main/resources/RELEASE-NOTES.txt   |   1 +
 4 files changed, 179 insertions(+), 131 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/8f16b607/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
index fc413fa..5509cb4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
@@ -18,6 +18,8 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -90,6 +92,7 @@ public class SQLSelect<T> extends IndirectQuery implements Select<T> {
 	protected QueryCacheStrategy cacheStrategy;
 	protected String[] cacheGroups;
 	protected Map<String, Object> params;
+	protected List<Object> positionalParams;
 	protected CapsStrategy columnNameCaps;
 	protected int limit;
 	protected int offset;
@@ -103,7 +106,6 @@ public class SQLSelect<T> extends IndirectQuery implements Select<T> {
 	public SQLSelect(Class<T> persistentType, String sql) {
 		this.persistentType = persistentType;
 		this.sqlBuffer = sql != null ? new StringBuilder(sql) : new StringBuilder();
-		this.params = new HashMap<String, Object>();
 		this.limit = QueryMetadata.FETCH_LIMIT_DEFAULT;
 		this.offset = QueryMetadata.FETCH_OFFSET_DEFAULT;
 		this.pageSize = QueryMetadata.PAGE_SIZE_DEFAULT;
@@ -148,26 +150,48 @@ public class SQLSelect<T> extends IndirectQuery implements Select<T> {
 	}
 
 	public SQLSelect<T> params(String name, Object value) {
-		params.put(name, value);
-		this.replacementQuery = null;
+		params(Collections.singletonMap(name, value));
 		return this;
 	}
 
 	@SuppressWarnings({ "rawtypes", "unchecked" })
 	public SQLSelect<T> params(Map<String, ?> parameters) {
-		Map bareMap = parameters;
-		parameters.putAll(bareMap);
+
+		if (this.params == null) {
+			this.params = new HashMap<String, Object>(parameters);
+		} else {
+			Map bareMap = parameters;
+			this.params.putAll(bareMap);
+		}
+
 		this.replacementQuery = null;
+
+		// since named parameters are specified, resetting positional
+		// parameters
+		this.positionalParams = null;
+		return this;
+	}
+
+	public SQLSelect<T> paramsArray(Object... params) {
+		return paramsList(params != null ? Arrays.asList(params) : null);
+	}
+
+	public SQLSelect<T> paramsList(List<Object> params) {
+		// since named parameters are specified, resetting positional
+		// parameters
+		this.params = null;
+
+		this.positionalParams = params;
 		return this;
 	}
 
 	/**
-	 * Returns a mutable map of parameters that will be bound to SQL. A caller
-	 * is free to add/remove parameters from the returned map as needed.
+	 * Returns an immmutable map of parameters that will be bound to SQL. A
+	 * caller is free to add/remove parameters from the returned map as needed.
 	 * Alternatively one may use chained {@link #params(String, Object)}
 	 */
 	public Map<String, Object> getParams() {
-		return params;
+		return params != null ? params : Collections.<String, Object> emptyMap();
 	}
 
 	@Override
@@ -195,7 +219,13 @@ public class SQLSelect<T> extends IndirectQuery implements Select<T> {
 		template.setDefaultTemplate(getSql());
 		template.setCacheGroups(cacheGroups);
 		template.setCacheStrategy(cacheStrategy);
-		template.setParams(params);
+
+		if (positionalParams != null) {
+			template.setParamsArray(positionalParams);
+		} else {
+			template.setParams(params);
+		}
+
 		template.setColumnNamesCapitalization(columnNameCaps);
 		template.setFetchLimit(limit);
 		template.setFetchOffset(offset);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8f16b607/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
index dd4b176..0241975 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
@@ -19,6 +19,7 @@
 
 package org.apache.cayenne.query;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
@@ -357,11 +358,17 @@ public class SQLTemplate extends AbstractQuery implements ParameterizedQuery, XM
 	 * @since 4.0
 	 */
 	public void setParamsArray(Object... params) {
+		setParamsList(params != null ? Arrays.asList(params) : null);
+	}
+
+	/**
+	 * @since 4.0
+	 */
+	public void setParamsList(List<Object> params) {
 		// since positional parameters are specified, resetting named
 		// parameters
 		this.parameters = null;
-
-		this.positionalParams = params != null ? Arrays.asList(params) : null;
+		this.positionalParams = params != null ? new ArrayList<Object>(params) : null;
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8f16b607/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
index bf5d66b..0d7acf0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
@@ -18,6 +18,8 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
+import java.util.List;
+
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
@@ -27,187 +29,195 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 
-import java.util.List;
-
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLSelectIT extends ServerCase {
 
-    @Inject
-    private DataContext context;
+	@Inject
+	private DataContext context;
+
+	@Inject
+	private DBHelper dbHelper;
+
+	@Override
+	protected void setUpAfterInjection() throws Exception {
+		dbHelper.deleteAll("PAINTING_INFO");
+		dbHelper.deleteAll("PAINTING");
+		dbHelper.deleteAll("ARTIST_EXHIBIT");
+		dbHelper.deleteAll("ARTIST_GROUP");
+		dbHelper.deleteAll("ARTIST");
+	}
+
+	protected void createArtistsDataSet() throws Exception {
+		TableHelper tArtist = new TableHelper(dbHelper, "ARTIST");
+		tArtist.setColumns("ARTIST_ID", "ARTIST_NAME", "DATE_OF_BIRTH");
+
+		long dateBase = System.currentTimeMillis();
 
-    @Inject
-    private DBHelper dbHelper;
+		for (int i = 1; i <= 20; i++) {
+			tArtist.insert(i, "artist" + i, new java.sql.Date(dateBase + 10000 * i));
+		}
+	}
 
-    @Override
-    protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("PAINTING_INFO");
-        dbHelper.deleteAll("PAINTING");
-        dbHelper.deleteAll("ARTIST_EXHIBIT");
-        dbHelper.deleteAll("ARTIST_GROUP");
-        dbHelper.deleteAll("ARTIST");
-    }
+	public void test_DataRows_DataMapNameRoot() throws Exception {
 
-    protected void createArtistsDataSet() throws Exception {
-        TableHelper tArtist = new TableHelper(dbHelper, "ARTIST");
-        tArtist.setColumns("ARTIST_ID", "ARTIST_NAME", "DATE_OF_BIRTH");
+		createArtistsDataSet();
 
-        long dateBase = System.currentTimeMillis();
+		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("tstmap", "SELECT * FROM ARTIST");
+		assertTrue(q1.isFetchingDataRows());
 
-        for (int i = 1; i <= 20; i++) {
-            tArtist.insert(i, "artist" + i, new java.sql.Date(dateBase + 10000 * i));
-        }
-    }
+		List<DataRow> result = context.select(q1);
+		assertEquals(20, result.size());
+		assertTrue(result.get(0) instanceof DataRow);
+	}
 
-    public void test_DataRows_DataMapNameRoot() throws Exception {
+	public void test_DataRows_DefaultRoot() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("tstmap", "SELECT * FROM ARTIST");
-        assertTrue(q1.isFetchingDataRows());
+		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("SELECT * FROM ARTIST");
+		assertTrue(q1.isFetchingDataRows());
 
-        List<DataRow> result = context.select(q1);
-        assertEquals(20, result.size());
-        assertTrue(result.get(0) instanceof DataRow);
-    }
+		List<DataRow> result = context.select(q1);
+		assertEquals(20, result.size());
+		assertTrue(result.get(0) instanceof DataRow);
+	}
 
-    public void test_DataRows_DefaultRoot() throws Exception {
+	public void test_DataRows_ClassRoot() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("SELECT * FROM ARTIST");
-        assertTrue(q1.isFetchingDataRows());
+		SQLSelect<Artist> q1 = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST");
+		assertFalse(q1.isFetchingDataRows());
+		List<Artist> result = context.select(q1);
+		assertEquals(20, result.size());
+		assertTrue(result.get(0) instanceof Artist);
+	}
 
-        List<DataRow> result = context.select(q1);
-        assertEquals(20, result.size());
-        assertTrue(result.get(0) instanceof DataRow);
-    }
+	public void test_DataRows_ClassRoot_Parameters() throws Exception {
 
-    public void test_DataRows_ClassRoot() throws Exception {
+		createArtistsDataSet();
 
-        createArtistsDataSet();
+		SQLSelect<Artist> q1 = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST WHERE ARTIST_NAME = #bind($a)");
+		q1.params("a", "artist3");
 
-        SQLSelect<Artist> q1 = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST");
-        assertFalse(q1.isFetchingDataRows());
-        List<Artist> result = context.select(q1);
-        assertEquals(20, result.size());
-        assertTrue(result.get(0) instanceof Artist);
-    }
+		assertFalse(q1.isFetchingDataRows());
+		Artist a = context.selectOne(q1);
+		assertEquals("artist3", a.getArtistName());
+	}
 
-    public void test_DataRows_ClassRoot_Parameters() throws Exception {
+	public void test_DataRows_ClassRoot_Bind() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        SQLSelect<Artist> q1 = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST WHERE ARTIST_NAME = #bind($a)");
-        q1.getParams().put("a", "artist3");
+		SQLSelect<Artist> q1 = SQLSelect.query(Artist.class,
+				"SELECT * FROM ARTIST WHERE ARTIST_NAME = #bind($a) OR ARTIST_NAME = #bind($b)");
+		q1.params("a", "artist3").params("b", "artist4");
 
-        assertFalse(q1.isFetchingDataRows());
-        Artist a = context.selectOne(q1);
-        assertEquals("artist3", a.getArtistName());
-    }
+		List<Artist> result = context.select(q1);
+		assertEquals(2, result.size());
+	}
 
-    public void test_DataRows_ClassRoot_Bind() throws Exception {
+	public void test_DataRows_ColumnNameCaps() throws Exception {
 
-        createArtistsDataSet();
+		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("SELECT * FROM ARTIST WHERE ARTIST_NAME = 'artist2'");
+		q1.upperColumnNames();
 
-        SQLSelect<Artist> q1 = SQLSelect.query(Artist.class,
-                "SELECT * FROM ARTIST WHERE ARTIST_NAME = #bind($a) OR ARTIST_NAME = #bind($b)");
-        q1.params("a", "artist3").params("b", "artist4");
+		SQLTemplate r1 = (SQLTemplate) q1.getReplacementQuery(context.getEntityResolver());
+		assertEquals(CapsStrategy.UPPER, r1.getColumnNamesCapitalization());
 
-        List<Artist> result = context.select(q1);
-        assertEquals(2, result.size());
-    }
+		q1.lowerColumnNames();
+		SQLTemplate r2 = (SQLTemplate) q1.getReplacementQuery(context.getEntityResolver());
+		assertEquals(CapsStrategy.LOWER, r2.getColumnNamesCapitalization());
+	}
 
-    public void test_DataRows_ColumnNameCaps() throws Exception {
+	public void test_DataRows_FetchLimit() throws Exception {
 
-        SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("SELECT * FROM ARTIST WHERE ARTIST_NAME = 'artist2'");
-        q1.upperColumnNames();
+		createArtistsDataSet();
 
-        SQLTemplate r1 = (SQLTemplate) q1.getReplacementQuery(context.getEntityResolver());
-        assertEquals(CapsStrategy.UPPER, r1.getColumnNamesCapitalization());
+		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("SELECT * FROM ARTIST");
+		q1.limit(5);
 
-        q1.lowerColumnNames();
-        SQLTemplate r2 = (SQLTemplate) q1.getReplacementQuery(context.getEntityResolver());
-        assertEquals(CapsStrategy.LOWER, r2.getColumnNamesCapitalization());
-    }
+		assertEquals(5, context.select(q1).size());
+	}
 
-    public void test_DataRows_FetchLimit() throws Exception {
+	public void test_DataRows_FetchOffset() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("SELECT * FROM ARTIST");
-        q1.limit(5);
+		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("SELECT * FROM ARTIST");
+		q1.offset(4);
 
-        assertEquals(5, context.select(q1).size());
-    }
+		assertEquals(16, context.select(q1).size());
+	}
 
-    public void test_DataRows_FetchOffset() throws Exception {
+	public void test_Append() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("SELECT * FROM ARTIST");
-        q1.offset(4);
+		SQLSelect<Artist> q1 = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST")
+				.append(" WHERE ARTIST_NAME = #bind($a)").params("a", "artist3");
 
-        assertEquals(16, context.select(q1).size());
-    }
+		List<Artist> result = context.select(q1);
+		assertEquals(1, result.size());
+	}
 
-    public void test_Append() throws Exception {
+	public void test_Select() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        SQLSelect<Artist> q1 = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST")
-                .append(" WHERE ARTIST_NAME = #bind($a)").params("a", "artist3");
+		List<Artist> result = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST WHERE ARTIST_NAME = #bind($a)")
+				.params("a", "artist3").select(context);
 
-        List<Artist> result = context.select(q1);
-        assertEquals(1, result.size());
-    }
+		assertEquals(1, result.size());
+	}
 
-    public void test_Select() throws Exception {
+	public void test_SelectOne() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        List<Artist> result = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST WHERE ARTIST_NAME = #bind($a)")
-                .params("a", "artist3").select(context);
+		Artist a = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST WHERE ARTIST_NAME = #bind($a)")
+				.params("a", "artist3").selectOne(context);
 
-        assertEquals(1, result.size());
-    }
+		assertEquals("artist3", a.getArtistName());
+	}
 
-    public void test_SelectOne() throws Exception {
+	public void test_SelectLong() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        Artist a = SQLSelect.query(Artist.class, "SELECT * FROM ARTIST WHERE ARTIST_NAME = #bind($a)")
-                .params("a", "artist3").selectOne(context);
+		long id = SQLSelect.scalarQuery(Long.class, "SELECT ARTIST_ID FROM ARTIST WHERE ARTIST_NAME = #bind($a)")
+				.params("a", "artist3").selectOne(context);
 
-        assertEquals("artist3", a.getArtistName());
-    }
+		assertEquals(3l, id);
+	}
 
-    public void test_SelectLong() throws Exception {
+	public void test_SelectLongArray() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        long id = SQLSelect.scalarQuery(Long.class, "SELECT ARTIST_ID FROM ARTIST WHERE ARTIST_NAME = #bind($a)")
-                .params("a", "artist3").selectOne(context);
+		List<Long> ids = SQLSelect.scalarQuery(Long.class, "SELECT ARTIST_ID FROM ARTIST ORDER BY ARTIST_ID").select(
+				context);
 
-        assertEquals(3l, id);
-    }
+		assertEquals(20, ids.size());
+		assertEquals(2l, ids.get(1).longValue());
+	}
 
-    public void test_SelectLongArray() throws Exception {
+	public void test_SelectCount() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        List<Long> ids = SQLSelect.scalarQuery(Long.class, "SELECT ARTIST_ID FROM ARTIST ORDER BY ARTIST_ID").select(
-                context);
+		int c = SQLSelect.scalarQuery(Integer.class, "SELECT #result('COUNT(*)' 'int') FROM ARTIST").selectOne(context);
 
-        assertEquals(20, ids.size());
-        assertEquals(2l, ids.get(1).longValue());
-    }
+		assertEquals(20, c);
+	}
 
-    public void test_SelectCount() throws Exception {
+	public void testSQLTemplate_PositionalParams() throws Exception {
 
-        createArtistsDataSet();
+		createArtistsDataSet();
 
-        int c = SQLSelect.scalarQuery(Integer.class, "SELECT #result('COUNT(*)' 'int') FROM ARTIST").selectOne(context);
+		Long id = SQLSelect.scalarQuery(Long.class, "SELECT ARTIST_ID FROM ARTIST WHERE ARTIST_NAME = #bind($a)")
+				.paramsArray("artist3").selectOne(context);
 
-        assertEquals(20, c);
-    }
+		assertEquals(3l, id.longValue());
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8f16b607/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt
index 75c7756..ea1e1fd 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -69,6 +69,7 @@ CAY-1958 SelectById - a new full-featured select query to get objects by id
 CAY-1960 ExpressionFactory.exp(..) , and(..), or(..)
 CAY-1962 Implement CayenneTable column resize on double-click on the header separator
 CAY-1965 Change version from 3.2 to 4.0
+CAY-1966 SQLTemplate/SQLSelect positional parameter binding
 CAY-1967 Deprecate SQLTemplate parameter batches
 
 Bug Fixes:


[25/50] [abbrv] cayenne git commit: Refactor Multi Tier Project

Posted by aa...@apache.org.
Refactor Multi Tier Project


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/fb8660e7
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/fb8660e7
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/fb8660e7

Branch: refs/heads/CAY-1946
Commit: fb8660e76986335b9c77ffbe3cc15b78e2d7be96
Parents: 49dd104
Author: Savva Kolbechev <s....@gmail.com>
Authored: Thu Nov 6 16:37:14 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Thu Nov 6 16:37:15 2014 +0300

----------------------------------------------------------------------
 .../cayenne/CayenneContextDeleteRulesIT.java    |  26 +--
 .../CayenneContextMapRelationshipIT.java        |  44 ++--
 .../cayenne/CayenneContextMeaningfulPKIT.java   |  53 +++++
 .../cayenne/CayenneContextPrimitiveIT.java      |  34 ++--
 .../cayenne/CayenneContextReflexiveIT.java      |  74 +++++++
 .../CayenneContextWithDataContextIT.java        |  79 -------
 .../apache/cayenne/NestedCayenneContextIT.java  | 156 --------------
 .../cayenne/NestedCayenneContextTooneIT.java    | 204 +++++++++++++++++++
 .../cayenne/map/ClientEntityResolverIT.java     |  69 -------
 .../cayenne/map/ClientEntityResolverTest.java   |  66 ++++++
 .../cayenne/remote/LightSuperClassIT.java       |   2 +-
 .../cayenne/remote/ROPPrefetchToManyMapIT.java  |  19 +-
 .../cayenne/remote/RemoteCallbacksIT.java       |   8 +-
 .../cayenne/unit/di/client/ClientCase.java      |   8 +
 .../apache/cayenne/CDOMapRelationshipIT.java    |   8 +-
 .../testdo/deleterules/ClientDeleteCascade.java |  28 +++
 .../testdo/deleterules/ClientDeleteDeny.java    |  28 +++
 .../testdo/deleterules/ClientDeleteNullify.java |  28 +++
 .../testdo/deleterules/ClientDeleteRule.java    |  28 +++
 .../testdo/deleterules/DeleteCascade.java       |  28 +++
 .../cayenne/testdo/deleterules/DeleteDeny.java  |  28 +++
 .../testdo/deleterules/DeleteNullify.java       |  28 +++
 .../cayenne/testdo/deleterules/DeleteRule.java  |  28 +++
 .../deleterules/auto/_ClientDeleteCascade.java  |  56 +++++
 .../deleterules/auto/_ClientDeleteDeny.java     |  56 +++++
 .../deleterules/auto/_ClientDeleteNullify.java  |  56 +++++
 .../deleterules/auto/_ClientDeleteRule.java     | 114 +++++++++++
 .../testdo/deleterules/auto/_DeleteCascade.java |  35 ++++
 .../testdo/deleterules/auto/_DeleteDeny.java    |  35 ++++
 .../testdo/deleterules/auto/_DeleteNullify.java |  35 ++++
 .../testdo/deleterules/auto/_DeleteRule.java    |  68 +++++++
 .../testdo/lifecycles/ClientLifecycles.java     |  28 +++
 .../cayenne/testdo/lifecycles/Lifecycles.java   |  25 +++
 .../lifecycles/auto/_ClientLifecycles.java      |  37 ++++
 .../testdo/lifecycles/auto/_Lifecycles.java     |  24 +++
 .../testdo/map_to_many/ClientIdMapToMany.java   |  28 +++
 .../map_to_many/ClientIdMapToManyTarget.java    |  28 +++
 .../cayenne/testdo/map_to_many/IdMapToMany.java |  28 +++
 .../testdo/map_to_many/IdMapToManyTarget.java   |  28 +++
 .../cayenne/testdo/map_to_many/MapToMany.java   |  28 +++
 .../testdo/map_to_many/MapToManyTarget.java     |  28 +++
 .../map_to_many/auto/_ClientIdMapToMany.java    |  41 ++++
 .../auto/_ClientIdMapToManyTarget.java          |  33 +++
 .../testdo/map_to_many/auto/_IdMapToMany.java   |  32 +++
 .../map_to_many/auto/_IdMapToManyTarget.java    |  27 +++
 .../testdo/map_to_many/auto/_MapToMany.java     |  32 +++
 .../map_to_many/auto/_MapToManyTarget.java      |  35 ++++
 .../meaningful_pk/ClientMeaningfulPk.java       |  28 +++
 .../testdo/meaningful_pk/MeaningfulPk.java      |  25 +++
 .../meaningful_pk/auto/_ClientMeaningfulPk.java |  37 ++++
 .../meaningful_pk/auto/_MeaningfulPk.java       |  24 +++
 .../testdo/mt/ClientMtDeleteCascade.java        |  28 ---
 .../cayenne/testdo/mt/ClientMtDeleteDeny.java   |  28 ---
 .../testdo/mt/ClientMtDeleteNullify.java        |  28 ---
 .../cayenne/testdo/mt/ClientMtDeleteRule.java   |  28 ---
 .../cayenne/testdo/mt/ClientMtLifecycles.java   |  28 ---
 .../cayenne/testdo/mt/ClientMtMapToMany.java    |  28 ---
 .../testdo/mt/ClientMtMapToManyTarget.java      |  28 ---
 .../cayenne/testdo/mt/ClientMtMeaningfulPk.java |  28 ---
 .../cayenne/testdo/mt/ClientMtReflexive.java    |  28 ---
 .../testdo/mt/ClientMtTablePrimitives.java      |  28 ---
 .../cayenne/testdo/mt/ClientMtTooneDep.java     |  28 ---
 .../cayenne/testdo/mt/ClientMtTooneMaster.java  |  28 ---
 .../cayenne/testdo/mt/MtDeleteCascade.java      |  28 ---
 .../apache/cayenne/testdo/mt/MtDeleteDeny.java  |  28 ---
 .../cayenne/testdo/mt/MtDeleteNullify.java      |  28 ---
 .../apache/cayenne/testdo/mt/MtDeleteRule.java  |  28 ---
 .../apache/cayenne/testdo/mt/MtLifecycles.java  |  25 ---
 .../apache/cayenne/testdo/mt/MtMapToMany.java   |  28 ---
 .../cayenne/testdo/mt/MtMapToManyTarget.java    |  28 ---
 .../cayenne/testdo/mt/MtMeaningfulPk.java       |  25 ---
 .../apache/cayenne/testdo/mt/MtReflexive.java   |  28 ---
 .../cayenne/testdo/mt/MtTablePrimitives.java    |  25 ---
 .../apache/cayenne/testdo/mt/MtTooneDep.java    |  25 ---
 .../apache/cayenne/testdo/mt/MtTooneMaster.java |  25 ---
 .../testdo/mt/auto/_ClientMtDeleteCascade.java  |  56 -----
 .../testdo/mt/auto/_ClientMtDeleteDeny.java     |  56 -----
 .../testdo/mt/auto/_ClientMtDeleteNullify.java  |  56 -----
 .../testdo/mt/auto/_ClientMtDeleteRule.java     | 114 -----------
 .../testdo/mt/auto/_ClientMtLifecycles.java     |  37 ----
 .../testdo/mt/auto/_ClientMtMapToMany.java      |  41 ----
 .../mt/auto/_ClientMtMapToManyTarget.java       |  33 ---
 .../testdo/mt/auto/_ClientMtMeaningfulPk.java   |  37 ----
 .../testdo/mt/auto/_ClientMtReflexive.java      |  82 --------
 .../mt/auto/_ClientMtTablePrimitives.java       |  60 ------
 .../testdo/mt/auto/_ClientMtTooneDep.java       |  33 ---
 .../testdo/mt/auto/_ClientMtTooneMaster.java    |  33 ---
 .../testdo/mt/auto/_MtDeleteCascade.java        |  35 ----
 .../cayenne/testdo/mt/auto/_MtDeleteDeny.java   |  35 ----
 .../testdo/mt/auto/_MtDeleteNullify.java        |  35 ----
 .../cayenne/testdo/mt/auto/_MtDeleteRule.java   |  68 -------
 .../cayenne/testdo/mt/auto/_MtLifecycles.java   |  24 ---
 .../cayenne/testdo/mt/auto/_MtMapToMany.java    |  32 ---
 .../testdo/mt/auto/_MtMapToManyTarget.java      |  27 ---
 .../cayenne/testdo/mt/auto/_MtMeaningfulPk.java |  24 ---
 .../cayenne/testdo/mt/auto/_MtReflexive.java    |  50 -----
 .../testdo/mt/auto/_MtTablePrimitives.java      |  34 ----
 .../cayenne/testdo/mt/auto/_MtTooneDep.java     |  27 ---
 .../cayenne/testdo/mt/auto/_MtTooneMaster.java  |  27 ---
 .../testdo/reflexive/ClientReflexive.java       |  28 +++
 .../cayenne/testdo/reflexive/Reflexive.java     |  28 +++
 .../testdo/reflexive/auto/_ClientReflexive.java |  82 ++++++++
 .../testdo/reflexive/auto/_Reflexive.java       |  50 +++++
 .../testdo/relationship/IdMapToMany.java        |  28 ---
 .../testdo/relationship/IdMapToManyTarget.java  |  28 ---
 .../cayenne/testdo/relationship/MapToMany.java  |  28 ---
 .../testdo/relationship/MapToManyTarget.java    |  28 ---
 .../testdo/relationship/auto/_IdMapToMany.java  |  32 ---
 .../relationship/auto/_IdMapToManyTarget.java   |  27 ---
 .../testdo/relationship/auto/_MapToMany.java    |  32 ---
 .../relationship/auto/_MapToManyTarget.java     |  35 ----
 .../table_primitives/ClientTablePrimitives.java |  28 +++
 .../table_primitives/TablePrimitives.java       |  25 +++
 .../auto/_ClientTablePrimitives.java            |  60 ++++++
 .../table_primitives/auto/_TablePrimitives.java |  34 ++++
 .../cayenne/testdo/toone/ClientTooneDep.java    |  28 +++
 .../cayenne/testdo/toone/ClientTooneMaster.java |  28 +++
 .../apache/cayenne/testdo/toone/TooneDep.java   |  25 +++
 .../cayenne/testdo/toone/TooneMaster.java       |  25 +++
 .../testdo/toone/auto/_ClientTooneDep.java      |  33 +++
 .../testdo/toone/auto/_ClientTooneMaster.java   |  33 +++
 .../cayenne/testdo/toone/auto/_TooneDep.java    |  27 +++
 .../cayenne/testdo/toone/auto/_TooneMaster.java |  27 +++
 .../cayenne/unit/di/server/SchemaBuilder.java   |  28 +--
 .../cayenne/unit/di/server/ServerCase.java      |   1 +
 .../src/test/resources/cayenne-delete-rules.xml |   4 +
 .../src/test/resources/cayenne-lifecycles.xml   |   4 +
 .../src/test/resources/cayenne-map-to-many.xml  |   4 +
 .../test/resources/cayenne-meaningful-pk.xml    |   4 +
 .../src/test/resources/cayenne-persistent.xml   |   4 +
 .../src/test/resources/cayenne-reflexive.xml    |   4 +
 .../test/resources/cayenne-table-primitives.xml |   4 +
 .../src/test/resources/cayenne-toone.xml        |   4 +
 .../src/test/resources/delete-rules.map.xml     |  64 ++++++
 .../src/test/resources/lifecycles.map.xml       |  16 ++
 .../src/test/resources/map-to-many.map.xml      |  57 ++++++
 .../src/test/resources/meaningful-pk.map.xml    |  15 ++
 .../src/test/resources/multi-tier.map.xml       | 153 --------------
 .../src/test/resources/persistent.map.xml       |  32 +++
 .../src/test/resources/reflexive.map.xml        |  25 +++
 .../src/test/resources/relationships.map.xml    |  40 ----
 .../src/test/resources/table-primitives.map.xml |  18 ++
 cayenne-server/src/test/resources/toone.map.xml |  27 +++
 143 files changed, 2614 insertions(+), 2531 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
index c4d6bc5..c43bac9 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
@@ -20,10 +20,10 @@
 package org.apache.cayenne;
 
 import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteCascade;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteDeny;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteNullify;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteRule;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteCascade;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteDeny;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteNullify;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteRule;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -34,7 +34,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@UseServerRuntime(ClientCase.DELETE_RULES_PROJECT)
 public class CayenneContextDeleteRulesIT extends ClientCase {
 
     @Inject
@@ -43,10 +43,10 @@ public class CayenneContextDeleteRulesIT extends ClientCase {
     @Test
     public void testNullifyToOne() {
 
-        ClientMtDeleteNullify object = context.newObject(ClientMtDeleteNullify.class);
+        ClientDeleteNullify object = context.newObject(ClientDeleteNullify.class);
         object.setName("object");
 
-        ClientMtDeleteRule related = context.newObject(ClientMtDeleteRule.class);
+        ClientDeleteRule related = context.newObject(ClientDeleteRule.class);
         object.setName("related");
 
         object.setNullify(related);
@@ -63,8 +63,8 @@ public class CayenneContextDeleteRulesIT extends ClientCase {
     @Test
     public void testDenyToOne() {
 
-        ClientMtDeleteDeny object = context.newObject(ClientMtDeleteDeny.class);
-        ClientMtDeleteRule related = context.newObject(ClientMtDeleteRule.class);
+        ClientDeleteDeny object = context.newObject(ClientDeleteDeny.class);
+        ClientDeleteRule related = context.newObject(ClientDeleteRule.class);
         object.setDeny(related);
         context.commitChanges();
 
@@ -84,10 +84,10 @@ public class CayenneContextDeleteRulesIT extends ClientCase {
     @Test
     public void testCascadeToOne() {
 
-        ClientMtDeleteCascade object = context.newObject(ClientMtDeleteCascade.class);
+        ClientDeleteCascade object = context.newObject(ClientDeleteCascade.class);
         object.setName("object");
 
-        ClientMtDeleteRule related = context.newObject(ClientMtDeleteRule.class);
+        ClientDeleteRule related = context.newObject(ClientDeleteRule.class);
         object.setName("related");
 
         object.setCascade(related);
@@ -104,10 +104,10 @@ public class CayenneContextDeleteRulesIT extends ClientCase {
     @Test
     public void testCascadeToOneNewObject() {
 
-        ClientMtDeleteRule related = context.newObject(ClientMtDeleteRule.class);
+        ClientDeleteRule related = context.newObject(ClientDeleteRule.class);
         context.commitChanges();
 
-        ClientMtDeleteCascade object = context.newObject(ClientMtDeleteCascade.class);
+        ClientDeleteCascade object = context.newObject(ClientDeleteCascade.class);
         object.setName("object");
         object.setCascade(related);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
index 46fd918..7ae2dee 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.query.RefreshQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.mt.ClientMtMapToMany;
-import org.apache.cayenne.testdo.mt.ClientMtMapToManyTarget;
-import org.apache.cayenne.testdo.mt.MtMapToMany;
+import org.apache.cayenne.testdo.map_to_many.ClientIdMapToMany;
+import org.apache.cayenne.testdo.map_to_many.ClientIdMapToManyTarget;
+import org.apache.cayenne.testdo.map_to_many.IdMapToMany;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@UseServerRuntime(ClientCase.MAP_TO_MANY_PROJECT)
 public class CayenneContextMapRelationshipIT extends ClientCase {
 
     @Inject
@@ -46,36 +46,36 @@ public class CayenneContextMapRelationshipIT extends ClientCase {
     @Inject
     private DBHelper dbHelper;
 
-    private TableHelper tMtMapToMany;
-    private TableHelper tMtMapToManyTarget;
+    private TableHelper tMapToMany;
+    private TableHelper tMapToManyTarget;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("MT_MAP_TO_MANY_TARGET");
-        dbHelper.deleteAll("MT_MAP_TO_MANY");
+        dbHelper.deleteAll("ID_MAP_TO_MANY_TARGET");
+        dbHelper.deleteAll("ID_MAP_TO_MANY");
 
-        tMtMapToMany = new TableHelper(dbHelper, "MT_MAP_TO_MANY");
-        tMtMapToMany.setColumns("ID");
+        tMapToMany = new TableHelper(dbHelper, "ID_MAP_TO_MANY");
+        tMapToMany.setColumns("ID");
 
-        tMtMapToManyTarget = new TableHelper(dbHelper, "MT_MAP_TO_MANY_TARGET");
-        tMtMapToManyTarget.setColumns("ID", "MAP_TO_MANY_ID");
+        tMapToManyTarget = new TableHelper(dbHelper, "ID_MAP_TO_MANY_TARGET");
+        tMapToManyTarget.setColumns("ID", "MAP_TO_MANY_ID");
     }
 
     private void createTwoMapToManysWithTargetsDataSet() throws Exception {
-        tMtMapToMany.insert(1).insert(2);
-        tMtMapToManyTarget.insert(1, 1).insert(2, 1).insert(3, 1).insert(4, 2);
+        tMapToMany.insert(1).insert(2);
+        tMapToManyTarget.insert(1, 1).insert(2, 1).insert(3, 1).insert(4, 2);
     }
 
     @Test
     public void testReadToMany() throws Exception {
         createTwoMapToManysWithTargetsDataSet();
 
-        ObjectId id = new ObjectId("MtMapToMany", MtMapToMany.ID_PK_COLUMN, 1);
-        ClientMtMapToMany o1 = (ClientMtMapToMany) Cayenne.objectForQuery(
+        ObjectId id = new ObjectId("IdMapToMany", IdMapToMany.ID_PK_COLUMN, 1);
+        ClientIdMapToMany o1 = (ClientIdMapToMany) Cayenne.objectForQuery(
                 context,
                 new ObjectIdQuery(id));
 
-        Map<Object, ClientMtMapToManyTarget> targets = o1.getTargets();
+        Map<Object, ClientIdMapToManyTarget> targets = o1.getTargets();
 
         assertTrue(((ValueHolder) targets).isFault());
 
@@ -90,17 +90,17 @@ public class CayenneContextMapRelationshipIT extends ClientCase {
     public void testAddToMany() throws Exception {
         createTwoMapToManysWithTargetsDataSet();
 
-        ObjectId id = new ObjectId("MtMapToMany", MtMapToMany.ID_PK_COLUMN, 1);
-        ClientMtMapToMany o1 = (ClientMtMapToMany) Cayenne.objectForQuery(
+        ObjectId id = new ObjectId("IdMapToMany", IdMapToMany.ID_PK_COLUMN, 1);
+        ClientIdMapToMany o1 = (ClientIdMapToMany) Cayenne.objectForQuery(
                 context,
                 new ObjectIdQuery(id));
 
-        Map<Object, ClientMtMapToManyTarget> targets = o1.getTargets();
+        Map<Object, ClientIdMapToManyTarget> targets = o1.getTargets();
         assertNotNull(targets);
         assertEquals(3, targets.size());
 
-        ClientMtMapToManyTarget newTarget = o1.getObjectContext().newObject(
-                ClientMtMapToManyTarget.class);
+        ClientIdMapToManyTarget newTarget = o1.getObjectContext().newObject(
+                ClientIdMapToManyTarget.class);
 
         o1.addToTargets(newTarget);
         assertEquals(4, targets.size());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMeaningfulPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMeaningfulPKIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMeaningfulPKIT.java
new file mode 100644
index 0000000..89dd47e
--- /dev/null
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMeaningfulPKIT.java
@@ -0,0 +1,53 @@
+package org.apache.cayenne;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.query.SortOrder;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.meaningful_pk.ClientMeaningfulPk;
+import org.apache.cayenne.unit.di.client.ClientCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ClientCase.MEANINGFUL_PK_PROJECT)
+public class CayenneContextMeaningfulPKIT extends ClientCase {
+
+    @Inject
+    private CayenneContext clientContext;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    private TableHelper tMeaningfulPK;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("MEANINGFUL_PK");
+
+        tMeaningfulPK = new TableHelper(dbHelper, "MEANINGFUL_PK");
+        tMeaningfulPK.setColumns("PK");
+    }
+
+    private void deleteAndCreateTwoMeaningfulPKsDataSet() throws Exception {
+        tMeaningfulPK.deleteAll();
+        tMeaningfulPK.insert("A");
+        tMeaningfulPK.insert("B");
+    }
+
+    @Test
+    public void testMeaningfulPK() throws Exception {
+        deleteAndCreateTwoMeaningfulPKsDataSet();
+
+        SelectQuery query = new SelectQuery(ClientMeaningfulPk.class);
+        query.addOrdering(ClientMeaningfulPk.PK_PROPERTY, SortOrder.DESCENDING);
+
+        List<?> results = clientContext.performQuery(query);
+        assertEquals(2, results.size());
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
index f75111c..0c402d5 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
@@ -23,8 +23,8 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.query.SortOrder;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.mt.ClientMtTablePrimitives;
-import org.apache.cayenne.testdo.mt.MtTablePrimitives;
+import org.apache.cayenne.testdo.table_primitives.ClientTablePrimitives;
+import org.apache.cayenne.testdo.table_primitives.TablePrimitives;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@UseServerRuntime(ClientCase.TABLE_PRIMITIVES_PROJECT)
 public class CayenneContextPrimitiveIT extends ClientCase {
 
     @Inject
@@ -49,34 +49,34 @@ public class CayenneContextPrimitiveIT extends ClientCase {
     @Inject
     private DBHelper dbHelper;
 
-    private TableHelper tMtTablePrimitives;
+    private TableHelper tTablePrimitives;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("MT_TABLE_PRIMITIVES");
+        dbHelper.deleteAll("TABLE_PRIMITIVES");
 
         int bool = accessStackAdapter.supportsBoolean() ? Types.BOOLEAN : Types.INTEGER;
         
-        tMtTablePrimitives = new TableHelper(dbHelper, "MT_TABLE_PRIMITIVES");
-        tMtTablePrimitives.setColumns("ID", "BOOLEAN_COLUMN", "INT_COLUMN").setColumnTypes(
+        tTablePrimitives = new TableHelper(dbHelper, "TABLE_PRIMITIVES");
+        tTablePrimitives.setColumns("ID", "BOOLEAN_COLUMN", "INT_COLUMN").setColumnTypes(
                 Types.INTEGER,
                 bool,
                 Types.INTEGER);
     }
 
     private void createTwoPrimitivesDataSet() throws Exception {
-        tMtTablePrimitives.insert(1, accessStackAdapter.supportsBoolean() ? true : 1, 0);
-        tMtTablePrimitives.insert(2, accessStackAdapter.supportsBoolean() ? false : 0, 5);
+        tTablePrimitives.insert(1, accessStackAdapter.supportsBoolean() ? true : 1, 0);
+        tTablePrimitives.insert(2, accessStackAdapter.supportsBoolean() ? false : 0, 5);
     }
 
     @Test
     public void testSelectPrimitives() throws Exception {
         createTwoPrimitivesDataSet();
 
-        SelectQuery query = new SelectQuery(ClientMtTablePrimitives.class);
-        query.addOrdering("db:" + MtTablePrimitives.ID_PK_COLUMN, SortOrder.ASCENDING);
+        SelectQuery query = new SelectQuery(ClientTablePrimitives.class);
+        query.addOrdering("db:" + TablePrimitives.ID_PK_COLUMN, SortOrder.ASCENDING);
 
-        List<ClientMtTablePrimitives> results = context.performQuery(query);
+        List<ClientTablePrimitives> results = context.performQuery(query);
         assertTrue(results.get(0).isBooleanColumn());
         assertFalse(results.get(1).isBooleanColumn());
 
@@ -87,21 +87,21 @@ public class CayenneContextPrimitiveIT extends ClientCase {
     @Test
     public void testCommitChangesPrimitives() throws Exception {
 
-        ClientMtTablePrimitives object = context.newObject(ClientMtTablePrimitives.class);
+        ClientTablePrimitives object = context.newObject(ClientTablePrimitives.class);
 
         object.setBooleanColumn(true);
         object.setIntColumn(3);
 
         context.commitChanges();
 
-        assertTrue(tMtTablePrimitives.getBoolean("BOOLEAN_COLUMN"));
-        assertEquals(3, tMtTablePrimitives.getInt("INT_COLUMN"));
+        assertTrue(tTablePrimitives.getBoolean("BOOLEAN_COLUMN"));
+        assertEquals(3, tTablePrimitives.getInt("INT_COLUMN"));
 
         object.setBooleanColumn(false);
         object.setIntColumn(8);
         context.commitChanges();
 
-        assertFalse(tMtTablePrimitives.getBoolean("BOOLEAN_COLUMN"));
-        assertEquals(8, tMtTablePrimitives.getInt("INT_COLUMN"));
+        assertFalse(tTablePrimitives.getBoolean("BOOLEAN_COLUMN"));
+        assertEquals(8, tTablePrimitives.getInt("INT_COLUMN"));
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextReflexiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextReflexiveIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextReflexiveIT.java
new file mode 100644
index 0000000..04fb4e2
--- /dev/null
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextReflexiveIT.java
@@ -0,0 +1,74 @@
+package org.apache.cayenne;
+
+import org.apache.cayenne.access.ClientServerChannel;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.reflect.LifecycleCallbackRegistry;
+import org.apache.cayenne.testdo.reflexive.ClientReflexive;
+import org.apache.cayenne.testdo.reflexive.Reflexive;
+import org.apache.cayenne.unit.di.client.ClientCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+@UseServerRuntime(ClientCase.REFLEXIVE_PROJECT)
+public class CayenneContextReflexiveIT extends ClientCase {
+
+    @Inject
+    private CayenneContext clientContext;
+
+    @Inject
+    private ClientServerChannel clientServerChannel;
+
+    @Test
+    public void testCAY830() throws Exception {
+
+        // an exception was triggered within POST_LOAD callback
+        LifecycleCallbackRegistry callbackRegistry = clientServerChannel
+                .getEntityResolver()
+                .getCallbackRegistry();
+
+        try {
+            callbackRegistry.addListener(Reflexive.class, new LifecycleListener() {
+
+                public void postLoad(Object entity) {
+                }
+
+                public void postPersist(Object entity) {
+                }
+
+                public void postRemove(Object entity) {
+                }
+
+                public void postUpdate(Object entity) {
+                }
+
+                public void postAdd(Object entity) {
+                }
+
+                public void preRemove(Object entity) {
+                }
+
+                public void preUpdate(Object entity) {
+                }
+
+                public void prePersist(Object entity) {
+                }
+            });
+
+            ClientReflexive o1 = clientContext.newObject(ClientReflexive.class);
+            o1.setName("parent");
+
+            ClientReflexive o2 = clientContext.newObject(ClientReflexive.class);
+            o2.setName("child");
+            o2.setToParent(o1);
+            clientContext.commitChanges();
+
+            clientContext.deleteObjects(o1);
+            clientContext.deleteObjects(o2);
+            clientContext.commitChanges();
+            // per CAY-830 an exception is thrown here
+        }
+        finally {
+            callbackRegistry.clear();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
index ed19ebe..69676c7 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
@@ -32,11 +32,8 @@ import org.apache.cayenne.remote.RemoteIncrementalFaultList;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
-import org.apache.cayenne.testdo.mt.ClientMtMeaningfulPk;
-import org.apache.cayenne.testdo.mt.ClientMtReflexive;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.ClientMtTable2;
-import org.apache.cayenne.testdo.mt.MtReflexive;
 import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
@@ -74,8 +71,6 @@ public class CayenneContextWithDataContextIT extends ClientCase {
     private TableHelper tMtTable1;
     private TableHelper tMtTable2;
 
-    private TableHelper tMtMeaningfulPK;
-
     @Override
     protected void setUpAfterInjection() throws Exception {
         dbHelper.deleteAll("MT_TABLE2");
@@ -87,15 +82,6 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         tMtTable2 = new TableHelper(dbHelper, "MT_TABLE2");
         tMtTable2.setColumns("TABLE2_ID", "TABLE1_ID", "GLOBAL_ATTRIBUTE").setColumnTypes(
                 Types.INTEGER, Types.INTEGER, Types.VARCHAR);
-
-        tMtMeaningfulPK = new TableHelper(dbHelper, "MT_MEANINGFUL_PK");
-        tMtMeaningfulPK.setColumns("PK");
-    }
-
-    private void deleteAndCreateTwoMeaningfulPKsDataSet() throws Exception {
-        tMtMeaningfulPK.deleteAll();
-        tMtMeaningfulPK.insert("A");
-        tMtMeaningfulPK.insert("B");
     }
 
     private void createTwoMtTable1sAnd2sDataSet() throws Exception {
@@ -304,60 +290,6 @@ public class CayenneContextWithDataContextIT extends ClientCase {
     }
 
     @Test
-    public void testCAY830() throws Exception {
-
-        // an exception was triggered within POST_LOAD callback
-        LifecycleCallbackRegistry callbackRegistry = clientServerChannel
-                .getEntityResolver()
-                .getCallbackRegistry();
-
-        try {
-            callbackRegistry.addListener(MtReflexive.class, new LifecycleListener() {
-
-                public void postLoad(Object entity) {
-                }
-
-                public void postPersist(Object entity) {
-                }
-
-                public void postRemove(Object entity) {
-                }
-
-                public void postUpdate(Object entity) {
-                }
-
-                public void postAdd(Object entity) {
-                }
-
-                public void preRemove(Object entity) {
-                }
-
-                public void preUpdate(Object entity) {
-                }
-
-                public void prePersist(Object entity) {
-                }
-            });
-
-            ClientMtReflexive o1 = clientContext.newObject(ClientMtReflexive.class);
-            o1.setName("parent");
-
-            ClientMtReflexive o2 = clientContext.newObject(ClientMtReflexive.class);
-            o2.setName("child");
-            o2.setToParent(o1);
-            clientContext.commitChanges();
-
-            clientContext.deleteObjects(o1);
-            clientContext.deleteObjects(o2);
-            clientContext.commitChanges();
-            // per CAY-830 an exception is thrown here
-        }
-        finally {
-            callbackRegistry.clear();
-        }
-    }
-
-    @Test
     public void testRollbackChanges() throws Exception {
 
         ClientMtTable1 o = clientContext.newObject(ClientMtTable1.class);
@@ -417,17 +349,6 @@ public class CayenneContextWithDataContextIT extends ClientCase {
     }
 
     @Test
-    public void testMeaningfulPK() throws Exception {
-        deleteAndCreateTwoMeaningfulPKsDataSet();
-
-        SelectQuery query = new SelectQuery(ClientMtMeaningfulPk.class);
-        query.addOrdering(ClientMtMeaningfulPk.PK_PROPERTY, SortOrder.DESCENDING);
-
-        List<?> results = clientContext.performQuery(query);
-        assertEquals(2, results.size());
-    }
-
-    @Test
     public void testPrefetchingToOne() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
index 20b7a5d..0e489ab 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
@@ -29,8 +29,6 @@ import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.ClientMtTable2;
-import org.apache.cayenne.testdo.mt.ClientMtTooneDep;
-import org.apache.cayenne.testdo.mt.ClientMtTooneMaster;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.client.ClientCase;
@@ -499,102 +497,6 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
 		assertEquals("DDD", parentDeleted.getGlobalAttribute1());
 	}
 
-	/*
-	 * was added for CAY-1636
-	 */
-	@Test
-	public void testCAY1636() throws Exception {
-
-		ClientMtTooneMaster A = clientContext
-				.newObject(ClientMtTooneMaster.class);
-		clientContext.commitChanges();
-
-		ClientMtTooneDep B = clientContext.newObject(ClientMtTooneDep.class);
-		A.setToDependent(B);
-		clientContext.commitChanges();
-
-		ObjectContext child = runtime.newContext(clientContext);
-
-		SelectQuery<ClientMtTooneMaster> query = new SelectQuery<ClientMtTooneMaster>(
-				ClientMtTooneMaster.class);
-		List<ClientMtTooneMaster> objects = child.select(query);
-
-		assertEquals(1, objects.size());
-
-		ClientMtTooneMaster childDeleted = (ClientMtTooneMaster) objects.get(0);
-
-		child.deleteObjects(childDeleted);
-
-		child.commitChangesToParent();
-
-		ClientMtTooneMaster parentDeleted = (ClientMtTooneMaster) clientContext
-				.getGraphManager().getNode(childDeleted.getObjectId());
-
-		assertNotNull(parentDeleted);
-		assertEquals(PersistenceState.DELETED,
-				parentDeleted.getPersistenceState());
-
-		clientContext.commitChanges();
-
-		SelectQuery<ClientMtTooneMaster> query2 = new SelectQuery<ClientMtTooneMaster>(
-				ClientMtTooneMaster.class);
-		List<ClientMtTooneMaster> objects2 = child.select(query2);
-
-		assertEquals(0, objects2.size());
-
-	}
-
-	@Test
-	public void testCAY1636_2() throws Exception {
-
-		ClientMtTooneMaster A = clientContext
-				.newObject(ClientMtTooneMaster.class);
-		clientContext.commitChanges();
-
-		ClientMtTooneDep B = clientContext.newObject(ClientMtTooneDep.class);
-		A.setToDependent(B);
-		clientContext.commitChanges();
-
-		ObjectContext child = runtime.newContext(clientContext);
-
-		SelectQuery<ClientMtTooneDep> queryB = new SelectQuery<ClientMtTooneDep>(
-				ClientMtTooneDep.class);
-		List<?> objectsB = child.performQuery(queryB);
-
-		assertEquals(1, objectsB.size());
-
-		ClientMtTooneDep childBDeleted = (ClientMtTooneDep) objectsB.get(0);
-		child.deleteObjects(childBDeleted);
-
-		SelectQuery<ClientMtTooneMaster> query = new SelectQuery<ClientMtTooneMaster>(
-				ClientMtTooneMaster.class);
-		List<ClientMtTooneMaster> objects = child.select(query);
-
-		assertEquals(1, objects.size());
-
-		ClientMtTooneMaster childDeleted = objects.get(0);
-
-		child.deleteObjects(childDeleted);
-
-		child.commitChangesToParent();
-
-		ClientMtTooneMaster parentDeleted = (ClientMtTooneMaster) clientContext
-				.getGraphManager().getNode(childDeleted.getObjectId());
-
-		assertNotNull(parentDeleted);
-		assertEquals(PersistenceState.DELETED,
-				parentDeleted.getPersistenceState());
-
-		clientContext.commitChanges();
-
-		SelectQuery<ClientMtTooneMaster> query2 = new SelectQuery<ClientMtTooneMaster>(
-				ClientMtTooneMaster.class);
-		List<ClientMtTooneMaster> objects2 = child.select(query2);
-
-		assertEquals(0, objects2.size());
-
-	}
-
 	@Test
 	public void testCommitChanges() throws Exception {
 		clientContext.newObject(ClientMtTable1.class);
@@ -853,62 +755,4 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
 		assertEquals(2, arcDiffs[0]);
 	}
 
-	@Test
-	public void testCommitChangesToParentOneToOne() throws Exception {
-		ObjectContext child = runtime.newContext(clientContext);
-
-		ClientMtTooneMaster master = child.newObject(ClientMtTooneMaster.class);
-		ClientMtTooneDep dep = child.newObject(ClientMtTooneDep.class);
-		master.setToDependent(dep);
-
-		child.commitChangesToParent();
-
-		ClientMtTooneMaster masterParent = (ClientMtTooneMaster) clientContext
-				.getGraphManager().getNode(master.getObjectId());
-		ClientMtTooneDep depParent = (ClientMtTooneDep) clientContext
-				.getGraphManager().getNode(dep.getObjectId());
-
-		assertNotNull(masterParent);
-		assertNotNull(depParent);
-
-		assertSame(masterParent, depParent.getToMaster());
-		assertSame(depParent, masterParent.getToDependent());
-
-		// check that arc changes got recorded in the parent context
-		GraphDiff diffs = clientContext.internalGraphManager().getDiffs();
-
-		final int[] arcDiffs = new int[1];
-		final int[] newNodes = new int[1];
-
-		diffs.apply(new GraphChangeHandler() {
-
-			public void arcCreated(Object nodeId, Object targetNodeId,
-					Object arcId) {
-				arcDiffs[0]++;
-			}
-
-			public void arcDeleted(Object nodeId, Object targetNodeId,
-					Object arcId) {
-				arcDiffs[0]--;
-			}
-
-			public void nodeCreated(Object nodeId) {
-				newNodes[0]++;
-			}
-
-			public void nodeIdChanged(Object nodeId, Object newId) {
-			}
-
-			public void nodePropertyChanged(Object nodeId, String property,
-					Object oldValue, Object newValue) {
-			}
-
-			public void nodeRemoved(Object nodeId) {
-				newNodes[0]--;
-			}
-		});
-
-		assertEquals(2, newNodes[0]);
-		assertEquals(2, arcDiffs[0]);
-	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextTooneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextTooneIT.java b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextTooneIT.java
new file mode 100644
index 0000000..e548368
--- /dev/null
+++ b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextTooneIT.java
@@ -0,0 +1,204 @@
+package org.apache.cayenne;
+
+import org.apache.cayenne.configuration.rop.client.ClientRuntime;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.graph.GraphChangeHandler;
+import org.apache.cayenne.graph.GraphDiff;
+import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.remote.RemoteCayenneCase;
+import org.apache.cayenne.remote.service.LocalConnection;
+import org.apache.cayenne.testdo.toone.ClientTooneDep;
+import org.apache.cayenne.testdo.toone.ClientTooneMaster;
+import org.apache.cayenne.unit.di.DataChannelInterceptor;
+import org.apache.cayenne.unit.di.client.ClientCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
+@UseServerRuntime(ClientCase.TOONE_PROJECT)
+@RunWith(value = Parameterized.class)
+public class NestedCayenneContextTooneIT extends RemoteCayenneCase {
+
+    @Inject
+    private ClientRuntime runtime;
+
+    @Inject
+    private DataChannelInterceptor queryInterceptor;
+
+    @Parameterized.Parameters
+    public static Collection<Object[]> data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},});
+    }
+
+    public NestedCayenneContextTooneIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
+    /*
+ * was added for CAY-1636
+ */
+    @Test
+    public void testCAY1636() throws Exception {
+
+        ClientTooneMaster A = clientContext
+                .newObject(ClientTooneMaster.class);
+        clientContext.commitChanges();
+
+        ClientTooneDep B = clientContext.newObject(ClientTooneDep.class);
+        A.setToDependent(B);
+        clientContext.commitChanges();
+
+        ObjectContext child = runtime.newContext(clientContext);
+
+        SelectQuery<ClientTooneMaster> query = new SelectQuery<ClientTooneMaster>(
+                ClientTooneMaster.class);
+        List<ClientTooneMaster> objects = child.select(query);
+
+        assertEquals(1, objects.size());
+
+        ClientTooneMaster childDeleted = (ClientTooneMaster) objects.get(0);
+
+        child.deleteObjects(childDeleted);
+
+        child.commitChangesToParent();
+
+        ClientTooneMaster parentDeleted = (ClientTooneMaster) clientContext
+                .getGraphManager().getNode(childDeleted.getObjectId());
+
+        assertNotNull(parentDeleted);
+        assertEquals(PersistenceState.DELETED,
+                parentDeleted.getPersistenceState());
+
+        clientContext.commitChanges();
+
+        SelectQuery<ClientTooneMaster> query2 = new SelectQuery<ClientTooneMaster>(
+                ClientTooneMaster.class);
+        List<ClientTooneMaster> objects2 = child.select(query2);
+
+        assertEquals(0, objects2.size());
+
+    }
+
+    @Test
+    public void testCAY1636_2() throws Exception {
+
+        ClientTooneMaster A = clientContext
+                .newObject(ClientTooneMaster.class);
+        clientContext.commitChanges();
+
+        ClientTooneDep B = clientContext.newObject(ClientTooneDep.class);
+        A.setToDependent(B);
+        clientContext.commitChanges();
+
+        ObjectContext child = runtime.newContext(clientContext);
+
+        SelectQuery<ClientTooneDep> queryB = new SelectQuery<ClientTooneDep>(
+                ClientTooneDep.class);
+        List<?> objectsB = child.performQuery(queryB);
+
+        assertEquals(1, objectsB.size());
+
+        ClientTooneDep childBDeleted = (ClientTooneDep) objectsB.get(0);
+        child.deleteObjects(childBDeleted);
+
+        SelectQuery<ClientTooneMaster> query = new SelectQuery<ClientTooneMaster>(
+                ClientTooneMaster.class);
+        List<ClientTooneMaster> objects = child.select(query);
+
+        assertEquals(1, objects.size());
+
+        ClientTooneMaster childDeleted = objects.get(0);
+
+        child.deleteObjects(childDeleted);
+
+        child.commitChangesToParent();
+
+        ClientTooneMaster parentDeleted = (ClientTooneMaster) clientContext
+                .getGraphManager().getNode(childDeleted.getObjectId());
+
+        assertNotNull(parentDeleted);
+        assertEquals(PersistenceState.DELETED,
+                parentDeleted.getPersistenceState());
+
+        clientContext.commitChanges();
+
+        SelectQuery<ClientTooneMaster> query2 = new SelectQuery<ClientTooneMaster>(
+                ClientTooneMaster.class);
+        List<ClientTooneMaster> objects2 = child.select(query2);
+
+        assertEquals(0, objects2.size());
+
+    }
+
+    @Test
+    public void testCommitChangesToParentOneToOne() throws Exception {
+        ObjectContext child = runtime.newContext(clientContext);
+
+        ClientTooneMaster master = child.newObject(ClientTooneMaster.class);
+        ClientTooneDep dep = child.newObject(ClientTooneDep.class);
+        master.setToDependent(dep);
+
+        child.commitChangesToParent();
+
+        ClientTooneMaster masterParent = (ClientTooneMaster) clientContext
+                .getGraphManager().getNode(master.getObjectId());
+        ClientTooneDep depParent = (ClientTooneDep) clientContext
+                .getGraphManager().getNode(dep.getObjectId());
+
+        assertNotNull(masterParent);
+        assertNotNull(depParent);
+
+        assertSame(masterParent, depParent.getToMaster());
+        assertSame(depParent, masterParent.getToDependent());
+
+        // check that arc changes got recorded in the parent context
+        GraphDiff diffs = clientContext.internalGraphManager().getDiffs();
+
+        final int[] arcDiffs = new int[1];
+        final int[] newNodes = new int[1];
+
+        diffs.apply(new GraphChangeHandler() {
+
+            public void arcCreated(Object nodeId, Object targetNodeId,
+                                   Object arcId) {
+                arcDiffs[0]++;
+            }
+
+            public void arcDeleted(Object nodeId, Object targetNodeId,
+                                   Object arcId) {
+                arcDiffs[0]--;
+            }
+
+            public void nodeCreated(Object nodeId) {
+                newNodes[0]++;
+            }
+
+            public void nodeIdChanged(Object nodeId, Object newId) {
+            }
+
+            public void nodePropertyChanged(Object nodeId, String property,
+                                            Object oldValue, Object newValue) {
+            }
+
+            public void nodeRemoved(Object nodeId) {
+                newNodes[0]--;
+            }
+        });
+
+        assertEquals(2, newNodes[0]);
+        assertEquals(2, arcDiffs[0]);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
deleted file mode 100644
index c87060c..0000000
--- a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
+++ /dev/null
@@ -1,69 +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.map;
-
-import org.apache.cayenne.remote.hessian.service.HessianUtil;
-import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.unit.di.client.ClientCase;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Test;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertTrue;
-
-@UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
-public class ClientEntityResolverIT extends ClientCase {
-
-    @Test
-    public void testSerializabilityWithHessian() throws Exception {
-        ObjEntity entity = new ObjEntity("test_entity");
-        entity.setClassName(Artist.class.getName());
-
-        DataMap dataMap = new DataMap("test");
-        dataMap.addObjEntity(entity);
-        Collection<DataMap> maps = Collections.singleton(dataMap);
-        EntityResolver resolver = new EntityResolver(maps);
-
-        // 1. simple case
-        Object c1 = HessianUtil.cloneViaClientServerSerialization(resolver, new EntityResolver());
-
-        assertNotNull(c1);
-        assertTrue(c1 instanceof EntityResolver);
-        EntityResolver cr1 = (EntityResolver) c1;
-
-        assertNotSame(resolver, cr1);
-        assertEquals(1, cr1.getObjEntities().size());
-        assertNotNull(cr1.getObjEntity(entity.getName()));
-
-        // 2. with descriptors resolved...
-        assertNotNull(resolver.getClassDescriptor(entity.getName()));
-
-        EntityResolver cr2 = (EntityResolver) HessianUtil.cloneViaClientServerSerialization(resolver,
-                new EntityResolver());
-        assertNotNull(cr2);
-        assertEquals(1, cr2.getObjEntities().size());
-        assertNotNull(cr2.getObjEntity(entity.getName()));
-        assertNotNull(cr2.getClassDescriptor(entity.getName()));
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverTest.java b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverTest.java
new file mode 100644
index 0000000..ad61805
--- /dev/null
+++ b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverTest.java
@@ -0,0 +1,66 @@
+/*****************************************************************
+ *   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.map;
+
+import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.apache.cayenne.testdo.testmap.Artist;
+import org.junit.Test;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
+public class ClientEntityResolverTest {
+
+    @Test
+    public void testSerializabilityWithHessian() throws Exception {
+        ObjEntity entity = new ObjEntity("test_entity");
+        entity.setClassName(Artist.class.getName());
+
+        DataMap dataMap = new DataMap("test");
+        dataMap.addObjEntity(entity);
+        Collection<DataMap> maps = Collections.singleton(dataMap);
+        EntityResolver resolver = new EntityResolver(maps);
+
+        // 1. simple case
+        Object c1 = HessianUtil.cloneViaClientServerSerialization(resolver, new EntityResolver());
+
+        assertNotNull(c1);
+        assertTrue(c1 instanceof EntityResolver);
+        EntityResolver cr1 = (EntityResolver) c1;
+
+        assertNotSame(resolver, cr1);
+        assertEquals(1, cr1.getObjEntities().size());
+        assertNotNull(cr1.getObjEntity(entity.getName()));
+
+        // 2. with descriptors resolved...
+        assertNotNull(resolver.getClassDescriptor(entity.getName()));
+
+        EntityResolver cr2 = (EntityResolver) HessianUtil.cloneViaClientServerSerialization(resolver,
+                new EntityResolver());
+        assertNotNull(cr2);
+        assertEquals(1, cr2.getObjEntities().size());
+        assertNotNull(cr2.getObjEntity(entity.getName()));
+        assertNotNull(cr2.getClassDescriptor(entity.getName()));
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
index 3ffeb20..c6e06dc 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertEquals;
 /**
  * Test for entites that are implemented in same class on client and server
  */
-@UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@UseServerRuntime(ClientCase.PERSISTENT_PROJECT)
 @RunWith(value=Parameterized.class)
 public class LightSuperClassIT extends RemoteCayenneCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
index 6e456f3..1fa8c40 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
@@ -25,10 +25,11 @@ import org.apache.cayenne.query.RefreshQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.mt.ClientMtMapToMany;
-import org.apache.cayenne.testdo.mt.ClientMtMapToManyTarget;
+import org.apache.cayenne.testdo.map_to_many.ClientIdMapToMany;
+import org.apache.cayenne.testdo.map_to_many.ClientIdMapToManyTarget;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
+import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -40,7 +41,7 @@ import java.util.Collection;
 
 import static org.junit.Assert.assertEquals;
 
-@UseServerRuntime("cayenne-multi-tier.xml")
+@UseServerRuntime(ClientCase.MAP_TO_MANY_PROJECT)
 @RunWith(value=Parameterized.class)
 public class ROPPrefetchToManyMapIT extends RemoteCayenneCase {
     
@@ -65,25 +66,25 @@ public class ROPPrefetchToManyMapIT extends RemoteCayenneCase {
 
     @Override
     public void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("MT_MAP_TO_MANY_TARGET");
-        dbHelper.deleteAll("MT_MAP_TO_MANY");        
+        dbHelper.deleteAll("ID_MAP_TO_MANY_TARGET");
+        dbHelper.deleteAll("ID_MAP_TO_MANY");
     }
 
     @Test
     public void test() throws Exception {
         ObjectContext context = createROPContext();
         
-        ClientMtMapToMany map = context.newObject(ClientMtMapToMany.class);
-        ClientMtMapToManyTarget target = context.newObject(ClientMtMapToManyTarget.class);
+        ClientIdMapToMany map = context.newObject(ClientIdMapToMany.class);
+        ClientIdMapToManyTarget target = context.newObject(ClientIdMapToManyTarget.class);
         target.setMapToMany(map);
         context.commitChanges();
         
         context.performQuery(new RefreshQuery());
         
-        SelectQuery<ClientMtMapToMany> query = new SelectQuery<ClientMtMapToMany>(ClientMtMapToMany.class);
+        SelectQuery<ClientIdMapToMany> query = new SelectQuery<ClientIdMapToMany>(ClientIdMapToMany.class);
         query.addPrefetch("targets");
         
-        final ClientMtMapToMany mapToMany = (ClientMtMapToMany) Cayenne.objectForQuery(context, query);
+        final ClientIdMapToMany mapToMany = (ClientIdMapToMany) Cayenne.objectForQuery(context, query);
         
         queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
             

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
index d7bf475..afeb9fb 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
@@ -21,7 +21,7 @@ package org.apache.cayenne.remote;
 import org.apache.cayenne.LifecycleListener;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.remote.service.LocalConnection;
-import org.apache.cayenne.testdo.mt.ClientMtLifecycles;
+import org.apache.cayenne.testdo.lifecycles.ClientLifecycles;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -34,7 +34,7 @@ import java.util.Collection;
 
 import static org.junit.Assert.assertEquals;
 
-@UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@UseServerRuntime(ClientCase.LIFECYCLES_PROJECT)
 @RunWith(value=Parameterized.class)
 public class RemoteCallbacksIT extends RemoteCayenneCase implements LifecycleListener {
     private int added, loaded, prePersisted, postPersisted, preRemoved, postRemoved, preUpdated, postUpdated;
@@ -69,10 +69,10 @@ public class RemoteCallbacksIT extends RemoteCayenneCase implements LifecycleLis
     @Test
     public void testDefault() throws InterruptedException {
         ObjectContext context = createROPContext();
-        context.getEntityResolver().getCallbackRegistry().addListener(ClientMtLifecycles.class, this);
+        context.getEntityResolver().getCallbackRegistry().addListener(ClientLifecycles.class, this);
         
         assertAll(0, 0, 0, 0, 0, 0, 0, 0);
-        ClientMtLifecycles l1 = context.newObject(ClientMtLifecycles.class);
+        ClientLifecycles l1 = context.newObject(ClientLifecycles.class);
         
         assertAll(1, 0, 0, 0, 0, 0, 0, 0);
         l1.setName("x");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCase.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCase.java b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCase.java
index 70516f1..f9bdc55 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCase.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCase.java
@@ -30,6 +30,14 @@ public class ClientCase extends DICase {
     public static final String ROP_CLIENT_KEY = "client";
 
     public static final String MULTI_TIER_PROJECT = "cayenne-multi-tier.xml";
+    public static final String PERSISTENT_PROJECT = "cayenne-persistent.xml";
+    public static final String REFLEXIVE_PROJECT = "cayenne-reflexive.xml";
+    public static final String DELETE_RULES_PROJECT = "cayenne-delete-rules.xml";
+    public static final String LIFECYCLES_PROJECT = "cayenne-lifecycles.xml";
+    public static final String MAP_TO_MANY_PROJECT = "cayenne-map-to-many.xml";
+    public static final String TOONE_PROJECT = "cayenne-toone.xml";
+    public static final String MEANINGFUL_PK_PROJECT = "cayenne-meaningful-pk.xml";
+    public static final String TABLE_PRIMITIVES_PROJECT = "cayenne-table-primitives.xml";
 
     private static final Injector injector;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
index 988af5c..ada0d70 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.query.RefreshQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.IdMapToMany;
-import org.apache.cayenne.testdo.relationship.MapToMany;
-import org.apache.cayenne.testdo.relationship.MapToManyTarget;
+import org.apache.cayenne.testdo.map_to_many.IdMapToMany;
+import org.apache.cayenne.testdo.map_to_many.MapToMany;
+import org.apache.cayenne.testdo.map_to_many.MapToManyTarget;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.MAP_TO_MANY_PROJECT)
 public class CDOMapRelationshipIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteCascade.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteCascade.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteCascade.java
new file mode 100644
index 0000000..c835315
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteCascade.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.deleterules;
+
+import org.apache.cayenne.testdo.deleterules.auto._ClientDeleteCascade;
+
+/**
+ * A persistent class mapped as "DeleteCascade" Cayenne entity.
+ */
+public class ClientDeleteCascade extends _ClientDeleteCascade {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteDeny.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteDeny.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteDeny.java
new file mode 100644
index 0000000..87ee510
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteDeny.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.deleterules;
+
+import org.apache.cayenne.testdo.deleterules.auto._ClientDeleteDeny;
+
+/**
+ * A persistent class mapped as "DeleteDeny" Cayenne entity.
+ */
+public class ClientDeleteDeny extends _ClientDeleteDeny {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteNullify.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteNullify.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteNullify.java
new file mode 100644
index 0000000..a08b3fd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteNullify.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.deleterules;
+
+import org.apache.cayenne.testdo.deleterules.auto._ClientDeleteNullify;
+
+/**
+ * A persistent class mapped as "DeleteNullify" Cayenne entity.
+ */
+public class ClientDeleteNullify extends _ClientDeleteNullify {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteRule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteRule.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteRule.java
new file mode 100644
index 0000000..caa455c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/ClientDeleteRule.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.deleterules;
+
+import org.apache.cayenne.testdo.deleterules.auto._ClientDeleteRule;
+
+/**
+ * A persistent class mapped as "DeleteRule" Cayenne entity.
+ */
+public class ClientDeleteRule extends _ClientDeleteRule {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteCascade.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteCascade.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteCascade.java
new file mode 100644
index 0000000..9b46a78
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteCascade.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.deleterules;
+
+import org.apache.cayenne.testdo.deleterules.auto._DeleteCascade;
+
+public class DeleteCascade extends _DeleteCascade {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteDeny.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteDeny.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteDeny.java
new file mode 100644
index 0000000..b1becb8
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteDeny.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.deleterules;
+
+import org.apache.cayenne.testdo.deleterules.auto._DeleteDeny;
+
+public class DeleteDeny extends _DeleteDeny {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteNullify.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteNullify.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteNullify.java
new file mode 100644
index 0000000..81247a2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteNullify.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.deleterules;
+
+import org.apache.cayenne.testdo.deleterules.auto._DeleteNullify;
+
+public class DeleteNullify extends _DeleteNullify {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteRule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteRule.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteRule.java
new file mode 100644
index 0000000..07b542b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/DeleteRule.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.deleterules;
+
+import org.apache.cayenne.testdo.deleterules.auto._DeleteRule;
+
+public class DeleteRule extends _DeleteRule {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteCascade.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteCascade.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteCascade.java
new file mode 100644
index 0000000..4cc341e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteCascade.java
@@ -0,0 +1,56 @@
+package org.apache.cayenne.testdo.deleterules.auto;
+
+import org.apache.cayenne.PersistentObject;
+import org.apache.cayenne.ValueHolder;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteRule;
+
+/**
+ * A generated persistent class mapped as "DeleteCascade" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientDeleteCascade extends PersistentObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String CASCADE_PROPERTY = "cascade";
+
+    protected String name;
+    protected ValueHolder cascade;
+
+    public String getName() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        return name;
+    }
+    public void setName(String name) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        Object oldValue = this.name;
+        this.name = name;
+
+        // notify objectContext about simple property change
+        if(objectContext != null) {
+            objectContext.propertyChanged(this, "name", oldValue, name);
+        }
+    }
+
+    public ClientDeleteRule getCascade() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "cascade", true);
+        }
+
+        return (ClientDeleteRule) cascade.getValue();
+    }
+    public void setCascade(ClientDeleteRule cascade) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "cascade", true);
+        }
+
+        this.cascade.setValue(cascade);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteDeny.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteDeny.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteDeny.java
new file mode 100644
index 0000000..f16dded
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteDeny.java
@@ -0,0 +1,56 @@
+package org.apache.cayenne.testdo.deleterules.auto;
+
+import org.apache.cayenne.PersistentObject;
+import org.apache.cayenne.ValueHolder;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteRule;
+
+/**
+ * A generated persistent class mapped as "DeleteDeny" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientDeleteDeny extends PersistentObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String DENY_PROPERTY = "deny";
+
+    protected String name;
+    protected ValueHolder deny;
+
+    public String getName() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        return name;
+    }
+    public void setName(String name) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        Object oldValue = this.name;
+        this.name = name;
+
+        // notify objectContext about simple property change
+        if(objectContext != null) {
+            objectContext.propertyChanged(this, "name", oldValue, name);
+        }
+    }
+
+    public ClientDeleteRule getDeny() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "deny", true);
+        }
+
+        return (ClientDeleteRule) deny.getValue();
+    }
+    public void setDeny(ClientDeleteRule deny) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "deny", true);
+        }
+
+        this.deny.setValue(deny);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteNullify.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteNullify.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteNullify.java
new file mode 100644
index 0000000..3abc65e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteNullify.java
@@ -0,0 +1,56 @@
+package org.apache.cayenne.testdo.deleterules.auto;
+
+import org.apache.cayenne.PersistentObject;
+import org.apache.cayenne.ValueHolder;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteRule;
+
+/**
+ * A generated persistent class mapped as "DeleteNullify" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientDeleteNullify extends PersistentObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String NULLIFY_PROPERTY = "nullify";
+
+    protected String name;
+    protected ValueHolder nullify;
+
+    public String getName() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        return name;
+    }
+    public void setName(String name) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        Object oldValue = this.name;
+        this.name = name;
+
+        // notify objectContext about simple property change
+        if(objectContext != null) {
+            objectContext.propertyChanged(this, "name", oldValue, name);
+        }
+    }
+
+    public ClientDeleteRule getNullify() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "nullify", true);
+        }
+
+        return (ClientDeleteRule) nullify.getValue();
+    }
+    public void setNullify(ClientDeleteRule nullify) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "nullify", true);
+        }
+
+        this.nullify.setValue(nullify);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteRule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteRule.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteRule.java
new file mode 100644
index 0000000..e42946b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_ClientDeleteRule.java
@@ -0,0 +1,114 @@
+package org.apache.cayenne.testdo.deleterules.auto;
+
+import org.apache.cayenne.PersistentObject;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteCascade;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteDeny;
+import org.apache.cayenne.testdo.deleterules.ClientDeleteNullify;
+
+import java.util.List;
+
+/**
+ * A generated persistent class mapped as "DeleteRule" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientDeleteRule extends PersistentObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String FROM_CASCADE_PROPERTY = "fromCascade";
+    public static final String FROM_DENY_PROPERTY = "fromDeny";
+    public static final String FROM_NULLIFY_PROPERTY = "fromNullify";
+
+    protected String name;
+    protected List<ClientDeleteCascade> fromCascade;
+    protected List<ClientDeleteDeny> fromDeny;
+    protected List<ClientDeleteNullify> fromNullify;
+
+    public String getName() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        return name;
+    }
+    public void setName(String name) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        Object oldValue = this.name;
+        this.name = name;
+
+        // notify objectContext about simple property change
+        if(objectContext != null) {
+            objectContext.propertyChanged(this, "name", oldValue, name);
+        }
+    }
+
+    public List<ClientDeleteCascade> getFromCascade() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "fromCascade", true);
+        }
+
+        return fromCascade;
+    }
+    public void addToFromCascade(ClientDeleteCascade object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "fromCascade", true);
+        }
+
+        this.fromCascade.add(object);
+    }
+    public void removeFromFromCascade(ClientDeleteCascade object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "fromCascade", true);
+        }
+
+        this.fromCascade.remove(object);
+    }
+
+    public List<ClientDeleteDeny> getFromDeny() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "fromDeny", true);
+        }
+
+        return fromDeny;
+    }
+    public void addToFromDeny(ClientDeleteDeny object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "fromDeny", true);
+        }
+
+        this.fromDeny.add(object);
+    }
+    public void removeFromFromDeny(ClientDeleteDeny object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "fromDeny", true);
+        }
+
+        this.fromDeny.remove(object);
+    }
+
+    public List<ClientDeleteNullify> getFromNullify() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "fromNullify", true);
+        }
+
+        return fromNullify;
+    }
+    public void addToFromNullify(ClientDeleteNullify object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "fromNullify", true);
+        }
+
+        this.fromNullify.add(object);
+    }
+    public void removeFromFromNullify(ClientDeleteNullify object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "fromNullify", true);
+        }
+
+        this.fromNullify.remove(object);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteCascade.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteCascade.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteCascade.java
new file mode 100644
index 0000000..bd8be7c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteCascade.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.deleterules.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.deleterules.DeleteRule;
+
+/**
+ * Class _DeleteCascade was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DeleteCascade extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String CASCADE_PROPERTY = "cascade";
+
+    public static final String DELETE_CASCADE_ID_PK_COLUMN = "DELETE_CASCADE_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void setCascade(DeleteRule cascade) {
+        setToOneTarget(CASCADE_PROPERTY, cascade, true);
+    }
+
+    public DeleteRule getCascade() {
+        return (DeleteRule)readProperty(CASCADE_PROPERTY);
+    }
+
+
+}


[40/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_EnumEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_EnumEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_EnumEntity.java
deleted file mode 100644
index fdd25ce..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_EnumEntity.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Enum1;
-
-/**
- * Class _EnumEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _EnumEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String ENUM_ATTRIBUTE_PROPERTY = "enumAttribute";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Enum1> ENUM_ATTRIBUTE = new Property<Enum1>("enumAttribute");
-
-    public void setEnumAttribute(Enum1 enumAttribute) {
-        writeProperty("enumAttribute", enumAttribute);
-    }
-    public Enum1 getEnumAttribute() {
-        return (Enum1)readProperty("enumAttribute");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ExtendedTypeEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ExtendedTypeEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ExtendedTypeEntity.java
deleted file mode 100644
index dbf2d1f..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ExtendedTypeEntity.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.StringET1;
-
-/**
- * Class _ExtendedTypeEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ExtendedTypeEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<StringET1> NAME = new Property<StringET1>("name");
-
-    public void setName(StringET1 name) {
-        writeProperty("name", name);
-    }
-    public StringET1 getName() {
-        return (StringET1)readProperty("name");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompKey.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompKey.java
deleted file mode 100644
index cf31fef..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompKey.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster;
-
-/**
- * Class _GeneratedColumnCompKey was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _GeneratedColumnCompKey extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_MASTER_PROPERTY = "toMaster";
-
-    public static final String AUTO_PK_PK_COLUMN = "AUTO_PK";
-    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
-    public static final String PROPAGATED_PK_PK_COLUMN = "PROPAGATED_PK";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<GeneratedColumnCompMaster> TO_MASTER = new Property<GeneratedColumnCompMaster>("toMaster");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToMaster(GeneratedColumnCompMaster toMaster) {
-        setToOneTarget("toMaster", toMaster, true);
-    }
-
-    public GeneratedColumnCompMaster getToMaster() {
-        return (GeneratedColumnCompMaster)readProperty("toMaster");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompMaster.java
deleted file mode 100644
index 752748f..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnCompMaster.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey;
-
-/**
- * Class _GeneratedColumnCompMaster was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _GeneratedColumnCompMaster extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_DETAIL_PROPERTY = "toDetail";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<GeneratedColumnCompKey>> TO_DETAIL = new Property<List<GeneratedColumnCompKey>>("toDetail");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void addToToDetail(GeneratedColumnCompKey obj) {
-        addToManyTarget("toDetail", obj, true);
-    }
-    public void removeFromToDetail(GeneratedColumnCompKey obj) {
-        removeToManyTarget("toDetail", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<GeneratedColumnCompKey> getToDetail() {
-        return (List<GeneratedColumnCompKey>)readProperty("toDetail");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnDep.java
deleted file mode 100644
index e89294c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnDep.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity;
-
-/**
- * Class _GeneratedColumnDep was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _GeneratedColumnDep extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_MASTER_PROPERTY = "toMaster";
-
-    public static final String GENERATED_COLUMN_FK_PK_COLUMN = "GENERATED_COLUMN_FK";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<GeneratedColumnTestEntity> TO_MASTER = new Property<GeneratedColumnTestEntity>("toMaster");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToMaster(GeneratedColumnTestEntity toMaster) {
-        setToOneTarget("toMaster", toMaster, true);
-    }
-
-    public GeneratedColumnTestEntity getToMaster() {
-        return (GeneratedColumnTestEntity)readProperty("toMaster");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTest2.java
deleted file mode 100644
index 1bc191b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTest2.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _GeneratedColumnTest2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _GeneratedColumnTest2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
-
-    public static final Property<String> NAME = new Property<String>("name");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTestEntity.java
deleted file mode 100644
index 4c132c3..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedColumnTestEntity.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnDep;
-
-/**
- * Class _GeneratedColumnTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _GeneratedColumnTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_DEP_PROPERTY = "toDep";
-
-    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<GeneratedColumnDep> TO_DEP = new Property<GeneratedColumnDep>("toDep");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToDep(GeneratedColumnDep toDep) {
-        setToOneTarget("toDep", toDep, true);
-    }
-
-    public GeneratedColumnDep getToDep() {
-        return (GeneratedColumnDep)readProperty("toDep");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF1.java
deleted file mode 100644
index bf75642..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF1.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedF2;
-
-/**
- * Class _GeneratedF1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _GeneratedF1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String F2_PROPERTY = "f2";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<List<GeneratedF2>> F2 = new Property<List<GeneratedF2>>("f2");
-
-    public void addToF2(GeneratedF2 obj) {
-        addToManyTarget("f2", obj, true);
-    }
-    public void removeFromF2(GeneratedF2 obj) {
-        removeToManyTarget("f2", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<GeneratedF2> getF2() {
-        return (List<GeneratedF2>)readProperty("f2");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF2.java
deleted file mode 100644
index 908789b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_GeneratedF2.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.GeneratedF1;
-
-/**
- * Class _GeneratedF2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _GeneratedF2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String F1_PROPERTY = "f1";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<List<GeneratedF1>> F1 = new Property<List<GeneratedF1>>("f1");
-
-    public void addToF1(GeneratedF1 obj) {
-        addToManyTarget("f1", obj, true);
-    }
-    public void removeFromF1(GeneratedF1 obj) {
-        removeToManyTarget("f1", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<GeneratedF1> getF1() {
-        return (List<GeneratedF1>)readProperty("f1");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_LongEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_LongEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_LongEntity.java
deleted file mode 100644
index 7b75465..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_LongEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _LongEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _LongEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String LONG_FIELD_PROPERTY = "longField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Long> LONG_FIELD = new Property<Long>("longField");
-
-    public void setLongField(Long longField) {
-        writeProperty("longField", longField);
-    }
-    public Long getLongField() {
-        return (Long)readProperty("longField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKDep.java
deleted file mode 100644
index 797422d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKDep.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKTest1;
-
-/**
- * Class _MeaningfulPKDep was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MeaningfulPKDep extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DESCR_PROPERTY = "descr";
-    @Deprecated
-    public static final String TO_MEANINGFUL_PK_PROPERTY = "toMeaningfulPK";
-
-    public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
-
-    public static final Property<String> DESCR = new Property<String>("descr");
-    public static final Property<MeaningfulPKTest1> TO_MEANINGFUL_PK = new Property<MeaningfulPKTest1>("toMeaningfulPK");
-
-    public void setDescr(String descr) {
-        writeProperty("descr", descr);
-    }
-    public String getDescr() {
-        return (String)readProperty("descr");
-    }
-
-    public void setToMeaningfulPK(MeaningfulPKTest1 toMeaningfulPK) {
-        setToOneTarget("toMeaningfulPK", toMeaningfulPK, true);
-    }
-
-    public MeaningfulPKTest1 getToMeaningfulPK() {
-        return (MeaningfulPKTest1)readProperty("toMeaningfulPK");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKTest1.java
deleted file mode 100644
index 3b55387..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MeaningfulPKTest1.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKDep;
-
-/**
- * Class _MeaningfulPKTest1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MeaningfulPKTest1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DESCR_PROPERTY = "descr";
-    @Deprecated
-    public static final String PK_ATTRIBUTE_PROPERTY = "pkAttribute";
-    @Deprecated
-    public static final String MEANINGFUL_PKDEP_ARRAY_PROPERTY = "meaningfulPKDepArray";
-
-    public static final String PK_ATTRIBUTE_PK_COLUMN = "PK_ATTRIBUTE";
-
-    public static final Property<String> DESCR = new Property<String>("descr");
-    public static final Property<Integer> PK_ATTRIBUTE = new Property<Integer>("pkAttribute");
-    public static final Property<List<MeaningfulPKDep>> MEANINGFUL_PKDEP_ARRAY = new Property<List<MeaningfulPKDep>>("meaningfulPKDepArray");
-
-    public void setDescr(String descr) {
-        writeProperty("descr", descr);
-    }
-    public String getDescr() {
-        return (String)readProperty("descr");
-    }
-
-    public void setPkAttribute(Integer pkAttribute) {
-        writeProperty("pkAttribute", pkAttribute);
-    }
-    public Integer getPkAttribute() {
-        return (Integer)readProperty("pkAttribute");
-    }
-
-    public void addToMeaningfulPKDepArray(MeaningfulPKDep obj) {
-        addToManyTarget("meaningfulPKDepArray", obj, true);
-    }
-    public void removeFromMeaningfulPKDepArray(MeaningfulPKDep obj) {
-        removeToManyTarget("meaningfulPKDepArray", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<MeaningfulPKDep> getMeaningfulPKDepArray() {
-        return (List<MeaningfulPKDep>)readProperty("meaningfulPKDepArray");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy.java
deleted file mode 100644
index a9696b1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2;
-
-/**
- * Class _MixedPersistenceStrategy was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MixedPersistenceStrategy extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DESCRIPTION_PROPERTY = "description";
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String DETAILS_PROPERTY = "details";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> DESCRIPTION = new Property<String>("description");
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<MixedPersistenceStrategy2>> DETAILS = new Property<List<MixedPersistenceStrategy2>>("details");
-
-    public void setDescription(String description) {
-        writeProperty("description", description);
-    }
-    public String getDescription() {
-        return (String)readProperty("description");
-    }
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void addToDetails(MixedPersistenceStrategy2 obj) {
-        addToManyTarget("details", obj, true);
-    }
-    public void removeFromDetails(MixedPersistenceStrategy2 obj) {
-        removeToManyTarget("details", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<MixedPersistenceStrategy2> getDetails() {
-        return (List<MixedPersistenceStrategy2>)readProperty("details");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy2.java
deleted file mode 100644
index f1e70a0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_MixedPersistenceStrategy2.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy;
-
-/**
- * Class _MixedPersistenceStrategy2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MixedPersistenceStrategy2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String MASTER_PROPERTY = "master";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<MixedPersistenceStrategy> MASTER = new Property<MixedPersistenceStrategy>("master");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setMaster(MixedPersistenceStrategy master) {
-        setToOneTarget("master", master, true);
-    }
-
-    public MixedPersistenceStrategy getMaster() {
-        return (MixedPersistenceStrategy)readProperty("master");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NoPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NoPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NoPkTestEntity.java
deleted file mode 100644
index 954f63d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_NoPkTestEntity.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _NoPkTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _NoPkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String ATTRIBUTE1_PROPERTY = "attribute1";
-
-
-    public static final Property<Integer> ATTRIBUTE1 = new Property<Integer>("attribute1");
-
-    public void setAttribute1(Integer attribute1) {
-        writeProperty("attribute1", attribute1);
-    }
-    public Integer getAttribute1() {
-        return (Integer)readProperty("attribute1");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PrimitivesTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PrimitivesTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PrimitivesTestEntity.java
deleted file mode 100644
index b67a1d9..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_PrimitivesTestEntity.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _PrimitivesTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _PrimitivesTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
-    @Deprecated
-    public static final String INT_COLUMN_PROPERTY = "intColumn";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
-    public static final Property<Integer> INT_COLUMN = new Property<Integer>("intColumn");
-
-    public void setBooleanColumn(boolean booleanColumn) {
-        writeProperty("booleanColumn", booleanColumn);
-    }
-	public boolean isBooleanColumn() {
-        Boolean value = (Boolean)readProperty("booleanColumn");
-        return (value != null) ? value.booleanValue() : false;
-    }
-
-    public void setIntColumn(int intColumn) {
-        writeProperty("intColumn", intColumn);
-    }
-    public int getIntColumn() {
-        Object value = readProperty("intColumn");
-        return (value != null) ? (Integer) value : 0;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
deleted file mode 100644
index c9ea7ad..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap1.java
+++ /dev/null
@@ -1,193 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _ReturnTypesMap1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ReturnTypesMap1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIGINT_COLUMN_PROPERTY = "bigintColumn";
-    @Deprecated
-    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
-    @Deprecated
-    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
-    @Deprecated
-    public static final String CHAR_COLUMN_PROPERTY = "charColumn";
-    @Deprecated
-    public static final String DATE_COLUMN_PROPERTY = "dateColumn";
-    @Deprecated
-    public static final String DECIMAL_COLUMN_PROPERTY = "decimalColumn";
-    @Deprecated
-    public static final String DOUBLE_COLUMN_PROPERTY = "doubleColumn";
-    @Deprecated
-    public static final String FLOAT_COLUMN_PROPERTY = "floatColumn";
-    @Deprecated
-    public static final String INTEGER_COLUMN_PROPERTY = "integerColumn";
-    @Deprecated
-    public static final String LONGVARCHAR_COLUMN_PROPERTY = "longvarcharColumn";
-    @Deprecated
-    public static final String NUMERIC_COLUMN_PROPERTY = "numericColumn";
-    @Deprecated
-    public static final String REAL_COLUMN_PROPERTY = "realColumn";
-    @Deprecated
-    public static final String SMALLINT_COLUMN_PROPERTY = "smallintColumn";
-    @Deprecated
-    public static final String TIME_COLUMN_PROPERTY = "timeColumn";
-    @Deprecated
-    public static final String TIMESTAMP_COLUMN_PROPERTY = "timestampColumn";
-    @Deprecated
-    public static final String TINYINT_COLUMN_PROPERTY = "tinyintColumn";
-    @Deprecated
-    public static final String VARCHAR_COLUMN_PROPERTY = "varcharColumn";
-
-    public static final String AAAID_PK_COLUMN = "AAAID";
-
-    public static final Property<Long> BIGINT_COLUMN = new Property<Long>("bigintColumn");
-    public static final Property<Boolean> BIT_COLUMN = new Property<Boolean>("bitColumn");
-    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
-    public static final Property<String> CHAR_COLUMN = new Property<String>("charColumn");
-    public static final Property<Date> DATE_COLUMN = new Property<Date>("dateColumn");
-    public static final Property<BigDecimal> DECIMAL_COLUMN = new Property<BigDecimal>("decimalColumn");
-    public static final Property<Double> DOUBLE_COLUMN = new Property<Double>("doubleColumn");
-    public static final Property<Float> FLOAT_COLUMN = new Property<Float>("floatColumn");
-    public static final Property<Integer> INTEGER_COLUMN = new Property<Integer>("integerColumn");
-    public static final Property<String> LONGVARCHAR_COLUMN = new Property<String>("longvarcharColumn");
-    public static final Property<BigDecimal> NUMERIC_COLUMN = new Property<BigDecimal>("numericColumn");
-    public static final Property<Float> REAL_COLUMN = new Property<Float>("realColumn");
-    public static final Property<Short> SMALLINT_COLUMN = new Property<Short>("smallintColumn");
-    public static final Property<Date> TIME_COLUMN = new Property<Date>("timeColumn");
-    public static final Property<Date> TIMESTAMP_COLUMN = new Property<Date>("timestampColumn");
-    public static final Property<Byte> TINYINT_COLUMN = new Property<Byte>("tinyintColumn");
-    public static final Property<String> VARCHAR_COLUMN = new Property<String>("varcharColumn");
-
-    public void setBigintColumn(Long bigintColumn) {
-        writeProperty("bigintColumn", bigintColumn);
-    }
-    public Long getBigintColumn() {
-        return (Long)readProperty("bigintColumn");
-    }
-
-    public void setBitColumn(Boolean bitColumn) {
-        writeProperty("bitColumn", bitColumn);
-    }
-    public Boolean getBitColumn() {
-        return (Boolean)readProperty("bitColumn");
-    }
-
-    public void setBooleanColumn(Boolean booleanColumn) {
-        writeProperty("booleanColumn", booleanColumn);
-    }
-    public Boolean getBooleanColumn() {
-        return (Boolean)readProperty("booleanColumn");
-    }
-
-    public void setCharColumn(String charColumn) {
-        writeProperty("charColumn", charColumn);
-    }
-    public String getCharColumn() {
-        return (String)readProperty("charColumn");
-    }
-
-    public void setDateColumn(Date dateColumn) {
-        writeProperty("dateColumn", dateColumn);
-    }
-    public Date getDateColumn() {
-        return (Date)readProperty("dateColumn");
-    }
-
-    public void setDecimalColumn(BigDecimal decimalColumn) {
-        writeProperty("decimalColumn", decimalColumn);
-    }
-    public BigDecimal getDecimalColumn() {
-        return (BigDecimal)readProperty("decimalColumn");
-    }
-
-    public void setDoubleColumn(Double doubleColumn) {
-        writeProperty("doubleColumn", doubleColumn);
-    }
-    public Double getDoubleColumn() {
-        return (Double)readProperty("doubleColumn");
-    }
-
-    public void setFloatColumn(Float floatColumn) {
-        writeProperty("floatColumn", floatColumn);
-    }
-    public Float getFloatColumn() {
-        return (Float)readProperty("floatColumn");
-    }
-
-    public void setIntegerColumn(Integer integerColumn) {
-        writeProperty("integerColumn", integerColumn);
-    }
-    public Integer getIntegerColumn() {
-        return (Integer)readProperty("integerColumn");
-    }
-
-    public void setLongvarcharColumn(String longvarcharColumn) {
-        writeProperty("longvarcharColumn", longvarcharColumn);
-    }
-    public String getLongvarcharColumn() {
-        return (String)readProperty("longvarcharColumn");
-    }
-
-    public void setNumericColumn(BigDecimal numericColumn) {
-        writeProperty("numericColumn", numericColumn);
-    }
-    public BigDecimal getNumericColumn() {
-        return (BigDecimal)readProperty("numericColumn");
-    }
-
-    public void setRealColumn(Float realColumn) {
-        writeProperty("realColumn", realColumn);
-    }
-    public Float getRealColumn() {
-        return (Float)readProperty("realColumn");
-    }
-
-    public void setSmallintColumn(Short smallintColumn) {
-        writeProperty("smallintColumn", smallintColumn);
-    }
-    public Short getSmallintColumn() {
-        return (Short)readProperty("smallintColumn");
-    }
-
-    public void setTimeColumn(Date timeColumn) {
-        writeProperty("timeColumn", timeColumn);
-    }
-    public Date getTimeColumn() {
-        return (Date)readProperty("timeColumn");
-    }
-
-    public void setTimestampColumn(Date timestampColumn) {
-        writeProperty("timestampColumn", timestampColumn);
-    }
-    public Date getTimestampColumn() {
-        return (Date)readProperty("timestampColumn");
-    }
-
-    public void setTinyintColumn(Byte tinyintColumn) {
-        writeProperty("tinyintColumn", tinyintColumn);
-    }
-    public Byte getTinyintColumn() {
-        return (Byte)readProperty("tinyintColumn");
-    }
-
-    public void setVarcharColumn(String varcharColumn) {
-        writeProperty("varcharColumn", varcharColumn);
-    }
-    public String getVarcharColumn() {
-        return (String)readProperty("varcharColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap2.java
deleted file mode 100644
index a05b775..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMap2.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _ReturnTypesMap2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ReturnTypesMap2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BINARY_COLUMN_PROPERTY = "binaryColumn";
-    @Deprecated
-    public static final String BLOB_COLUMN_PROPERTY = "blobColumn";
-    @Deprecated
-    public static final String LONGVARBINARY_COLUMN_PROPERTY = "longvarbinaryColumn";
-    @Deprecated
-    public static final String VARBINARY_COLUMN_PROPERTY = "varbinaryColumn";
-
-    public static final String AAAID_PK_COLUMN = "AAAID";
-
-    public static final Property<byte[]> BINARY_COLUMN = new Property<byte[]>("binaryColumn");
-    public static final Property<byte[]> BLOB_COLUMN = new Property<byte[]>("blobColumn");
-    public static final Property<byte[]> LONGVARBINARY_COLUMN = new Property<byte[]>("longvarbinaryColumn");
-    public static final Property<byte[]> VARBINARY_COLUMN = new Property<byte[]>("varbinaryColumn");
-
-    public void setBinaryColumn(byte[] binaryColumn) {
-        writeProperty("binaryColumn", binaryColumn);
-    }
-    public byte[] getBinaryColumn() {
-        return (byte[])readProperty("binaryColumn");
-    }
-
-    public void setBlobColumn(byte[] blobColumn) {
-        writeProperty("blobColumn", blobColumn);
-    }
-    public byte[] getBlobColumn() {
-        return (byte[])readProperty("blobColumn");
-    }
-
-    public void setLongvarbinaryColumn(byte[] longvarbinaryColumn) {
-        writeProperty("longvarbinaryColumn", longvarbinaryColumn);
-    }
-    public byte[] getLongvarbinaryColumn() {
-        return (byte[])readProperty("longvarbinaryColumn");
-    }
-
-    public void setVarbinaryColumn(byte[] varbinaryColumn) {
-        writeProperty("varbinaryColumn", varbinaryColumn);
-    }
-    public byte[] getVarbinaryColumn() {
-        return (byte[])readProperty("varbinaryColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
deleted file mode 100644
index 2baa1ca..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ReturnTypesMapLobs1.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _ReturnTypesMapLobs1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ReturnTypesMapLobs1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String CLOB_COLUMN_PROPERTY = "clobColumn";
-
-    public static final String AAAID_PK_COLUMN = "AAAID";
-
-    public static final Property<String> CLOB_COLUMN = new Property<String>("clobColumn");
-
-    public void setClobColumn(String clobColumn) {
-        writeProperty("clobColumn", clobColumn);
-    }
-    public String getClobColumn() {
-        return (String)readProperty("clobColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SerializableEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SerializableEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SerializableEntity.java
deleted file mode 100644
index 8196250..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SerializableEntity.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.MockSerializable;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _SerializableEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _SerializableEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String SERIALIZABLE_FIELD_PROPERTY = "serializableField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<MockSerializable> SERIALIZABLE_FIELD = new Property<MockSerializable>("serializableField");
-
-    public void setSerializableField(MockSerializable serializableField) {
-        writeProperty("serializableField", serializableField);
-    }
-    public MockSerializable getSerializableField() {
-        return (MockSerializable)readProperty("serializableField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SmallintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SmallintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SmallintTestEntity.java
deleted file mode 100644
index f4c38d7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_SmallintTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _SmallintTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _SmallintTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String SMALLINT_COL_PROPERTY = "smallintCol";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Short> SMALLINT_COL = new Property<Short>("smallintCol");
-
-    public void setSmallintCol(Short smallintCol) {
-        writeProperty("smallintCol", smallintCol);
-    }
-    public Short getSmallintCol() {
-        return (Short)readProperty("smallintCol");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Thing.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Thing.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Thing.java
deleted file mode 100644
index 67365db..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Thing.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Ball;
-import org.apache.cayenne.testdo.testmap.Box;
-
-/**
- * Class _Thing was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Thing extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String VOLUME_PROPERTY = "volume";
-    @Deprecated
-    public static final String WEIGHT_PROPERTY = "weight";
-    @Deprecated
-    public static final String BALL_PROPERTY = "ball";
-    @Deprecated
-    public static final String BOX_PROPERTY = "box";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Integer> VOLUME = new Property<Integer>("volume");
-    public static final Property<Integer> WEIGHT = new Property<Integer>("weight");
-    public static final Property<Ball> BALL = new Property<Ball>("ball");
-    public static final Property<List<Box>> BOX = new Property<List<Box>>("box");
-
-    public void setVolume(Integer volume) {
-        writeProperty("volume", volume);
-    }
-    public Integer getVolume() {
-        return (Integer)readProperty("volume");
-    }
-
-    public void setWeight(Integer weight) {
-        writeProperty("weight", weight);
-    }
-    public Integer getWeight() {
-        return (Integer)readProperty("weight");
-    }
-
-    public void setBall(Ball ball) {
-        setToOneTarget("ball", ball, true);
-    }
-
-    public Ball getBall() {
-        return (Ball)readProperty("ball");
-    }
-
-
-    @SuppressWarnings("unchecked")
-    public List<Box> getBox() {
-        return (List<Box>)readProperty("box");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_TinyintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_TinyintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_TinyintTestEntity.java
deleted file mode 100644
index 544b1d8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_TinyintTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _TinyintTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _TinyintTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String TINYINT_COL_PROPERTY = "tinyintCol";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Byte> TINYINT_COL = new Property<Byte>("tinyintCol");
-
-    public void setTinyintCol(Byte tinyintCol) {
-        writeProperty("tinyintCol", tinyintCol);
-    }
-    public Byte getTinyintCol() {
-        return (Byte)readProperty("tinyintCol");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidPkEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidPkEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidPkEntity.java
deleted file mode 100644
index c217b3c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidPkEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.UUID;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _UuidPkEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _UuidPkEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String ID_PROPERTY = "id";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<UUID> ID = new Property<UUID>("id");
-
-    public void setId(UUID id) {
-        writeProperty("id", id);
-    }
-    public UUID getId() {
-        return (UUID)readProperty("id");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidTestEntity.java
deleted file mode 100644
index a82fd3c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_UuidTestEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.UUID;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _UuidTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _UuidTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String UUID_PROPERTY = "uuid";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<UUID> UUID = new Property<UUID>("uuid");
-
-    public void setUuid(UUID uuid) {
-        writeProperty("uuid", uuid);
-    }
-    public UUID getUuid() {
-        return (UUID)readProperty("uuid");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Bag.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Bag.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Bag.java
new file mode 100644
index 0000000..9fac0db
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Bag.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.testdo.things;
+
+import org.apache.cayenne.testdo.things.auto._Bag;
+
+public class Bag extends _Bag {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Ball.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Ball.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Ball.java
new file mode 100644
index 0000000..304399c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Ball.java
@@ -0,0 +1,27 @@
+/*****************************************************************
+ *   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.testdo.things;
+
+import org.apache.cayenne.testdo.things.auto._Ball;
+
+public class Ball extends _Ball {
+
+    private static final long serialVersionUID = 1L; 
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Box.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Box.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Box.java
new file mode 100644
index 0000000..1157583
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Box.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.things;
+
+import org.apache.cayenne.testdo.things.auto._Box;
+
+public class Box extends _Box {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/BoxInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/BoxInfo.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/BoxInfo.java
new file mode 100644
index 0000000..d49472d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/BoxInfo.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.things;
+
+import org.apache.cayenne.testdo.things.auto._BoxInfo;
+
+public class BoxInfo extends _BoxInfo {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Thing.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Thing.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Thing.java
new file mode 100644
index 0000000..cf016e9
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/Thing.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.things;
+
+import org.apache.cayenne.testdo.things.auto._Thing;
+
+public class Thing extends _Thing {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Bag.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Bag.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Bag.java
new file mode 100644
index 0000000..88b7319
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Bag.java
@@ -0,0 +1,68 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Ball;
+import org.apache.cayenne.testdo.things.Box;
+import org.apache.cayenne.testdo.things.Thing;
+
+/**
+ * Class _Bag was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Bag extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String BALLS_PROPERTY = "balls";
+    @Deprecated
+    public static final String BOXES_PROPERTY = "boxes";
+    @Deprecated
+    public static final String THINGS_PROPERTY = "things";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<Ball>> BALLS = new Property<List<Ball>>("balls");
+    public static final Property<List<Box>> BOXES = new Property<List<Box>>("boxes");
+    public static final Property<List<Thing>> THINGS = new Property<List<Thing>>("things");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    @SuppressWarnings("unchecked")
+    public List<Ball> getBalls() {
+        return (List<Ball>)readProperty("balls");
+    }
+
+
+    public void addToBoxes(Box obj) {
+        addToManyTarget("boxes", obj, true);
+    }
+    public void removeFromBoxes(Box obj) {
+        removeToManyTarget("boxes", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Box> getBoxes() {
+        return (List<Box>)readProperty("boxes");
+    }
+
+
+    @SuppressWarnings("unchecked")
+    public List<Thing> getThings() {
+        return (List<Thing>)readProperty("things");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Ball.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Ball.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Ball.java
new file mode 100644
index 0000000..61321b2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Ball.java
@@ -0,0 +1,66 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Box;
+import org.apache.cayenne.testdo.things.Thing;
+
+/**
+ * Class _Ball was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Ball extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String THING_VOLUME_PROPERTY = "thingVolume";
+    @Deprecated
+    public static final String THING_WEIGHT_PROPERTY = "thingWeight";
+    @Deprecated
+    public static final String BOX_PROPERTY = "box";
+    @Deprecated
+    public static final String THING_PROPERTY = "thing";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Integer> THING_VOLUME = new Property<Integer>("thingVolume");
+    public static final Property<Integer> THING_WEIGHT = new Property<Integer>("thingWeight");
+    public static final Property<Box> BOX = new Property<Box>("box");
+    public static final Property<Thing> THING = new Property<Thing>("thing");
+
+    public void setThingVolume(Integer thingVolume) {
+        writeProperty("thingVolume", thingVolume);
+    }
+    public Integer getThingVolume() {
+        return (Integer)readProperty("thingVolume");
+    }
+
+    public void setThingWeight(Integer thingWeight) {
+        writeProperty("thingWeight", thingWeight);
+    }
+    public Integer getThingWeight() {
+        return (Integer)readProperty("thingWeight");
+    }
+
+    public void setBox(Box box) {
+        setToOneTarget("box", box, true);
+    }
+
+    public Box getBox() {
+        return (Box)readProperty("box");
+    }
+
+
+    public void setThing(Thing thing) {
+        setToOneTarget("thing", thing, true);
+    }
+
+    public Thing getThing() {
+        return (Thing)readProperty("thing");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Box.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Box.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Box.java
new file mode 100644
index 0000000..8da6b32
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Box.java
@@ -0,0 +1,84 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Bag;
+import org.apache.cayenne.testdo.things.Ball;
+import org.apache.cayenne.testdo.things.BoxInfo;
+import org.apache.cayenne.testdo.things.Thing;
+
+/**
+ * Class _Box was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Box extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String BAG_PROPERTY = "bag";
+    @Deprecated
+    public static final String BALLS_PROPERTY = "balls";
+    @Deprecated
+    public static final String BOX_INFO_PROPERTY = "boxInfo";
+    @Deprecated
+    public static final String THINGS_PROPERTY = "things";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<Bag> BAG = new Property<Bag>("bag");
+    public static final Property<List<Ball>> BALLS = new Property<List<Ball>>("balls");
+    public static final Property<BoxInfo> BOX_INFO = new Property<BoxInfo>("boxInfo");
+    public static final Property<List<Thing>> THINGS = new Property<List<Thing>>("things");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setBag(Bag bag) {
+        setToOneTarget("bag", bag, true);
+    }
+
+    public Bag getBag() {
+        return (Bag)readProperty("bag");
+    }
+
+
+    public void addToBalls(Ball obj) {
+        addToManyTarget("balls", obj, true);
+    }
+    public void removeFromBalls(Ball obj) {
+        removeToManyTarget("balls", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Ball> getBalls() {
+        return (List<Ball>)readProperty("balls");
+    }
+
+
+    public void setBoxInfo(BoxInfo boxInfo) {
+        setToOneTarget("boxInfo", boxInfo, true);
+    }
+
+    public BoxInfo getBoxInfo() {
+        return (BoxInfo)readProperty("boxInfo");
+    }
+
+
+    @SuppressWarnings("unchecked")
+    public List<Thing> getThings() {
+        return (List<Thing>)readProperty("things");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_BoxInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_BoxInfo.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_BoxInfo.java
new file mode 100644
index 0000000..8d37e3b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_BoxInfo.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Box;
+
+/**
+ * Class _BoxInfo was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BoxInfo extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String COLOR_PROPERTY = "color";
+    @Deprecated
+    public static final String BOX_PROPERTY = "box";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> COLOR = new Property<String>("color");
+    public static final Property<Box> BOX = new Property<Box>("box");
+
+    public void setColor(String color) {
+        writeProperty("color", color);
+    }
+    public String getColor() {
+        return (String)readProperty("color");
+    }
+
+    public void setBox(Box box) {
+        setToOneTarget("box", box, true);
+    }
+
+    public Box getBox() {
+        return (Box)readProperty("box");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Thing.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Thing.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Thing.java
new file mode 100644
index 0000000..5b604b8
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/things/auto/_Thing.java
@@ -0,0 +1,65 @@
+package org.apache.cayenne.testdo.things.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.things.Ball;
+import org.apache.cayenne.testdo.things.Box;
+
+/**
+ * Class _Thing was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Thing extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String VOLUME_PROPERTY = "volume";
+    @Deprecated
+    public static final String WEIGHT_PROPERTY = "weight";
+    @Deprecated
+    public static final String BALL_PROPERTY = "ball";
+    @Deprecated
+    public static final String BOX_PROPERTY = "box";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Integer> VOLUME = new Property<Integer>("volume");
+    public static final Property<Integer> WEIGHT = new Property<Integer>("weight");
+    public static final Property<Ball> BALL = new Property<Ball>("ball");
+    public static final Property<List<Box>> BOX = new Property<List<Box>>("box");
+
+    public void setVolume(Integer volume) {
+        writeProperty("volume", volume);
+    }
+    public Integer getVolume() {
+        return (Integer)readProperty("volume");
+    }
+
+    public void setWeight(Integer weight) {
+        writeProperty("weight", weight);
+    }
+    public Integer getWeight() {
+        return (Integer)readProperty("weight");
+    }
+
+    public void setBall(Ball ball) {
+        setToOneTarget("ball", ball, true);
+    }
+
+    public Ball getBall() {
+        return (Ball)readProperty("ball");
+    }
+
+
+    @SuppressWarnings("unchecked")
+    public List<Box> getBox() {
+        return (List<Box>)readProperty("box");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidPkEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidPkEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidPkEntity.java
new file mode 100644
index 0000000..79c2fe7
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidPkEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.uuid;
+
+import org.apache.cayenne.testdo.uuid.auto._UuidPkEntity;
+
+public class UuidPkEntity extends _UuidPkEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidTestEntity.java
new file mode 100644
index 0000000..929df68
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/UuidTestEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.uuid;
+
+import org.apache.cayenne.testdo.uuid.auto._UuidTestEntity;
+
+public class UuidTestEntity extends _UuidTestEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidPkEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidPkEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidPkEntity.java
new file mode 100644
index 0000000..492c380
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidPkEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.uuid.auto;
+
+import java.util.UUID;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _UuidPkEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _UuidPkEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String ID_PROPERTY = "id";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<UUID> ID = new Property<UUID>("id");
+
+    public void setId(UUID id) {
+        writeProperty("id", id);
+    }
+    public UUID getId() {
+        return (UUID)readProperty("id");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidTestEntity.java
new file mode 100644
index 0000000..82315b4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/uuid/auto/_UuidTestEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.uuid.auto;
+
+import java.util.UUID;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _UuidTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _UuidTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String UUID_PROPERTY = "uuid";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<UUID> UUID = new Property<UUID>("uuid");
+
+    public void setUuid(UUID uuid) {
+        writeProperty("uuid", uuid);
+    }
+    public UUID getUuid() {
+        return (UUID)readProperty("uuid");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java
index d99e602..10ae06c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/HSQLDBUnitDbAdapter.java
@@ -19,11 +19,11 @@
 
 package org.apache.cayenne.unit;
 
-import java.sql.Connection;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.map.DataMap;
 
+import java.sql.Connection;
+
 public class HSQLDBUnitDbAdapter extends UnitDbAdapter {
 
     public HSQLDBUnitDbAdapter(DbAdapter adapter) {
@@ -52,7 +52,7 @@ public class HSQLDBUnitDbAdapter extends UnitDbAdapter {
 
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
-        if (map.getProcedureMap().containsKey("cayenne_tst_select_proc")) {
+        if (map.getProcedureMap().containsKey("cayenne_test_select_proc")) {
             executeDDL(con, "hsqldb", "create-sp-aliases.sql");
         }
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
index 7308c01..61d7cbb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/MySQLUnitDbAdapter.java
@@ -19,15 +19,15 @@
 
 package org.apache.cayenne.unit;
 
-import java.sql.Connection;
-import java.util.Arrays;
-import java.util.Collection;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.Procedure;
 
+import java.sql.Connection;
+import java.util.Arrays;
+import java.util.Collection;
+
 /**
  */
 public class MySQLUnitDbAdapter extends UnitDbAdapter {
@@ -91,7 +91,7 @@ public class MySQLUnitDbAdapter extends UnitDbAdapter {
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
 
-        if (map.getProcedureMap().containsKey("cayenne_tst_select_proc")) {
+        if (map.getProcedureMap().containsKey("cayenne_test_select_proc")) {
             executeDDL(con, "mysql", "create-select-sp.sql");
             executeDDL(con, "mysql", "create-update-sp.sql");
             executeDDL(con, "mysql", "create-update-sp2.sql");
@@ -105,7 +105,7 @@ public class MySQLUnitDbAdapter extends UnitDbAdapter {
             DataMap map,
             Collection<String> tablesToDrop) throws Exception {
 
-        Procedure proc = map.getProcedure("cayenne_tst_select_proc");
+        Procedure proc = map.getProcedure("cayenne_test_select_proc");
         if (proc != null && proc.getDataMap() == map) {
             executeDDL(conn, "mysql", "drop-select-sp.sql");
             executeDDL(conn, "mysql", "drop-update-sp.sql");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java
index f0ebb94..38dcee2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/OracleUnitDbAdapter.java
@@ -80,7 +80,7 @@ public class OracleUnitDbAdapter extends UnitDbAdapter {
 
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
-        if (map.getProcedureMap().containsKey("cayenne_tst_select_proc")) {
+        if (map.getProcedureMap().containsKey("cayenne_test_select_proc")) {
             executeDDL(con, "oracle", "create-types-pkg.sql");
             executeDDL(con, "oracle", "create-select-sp.sql");
             executeDDL(con, "oracle", "create-update-sp.sql");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java
index c6a14ae..794f799 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/PostgresUnitDbAdapter.java
@@ -19,12 +19,12 @@
 
 package org.apache.cayenne.unit;
 
-import java.sql.Connection;
-import java.util.Collection;
-
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.map.DataMap;
 
+import java.sql.Connection;
+import java.util.Collection;
+
 public class PostgresUnitDbAdapter extends UnitDbAdapter {
 
     public PostgresUnitDbAdapter(DbAdapter adapter) {
@@ -54,7 +54,7 @@ public class PostgresUnitDbAdapter extends UnitDbAdapter {
 
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
-        if (map.getProcedureMap().containsKey("cayenne_tst_select_proc")) {
+        if (map.getProcedureMap().containsKey("cayenne_test_select_proc")) {
             executeDDL(con, "postgresql", "create-select-sp.sql");
             executeDDL(con, "postgresql", "create-update-sp.sql");
             executeDDL(con, "postgresql", "create-update-sp2.sql");


[50/50] [abbrv] cayenne git commit: Merge remote-tracking branch 'apache/master' into CAY-1946

Posted by aa...@apache.org.
Merge remote-tracking branch 'apache/master' into CAY-1946

Conflicts:
	cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
	cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/ExcludeFilter.java
	cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
	cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
	cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
	cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
	plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
	plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/16a8cec6
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/16a8cec6
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/16a8cec6

Branch: refs/heads/CAY-1946
Commit: 16a8cec661e09385811299b603672fd3115a6d50
Parents: fde7761 cfbfb68
Author: aadamchik <aa...@apache.org>
Authored: Fri Nov 14 20:36:05 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Fri Nov 14 20:36:05 2014 +0300

----------------------------------------------------------------------
 assembly/pom.xml                                |    2 +-
 build-tools/cayenne-checkers/pom.xml            |    2 +-
 build-tools/cayenne-coverage/pom.xml            |    2 +-
 build-tools/cayenne-legal/pom.xml               |    2 +-
 build-tools/cayenne-test-utilities/pom.xml      |    2 +-
 build-tools/pom.xml                             |    2 +-
 cayenne-client/pom.xml                          |   21 +-
 .../apache/cayenne/CayenneContextCayenneIT.java |   60 +
 .../cayenne/CayenneContextCayenneTest.java      |   55 -
 .../CayenneContextClientChannelEventsIT.java    |  362 +++++
 .../CayenneContextClientChannelEventsTest.java  |  345 -----
 .../cayenne/CayenneContextDeleteRulesIT.java    |  122 ++
 .../cayenne/CayenneContextDeleteRulesTest.java  |  111 --
 .../apache/cayenne/CayenneContextEJBQLIT.java   |   94 ++
 .../apache/cayenne/CayenneContextEJBQLTest.java |   87 --
 .../CayenneContextGraphDiffCompressorIT.java    |  102 ++
 .../CayenneContextGraphDiffCompressorTest.java  |   96 --
 .../org/apache/cayenne/CayenneContextIT.java    |  368 +++++
 .../cayenne/CayenneContextInheritanceIT.java    |  158 ++
 .../cayenne/CayenneContextInheritanceTest.java  |  151 --
 .../CayenneContextMapRelationshipIT.java        |  120 ++
 .../CayenneContextMapRelationshipTest.java      |  112 --
 .../cayenne/CayenneContextMeaningfulPKIT.java   |   72 +
 .../cayenne/CayenneContextMergeHandlerIT.java   |   97 ++
 .../cayenne/CayenneContextMergeHandlerTest.java |   90 --
 .../CayenneContextNamedQueryCachingIT.java      |  141 ++
 .../CayenneContextNamedQueryCachingTest.java    |  133 --
 .../CayenneContextPaginatedListCachingIT.java   |   79 +
 .../CayenneContextPaginatedListCachingTest.java |   75 -
 .../cayenne/CayenneContextPrimitiveIT.java      |  107 ++
 .../cayenne/CayenneContextPrimitiveTest.java    |  100 --
 .../cayenne/CayenneContextReflexiveIT.java      |   93 ++
 .../cayenne/CayenneContextRefreshQueryIT.java   |   80 ++
 .../cayenne/CayenneContextRefreshQueryTest.java |   76 -
 .../cayenne/CayenneContextRelationshipsIT.java  |  106 ++
 .../CayenneContextRelationshipsTest.java        |  100 --
 .../cayenne/CayenneContextSQLTemplateIT.java    |   59 +
 .../cayenne/CayenneContextSQLTemplateTest.java  |   54 -
 .../cayenne/CayenneContextServerDiffsIT.java    |  162 +++
 .../cayenne/CayenneContextServerDiffsTest.java  |  153 --
 .../org/apache/cayenne/CayenneContextTest.java  |  351 -----
 .../cayenne/CayenneContextValidationIT.java     |   95 ++
 .../cayenne/CayenneContextValidationTest.java   |   89 --
 .../CayenneContextWithDataContextIT.java        |  517 +++++++
 .../CayenneContextWithDataContextTest.java      |  570 --------
 .../java/org/apache/cayenne/DataRowTest.java    |    9 +-
 .../apache/cayenne/NestedCayenneContextIT.java  |  758 ++++++++++
 .../cayenne/NestedCayenneContextTest.java       |  864 -----------
 .../cayenne/NestedCayenneContextTooneIT.java    |  223 +++
 .../cayenne/ObjectContextChangeLogTest.java     |   10 +-
 .../java/org/apache/cayenne/ObjectIdTest.java   |   17 +-
 .../cayenne/PersistentObjectInContextIT.java    |  152 ++
 .../cayenne/PersistentObjectInContextTest.java  |  142 --
 .../cayenne/access/ClientServerChannelIT.java   |  275 ++++
 .../access/ClientServerChannelQueryIT.java      |  255 ++++
 .../access/ClientServerChannelQueryTest.java    |  239 ----
 .../cayenne/access/ClientServerChannelTest.java |  260 ----
 .../apache/cayenne/access/types/EnumTest.java   |   20 +-
 .../rop/client/ClientLocalRuntimeTest.java      |   21 +-
 .../rop/client/ClientModuleTest.java            |   20 +-
 .../rop/client/ClientRuntimeTest.java           |   30 +-
 .../apache/cayenne/event/EventSubjectTest.java  |    9 +-
 .../org/apache/cayenne/graph/NodeDiffTest.java  |    9 +-
 .../cayenne/map/ClientEntityResolverTest.java   |   16 +-
 .../map/ClientObjectRelationshipTest.java       |    9 +-
 .../org/apache/cayenne/map/DataMapTest.java     |    9 +-
 .../org/apache/cayenne/map/DbEntityTest.java    |   10 +-
 .../java/org/apache/cayenne/map/EntityTest.java |    9 +-
 .../cayenne/query/ClientExpressionIT.java       |  334 +++++
 .../cayenne/query/ClientExpressionTest.java     |  319 -----
 .../query/ClientSelectQueryExpressionIT.java    |   75 +
 .../query/ClientSelectQueryExpressionTest.java  |   71 -
 .../apache/cayenne/query/NamedQueryTest.java    |   10 +-
 .../apache/cayenne/query/ObjectIdQueryTest.java |   10 +-
 .../cayenne/query/PrefetchTreeNodeTest.java     |  170 ++-
 .../apache/cayenne/query/RefreshQueryTest.java  |    9 +-
 .../cayenne/query/RelationshipQueryTest.java    |    9 +-
 .../apache/cayenne/query/SQLTemplateTest.java   |   17 +-
 .../apache/cayenne/query/SelectByIdTest.java    |    8 +-
 .../query/SelectQueryAbstractEntityIT.java      |  116 ++
 .../query/SelectQueryAbstractEntityTest.java    |  110 --
 .../remote/CayenneContextDeletionIT.java        |   63 +
 .../remote/CayenneContextDeletionTest.java      |   38 -
 .../remote/ClientChannelServerDiffsIT.java      |  273 ++++
 .../remote/ClientChannelServerDiffsTest.java    |  263 ----
 .../cayenne/remote/ClientChannelTest.java       |   32 +-
 .../cayenne/remote/LightSuperClassIT.java       |  112 ++
 .../cayenne/remote/LightSuperClassTest.java     |   95 --
 .../cayenne/remote/LocalConnectionTest.java     |    8 +-
 .../org/apache/cayenne/remote/MockMessage.java  |   50 -
 .../remote/NestedObjectContextLocalIT.java      |   83 ++
 .../remote/NestedObjectContextLocalTest.java    |   58 -
 .../NestedObjectContextParentEventsIT.java      |   92 ++
 .../NestedObjectContextParentEventsTest.java    |   64 -
 .../remote/NestedObjectContextPeerEventsIT.java |  180 +++
 .../NestedObjectContextPeerEventsTest.java      |  149 --
 .../remote/NestedObjectContextRollbackIT.java   |   98 ++
 .../remote/NestedObjectContextRollbackTest.java |   71 -
 .../cayenne/remote/ROPPrefetchToManyMapIT.java  |   96 ++
 .../remote/ROPPrefetchToManyMapTest.java        |   70 -
 .../cayenne/remote/RelationshipChangeIT.java    |   86 ++
 .../cayenne/remote/RelationshipChangeTest.java  |   60 -
 .../cayenne/remote/RemoteCallbacksIT.java       |  143 ++
 .../cayenne/remote/RemoteCallbacksTest.java     |  118 --
 .../cayenne/remote/RemoteCayenneCase.java       |   17 +-
 .../remote/RemoteIncrementalFaultListIT.java    |  289 ++++
 .../remote/RemoteIncrementalFaultListTest.java  |  266 ----
 .../apache/cayenne/remote/RemoteRollbackIT.java |  178 +++
 .../cayenne/remote/RemoteRollbackTest.java      |  147 --
 .../apache/cayenne/remote/SyncMessageTest.java  |   17 +-
 .../apache/cayenne/remote/ValueInjectorIT.java  |  100 ++
 .../cayenne/remote/ValueInjectorTest.java       |   73 -
 .../remote/hessian/HessianConnectionTest.java   |   19 +-
 .../cayenne/unit/di/client/ClientCase.java      |    8 +
 .../di/client/ClientCaseLifecycleManager.java   |   10 +-
 .../unit/di/client/ClientCaseSelfIT.java        |   52 +
 .../unit/di/client/ClientCaseSelfTest.java      |   46 -
 .../cayenne/util/GenericResponseTest.java       |   15 +-
 .../apache/cayenne/util/ListResponseTest.java   |   10 +-
 .../cayenne/util/ObjectDetachOperationIT.java   |  121 ++
 .../cayenne/util/ObjectDetachOperationTest.java |  112 --
 .../cayenne/util/PersistentObjectListTest.java  |   19 +-
 .../util/ShallowMergeOperation_ClientIT.java    |  218 +++
 .../util/ShallowMergeOperation_ClientTest.java  |  210 ---
 cayenne-crypto/pom.xml                          |   17 +-
 .../cayenne/crypto/CayenneCryptoException.java  |    2 +-
 .../apache/cayenne/crypto/CryptoConstants.java  |    2 +-
 .../cayenne/crypto/CryptoModuleBuilder.java     |    2 +-
 .../CryptoBatchTranslatorFactoryDecorator.java  |    2 +-
 .../cayenne/crypto/cipher/CipherFactory.java    |    2 +-
 .../crypto/cipher/DefaultCipherFactory.java     |    2 +-
 .../cayenne/crypto/key/JceksKeySource.java      |    2 +-
 .../apache/cayenne/crypto/map/ColumnMapper.java |    2 +-
 .../cayenne/crypto/map/PatternColumnMapper.java |    2 +-
 .../crypto/transformer/BindingsTransformer.java |    2 +-
 .../transformer/DefaultBindingsTransformer.java |    2 +-
 .../transformer/DefaultMapTransformer.java      |    2 +-
 .../transformer/DefaultTransformerFactory.java  |    2 +-
 .../crypto/transformer/MapTransformer.java      |    2 +-
 .../crypto/transformer/TransformerFactory.java  |    2 +-
 .../transformer/bytes/BytesDecryptor.java       |    2 +-
 .../transformer/bytes/BytesEncryptor.java       |    2 +-
 .../bytes/BytesTransformerFactory.java          |    2 +-
 .../bytes/CbcBytesTransformerFactory.java       |    2 +-
 .../crypto/transformer/bytes/CbcDecryptor.java  |    2 +-
 .../crypto/transformer/bytes/CbcEncryptor.java  |    2 +-
 .../bytes/DefaultBytesTransformerFactory.java   |    2 +-
 .../crypto/transformer/bytes/GzipDecryptor.java |    2 +-
 .../crypto/transformer/bytes/GzipEncryptor.java |    2 +-
 .../crypto/transformer/bytes/Header.java        |    2 +-
 .../transformer/bytes/HeaderDecryptor.java      |    2 +-
 .../value/Base64StringConverter.java            |    2 +-
 .../transformer/value/BytesConverter.java       |    2 +-
 .../value/BytesToBytesConverter.java            |    2 +-
 .../value/DefaultValueDecryptor.java            |    2 +-
 .../value/DefaultValueEncryptor.java            |    2 +-
 .../value/DefaultValueTransformerFactory.java   |    2 +-
 .../transformer/value/Utf8StringConverter.java  |    2 +-
 .../transformer/value/ValueDecryptor.java       |    2 +-
 .../transformer/value/ValueEncryptor.java       |    2 +-
 .../value/ValueTransformerFactory.java          |    2 +-
 cayenne-di/pom.xml                              |    2 +-
 .../apache/cayenne/di/AdhocObjectFactory.java   |    2 +-
 .../main/java/org/apache/cayenne/di/Binder.java |    4 +-
 .../apache/cayenne/di/ClassLoaderManager.java   |    2 +-
 .../apache/cayenne/di/DIRuntimeException.java   |    2 +-
 .../org/apache/cayenne/di/DecoratorBuilder.java |    2 +-
 .../ConstructorInjectingDecoratorProvider.java  |    2 +-
 .../cayenne/di/spi/DecoratorProvider.java       |    2 +-
 .../di/spi/DefaultAdhocObjectFactory.java       |    2 +-
 .../di/spi/DefaultClassLoaderManager.java       |    2 +-
 .../cayenne/di/spi/DefaultDecoratorBuilder.java |    2 +-
 .../di/spi/FieldInjectingDecoratorProvider.java |    2 +-
 .../cayenne/di/spi/FieldInjectingProvider.java  |    2 +-
 .../org/apache/cayenne/di/DIBootstrapTest.java  |   10 +-
 .../java/org/apache/cayenne/di/KeyTest.java     |   11 +-
 .../di/spi/DefaultInjectorBindingTest.java      |   14 +-
 .../DefaultInjectorCircularInjectionTest.java   |   14 +-
 .../di/spi/DefaultInjectorDecorationTest.java   |   11 +-
 .../di/spi/DefaultInjectorInjectionTest.java    |   23 +-
 .../di/spi/DefaultInjectorScopeTest.java        |   20 +-
 .../cayenne/di/spi/DefaultInjectorTest.java     |   15 +-
 cayenne-lifecycle/pom.xml                       |   17 +-
 .../lifecycle/audit/AuditableFilter.java        |    2 +-
 .../apache/cayenne/lifecycle/id/IdCoder.java    |    2 +-
 .../lifecycle/audit/AuditableFilterTest.java    |   31 +-
 .../audit/AuditableFilter_InRuntime_Test.java   |   29 +-
 .../cayenne/lifecycle/id/EntityIdCoderTest.java |   40 +-
 .../cayenne/lifecycle/id/IdCoderTest.java       |   23 +-
 .../cayenne/lifecycle/id/StringIdQueryTest.java |   32 +-
 .../ObjectIdRelationshipHandlerTest.java        |   22 +-
 .../sort/WeightedAshwoodEntitySorterTest.java   |   24 +-
 cayenne-project/pom.xml                         |    2 +-
 .../project/DataChannelProjectLoaderTest.java   |   16 +-
 .../project/DataChannelProjectSaverTest.java    |   19 +-
 .../cayenne/project/FileProjectSaverTest.java   |   26 +-
 .../org/apache/cayenne/project/ProjectTest.java |   11 +-
 .../cayenne/project/unit/Project2Case.java      |   17 +-
 .../upgrade/v7/ProjectUpgrader_V7Test.java      |   35 +-
 cayenne-server/pom.xml                          |   21 +-
 .../java/org/apache/cayenne/BaseContext.java    |    6 +-
 .../java/org/apache/cayenne/CayenneContext.java |    2 +-
 .../cayenne/CollectionResultIterator.java       |    2 +-
 .../java/org/apache/cayenne/ObjectContext.java  |    8 +-
 .../apache/cayenne/ResultIteratorCallback.java  |    2 +-
 .../org/apache/cayenne/access/DataContext.java  |    8 +-
 .../org/apache/cayenne/access/DataDomain.java   |   14 +-
 .../access/DataDomainLegacyQueryAction.java     |    2 +-
 .../cayenne/access/DataDomainQueryAction.java   |    2 +-
 .../org/apache/cayenne/access/DataNode.java     |   30 +-
 .../org/apache/cayenne/access/DataPort.java     |    2 +-
 .../apache/cayenne/access/DataPortDelegate.java |    2 +-
 .../java/org/apache/cayenne/access/DbArcId.java |    2 +-
 .../org/apache/cayenne/access/DbLoader.java     |   17 +-
 .../apache/cayenne/access/FlattenedArcKey.java  |    2 +-
 .../cayenne/access/OperationObserver.java       |    2 +-
 .../cayenne/access/PrefetchObjectResolver.java  |    2 +-
 .../org/apache/cayenne/access/Transaction.java  |    4 +-
 .../cayenne/access/jdbc/BaseSQLAction.java      |    2 +-
 .../apache/cayenne/access/jdbc/BatchAction.java |    4 +-
 .../cayenne/access/jdbc/BindDirective.java      |  175 ---
 .../cayenne/access/jdbc/BindEqualDirective.java |   56 -
 .../access/jdbc/BindNotEqualDirective.java      |   55 -
 .../access/jdbc/BindObjectEqualDirective.java   |  163 ---
 .../jdbc/BindObjectNotEqualDirective.java       |   69 -
 .../cayenne/access/jdbc/ChainDirective.java     |  112 --
 .../cayenne/access/jdbc/ChunkDirective.java     |   75 -
 .../cayenne/access/jdbc/ColumnDescriptor.java   |    4 +-
 .../jdbc/ConnectionAwareResultIterator.java     |    2 +-
 .../access/jdbc/DistinctResultIterator.java     |    2 +-
 .../cayenne/access/jdbc/JDBCResultIterator.java |    8 +-
 .../access/jdbc/LimitResultIterator.java        |    2 +-
 .../cayenne/access/jdbc/ProcedureAction.java    |    2 +-
 .../cayenne/access/jdbc/ResultDirective.java    |  205 ---
 .../cayenne/access/jdbc/SQLTemplateAction.java  |  598 ++++----
 .../access/jdbc/SQLTemplateProcessor.java       |  160 +--
 .../access/jdbc/SQLTemplateRenderingUtils.java  |   37 -
 .../access/jdbc/SQLTemplateResourceManager.java |  106 --
 .../cayenne/access/jdbc/SelectAction.java       |    2 +-
 .../jdbc/reader/DefaultRowReaderFactory.java    |    2 +-
 .../access/jdbc/reader/RowReaderFactory.java    |    2 +-
 .../access/loader/DefaultDbLoaderDelegate.java  |    2 +-
 .../access/loader/filters/ExcludeFilter.java    |    2 +-
 .../translator/batch/BatchParameterBinding.java |    2 +-
 .../translator/batch/BatchTranslator.java       |    2 +-
 .../batch/BatchTranslatorFactory.java           |    2 +-
 .../batch/DefaultBatchTranslator.java           |    2 +-
 .../batch/DefaultBatchTranslatorFactory.java    |    2 +-
 .../batch/SoftDeleteTranslatorFactory.java      |    2 +-
 .../translator/select/QualifierTranslator.java  |    4 +-
 .../translator/select/QueryAssembler.java       |    2 +-
 .../translator/select/SelectTranslator.java     |    2 +-
 .../access/util/DefaultOperationObserver.java   |    2 +-
 .../apache/cayenne/cache/EhCacheQueryCache.java |    4 +-
 .../cayenne/configuration/CayenneRuntime.java   |    8 +-
 .../apache/cayenne/configuration/Constants.java |    2 +-
 .../configuration/DefaultRuntimeProperties.java |    2 +-
 .../cayenne/configuration/ModuleCollection.java |    2 +-
 .../configuration/RuntimeProperties.java        |    2 +-
 .../osgi/OsgiClassLoaderManager.java            |    2 +-
 .../osgi/OsgiDataDomainProvider.java            |    2 +-
 .../cayenne/configuration/osgi/OsgiModule.java  |    2 +-
 .../configuration/osgi/OsgiModuleBuilder.java   |    2 +-
 .../server/DataDomainProvider.java              |    4 +-
 .../configuration/server/DataNodeFactory.java   |    2 +-
 .../server/DefaultDataNodeFactory.java          |    7 +-
 .../server/FixedDataSourceFactory.java          |    2 +-
 .../server/FixedJNDIDataSourceFactory.java      |    2 +-
 .../configuration/server/ServerModule.java      |    4 +
 .../configuration/server/ServerRuntime.java     |    4 +-
 .../server/ServerRuntimeBuilder.java            |    2 +-
 .../server/SyntheticNodeDataDomainProvider.java |    2 +-
 .../configuration/web/CayenneFilter.java        |    2 +-
 .../web/StatelessContextRequestHandler.java     |    2 +-
 .../org/apache/cayenne/conn/DataSourceInfo.java |    2 +-
 .../apache/cayenne/conn/DriverDataSource.java   |    2 +-
 .../org/apache/cayenne/conn/PoolManager.java    |    8 +-
 .../org/apache/cayenne/dba/AutoAdapter.java     |    8 +-
 .../java/org/apache/cayenne/dba/DbAdapter.java  |    8 +-
 .../cayenne/dba/DefaultQuotingStrategy.java     |    4 +-
 .../apache/cayenne/dba/JdbcActionBuilder.java   |    2 +-
 .../org/apache/cayenne/dba/JdbcAdapter.java     |   16 +-
 .../org/apache/cayenne/dba/QuotingStrategy.java |   16 +-
 .../frontbase/FrontBaseSelectTranslator.java    |    2 +-
 .../apache/cayenne/dba/h2/H2PkGenerator.java    |    2 +-
 .../dba/hsqldb/HSQLSelectTranslator.java        |    2 +-
 .../cayenne/dba/ingres/IngresActionBuilder.java |    2 +-
 .../dba/ingres/IngresSelectTranslator.java      |    2 +-
 .../dba/mysql/MySQLSelectTranslator.java        |    2 +-
 .../dba/openbase/OpenBaseSelectTranslator.java  |    2 +-
 .../dba/oracle/Oracle8SelectTranslator.java     |    2 +-
 .../cayenne/dba/oracle/OracleBatchAction.java   |    2 +-
 .../dba/oracle/OracleSelectTranslator.java      |    2 +-
 .../dba/postgres/PostgresSelectTranslator.java  |    2 +-
 .../dba/sqlserver/SQLServerActionBuilder.java   |    2 +-
 .../dba/sqlserver/SQLServerProcedureAction.java |    2 +-
 .../sqlserver/SQLServerSelectTranslator.java    |    2 +-
 .../java/org/apache/cayenne/exp/Expression.java |   40 +-
 .../apache/cayenne/exp/ExpressionFactory.java   |   12 +-
 .../java/org/apache/cayenne/exp/Property.java   |  814 +++++------
 .../cayenne/exp/parser/ASTBitwiseLeftShift.java |    2 +-
 .../exp/parser/ASTBitwiseRightShift.java        |    2 +-
 .../apache/cayenne/exp/parser/ASTDbPath.java    |    4 +-
 .../org/apache/cayenne/exp/parser/ASTFalse.java |    4 +-
 .../org/apache/cayenne/exp/parser/ASTList.java  |    2 +-
 .../cayenne/exp/parser/ASTNamedParameter.java   |    2 +-
 .../apache/cayenne/exp/parser/ASTNegate.java    |    4 +-
 .../org/apache/cayenne/exp/parser/ASTNot.java   |    4 +-
 .../apache/cayenne/exp/parser/ASTObjPath.java   |    4 +-
 .../apache/cayenne/exp/parser/ASTScalar.java    |    4 +-
 .../org/apache/cayenne/exp/parser/ASTTrue.java  |    4 +-
 .../apache/cayenne/exp/parser/Evaluator.java    |    2 +-
 .../cayenne/exp/parser/PatternMatchNode.java    |    5 +-
 .../apache/cayenne/exp/parser/SimpleNode.java   |   10 +-
 .../org/apache/cayenne/log/JdbcEventLogger.java |  100 +-
 .../java/org/apache/cayenne/map/DataMap.java    |   20 +-
 .../org/apache/cayenne/map/DbRelationship.java  |    2 +-
 .../java/org/apache/cayenne/map/Embeddable.java |    2 +-
 .../org/apache/cayenne/map/EntityListener.java  |    2 +-
 .../cayenne/map/EntityListenerFactory.java      |    2 +-
 .../org/apache/cayenne/map/EntityResolver.java  |   32 +-
 .../org/apache/cayenne/map/MappingCache.java    |    2 +-
 .../apache/cayenne/map/MappingNamespace.java    |   10 +-
 .../java/org/apache/cayenne/map/ObjEntity.java  |   22 +-
 .../map/naming/DefaultUniqueNameGenerator.java  |    2 +-
 .../apache/cayenne/map/naming/NameChecker.java  |    2 +-
 .../apache/cayenne/map/naming/NameCheckers.java |    2 +-
 .../cayenne/map/naming/ObjectNameGenerator.java |    2 +-
 .../cayenne/map/naming/UniqueNameGenerator.java |    2 +-
 .../apache/cayenne/query/BaseQueryMetadata.java |  839 +++++------
 .../org/apache/cayenne/query/BatchQuery.java    |    8 +-
 .../org/apache/cayenne/query/BatchQueryRow.java |    2 +-
 .../org/apache/cayenne/query/EJBQLQuery.java    |    4 +-
 .../apache/cayenne/query/PrefetchTreeNode.java  | 1106 +++++++-------
 .../apache/cayenne/query/ProcedureQuery.java    |    4 +-
 .../org/apache/cayenne/query/QueryRouter.java   |    2 +-
 .../org/apache/cayenne/query/SQLSelect.java     |   59 +-
 .../org/apache/cayenne/query/SQLTemplate.java   | 1353 ++++++++++--------
 .../cayenne/query/SQLTemplateMetadata.java      |    2 +-
 .../org/apache/cayenne/query/SelectById.java    |    4 +-
 .../org/apache/cayenne/query/SelectQuery.java   |   33 +-
 .../org/apache/cayenne/reflect/ArcProperty.java |    2 +-
 .../cayenne/reflect/ConverterFactory.java       |    2 +-
 .../reflect/LifecycleCallbackRegistry.java      |    4 +-
 .../org/apache/cayenne/reflect/Property.java    |    3 +-
 .../cayenne/reflect/PropertyDescriptor.java     |    2 +-
 .../apache/cayenne/remote/RemoteSession.java    |    6 +-
 .../resource/ClassLoaderResourceLocator.java    |    2 +-
 .../org/apache/cayenne/tx/BaseTransaction.java  |    2 +-
 .../apache/cayenne/tx/CayenneTransaction.java   |    2 +-
 .../cayenne/tx/DefaultTransactionFactory.java   |    2 +-
 .../cayenne/tx/DefaultTransactionManager.java   |    2 +-
 .../apache/cayenne/tx/ExternalTransaction.java  |    2 +-
 .../java/org/apache/cayenne/tx/Transaction.java |    2 +-
 .../apache/cayenne/tx/TransactionFactory.java   |    2 +-
 .../apache/cayenne/tx/TransactionManager.java   |    2 +-
 .../cayenne/tx/TransactionalOperation.java      |    2 +-
 .../apache/cayenne/util/EntityMergeSupport.java |    8 +-
 .../main/java/org/apache/cayenne/util/Util.java |    2 +-
 .../apache/cayenne/velocity/BindDirective.java  |  165 +++
 .../cayenne/velocity/BindEqualDirective.java    |   57 +
 .../cayenne/velocity/BindNotEqualDirective.java |   56 +
 .../velocity/BindObjectEqualDirective.java      |  164 +++
 .../velocity/BindObjectNotEqualDirective.java   |   70 +
 .../apache/cayenne/velocity/ChainDirective.java |  112 ++
 .../apache/cayenne/velocity/ChunkDirective.java |   75 +
 .../cayenne/velocity/ResultDirective.java       |  206 +++
 .../velocity/SQLTemplateRenderingUtils.java     |   37 +
 .../velocity/SQLTemplateResourceManager.java    |  106 ++
 .../cayenne/velocity/VelocityParamSequence.java |   68 +
 .../velocity/VelocitySQLTemplateProcessor.java  |  209 +++
 .../org/apache/cayenne/BaseContextTest.java     |   22 +-
 .../cayenne/CDOCollectionRelationshipIT.java    |  194 +++
 .../cayenne/CDOCollectionRelationshipTest.java  |  181 ---
 .../java/org/apache/cayenne/CDOMany2OneIT.java  |  341 +++++
 .../org/apache/cayenne/CDOMany2OneNoRevIT.java  |   62 +
 .../apache/cayenne/CDOMany2OneNoRevTest.java    |   56 -
 .../org/apache/cayenne/CDOMany2OneTest.java     |  325 -----
 .../apache/cayenne/CDOMapRelationshipIT.java    |  249 ++++
 .../apache/cayenne/CDOMapRelationshipTest.java  |  234 ---
 .../java/org/apache/cayenne/CDOOne2ManyIT.java  |  311 ++++
 .../org/apache/cayenne/CDOOne2ManyTest.java     |  299 ----
 .../org/apache/cayenne/CDOOne2OneDepIT.java     |  147 ++
 .../org/apache/cayenne/CDOOne2OneDepTest.java   |  135 --
 .../org/apache/cayenne/CDOOneDep2OneIT.java     |  146 ++
 .../org/apache/cayenne/CDOOneDep2OneTest.java   |  136 --
 .../org/apache/cayenne/CDOOneToManyFKIT.java    |   90 ++
 .../org/apache/cayenne/CDOOneToManyFKTest.java  |   83 --
 .../org/apache/cayenne/CDOOneToOneFKIT.java     |  211 +++
 .../org/apache/cayenne/CDOOneToOneFKTest.java   |  197 ---
 .../apache/cayenne/CDOQualifiedEntitiesIT.java  |  132 ++
 .../cayenne/CDOQualifiedEntitiesTest.java       |  126 --
 .../apache/cayenne/CDOReflexiveRelDeleteIT.java |  101 ++
 .../cayenne/CDOReflexiveRelDeleteTest.java      |   96 --
 .../org/apache/cayenne/CDOReflexiveRelIT.java   |  127 ++
 .../org/apache/cayenne/CDOReflexiveRelTest.java |  120 --
 .../apache/cayenne/CDOSetRelationshipIT.java    |  208 +++
 .../apache/cayenne/CDOSetRelationshipTest.java  |  195 ---
 .../org/apache/cayenne/CayenneCompoundIT.java   |  168 +++
 .../CayenneDataObjectFlattenedRelIT.java        |  295 ++++
 .../CayenneDataObjectFlattenedRelTest.java      |  280 ----
 .../org/apache/cayenne/CayenneDataObjectIT.java |  167 +++
 .../cayenne/CayenneDataObjectInContextIT.java   |  333 +++++
 .../cayenne/CayenneDataObjectInContextTest.java |  308 ----
 .../CayenneDataObjectRelationshipsIT.java       |  317 ++++
 .../CayenneDataObjectRelationshipsTest.java     |  293 ----
 .../apache/cayenne/CayenneDataObjectTest.java   |  153 --
 .../cayenne/CayenneDataObjectValidationIT.java  |  129 ++
 .../CayenneDataObjectValidationTest.java        |  121 --
 .../apache/cayenne/CayenneExceptionTest.java    |   15 +-
 .../test/java/org/apache/cayenne/CayenneIT.java |  288 ++++
 .../cayenne/CayenneRuntimeExceptionTest.java    |   21 +-
 .../java/org/apache/cayenne/CayenneTest.java    |  374 -----
 .../org/apache/cayenne/CompoundPkChangeIT.java  |  167 +++
 .../apache/cayenne/CompoundPkChangeTest.java    |  162 ---
 .../org/apache/cayenne/ConfigExceptionTest.java |   13 +-
 .../cayenne/ContextStateRecorderTest.java       |   13 +-
 .../cayenne/DataContextMaxIdQualifierIT.java    |  250 ++++
 .../cayenne/DataContextMaxIdQualifierTest.java  |  240 ----
 .../cayenne/DataObjectSerializationIT.java      |  130 ++
 .../cayenne/DataObjectSerializationTest.java    |  119 --
 .../java/org/apache/cayenne/DataRowTest.java    |    7 +-
 .../cayenne/FlattenedRelationshipsIT.java       |  300 ++++
 .../cayenne/FlattenedRelationshipsTest.java     |  287 ----
 .../org/apache/cayenne/GenericMappingIT.java    |  119 ++
 .../org/apache/cayenne/GenericMappingTest.java  |  110 --
 .../org/apache/cayenne/ManyToManyNoJoinIT.java  |   61 +
 .../apache/cayenne/ManyToManyNoJoinTest.java    |   59 -
 .../java/org/apache/cayenne/MeaningfulFKIT.java |   76 +
 .../org/apache/cayenne/MeaningfulFKTest.java    |   69 -
 .../cayenne/ObjectContextChangeLogTest.java     |   13 +-
 .../apache/cayenne/ObjectIdRegressionTest.java  |    7 +-
 .../java/org/apache/cayenne/ObjectIdTest.java   |   33 +-
 .../apache/cayenne/OneWayRelationshipsIT.java   |  230 +++
 .../apache/cayenne/OneWayRelationshipsTest.java |  217 ---
 .../cayenne/PersistenceByReachabilityIT.java    |  113 ++
 .../cayenne/PersistenceByReachabilityTest.java  |  103 --
 .../org/apache/cayenne/PersistentObjectIT.java  |   63 +
 .../apache/cayenne/PersistentObjectTest.java    |   56 -
 .../org/apache/cayenne/PregeneratedPKIT.java    |   90 ++
 .../org/apache/cayenne/PregeneratedPKTest.java  |   85 --
 .../cayenne/access/DataContextBinaryPKIT.java   |  101 ++
 .../cayenne/access/DataContextBinaryPKTest.java |   95 --
 .../cayenne/access/DataContextBlobIT.java       |  199 +++
 .../cayenne/access/DataContextBlobTest.java     |  189 ---
 .../cayenne/access/DataContextCallbacksIT.java  |  191 +++
 .../access/DataContextCallbacksTest.java        |  181 ---
 .../cayenne/access/DataContextCharPKIT.java     |  127 ++
 .../cayenne/access/DataContextCharPKTest.java   |  120 --
 .../cayenne/access/DataContextCharTypeIT.java   |   80 ++
 .../cayenne/access/DataContextCharTypeTest.java |   76 -
 .../cayenne/access/DataContextClobIT.java       |  167 +++
 .../cayenne/access/DataContextClobTest.java     |  158 --
 .../cayenne/access/DataContextCommitIT.java     |  124 ++
 .../cayenne/access/DataContextCommitTest.java   |  116 --
 .../access/DataContextCompoundRelIT.java        |  159 ++
 .../access/DataContextCompoundRelTest.java      |  153 --
 .../cayenne/access/DataContextCrossDBIT.java    |   67 +
 .../cayenne/access/DataContextCrossDBTest.java  |   65 -
 .../access/DataContextDataChannelEventsIT.java  |  199 +++
 .../DataContextDataChannelEventsTest.java       |  190 ---
 .../access/DataContextDecoratedStackIT.java     |  138 ++
 .../access/DataContextDecoratedStackTest.java   |  131 --
 .../cayenne/access/DataContextDelegateIT.java   |  173 +++
 .../DataContextDelegateSharedCacheIT.java       |  227 +++
 .../DataContextDelegateSharedCacheTest.java     |  216 ---
 .../cayenne/access/DataContextDelegateTest.java |  163 ---
 .../access/DataContextDeleteRulesIT.java        |  264 ++++
 .../access/DataContextDeleteRulesTest.java      |  250 ----
 .../DataContextDisjointByIdPrefetchIT.java      |  229 +++
 .../DataContextDisjointByIdPrefetchTest.java    |  219 ---
 ...ataContextDisjointByIdPrefetch_ExtrasIT.java |  380 +++++
 ...aContextDisjointByIdPrefetch_ExtrasTest.java |  373 -----
 .../access/DataContextEJBQLArrayResultIT.java   |  132 ++
 .../access/DataContextEJBQLArrayResultTest.java |  125 --
 .../access/DataContextEJBQLConditionsIT.java    |  502 +++++++
 .../DataContextEJBQLConditionsPeopleIT.java     |  172 +++
 .../DataContextEJBQLConditionsPeopleTest.java   |  165 ---
 .../access/DataContextEJBQLConditionsTest.java  |  476 ------
 ...extEJBQLDateTimeFunctionalExpressionsIT.java |  121 ++
 .../access/DataContextEJBQLDeleteIT.java        |  129 ++
 .../access/DataContextEJBQLDeletePKIT.java      |   83 ++
 .../access/DataContextEJBQLDeleteTest.java      |  155 --
 .../access/DataContextEJBQLFetchJoinIT.java     |  428 ++++++
 .../access/DataContextEJBQLFetchJoinTest.java   |  417 ------
 ...ataContextEJBQLFlattenedRelationshipsIT.java |  335 +++++
 ...aContextEJBQLFlattenedRelationshipsTest.java |  319 -----
 .../DataContextEJBQLFunctionalExpressions.java  |  411 ------
 ...DataContextEJBQLFunctionalExpressionsIT.java |  295 ++++
 .../access/DataContextEJBQLGroupByHavingIT.java |  355 +++++
 .../DataContextEJBQLGroupByHavingTest.java      |  338 -----
 .../access/DataContextEJBQLInheritanceIT.java   |   94 ++
 .../access/DataContextEJBQLInheritanceTest.java |   90 --
 .../access/DataContextEJBQLIsNullIT.java        |  191 +++
 .../access/DataContextEJBQLIsNullTest.java      |  181 ---
 .../cayenne/access/DataContextEJBQLJoinsIT.java |  246 ++++
 .../access/DataContextEJBQLJoinsTest.java       |  234 ---
 .../DataContextEJBQLNumericalFunctionalIT.java  |  152 ++
 .../access/DataContextEJBQLOrderByIT.java       |  230 +++
 .../access/DataContextEJBQLOrderByTest.java     |  221 ---
 .../access/DataContextEJBQLQueryCompoundIT.java |  148 ++
 .../cayenne/access/DataContextEJBQLQueryIT.java |  476 ++++++
 .../access/DataContextEJBQLQueryTest.java       |  537 -------
 .../access/DataContextEJBQLSubqueryIT.java      |  258 ++++
 .../access/DataContextEJBQLSubqueryTest.java    |  248 ----
 .../DataContextEJBQLUpdateCompoundIT.java       |  106 ++
 .../access/DataContextEJBQLUpdateIT.java        |  256 ++++
 .../access/DataContextEJBQLUpdateTest.java      |  333 -----
 .../DataContextEntityWithMeaningfulPKIT.java    |  141 ++
 .../DataContextEntityWithMeaningfulPKTest.java  |  130 --
 .../DataContextExtendedTypeOperationsIT.java    |  106 ++
 .../DataContextExtendedTypeOperationsTest.java  |  100 --
 .../cayenne/access/DataContextExtrasIT.java     |  450 ++++++
 .../cayenne/access/DataContextExtrasTest.java   |  421 ------
 .../DataContextFlattenedAttributesIT.java       |  403 ++++++
 .../DataContextFlattenedAttributesTest.java     |  385 -----
 .../apache/cayenne/access/DataContextIT.java    |  848 +++++++++++
 .../access/DataContextJoinAliasesIT.java        |  119 ++
 .../access/DataContextJoinAliasesTest.java      |  115 --
 .../access/DataContextLocalObjectIT.java        |  196 +++
 .../access/DataContextLocalObjectTest.java      |  183 ---
 .../cayenne/access/DataContextNoPkIT.java       |   89 ++
 .../cayenne/access/DataContextNoPkTest.java     |   81 --
 .../access/DataContextObjectIdQueryIT.java      |  131 ++
 .../access/DataContextObjectIdQueryTest.java    |  123 --
 .../access/DataContextObjectTrackingIT.java     |  147 ++
 .../access/DataContextObjectTrackingTest.java   |  139 --
 .../cayenne/access/DataContextOrderingIT.java   |  133 ++
 .../cayenne/access/DataContextOrderingTest.java |  127 --
 .../cayenne/access/DataContextOuterJoinsIT.java |  197 +++
 .../access/DataContextOuterJoinsTest.java       |  190 ---
 .../access/DataContextPaginatedQueryIT.java     |   98 ++
 .../access/DataContextPaginatedQueryTest.java   |   93 --
 .../access/DataContextPerformQueryAPIIT.java    |  240 ++++
 .../access/DataContextPerformQueryAPITest.java  |  228 ---
 .../access/DataContextPrefetchExtras1IT.java    |   89 ++
 .../access/DataContextPrefetchExtras1Test.java  |   84 --
 .../access/DataContextPrefetchExtrasIT.java     |  184 +++
 .../access/DataContextPrefetchExtrasTest.java   |  174 ---
 .../cayenne/access/DataContextPrefetchIT.java   |  832 +++++++++++
 .../access/DataContextPrefetchMultistepIT.java  |  324 +++++
 .../DataContextPrefetchMultistepTest.java       |  311 ----
 .../DataContextPrefetchQualifierOverlapIT.java  |  128 ++
 ...DataContextPrefetchQualifierOverlapTest.java |  122 --
 .../cayenne/access/DataContextPrefetchTest.java |  801 -----------
 .../access/DataContextProcedureQueryIT.java     |  446 ++++++
 .../access/DataContextProcedureQueryTest.java   |  429 ------
 .../access/DataContextQualifiedEntityIT.java    |  124 ++
 .../access/DataContextQualifiedEntityTest.java  |  119 --
 .../DataContextQueryCachingEhCacheIT.java       |   64 +
 .../DataContextQueryCachingEhCacheTest.java     |   64 -
 .../access/DataContextQueryCachingIT.java       |  266 ++++
 .../DataContextQueryCachingOSCacheIT.java       |   53 +
 .../DataContextQueryCachingOSCacheTest.java     |   53 -
 .../access/DataContextQueryCachingTest.java     |  256 ----
 .../cayenne/access/DataContextQueryChainIT.java |   79 +
 .../access/DataContextQueryChainTest.java       |   74 -
 .../access/DataContextRefreshQueryIT.java       |  456 ++++++
 .../access/DataContextRefreshQueryTest.java     |  440 ------
 .../cayenne/access/DataContextRefreshingIT.java |  391 +++++
 .../access/DataContextRefreshingTest.java       |  371 -----
 .../access/DataContextRelationshipQueryIT.java  |  143 ++
 .../DataContextRelationshipQueryTest.java       |  137 --
 .../cayenne/access/DataContextRollbackIT.java   |  235 +++
 .../cayenne/access/DataContextRollbackTest.java |  224 ---
 .../DataContextSQLTemplateCompoundIT.java       |  124 ++
 .../access/DataContextSQLTemplateIT.java        |  590 ++++++++
 .../access/DataContextSQLTemplateTest.java      |  635 --------
 .../DataContextSelectQuerySplitAliasesIT.java   |  106 ++
 .../DataContextSelectQuerySplitAliasesTest.java |  101 --
 .../access/DataContextSerializationIT.java      |  284 ++++
 .../access/DataContextSerializationTest.java    |  268 ----
 .../access/DataContextSharedCacheEmpiricIT.java |  167 +++
 .../DataContextSharedCacheEmpiricTest.java      |  159 --
 .../access/DataContextSharedCacheIT.java        |  750 ++++++++++
 .../access/DataContextSharedCacheTest.java      |  725 ----------
 .../apache/cayenne/access/DataContextTest.java  |  804 -----------
 .../cayenne/access/DataContextValidationIT.java |  112 ++
 .../access/DataContextValidationTest.java       |  104 --
 .../cayenne/access/DataDomainCallbacksIT.java   |  490 +++++++
 .../cayenne/access/DataDomainCallbacksTest.java |  473 ------
 .../cayenne/access/DataDomainFiltersIT.java     |  209 +++
 .../cayenne/access/DataDomainFiltersTest.java   |  200 ---
 .../org/apache/cayenne/access/DataDomainIT.java |  279 ++++
 .../cayenne/access/DataDomainQueryActionIT.java |  113 ++
 .../access/DataDomainQueryActionTest.java       |  109 --
 .../apache/cayenne/access/DataDomainTest.java   |  256 ----
 .../org/apache/cayenne/access/DataNodeIT.java   |   96 ++
 .../cayenne/access/DataNodeQueriesIT.java       |  201 +++
 .../cayenne/access/DataNodeQueriesTest.java     |  189 ---
 .../org/apache/cayenne/access/DataNodeTest.java |   88 --
 .../apache/cayenne/access/DataRowStoreIT.java   |  141 ++
 .../apache/cayenne/access/DataRowStoreTest.java |  131 --
 .../apache/cayenne/access/DataRowUtilsIT.java   |  161 +++
 .../apache/cayenne/access/DataRowUtilsTest.java |  152 --
 .../apache/cayenne/access/DateTimeTypesIT.java  |  210 +++
 .../cayenne/access/DateTimeTypesTest.java       |  197 ---
 .../org/apache/cayenne/access/DbArcIdTest.java  |   11 +-
 .../apache/cayenne/access/DbGeneratorIT.java    |  108 ++
 .../apache/cayenne/access/DbGeneratorTest.java  |   96 --
 .../org/apache/cayenne/access/DbLoaderIT.java   |  576 ++++++++
 .../cayenne/access/DbLoaderPartialIT.java       |  123 ++
 .../cayenne/access/DbLoaderPartialTest.java     |  118 --
 .../org/apache/cayenne/access/DbLoaderTest.java |  561 --------
 .../apache/cayenne/access/DeleteObjectIT.java   |  236 +++
 .../apache/cayenne/access/DeleteObjectTest.java |  225 ---
 .../apache/cayenne/access/DeleteRulesIT.java    |  392 +++++
 .../apache/cayenne/access/DeleteRulesTest.java  |  374 -----
 .../org/apache/cayenne/access/EmbeddingIT.java  |  187 +++
 .../apache/cayenne/access/EmbeddingTest.java    |  179 ---
 .../cayenne/access/EntityInheritanceIT.java     |   96 ++
 .../java/org/apache/cayenne/access/EnumIT.java  |   96 ++
 .../org/apache/cayenne/access/EnumTest.java     |   89 --
 .../cayenne/access/FlattenedArcKeyIT.java       |   97 ++
 .../cayenne/access/FlattenedArcKeyTest.java     |   89 --
 .../cayenne/access/FlattenedPrefetchIT.java     |  277 ++++
 .../cayenne/access/FlattenedPrefetchTest.java   |  267 ----
 .../FlattenedRelationshipInContextIT.java       |  106 ++
 .../FlattenedRelationshipInContextTest.java     |  100 --
 .../cayenne/access/IdentityColumnsIT.java       |  347 +++++
 .../cayenne/access/IdentityColumnsTest.java     |  331 -----
 .../cayenne/access/IncrementalFaultListIT.java  |   51 +
 .../access/IncrementalFaultListTest.java        |   46 -
 .../apache/cayenne/access/JointPrefetchIT.java  |  511 +++++++
 .../cayenne/access/JointPrefetchTest.java       |  495 -------
 .../org/apache/cayenne/access/MiscTypesIT.java  |  197 +++
 .../apache/cayenne/access/MiscTypesTest.java    |  186 ---
 .../access/NestedDataContextLocalCacheIT.java   |   82 ++
 .../access/NestedDataContextLocalCacheTest.java |   77 -
 .../access/NestedDataContextParentEventsIT.java |   68 +
 .../NestedDataContextParentEventsTest.java      |   61 -
 .../NestedDataContextParentPeerEventsIT.java    |  151 ++
 .../NestedDataContextParentPeerEventsTest.java  |  141 --
 .../access/NestedDataContextPeerEventsIT.java   |  191 +++
 .../access/NestedDataContextPeerEventsTest.java |  181 ---
 .../cayenne/access/NestedDataContextReadIT.java |  391 +++++
 .../access/NestedDataContextReadTest.java       |  376 -----
 .../access/NestedDataContextRollbackIT.java     |   76 +
 .../access/NestedDataContextRollbackTest.java   |   70 -
 .../access/NestedDataContextValidationIT.java   |   80 ++
 .../access/NestedDataContextValidationTest.java |   74 -
 .../access/NestedDataContextWriteIT.java        |  694 +++++++++
 .../access/NestedDataContextWriteTest.java      |  676 ---------
 .../access/NestedDataContext_DeadlockIT.java    |  132 ++
 .../access/NestedDataContext_DeadlockTest.java  |  128 --
 .../apache/cayenne/access/NumericTypesIT.java   |  312 ++++
 .../apache/cayenne/access/NumericTypesTest.java |  295 ----
 .../access/ObjectStoreDiffRetainingIT.java      |  113 ++
 .../access/ObjectStoreDiffRetainingTest.java    |  107 --
 .../apache/cayenne/access/ObjectStoreGCIT.java  |  136 ++
 .../cayenne/access/ObjectStoreGCTest.java       |  130 --
 .../apache/cayenne/access/ObjectStoreIT.java    |  142 ++
 .../apache/cayenne/access/ObjectStoreTest.java  |  133 --
 .../cayenne/access/OptimisticLockingIT.java     |  521 +++++++
 .../cayenne/access/OptimisticLockingTest.java   |  498 -------
 .../access/PrefetchProcessorTreeBuilderIT.java  |  216 +++
 .../PrefetchProcessorTreeBuilderTest.java       |  207 ---
 .../cayenne/access/PrimitiveAttributesIT.java   |   49 +
 .../cayenne/access/PrimitiveAttributesTest.java |   47 -
 .../cayenne/access/QuotedIdentifiersIT.java     |  163 +++
 .../cayenne/access/QuotedIdentifiersTest.java   |  156 --
 .../cayenne/access/ReturnTypesMappingIT.java    |  884 ++++++++++++
 .../cayenne/access/ReturnTypesMappingTest.java  |  858 -----------
 .../SimpleIdIncrementalFaultListDataRowsIT.java |  230 +++
 ...impleIdIncrementalFaultListDataRowsTest.java |  219 ---
 .../access/SimpleIdIncrementalFaultListIT.java  |  313 ++++
 .../SimpleIdIncrementalFaultListPrefetchIT.java |  214 +++
 ...impleIdIncrementalFaultListPrefetchTest.java |  204 ---
 .../SimpleIdIncrementalFaultListTest.java       |  292 ----
 .../access/SingleTableInheritance1IT.java       |  107 ++
 .../access/SingleTableInheritance1Test.java     |  102 --
 .../access/SingleTableInheritanceIT.java        |  495 +++++++
 .../access/SingleTableInheritanceTest.java      |  533 -------
 .../org/apache/cayenne/access/ToManyListIT.java |  274 ++++
 .../apache/cayenne/access/ToManyListTest.java   |  263 ----
 .../cayenne/access/TransactionThreadIT.java     |  123 ++
 .../cayenne/access/TransactionThreadTest.java   |  118 --
 .../java/org/apache/cayenne/access/UUIDIT.java  |  100 ++
 .../org/apache/cayenne/access/UUIDTest.java     |   93 --
 .../cayenne/access/UserTransactionIT.java       |  107 ++
 .../cayenne/access/UserTransactionTest.java     |  103 --
 .../cayenne/access/VerticalInheritanceIT.java   |  544 +++++++
 .../cayenne/access/VerticalInheritanceTest.java |  528 -------
 .../access/dbsync/SchemaUpdateStrategyBase.java |  129 ++
 .../access/dbsync/SchemaUpdateStrategyIT.java   |   69 +
 .../access/dbsync/SchemaUpdateStrategyTest.java |  346 -----
 .../ThrowOnPartialOrCreateSchemaStrategyIT.java |   85 ++
 .../dbsync/ThrowOnPartialSchemaStrategyIT.java  |   93 ++
 .../cayenne/access/event/SnapshotEventTest.java |    7 +-
 .../access/jdbc/BatchActionGeneratedIT.java     |   89 ++
 .../cayenne/access/jdbc/BatchActionIT.java      |   84 ++
 .../access/jdbc/BatchActionLockingIT.java       |  159 ++
 .../access/jdbc/BatchActionLockingTest.java     |  155 --
 .../cayenne/access/jdbc/BatchActionTest.java    |   90 --
 .../cayenne/access/jdbc/BindDirectiveTest.java  |  267 ----
 .../access/jdbc/ColumnDescriptorTest.java       |   18 +-
 .../access/jdbc/JDBCResultIteratorTest.java     |   28 +-
 .../access/jdbc/MockupRuntimeServices.java      |   42 -
 .../access/jdbc/ResultDirectiveTest.java        |  187 ---
 .../cayenne/access/jdbc/SQLStatementTest.java   |   11 +-
 .../access/jdbc/SQLTemplateActionIT.java        |  380 +++++
 .../access/jdbc/SQLTemplateActionTest.java      |  365 -----
 .../jdbc/SQLTemplateProcessorChainTest.java     |  206 ---
 .../jdbc/SQLTemplateProcessorSelectTest.java    |  101 --
 .../access/jdbc/SQLTemplateProcessorTest.java   |  246 ----
 .../jdbc/SQLTemplateResourceManagerTest.java    |   61 -
 .../cayenne/access/jdbc/SelectActionIT.java     |  103 ++
 .../cayenne/access/jdbc/SelectActionTest.java   |   98 --
 .../loader/ManyToManyCandidateEntityTest.java   |   15 +-
 .../batch/DefaultBatchTranslatorIT.java         |  142 ++
 .../batch/DefaultBatchTranslatorTest.java       |  136 --
 .../batch/DeleteBatchTranslatorIT.java          |  162 +++
 .../batch/DeleteBatchTranslatorTest.java        |  154 --
 .../batch/InsertBatchTranslatorIT.java          |  100 ++
 .../batch/InsertBatchTranslatorTest.java        |   94 --
 .../batch/SoftDeleteBatchTranslatorIT.java      |  181 +++
 .../batch/SoftDeleteBatchTranslatorTest.java    |  176 ---
 .../batch/UpdateBatchTranslatorIT.java          |  168 +++
 .../batch/UpdateBatchTranslatorTest.java        |  160 ---
 .../ejbql/EJBQLSelectTranslatorIT.java          |  340 +++++
 .../ejbql/EJBQLSelectTranslatorTest.java        |  316 ----
 .../translator/select/OrderingTranslatorIT.java |  187 +++
 .../select/OrderingTranslatorTest.java          |  179 ---
 .../select/QualifierTranslatorIT.java           |  149 ++
 .../select/QualifierTranslatorTest.java         |  139 --
 .../translator/select/QueryAssemblerIT.java     |   80 ++
 .../translator/select/QueryAssemblerTest.java   |   73 -
 .../translator/select/SelectTranslatorIT.java   |  797 +++++++++++
 .../translator/select/SelectTranslatorTest.java |  771 ----------
 .../cayenne/access/types/BooleanTypeTest.java   |   11 +-
 .../cayenne/access/types/ByteArrayTypeTest.java |   10 +-
 .../cayenne/access/types/CharTypeTest.java      |    9 +-
 .../access/types/EnumTypeFactoryTest.java       |    7 +-
 .../cayenne/access/types/EnumTypeTest.java      |   26 +-
 .../access/types/ExtendedTypeMapEnumsTest.java  |   15 +-
 .../access/types/ExtendedTypeMapTest.java       |   16 +-
 .../access/util/DefaultOperationObserverIT.java |   48 +
 .../util/DefaultOperationObserverTest.java      |   42 -
 .../cayenne/ashwood/AshwoodEntitySorterIT.java  |   89 ++
 .../ashwood/AshwoodEntitySorterTest.java        |   85 --
 .../cayenne/cache/EhCacheQueryCacheTest.java    |   30 +-
 .../cache/EhCacheQueryCache_WithConfigTest.java |   29 +-
 .../apache/cayenne/cache/MapQueryCacheTest.java |   13 +-
 .../apache/cayenne/cache/OSQueryCacheTest.java  |   28 +-
 .../org/apache/cayenne/cache/QueryCacheIT.java  |   59 +
 .../apache/cayenne/cache/QueryCacheTest.java    |   55 -
 .../configuration/CayenneRuntimeTest.java       |   10 +-
 .../DefaultDataChannelDescriptorMergerTest.java |   17 +-
 .../DefaultRuntimePropertiesTest.java           |   11 +-
 .../XMLDataChannelDescriptorLoaderTest.java     |   27 +-
 .../osgi/OsgiClassLoaderManagerTest.java        |    8 +-
 .../server/DBCPDataSourceFactoryTest.java       |   23 +-
 .../server/DataContextFactoryTest.java          |   17 +-
 .../server/DataDomainProviderTest.java          |  339 ++---
 .../DefaultDataSourceFactoryLoaderTest.java     |   22 +-
 .../server/DefaultDbAdapterFactoryTest.java     |   33 +-
 .../server/JNDIDataSourceFactoryIT.java         |  109 ++
 .../server/JNDIDataSourceFactoryTest.java       |  104 --
 .../ServerRuntimeBuilder_InAction_IT.java       |   95 ++
 .../ServerRuntimeBuilder_InAction_Test.java     |   91 --
 .../configuration/web/CayenneFilterTest.java    |   32 +-
 .../web/ServletContextHandlerTest.java          |   18 +-
 .../configuration/web/WebConfigurationTest.java |   28 +-
 .../configuration/web/WebModuleTest.java        |    7 +-
 .../cayenne/configuration/web/WebUtilTest.java  |   13 +-
 .../apache/cayenne/conn/DataSourceInfoTest.java |   14 +-
 .../cayenne/conn/DriverDataSourceTest.java      |    8 +-
 .../org/apache/cayenne/conn/PoolManagerIT.java  |  127 ++
 .../apache/cayenne/conn/PoolManagerTest.java    |  118 --
 .../cayenne/conn/PooledConnectionImplTest.java  |    6 +-
 .../org/apache/cayenne/dba/AutoAdapterIT.java   |   73 +
 .../org/apache/cayenne/dba/AutoAdapterTest.java |   67 -
 .../cayenne/dba/ConcurrentPkGeneratorIT.java    |  120 ++
 .../cayenne/dba/ConcurrentPkGeneratorTest.java  |  115 --
 .../cayenne/dba/DefaultQuotingStrategyTest.java |    9 +-
 .../org/apache/cayenne/dba/JdbcAdapterIT.java   |   91 ++
 .../org/apache/cayenne/dba/JdbcAdapterTest.java |   85 --
 .../apache/cayenne/dba/JdbcPkGeneratorIT.java   |   92 ++
 .../apache/cayenne/dba/JdbcPkGeneratorTest.java |   88 --
 .../org/apache/cayenne/dba/PkGeneratorIT.java   |   90 ++
 .../org/apache/cayenne/dba/PkGeneratorTest.java |   84 --
 .../org/apache/cayenne/dba/TypesMappingIT.java  |  146 ++
 .../apache/cayenne/dba/TypesMappingTest.java    |  138 --
 .../cayenne/dba/hsqldb/HSQLDBAdapterIT.java     |   74 +
 .../cayenne/dba/hsqldb/HSQLDBAdapterTest.java   |   68 -
 .../cayenne/dba/mysql/MySQLAdapterIT.java       |   69 +
 .../cayenne/dba/mysql/MySQLAdapterTest.java     |   65 -
 .../cayenne/dba/oracle/Oracle8AdapterIT.java    |   66 +
 .../cayenne/dba/oracle/Oracle8AdapterTest.java  |   59 -
 .../cayenne/dba/oracle/OracleAdapterIT.java     |   70 +
 .../cayenne/dba/oracle/OracleAdapterTest.java   |   62 -
 .../cayenne/dba/oracle/OraclePkGeneratorIT.java |   74 +
 .../dba/oracle/OraclePkGeneratorTest.java       |   68 -
 .../dba/oracle/OracleUtilDateTypeTest.java      |    8 +-
 .../cayenne/dba/postgres/PostgresAdapterIT.java |   61 +
 .../dba/postgres/PostgresAdapterTest.java       |   56 -
 .../dba/sqlserver/SQLServerAdapterIT.java       |   60 +
 .../dba/sqlserver/SQLServerAdapterTest.java     |   55 -
 .../dba/sqlserver/SQLServerSnifferIT.java       |   77 +
 .../dba/sqlserver/SQLServerSnifferTest.java     |   72 -
 .../ejbql/EJBQLCompiledExpressionIT.java        |  121 ++
 .../ejbql/EJBQLCompiledExpressionTest.java      |  111 --
 .../cayenne/ejbql/EJBQLExpressionTest.java      |   11 +-
 .../cayenne/ejbql/EJBQLParserFactoryTest.java   |    8 +-
 .../cayenne/ejbql/parser/EJBQLPathTest.java     |    7 +-
 .../cayenne/event/DefaultEventManagerTest.java  |   85 +-
 .../apache/cayenne/event/EventBridgeTest.java   |   18 +-
 .../apache/cayenne/event/EventSubjectTest.java  |   35 +-
 .../cayenne/event/JGroupsBridgeFactoryTest.java |    7 +-
 .../cayenne/event/XMPPBridgeFactoryTest.java    |    8 +-
 .../apache/cayenne/event/XMPPBridgeTest.java    |   10 +-
 .../cayenne/exp/BooleanExpressionTest.java      |   10 +-
 .../cayenne/exp/ExpressionEqualsTest.java       |    9 +-
 .../exp/ExpressionFactory_InContextIT.java      |  353 +++++
 .../exp/ExpressionFactory_InContextTest.java    |  319 -----
 .../cayenne/exp/ExpressionParameterTest.java    |    7 +-
 .../cayenne/exp/ExpressionTraversalTest.java    |   12 +-
 .../cayenne/exp/Expression_InContextIT.java     |  142 ++
 .../cayenne/exp/Expression_InContextTest.java   |  132 --
 .../exp/Expression_ParamsLegacyTest.java        |    2 +-
 .../cayenne/exp/ParsedExpQualifierCompatIT.java |  315 ++++
 .../exp/ParsedExpQualifierCompatTest.java       |  289 ----
 .../org/apache/cayenne/exp/PropertyTest.java    |   49 +-
 .../cayenne/exp/parser/ASTDbPathTest.java       |    8 +-
 .../exp/parser/ASTLikeIgnoreCaseTest.java       |    9 +-
 .../apache/cayenne/exp/parser/ASTListTest.java  |   15 +-
 .../cayenne/exp/parser/ASTObjPathTest.java      |    8 +-
 .../cayenne/exp/parser/EvaluatorTest.java       |   24 +-
 .../parser/ExpressionEvaluateInMemoryIT.java    |  618 ++++++++
 .../parser/ExpressionEvaluateInMemoryTest.java  |  576 --------
 .../org/apache/cayenne/graph/GraphMapTest.java  |   12 +-
 .../org/apache/cayenne/graph/NodeDiffTest.java  |    9 +-
 .../cayenne/log/CommonsJdbcEventLoggerTest.java |   14 +-
 .../org/apache/cayenne/map/AttributeTest.java   |    9 +-
 .../cayenne/map/CallbackDescriptorTest.java     |    8 +-
 .../org/apache/cayenne/map/CallbackMapTest.java |    7 +-
 .../cayenne/map/ClientEntityResolverIT.java     |  102 ++
 .../cayenne/map/ClientEntityResolverTest.java   |   93 --
 .../map/ClientObjectRelationshipTest.java       |    9 +-
 .../cayenne/map/DataMapNamespaceTest.java       |   20 +-
 .../org/apache/cayenne/map/DataMapTest.java     |   50 +-
 .../org/apache/cayenne/map/DbAttributeTest.java |   22 +-
 .../java/org/apache/cayenne/map/DbEntityIT.java |  278 ++++
 .../org/apache/cayenne/map/DbEntityTest.java    |  254 ----
 .../java/org/apache/cayenne/map/DbJoinTest.java |   10 +-
 .../apache/cayenne/map/DbKeyGeneratorTest.java  |   10 +-
 .../apache/cayenne/map/DbRelationshipIT.java    |  120 ++
 .../apache/cayenne/map/DbRelationshipTest.java  |  110 --
 .../cayenne/map/EmbeddableAttributeTest.java    |    8 +-
 .../org/apache/cayenne/map/EmbeddableTest.java  |   13 +-
 .../java/org/apache/cayenne/map/EntityIT.java   |  223 +++
 .../cayenne/map/EntityInheritanceTreeTest.java  |   13 +-
 .../map/EntityResolverClassDescriptorIT.java    |  104 ++
 .../map/EntityResolverClassDescriptorTest.java  |   95 --
 .../map/EntityResolverGenericStackIT.java       |   64 +
 .../map/EntityResolverGenericStackTest.java     |   57 -
 .../apache/cayenne/map/EntityResolverIT.java    |  187 +++
 .../map/EntityResolverInheritanceIT.java        |   88 ++
 .../map/EntityResolverInheritanceTest.java      |   78 -
 .../apache/cayenne/map/EntityResolverTest.java  |  171 ---
 .../java/org/apache/cayenne/map/EntityTest.java |  204 ---
 .../apache/cayenne/map/MapLoaderLoadTest.java   |   31 +-
 .../apache/cayenne/map/ObjAttributeTest.java    |   18 +-
 .../org/apache/cayenne/map/ObjEntityIT.java     |  465 ++++++
 .../ObjEntitySingleTableInheritanceTest.java    |   16 +-
 .../org/apache/cayenne/map/ObjEntityTest.java   |  431 ------
 .../apache/cayenne/map/ObjRelationshipIT.java   |  524 +++++++
 .../apache/cayenne/map/ObjRelationshipTest.java |  495 -------
 .../org/apache/cayenne/map/ProcedureTest.java   |   10 +-
 .../org/apache/cayenne/map/QueryLoaderTest.java |   16 +-
 .../apache/cayenne/map/RelationshipTest.java    |   11 +-
 .../cayenne/map/SQLTemplateBuilderTest.java     |   16 +-
 .../cayenne/map/SelectQueryBuilderTest.java     |   14 +-
 .../apache/cayenne/map/event/MapEventTest.java  |   12 +-
 .../map/naming/LegacyNameGeneratorTest.java     |    9 +-
 .../cayenne/merge/AddColumnToModelIT.java       |  101 ++
 .../cayenne/merge/AddColumnToModelTest.java     |   94 --
 .../cayenne/merge/CreateTableToModelIT.java     |  105 ++
 .../cayenne/merge/CreateTableToModelTest.java   |   97 --
 .../cayenne/merge/DropColumnToModelIT.java      |  236 +++
 .../cayenne/merge/DropColumnToModelTest.java    |  226 ---
 .../merge/DropRelationshipToModelIT.java        |  185 +++
 .../merge/DropRelationshipToModelTest.java      |  177 ---
 .../cayenne/merge/DropTableToModelIT.java       |   97 ++
 .../cayenne/merge/DropTableToModelTest.java     |   90 --
 .../org/apache/cayenne/merge/MergeCase.java     |   18 +-
 .../apache/cayenne/merge/MergerFactoryIT.java   |  317 ++++
 .../apache/cayenne/merge/MergerFactoryTest.java |  306 ----
 .../cayenne/merge/SetAllowNullToDbIT.java       |   70 +
 .../cayenne/merge/SetAllowNullToDbTest.java     |   66 -
 .../apache/cayenne/merge/SetNotNullToDbIT.java  |   80 ++
 .../cayenne/merge/SetNotNullToDbTest.java       |   76 -
 .../cayenne/merge/SetPrimaryKeyToDbIT.java      |   61 +
 .../cayenne/merge/SetPrimaryKeyToDbTest.java    |   59 -
 .../apache/cayenne/merge/TokensReversTest.java  |    2 +-
 .../cayenne/merge/TokensToModelExecution.java   |    2 +-
 .../apache/cayenne/merge/ValueForNullIT.java    |  132 ++
 .../apache/cayenne/merge/ValueForNullTest.java  |  127 --
 .../apache/cayenne/merge/builders/Builder.java  |    2 +-
 .../cayenne/merge/builders/DataMapBuilder.java  |    2 +-
 .../merge/builders/DbAttributeBuilder.java      |    2 +-
 .../cayenne/merge/builders/DbEntityBuilder.java |    2 +-
 .../merge/builders/DbRelationshipBuilder.java   |    2 +-
 .../cayenne/merge/builders/DefaultBuilder.java  |    2 +-
 .../merge/builders/ObjAttributeBuilder.java     |    2 +-
 .../merge/builders/ObjEntityBuilder.java        |    2 +-
 .../cayenne/merge/builders/ObjectMother.java    |    2 +-
 .../apache/cayenne/query/AbstractQueryTest.java |   13 +-
 .../org/apache/cayenne/query/EJBQLQueryIT.java  |  499 +++++++
 .../cayenne/query/EJBQLQueryNumericIT.java      |   76 +
 .../apache/cayenne/query/EJBQLQueryTest.java    |  492 -------
 .../apache/cayenne/query/NamedQueryTest.java    |   14 +-
 .../apache/cayenne/query/ObjectIdQueryTest.java |   15 +-
 .../org/apache/cayenne/query/OrderingTest.java  |   30 +-
 .../cayenne/query/PrefetchTreeNodeTest.java     |   19 +-
 .../cayenne/query/ProcedureQueryCacheKeyIT.java |  117 ++
 .../query/ProcedureQueryCacheKeyTest.java       |  107 --
 .../cayenne/query/ProcedureQueryTest.java       |   19 +-
 .../org/apache/cayenne/query/QueryChainIT.java  |   70 +
 .../apache/cayenne/query/QueryChainTest.java    |   63 -
 .../apache/cayenne/query/RefreshQueryTest.java  |   22 +-
 .../cayenne/query/RelationshipQueryTest.java    |   11 +-
 .../org/apache/cayenne/query/SQLSelectIT.java   |  243 ++++
 .../org/apache/cayenne/query/SQLSelectTest.java |  213 ---
 .../cayenne/query/SQLTemplateCacheKeyIT.java    |  107 ++
 .../cayenne/query/SQLTemplateCacheKeyTest.java  |   96 --
 .../org/apache/cayenne/query/SQLTemplateIT.java |  167 +++
 .../apache/cayenne/query/SQLTemplateTest.java   |  294 ++--
 .../cayenne/query/SQLTemplate_LegacyTest.java   |  121 ++
 .../org/apache/cayenne/query/SelectByIdIT.java  |  203 +++
 .../apache/cayenne/query/SelectByIdTest.java    |  193 ---
 .../cayenne/query/SelectQueryBasicsTest.java    |   30 +-
 .../cayenne/query/SelectQueryCacheKeyIT.java    |  196 +++
 .../cayenne/query/SelectQueryCacheKeyTest.java  |  181 ---
 .../apache/cayenne/query/SelectQueryClobIT.java |  127 ++
 .../query/SelectQueryFetchLimitOrderingIT.java  |   85 ++
 .../SelectQueryFetchLimitOrderingTest.java      |   81 --
 .../org/apache/cayenne/query/SelectQueryIT.java |  663 +++++++++
 .../SelectQueryPrefetchRouterActionIT.java      |   97 ++
 ...ryPrefetchRouterActionQualifiedEntityIT.java |   81 ++
 ...PrefetchRouterActionQualifiedEntityTest.java |   75 -
 .../SelectQueryPrefetchRouterActionTest.java    |   90 --
 .../cayenne/query/SelectQueryReturnTypesIT.java |  168 +++
 .../apache/cayenne/query/SelectQueryTest.java   |  796 -----------
 .../cayenne/query/StatementFetchSizeIT.java     |   77 +
 .../cayenne/query/StatementFetchSizeTest.java   |   73 -
 .../cayenne/reflect/BasePropertyTest.java       |   10 +-
 .../cayenne/reflect/BeanAccessorTest.java       |   11 +-
 .../cayenne/reflect/CallbackOnEntityTest.java   |   13 +-
 .../cayenne/reflect/CallbackOnListenerTest.java |    8 +-
 .../cayenne/reflect/EnumConverterTest.java      |   14 +-
 .../cayenne/reflect/FieldAccessorTest.java      |   13 +-
 .../LifecycleCallbackEventHandlerTest.java      |   19 +-
 .../reflect/LifecycleCallbackRegistryIT.java    |  120 ++
 .../reflect/LifecycleCallbackRegistryTest.java  |  115 --
 ...LifecycleCallbackRegistry_InheritanceIT.java |   83 ++
 ...fecycleCallbackRegistry_InheritanceTest.java |   79 -
 .../reflect/MixedPersistenceStrategyIT.java     |  112 ++
 .../reflect/MixedPersistenceStrategyTest.java   |  106 --
 .../reflect/PersistentDescriptorTest.java       |   13 +-
 .../cayenne/reflect/PropertyUtilsTest.java      |   38 +-
 .../DataObjectAttributePropertyTest.java        |   11 +-
 .../generic/DataObjectDescriptorFactoryIT.java  |  144 ++
 .../DataObjectDescriptorFactoryTest.java        |  138 --
 ...jectDescriptorFactory_InheritanceMapsIT.java |   80 ++
 ...ctDescriptorFactory_InheritanceMapsTest.java |   78 -
 .../cayenne/remote/RemoteSessionTest.java       |   11 +-
 .../remote/hessian/HessianConfigTest.java       |   16 +-
 .../hessian/service/HessianServiceTest.java     |   22 +-
 .../remote/service/BaseRemoteServiceTest.java   |   17 +-
 .../remote/service/DispatchHelperTest.java      |   12 +-
 .../ClassLoaderResourceLocatorTest.java         |   12 +-
 .../resource/FilesystemResourceLocatorTest.java |   13 +-
 .../cayenne/resource/URLResourceTest.java       |   13 +-
 .../cayenne/testdo/binary_pk/BinaryPKTest1.java |   28 +
 .../cayenne/testdo/binary_pk/BinaryPKTest2.java |   28 +
 .../testdo/binary_pk/auto/_BinaryPKTest1.java   |   48 +
 .../testdo/binary_pk/auto/_BinaryPKTest2.java   |   43 +
 .../testdo/compound/CharFkTestEntity.java       |   28 +
 .../testdo/compound/CharPkTestEntity.java       |   28 +
 .../testdo/compound/CompoundFkTestEntity.java   |   28 +
 .../testdo/compound/CompoundPkTestEntity.java   |   28 +
 .../testdo/compound/auto/_CharFkTestEntity.java |   43 +
 .../testdo/compound/auto/_CharPkTestEntity.java |   58 +
 .../compound/auto/_CompoundFkTestEntity.java    |   43 +
 .../compound/auto/_CompoundPkTestEntity.java    |   69 +
 .../testdo/date_time/CalendarEntity.java        |   28 +
 .../testdo/date_time/DateTestEntity.java        |   28 +
 .../testdo/date_time/auto/_CalendarEntity.java  |   32 +
 .../testdo/date_time/auto/_DateTestEntity.java  |   52 +
 .../testdo/deleterules/ClientDeleteCascade.java |   28 +
 .../testdo/deleterules/ClientDeleteDeny.java    |   28 +
 .../testdo/deleterules/ClientDeleteNullify.java |   28 +
 .../testdo/deleterules/ClientDeleteRule.java    |   28 +
 .../testdo/deleterules/DeleteCascade.java       |   28 +
 .../cayenne/testdo/deleterules/DeleteDeny.java  |   28 +
 .../testdo/deleterules/DeleteNullify.java       |   28 +
 .../cayenne/testdo/deleterules/DeleteRule.java  |   28 +
 .../deleterules/auto/_ClientDeleteCascade.java  |   56 +
 .../deleterules/auto/_ClientDeleteDeny.java     |   56 +
 .../deleterules/auto/_ClientDeleteNullify.java  |   56 +
 .../deleterules/auto/_ClientDeleteRule.java     |  114 ++
 .../testdo/deleterules/auto/_DeleteCascade.java |   35 +
 .../testdo/deleterules/auto/_DeleteDeny.java    |   35 +
 .../testdo/deleterules/auto/_DeleteNullify.java |   35 +
 .../testdo/deleterules/auto/_DeleteRule.java    |   68 +
 .../apache/cayenne/testdo/enum_test/Enum1.java  |   23 +
 .../cayenne/testdo/enum_test/EnumEntity.java    |   25 +
 .../testdo/enum_test/auto/_EnumEntity.java      |   31 +
 .../extended_type/ExtendedTypeEntity.java       |   25 +
 .../cayenne/testdo/extended_type/StringET1.java |   35 +
 .../extended_type/StringET1ExtendedType.java    |   62 +
 .../extended_type/auto/_ExtendedTypeEntity.java |   31 +
 .../generated/GeneratedColumnCompKey.java       |   28 +
 .../generated/GeneratedColumnCompMaster.java    |   28 +
 .../testdo/generated/GeneratedColumnDep.java    |   28 +
 .../testdo/generated/GeneratedColumnTest2.java  |   28 +
 .../generated/GeneratedColumnTestEntity.java    |   28 +
 .../cayenne/testdo/generated/GeneratedF1.java   |   25 +
 .../cayenne/testdo/generated/GeneratedF2.java   |   25 +
 .../generated/auto/_GeneratedColumnCompKey.java |   45 +
 .../auto/_GeneratedColumnCompMaster.java        |   48 +
 .../generated/auto/_GeneratedColumnDep.java     |   43 +
 .../generated/auto/_GeneratedColumnTest2.java   |   30 +
 .../auto/_GeneratedColumnTestEntity.java        |   43 +
 .../testdo/generated/auto/_GeneratedF1.java     |   38 +
 .../testdo/generated/auto/_GeneratedF2.java     |   38 +
 .../horizontalinherit/AbstractSuperEntity.java  |   25 -
 .../testdo/horizontalinherit/SubEntity1.java    |   25 -
 .../testdo/horizontalinherit/SubEntity2.java    |   25 -
 .../testdo/horizontalinherit/SubEntity3.java    |   25 -
 .../auto/_AbstractSuperEntity.java              |   32 -
 .../horizontalinherit/auto/_SubEntity1.java     |   24 -
 .../horizontalinherit/auto/_SubEntity2.java     |   25 -
 .../horizontalinherit/auto/_SubEntity3.java     |   25 -
 .../cayenne/testdo/inherit/AbstractPerson.java  |   26 -
 .../apache/cayenne/testdo/inherit/Address.java  |   26 -
 .../cayenne/testdo/inherit/BaseEntity.java      |   25 -
 .../cayenne/testdo/inherit/ClientCompany.java   |   26 -
 .../testdo/inherit/CustomerRepresentative.java  |   26 -
 .../cayenne/testdo/inherit/Department.java      |   26 -
 .../testdo/inherit/DirectToSubEntity.java       |   25 -
 .../apache/cayenne/testdo/inherit/Employee.java |   26 -
 .../apache/cayenne/testdo/inherit/Manager.java  |   26 -
 .../apache/cayenne/testdo/inherit/People.java   |   36 -
 .../cayenne/testdo/inherit/PersonNotes.java     |   25 -
 .../cayenne/testdo/inherit/RelatedEntity.java   |   25 -
 .../cayenne/testdo/inherit/SubEntity.java       |   25 -
 .../testdo/inherit/auto/_AbstractPerson.java    |   48 -
 .../cayenne/testdo/inherit/auto/_Address.java   |   35 -
 .../testdo/inherit/auto/_BaseEntity.java        |   46 -
 .../testdo/inherit/auto/_ClientCompany.java     |   40 -
 .../inherit/auto/_CustomerRepresentative.java   |   35 -
 .../testdo/inherit/auto/_Department.java        |   51 -
 .../testdo/inherit/auto/_DirectToSubEntity.java |   32 -
 .../cayenne/testdo/inherit/auto/_Employee.java  |   51 -
 .../cayenne/testdo/inherit/auto/_Manager.java   |   32 -
 .../cayenne/testdo/inherit/auto/_People.java    |   12 -
 .../testdo/inherit/auto/_PersonNotes.java       |   35 -
 .../testdo/inherit/auto/_RelatedEntity.java     |   46 -
 .../cayenne/testdo/inherit/auto/_SubEntity.java |   16 -
 .../cayenne/testdo/inheritance/BaseEntity.java  |   25 +
 .../testdo/inheritance/DirectToSubEntity.java   |   25 +
 .../testdo/inheritance/RelatedEntity.java       |   25 +
 .../cayenne/testdo/inheritance/SubEntity.java   |   25 +
 .../testdo/inheritance/auto/_BaseEntity.java    |   46 +
 .../inheritance/auto/_DirectToSubEntity.java    |   32 +
 .../testdo/inheritance/auto/_RelatedEntity.java |   46 +
 .../testdo/inheritance/auto/_SubEntity.java     |   16 +
 .../vertical/InheritanceVertical.java           |   36 -
 .../testdo/inheritance/vertical/Iv1Root.java    |   25 -
 .../testdo/inheritance/vertical/Iv1Sub1.java    |   25 -
 .../testdo/inheritance/vertical/Iv2Root.java    |   25 -
 .../testdo/inheritance/vertical/Iv2Sub1.java    |   25 -
 .../testdo/inheritance/vertical/Iv2X.java       |   25 -
 .../testdo/inheritance/vertical/IvRoot.java     |   25 -
 .../testdo/inheritance/vertical/IvSub1.java     |   25 -
 .../testdo/inheritance/vertical/IvSub1Sub1.java |   25 -
 .../testdo/inheritance/vertical/IvSub2.java     |   25 -
 .../vertical/auto/_InheritanceVertical.java     |   12 -
 .../inheritance/vertical/auto/_Iv1Root.java     |   32 -
 .../inheritance/vertical/auto/_Iv1Sub1.java     |   24 -
 .../inheritance/vertical/auto/_Iv2Root.java     |   24 -
 .../inheritance/vertical/auto/_Iv2Sub1.java     |   27 -
 .../testdo/inheritance/vertical/auto/_Iv2X.java |   16 -
 .../inheritance/vertical/auto/_IvRoot.java      |   32 -
 .../inheritance/vertical/auto/_IvSub1.java      |   24 -
 .../inheritance/vertical/auto/_IvSub1Sub1.java  |   24 -
 .../inheritance/vertical/auto/_IvSub2.java      |   32 -
 .../AbstractSuperEntity.java                    |   25 +
 .../inheritance_horizontal/SubEntity1.java      |   25 +
 .../inheritance_horizontal/SubEntity2.java      |   25 +
 .../inheritance_horizontal/SubEntity3.java      |   25 +
 .../auto/_AbstractSuperEntity.java              |   32 +
 .../auto/_SubEntity1.java                       |   24 +
 .../auto/_SubEntity2.java                       |   25 +
 .../auto/_SubEntity3.java                       |   25 +
 .../inheritance_people/AbstractPerson.java      |   26 +
 .../testdo/inheritance_people/Address.java      |   26 +
 .../inheritance_people/ClientCompany.java       |   26 +
 .../CustomerRepresentative.java                 |   26 +
 .../testdo/inheritance_people/Department.java   |   26 +
 .../testdo/inheritance_people/Employee.java     |   26 +
 .../testdo/inheritance_people/Manager.java      |   26 +
 .../testdo/inheritance_people/People.java       |   36 +
 .../testdo/inheritance_people/PersonNotes.java  |   25 +
 .../auto/_AbstractPerson.java                   |   48 +
 .../inheritance_people/auto/_Address.java       |   35 +
 .../inheritance_people/auto/_ClientCompany.java |   40 +
 .../auto/_CustomerRepresentative.java           |   35 +
 .../inheritance_people/auto/_Department.java    |   51 +
 .../inheritance_people/auto/_Employee.java      |   51 +
 .../inheritance_people/auto/_Manager.java       |   32 +
 .../testdo/inheritance_people/auto/_People.java |   12 +
 .../inheritance_people/auto/_PersonNotes.java   |   35 +
 .../InheritanceVertical.java                    |   36 +
 .../testdo/inheritance_vertical/Iv1Root.java    |   25 +
 .../testdo/inheritance_vertical/Iv1Sub1.java    |   25 +
 .../testdo/inheritance_vertical/Iv2Root.java    |   25 +
 .../testdo/inheritance_vertical/Iv2Sub1.java    |   25 +
 .../testdo/inheritance_vertical/Iv2X.java       |   25 +
 .../testdo/inheritance_vertical/IvRoot.java     |   25 +
 .../testdo/inheritance_vertical/IvSub1.java     |   25 +
 .../testdo/inheritance_vertical/IvSub1Sub1.java |   25 +
 .../testdo/inheritance_vertical/IvSub2.java     |   25 +
 .../auto/_InheritanceVertical.java              |   12 +
 .../inheritance_vertical/auto/_Iv1Root.java     |   32 +
 .../inheritance_vertical/auto/_Iv1Sub1.java     |   24 +
 .../inheritance_vertical/auto/_Iv2Root.java     |   24 +
 .../inheritance_vertical/auto/_Iv2Sub1.java     |   27 +
 .../testdo/inheritance_vertical/auto/_Iv2X.java |   16 +
 .../inheritance_vertical/auto/_IvRoot.java      |   32 +
 .../inheritance_vertical/auto/_IvSub1.java      |   24 +
 .../inheritance_vertical/auto/_IvSub1Sub1.java  |   24 +
 .../inheritance_vertical/auto/_IvSub2.java      |   32 +
 .../testdo/lifecycles/ClientLifecycles.java     |   28 +
 .../cayenne/testdo/lifecycles/Lifecycles.java   |   25 +
 .../lifecycles/auto/_ClientLifecycles.java      |   37 +
 .../testdo/lifecycles/auto/_Lifecycles.java     |   24 +
 .../cayenne/testdo/lob/BlobTestEntity.java      |   28 +
 .../cayenne/testdo/lob/ClobTestEntity.java      |   28 +
 .../cayenne/testdo/lob/ClobTestRelation.java    |   25 +
 .../testdo/lob/auto/_BlobTestEntity.java        |   30 +
 .../testdo/lob/auto/_ClobTestEntity.java        |   48 +
 .../testdo/lob/auto/_ClobTestRelation.java      |   53 +
 .../testdo/locking/DateLockingTestEntity.java   |   28 -
 .../cayenne/testdo/locking/SoftDelete.java      |   30 -
 .../testdo/locking/TimeLockingTestEntity.java   |   28 -
 .../locking/auto/_DateLockingTestEntity.java    |   34 -
 .../testdo/locking/auto/_SoftDelete.java        |   34 -
 .../locking/auto/_TimeLockingTestEntity.java    |   34 -
 .../testdo/map_to_many/ClientIdMapToMany.java   |   28 +
 .../map_to_many/ClientIdMapToManyTarget.java    |   28 +
 .../cayenne/testdo/map_to_many/IdMapToMany.java |   28 +
 .../testdo/map_to_many/IdMapToManyTarget.java   |   28 +
 .../cayenne/testdo/map_to_many/MapToMany.java   |   28 +
 .../testdo/map_to_many/MapToManyTarget.java     |   28 +
 .../map_to_many/auto/_ClientIdMapToMany.java    |   41 +
 .../auto/_ClientIdMapToManyTarget.java          |   33 +
 .../testdo/map_to_many/auto/_IdMapToMany.java   |   32 +
 .../map_to_many/auto/_IdMapToManyTarget.java    |   27 +
 .../testdo/map_to_many/auto/_MapToMany.java     |   32 +
 .../map_to_many/auto/_MapToManyTarget.java      |   35 +
 .../meaningful_pk/ClientMeaningfulPk.java       |   28 +
 .../testdo/meaningful_pk/MeaningfulPKDep.java   |   26 +
 .../testdo/meaningful_pk/MeaningfulPKTest1.java |   26 +
 .../testdo/meaningful_pk/MeaningfulPk.java      |   25 +
 .../meaningful_pk/auto/_ClientMeaningfulPk.java |   37 +
 .../meaningful_pk/auto/_MeaningfulPKDep.java    |   43 +
 .../meaningful_pk/auto/_MeaningfulPKTest1.java  |   58 +
 .../meaningful_pk/auto/_MeaningfulPk.java       |   24 +
 .../cayenne/testdo/misc_types/ArraysEntity.java |   27 +
 .../testdo/misc_types/CharacterEntity.java      |   28 +
 .../testdo/misc_types/SerializableEntity.java   |   28 +
 .../testdo/misc_types/auto/_ArraysEntity.java   |   60 +
 .../misc_types/auto/_CharacterEntity.java       |   30 +
 .../misc_types/auto/_SerializableEntity.java    |   31 +
 .../MixedPersistenceStrategy.java               |   35 +
 .../MixedPersistenceStrategy2.java              |   25 +
 .../auto/_MixedPersistenceStrategy.java         |   58 +
 .../auto/_MixedPersistenceStrategy2.java        |   43 +
 .../testdo/mt/ClientMtDeleteCascade.java        |   28 -
 .../cayenne/testdo/mt/ClientMtDeleteDeny.java   |   28 -
 .../testdo/mt/ClientMtDeleteNullify.java        |   28 -
 .../cayenne/testdo/mt/ClientMtDeleteRule.java   |   28 -
 .../cayenne/testdo/mt/ClientMtLifecycles.java   |   28 -
 .../cayenne/testdo/mt/ClientMtMapToMany.java    |   28 -
 .../testdo/mt/ClientMtMapToManyTarget.java      |   28 -
 .../cayenne/testdo/mt/ClientMtMeaningfulPk.java |   28 -
 .../cayenne/testdo/mt/ClientMtReflexive.java    |   28 -
 .../testdo/mt/ClientMtTablePrimitives.java      |   28 -
 .../cayenne/testdo/mt/ClientMtTooneDep.java     |   28 -
 .../cayenne/testdo/mt/ClientMtTooneMaster.java  |   28 -
 .../cayenne/testdo/mt/MtDeleteCascade.java      |   28 -
 .../apache/cayenne/testdo/mt/MtDeleteDeny.java  |   28 -
 .../cayenne/testdo/mt/MtDeleteNullify.java      |   28 -
 .../apache/cayenne/testdo/mt/MtDeleteRule.java  |   28 -
 .../apache/cayenne/testdo/mt/MtLifecycles.java  |   25 -
 .../apache/cayenne/testdo/mt/MtMapToMany.java   |   28 -
 .../cayenne/testdo/mt/MtMapToManyTarget.java    |   28 -
 .../cayenne/testdo/mt/MtMeaningfulPk.java       |   25 -
 .../apache/cayenne/testdo/mt/MtReflexive.java   |   28 -
 .../cayenne/testdo/mt/MtTablePrimitives.java    |   25 -
 .../apache/cayenne/testdo/mt/MtTooneDep.java    |   25 -
 .../apache/cayenne/testdo/mt/MtTooneMaster.java |   25 -
 .../testdo/mt/auto/_ClientMtDeleteCascade.java  |   56 -
 .../testdo/mt/auto/_ClientMtDeleteDeny.java     |   56 -
 .../testdo/mt/auto/_ClientMtDeleteNullify.java  |   56 -
 .../testdo/mt/auto/_ClientMtDeleteRule.java     |  114 --
 .../testdo/mt/auto/_ClientMtLifecycles.java     |   37 -
 .../testdo/mt/auto/_ClientMtMapToMany.java      |   41 -
 .../mt/auto/_ClientMtMapToManyTarget.java       |   33 -
 .../testdo/mt/auto/_ClientMtMeaningfulPk.java   |   37 -
 .../testdo/mt/auto/_ClientMtReflexive.java      |   82 --
 .../mt/auto/_ClientMtTablePrimitives.java       |   60 -
 .../testdo/mt/auto/_ClientMtTooneDep.java       |   33 -
 .../testdo/mt/auto/_ClientMtTooneMaster.java    |   33 -
 .../testdo/mt/auto/_MtDeleteCascade.java        |   35 -
 .../cayenne/testdo/mt/auto/_MtDeleteDeny.java   |   35 -
 .../testdo/mt/auto/_MtDeleteNullify.java        |   35 -
 .../cayenne/testdo/mt/auto/_MtDeleteRule.java   |   68 -
 .../cayenne/testdo/mt/auto/_MtLifecycles.java   |   24 -
 .../cayenne/testdo/mt/auto/_MtMapToMany.java    |   32 -
 .../testdo/mt/auto/_MtMapToManyTarget.java      |   27 -
 .../cayenne/testdo/mt/auto/_MtMeaningfulPk.java |   24 -
 .../cayenne/testdo/mt/auto/_MtReflexive.java    |   50 -
 .../testdo/mt/auto/_MtTablePrimitives.java      |   34 -
 .../cayenne/testdo/mt/auto/_MtTooneDep.java     |   27 -
 .../cayenne/testdo/mt/auto/_MtTooneMaster.java  |   27 -
 .../cayenne/testdo/no_pk/NoPkTestEntity.java    |   28 +
 .../testdo/no_pk/auto/_NoPkTestEntity.java      |   29 +
 .../testdo/numeric_types/BigDecimalEntity.java  |   27 +
 .../testdo/numeric_types/BigIntegerEntity.java  |   27 +
 .../numeric_types/BitNumberTestEntity.java      |   28 +
 .../testdo/numeric_types/BitTestEntity.java     |   28 +
 .../testdo/numeric_types/BooleanTestEntity.java |   28 +
 .../testdo/numeric_types/DecimalPKTest1.java    |   28 +
 .../numeric_types/DecimalPKTestEntity.java      |   28 +
 .../testdo/numeric_types/LongEntity.java        |   28 +
 .../numeric_types/SmallintTestEntity.java       |   28 +
 .../testdo/numeric_types/TinyintTestEntity.java |   28 +
 .../numeric_types/auto/_BigDecimalEntity.java   |   32 +
 .../numeric_types/auto/_BigIntegerEntity.java   |   32 +
 .../auto/_BitNumberTestEntity.java              |   30 +
 .../numeric_types/auto/_BitTestEntity.java      |   30 +
 .../numeric_types/auto/_BooleanTestEntity.java  |   30 +
 .../numeric_types/auto/_DecimalPKTest1.java     |   40 +
 .../auto/_DecimalPKTestEntity.java              |   42 +
 .../testdo/numeric_types/auto/_LongEntity.java  |   30 +
 .../numeric_types/auto/_SmallintTestEntity.java |   30 +
 .../numeric_types/auto/_TinyintTestEntity.java  |   30 +
 .../testdo/primitive/PrimitivesTestEntity.java  |   25 +
 .../primitive/auto/_PrimitivesTestEntity.java   |   42 +
 .../org/apache/cayenne/testdo/r1/Activity.java  |   25 -
 .../cayenne/testdo/r1/ActivityResult.java       |   25 -
 .../cayenne/testdo/r1/Relationships1.java       |   36 -
 .../cayenne/testdo/r1/auto/_Activity.java       |   58 -
 .../cayenne/testdo/r1/auto/_ActivityResult.java |   53 -
 .../cayenne/testdo/r1/auto/_Relationships1.java |   12 -
 .../testdo/reflexive/ClientReflexive.java       |   28 +
 .../cayenne/testdo/reflexive/Reflexive.java     |   28 +
 .../testdo/reflexive/auto/_ClientReflexive.java |   82 ++
 .../testdo/reflexive/auto/_Reflexive.java       |   50 +
 .../cayenne/testdo/relationship/Child.java      |   25 -
 .../cayenne/testdo/relationship/ClobDetail.java |   28 -
 .../cayenne/testdo/relationship/ClobMaster.java |   28 -
 .../testdo/relationship/CollectionToMany.java   |   28 -
 .../relationship/CollectionToManyTarget.java    |   28 -
 .../testdo/relationship/CyclicChild.java        |   26 -
 .../testdo/relationship/CyclicParent.java       |   26 -
 .../testdo/relationship/DeleteRuleFlatA.java    |   28 -
 .../testdo/relationship/DeleteRuleFlatB.java    |   28 -
 .../testdo/relationship/DeleteRuleTest1.java    |   26 -
 .../testdo/relationship/DeleteRuleTest2.java    |   26 -
 .../testdo/relationship/DeleteRuleTest3.java    |   26 -
 .../testdo/relationship/FkOfDifferentType.java  |   28 -
 .../testdo/relationship/FlattenedCircular.java  |   25 -
 .../testdo/relationship/FlattenedTest1.java     |   26 -
 .../testdo/relationship/FlattenedTest2.java     |   26 -
 .../testdo/relationship/FlattenedTest3.java     |   26 -
 .../testdo/relationship/FlattenedTest4.java     |   25 -
 .../testdo/relationship/IdMapToMany.java        |   28 -
 .../testdo/relationship/IdMapToManyTarget.java  |   28 -
 .../cayenne/testdo/relationship/MapToMany.java  |   28 -
 .../testdo/relationship/MapToManyTarget.java    |   28 -
 .../cayenne/testdo/relationship/Master.java     |   25 -
 .../testdo/relationship/MeaningfulFK.java       |   28 -
 .../testdo/relationship/ReflexiveAndToOne.java  |   26 -
 .../testdo/relationship/RelationshipHelper.java |   26 -
 .../testdo/relationship/Relationships.java      |   36 -
 .../cayenne/testdo/relationship/SetToMany.java  |   28 -
 .../testdo/relationship/SetToManyTarget.java    |   28 -
 .../testdo/relationship/ToManyFkDep.java        |   28 -
 .../testdo/relationship/ToManyFkRoot.java       |   28 -
 .../testdo/relationship/ToManyRoot2.java        |   28 -
 .../cayenne/testdo/relationship/ToOneFK1.java   |   26 -
 .../cayenne/testdo/relationship/ToOneFK2.java   |   26 -
 .../testdo/relationship/auto/_Child.java        |   27 -
 .../testdo/relationship/auto/_ClobDetail.java   |   35 -
 .../testdo/relationship/auto/_ClobMaster.java   |   48 -
 .../relationship/auto/_CollectionToMany.java    |   32 -
 .../auto/_CollectionToManyTarget.java           |   27 -
 .../testdo/relationship/auto/_CyclicChild.java  |   50 -
 .../testdo/relationship/auto/_CyclicParent.java |   50 -
 .../relationship/auto/_DeleteRuleFlatA.java     |   32 -
 .../relationship/auto/_DeleteRuleFlatB.java     |   32 -
 .../relationship/auto/_DeleteRuleTest1.java     |   27 -
 .../relationship/auto/_DeleteRuleTest2.java     |   46 -
 .../relationship/auto/_DeleteRuleTest3.java     |   27 -
 .../relationship/auto/_FkOfDifferentType.java   |   27 -
 .../relationship/auto/_FlattenedCircular.java   |   45 -
 .../relationship/auto/_FlattenedTest1.java      |   69 -
 .../relationship/auto/_FlattenedTest2.java      |   51 -
 .../relationship/auto/_FlattenedTest3.java      |   59 -
 .../relationship/auto/_FlattenedTest4.java      |   35 -
 .../testdo/relationship/auto/_IdMapToMany.java  |   32 -
 .../relationship/auto/_IdMapToManyTarget.java   |   27 -
 .../testdo/relationship/auto/_MapToMany.java    |   32 -
 .../relationship/auto/_MapToManyTarget.java     |   35 -
 .../testdo/relationship/auto/_Master.java       |   40 -
 .../testdo/relationship/auto/_MeaningfulFK.java |   35 -
 .../relationship/auto/_ReflexiveAndToOne.java   |   61 -
 .../relationship/auto/_RelationshipHelper.java  |   68 -
 .../relationship/auto/_Relationships.java       |   12 -
 .../testdo/relationship/auto/_SetToMany.java    |   32 -
 .../relationship/auto/_SetToManyTarget.java     |   27 -
 .../testdo/relationship/auto/_ToManyFkDep.java  |   55 -
 .../testdo/relationship/auto/_ToManyFkRoot.java |   48 -
 .../testdo/relationship/auto/_ToManyRoot2.java  |   40 -
 .../testdo/relationship/auto/_ToOneFK1.java     |   27 -
 .../testdo/relationship/auto/_ToOneFK2.java     |   27 -
 .../testdo/relationships/FkOfDifferentType.java |   28 +
 .../testdo/relationships/MeaningfulFK.java      |   28 +
 .../testdo/relationships/ReflexiveAndToOne.java |   26 +
 .../relationships/RelationshipHelper.java       |   26 +
 .../testdo/relationships/Relationships.java     |   36 +
 .../relationships/auto/_FkOfDifferentType.java  |   27 +
 .../relationships/auto/_MeaningfulFK.java       |   35 +
 .../relationships/auto/_ReflexiveAndToOne.java  |   61 +
 .../relationships/auto/_RelationshipHelper.java |   68 +
 .../relationships/auto/_Relationships.java      |   12 +
 .../testdo/relationships_activity/Activity.java |   25 +
 .../relationships_activity/ActivityResult.java  |   25 +
 .../relationships_activity/Relationships1.java  |   36 +
 .../relationships_activity/auto/_Activity.java  |   58 +
 .../auto/_ActivityResult.java                   |   53 +
 .../auto/_Relationships1.java                   |   12 +
 .../relationships_child_master/Child.java       |   25 +
 .../relationships_child_master/Master.java      |   25 +
 .../relationships_child_master/auto/_Child.java |   27 +
 .../auto/_Master.java                           |   40 +
 .../testdo/relationships_clob/ClobDetail.java   |   28 +
 .../testdo/relationships_clob/ClobMaster.java   |   28 +
 .../relationships_clob/auto/_ClobDetail.java    |   35 +
 .../relationships_clob/auto/_ClobMaster.java    |   48 +
 .../CollectionToMany.java                       |   28 +
 .../CollectionToManyTarget.java                 |   28 +
 .../auto/_CollectionToMany.java                 |   32 +
 .../auto/_CollectionToManyTarget.java           |   27 +
 .../DeleteRuleFlatA.java                        |   28 +
 .../DeleteRuleFlatB.java                        |   28 +
 .../DeleteRuleTest1.java                        |   28 +
 .../DeleteRuleTest2.java                        |   28 +
 .../DeleteRuleTest3.java                        |   28 +
 .../auto/_DeleteRuleFlatA.java                  |   32 +
 .../auto/_DeleteRuleFlatB.java                  |   32 +
 .../auto/_DeleteRuleTest1.java                  |   27 +
 .../auto/_DeleteRuleTest2.java                  |   46 +
 .../auto/_DeleteRuleTest3.java                  |   27 +
 .../FlattenedCircular.java                      |   25 +
 .../relationships_flattened/FlattenedTest1.java |   28 +
 .../relationships_flattened/FlattenedTest2.java |   28 +
 .../relationships_flattened/FlattenedTest3.java |   28 +
 .../relationships_flattened/FlattenedTest4.java |   25 +
 .../auto/_FlattenedCircular.java                |   45 +
 .../auto/_FlattenedTest1.java                   |   69 +
 .../auto/_FlattenedTest2.java                   |   51 +
 .../auto/_FlattenedTest3.java                   |   59 +
 .../auto/_FlattenedTest4.java                   |   35 +
 .../relationships_set_to_many/SetToMany.java    |   28 +
 .../SetToManyTarget.java                        |   28 +
 .../auto/_SetToMany.java                        |   32 +
 .../auto/_SetToManyTarget.java                  |   27 +
 .../relationships_to_many_fk/ToManyFkDep.java   |   28 +
 .../relationships_to_many_fk/ToManyFkRoot.java  |   28 +
 .../relationships_to_many_fk/ToManyRoot2.java   |   28 +
 .../auto/_ToManyFkDep.java                      |   55 +
 .../auto/_ToManyFkRoot.java                     |   48 +
 .../auto/_ToManyRoot2.java                      |   40 +
 .../relationships_to_one_fk/ToOneFK1.java       |   28 +
 .../relationships_to_one_fk/ToOneFK2.java       |   28 +
 .../relationships_to_one_fk/auto/_ToOneFK1.java |   27 +
 .../relationships_to_one_fk/auto/_ToOneFK2.java |   27 +
 .../testdo/return_types/ReturnTypesMap1.java    |   25 +
 .../testdo/return_types/ReturnTypesMap2.java    |   25 +
 .../return_types/ReturnTypesMapLobs1.java       |   25 +
 .../return_types/auto/_ReturnTypesMap1.java     |  193 +++
 .../return_types/auto/_ReturnTypesMap2.java     |   60 +
 .../return_types/auto/_ReturnTypesMapLobs1.java |   30 +
 .../cayenne/testdo/soft_delete/SoftDelete.java  |   30 +
 .../testdo/soft_delete/auto/_SoftDelete.java    |   34 +
 .../table_primitives/ClientTablePrimitives.java |   28 +
 .../table_primitives/TablePrimitives.java       |   25 +
 .../auto/_ClientTablePrimitives.java            |   60 +
 .../table_primitives/auto/_TablePrimitives.java |   34 +
 .../cayenne/testdo/testmap/ArraysEntity.java    |   27 -
 .../org/apache/cayenne/testdo/testmap/Bag.java  |   27 -
 .../org/apache/cayenne/testdo/testmap/Ball.java |   27 -
 .../testdo/testmap/BigDecimalEntity.java        |   27 -
 .../testdo/testmap/BigIntegerEntity.java        |   27 -
 .../cayenne/testdo/testmap/BinaryPKTest1.java   |   28 -
 .../cayenne/testdo/testmap/BinaryPKTest2.java   |   28 -
 .../testdo/testmap/BitNumberTestEntity.java     |   28 -
 .../cayenne/testdo/testmap/BitTestEntity.java   |   28 -
 .../cayenne/testdo/testmap/BlobTestEntity.java  |   28 -
 .../testdo/testmap/BooleanTestEntity.java       |   28 -
 .../org/apache/cayenne/testdo/testmap/Box.java  |   25 -
 .../apache/cayenne/testdo/testmap/BoxInfo.java  |   25 -
 .../cayenne/testdo/testmap/CalendarEntity.java  |   28 -
 .../testdo/testmap/CharFkTestEntity.java        |   28 -
 .../testdo/testmap/CharPkTestEntity.java        |   28 -
 .../cayenne/testdo/testmap/CharacterEntity.java |   28 -
 .../cayenne/testdo/testmap/ClobTestEntity.java  |   28 -
 .../testdo/testmap/ClobTestRelation.java        |   25 -
 .../testdo/testmap/CompoundFkTestEntity.java    |   28 -
 .../testdo/testmap/CompoundPkTestEntity.java    |   28 -
 .../cayenne/testdo/testmap/DateTestEntity.java  |   28 -
 .../cayenne/testdo/testmap/DecimalPKTest1.java  |   26 -
 .../testdo/testmap/DecimalPKTestEntity.java     |   28 -
 .../apache/cayenne/testdo/testmap/Enum1.java    |   23 -
 .../cayenne/testdo/testmap/EnumEntity.java      |   25 -
 .../testdo/testmap/ExtendedTypeEntity.java      |   25 -
 .../testdo/testmap/GeneratedColumnCompKey.java  |   28 -
 .../testmap/GeneratedColumnCompMaster.java      |   28 -
 .../testdo/testmap/GeneratedColumnDep.java      |   28 -
 .../testdo/testmap/GeneratedColumnTest2.java    |   28 -
 .../testmap/GeneratedColumnTestEntity.java      |   28 -
 .../cayenne/testdo/testmap/GeneratedF1.java     |   25 -
 .../cayenne/testdo/testmap/GeneratedF2.java     |   25 -
 .../cayenne/testdo/testmap/LongEntity.java      |   28 -
 .../cayenne/testdo/testmap/MeaningfulPKDep.java |   24 -
 .../testdo/testmap/MeaningfulPKTest1.java       |   24 -
 .../testmap/MixedPersistenceStrategy.java       |   35 -
 .../testmap/MixedPersistenceStrategy2.java      |   25 -
 .../cayenne/testdo/testmap/NoPkTestEntity.java  |   28 -
 .../testdo/testmap/PrimitivesTestEntity.java    |   25 -
 .../cayenne/testdo/testmap/ReturnTypesMap1.java |   25 -
 .../cayenne/testdo/testmap/ReturnTypesMap2.java |   25 -
 .../testdo/testmap/ReturnTypesMapLobs1.java     |   25 -
 .../testdo/testmap/SerializableEntity.java      |   28 -
 .../testdo/testmap/SmallintTestEntity.java      |   28 -
 .../cayenne/testdo/testmap/StringET1.java       |   35 -
 .../testdo/testmap/StringET1ExtendedType.java   |   62 -
 .../apache/cayenne/testdo/testmap/Thing.java    |   25 -
 .../testdo/testmap/TinyintTestEntity.java       |   28 -
 .../cayenne/testdo/testmap/UuidPkEntity.java    |   25 -
 .../cayenne/testdo/testmap/UuidTestEntity.java  |   25 -
 .../testdo/testmap/auto/_ArraysEntity.java      |   60 -
 .../cayenne/testdo/testmap/auto/_Bag.java       |   68 -
 .../cayenne/testdo/testmap/auto/_Ball.java      |   66 -
 .../testdo/testmap/auto/_BigDecimalEntity.java  |   32 -
 .../testdo/testmap/auto/_BigIntegerEntity.java  |   32 -
 .../testdo/testmap/auto/_BinaryPKTest1.java     |   48 -
 .../testdo/testmap/auto/_BinaryPKTest2.java     |   43 -
 .../testmap/auto/_BitNumberTestEntity.java      |   30 -
 .../testdo/testmap/auto/_BitTestEntity.java     |   30 -
 .../testdo/testmap/auto/_BlobTestEntity.java    |   30 -
 .../testdo/testmap/auto/_BooleanTestEntity.java |   30 -
 .../cayenne/testdo/testmap/auto/_Box.java       |   84 --
 .../cayenne/testdo/testmap/auto/_BoxInfo.java   |   43 -
 .../testdo/testmap/auto/_CalendarEntity.java    |   32 -
 .../testdo/testmap/auto/_CharFkTestEntity.java  |   43 -
 .../testdo/testmap/auto/_CharPkTestEntity.java  |   58 -
 .../testdo/testmap/auto/_CharacterEntity.java   |   30 -
 .../testdo/testmap/auto/_ClobTestEntity.java    |   48 -
 .../testdo/testmap/auto/_ClobTestRelation.java  |   53 -
 .../testmap/auto/_CompoundFkTestEntity.java     |   43 -
 .../testmap/auto/_CompoundPkTestEntity.java     |   69 -
 .../testdo/testmap/auto/_DateTestEntity.java    |   52 -
 .../testdo/testmap/auto/_DecimalPKTest1.java    |   40 -
 .../testmap/auto/_DecimalPKTestEntity.java      |   42 -
 .../testdo/testmap/auto/_EnumEntity.java        |   31 -
 .../testmap/auto/_ExtendedTypeEntity.java       |   31 -
 .../testmap/auto/_GeneratedColumnCompKey.java   |   45 -
 .../auto/_GeneratedColumnCompMaster.java        |   48 -
 .../testmap/auto/_GeneratedColumnDep.java       |   43 -
 .../testmap/auto/_GeneratedColumnTest2.java     |   30 -
 .../auto/_GeneratedColumnTestEntity.java        |   43 -
 .../testdo/testmap/auto/_GeneratedF1.java       |   38 -
 .../testdo/testmap/auto/_GeneratedF2.java       |   38 -
 .../testdo/testmap/auto/_LongEntity.java        |   30 -
 .../testdo/testmap/auto/_MeaningfulPKDep.java   |   43 -
 .../testdo/testmap/auto/_MeaningfulPKTest1.java |   58 -
 .../testmap/auto/_MixedPersistenceStrategy.java |   58 -
 .../auto/_MixedPersistenceStrategy2.java        |   43 -
 .../testdo/testmap/auto/_NoPkTestEntity.java    |   29 -
 .../testmap/auto/_PrimitivesTestEntity.java     |   42 -
 .../testdo/testmap/auto/_ReturnTypesMap1.java   |  193 ---
 .../testdo/testmap/auto/_ReturnTypesMap2.java   |   60 -
 .../testmap/auto/_ReturnTypesMapLobs1.java      |   30 -
 .../testmap/auto/_SerializableEntity.java       |   31 -
 .../testmap/auto/_SmallintTestEntity.java       |   30 -
 .../cayenne/testdo/testmap/auto/_Thing.java     |   65 -
 .../testdo/testmap/auto/_TinyintTestEntity.java |   30 -
 .../testdo/testmap/auto/_UuidPkEntity.java      |   32 -
 .../testdo/testmap/auto/_UuidTestEntity.java    |   32 -
 .../org/apache/cayenne/testdo/things/Bag.java   |   27 +
 .../org/apache/cayenne/testdo/things/Ball.java  |   27 +
 .../org/apache/cayenne/testdo/things/Box.java   |   25 +
 .../apache/cayenne/testdo/things/BoxInfo.java   |   25 +
 .../org/apache/cayenne/testdo/things/Thing.java |   25 +
 .../apache/cayenne/testdo/things/auto/_Bag.java |   68 +
 .../cayenne/testdo/things/auto/_Ball.java       |   66 +
 .../apache/cayenne/testdo/things/auto/_Box.java |   84 ++
 .../cayenne/testdo/things/auto/_BoxInfo.java    |   43 +
 .../cayenne/testdo/things/auto/_Thing.java      |   65 +
 .../cayenne/testdo/toone/ClientTooneDep.java    |   28 +
 .../cayenne/testdo/toone/ClientTooneMaster.java |   28 +
 .../apache/cayenne/testdo/toone/TooneDep.java   |   25 +
 .../cayenne/testdo/toone/TooneMaster.java       |   25 +
 .../testdo/toone/auto/_ClientTooneDep.java      |   33 +
 .../testdo/toone/auto/_ClientTooneMaster.java   |   33 +
 .../cayenne/testdo/toone/auto/_TooneDep.java    |   27 +
 .../cayenne/testdo/toone/auto/_TooneMaster.java |   27 +
 .../cayenne/testdo/uuid/UuidPkEntity.java       |   25 +
 .../cayenne/testdo/uuid/UuidTestEntity.java     |   25 +
 .../cayenne/testdo/uuid/auto/_UuidPkEntity.java |   32 +
 .../testdo/uuid/auto/_UuidTestEntity.java       |   32 +
 .../cayenne/tx/DefaultTransactionManagerIT.java |   80 ++
 .../tx/DefaultTransactionManagerTest.java       |   75 -
 .../cayenne/unit/HSQLDBUnitDbAdapter.java       |    6 +-
 .../apache/cayenne/unit/MySQLUnitDbAdapter.java |   12 +-
 .../cayenne/unit/OracleUnitDbAdapter.java       |   20 +-
 .../cayenne/unit/PostgresUnitDbAdapter.java     |    8 +-
 .../cayenne/unit/SybaseUnitDbAdapter.java       |   14 +-
 .../java/org/apache/cayenne/unit/di/DICase.java |   15 +-
 .../apache/cayenne/unit/di/DICaseSelfIT.java    |   87 ++
 .../apache/cayenne/unit/di/DICaseSelfTest.java  |   81 --
 .../di/DefaultUnitTestLifecycleManager.java     |    6 +-
 .../unit/di/UnitTestLifecycleManager.java       |    6 +-
 .../cayenne/unit/di/server/SchemaBuilder.java   |   37 +-
 .../cayenne/unit/di/server/ServerCase.java      |   81 +-
 .../di/server/ServerCaseDataNodeFactory.java    |    5 +
 .../di/server/ServerCaseDataSourceFactory.java  |    2 -
 .../di/server/ServerCaseLifecycleManager.java   |    4 +-
 .../unit/di/server/ServerCaseSelfIT.java        |   59 +
 .../unit/di/server/ServerCaseSelfTest.java      |   52 -
 .../cayenne/unit/jira/CAY_10062004_ExpTest.java |    9 +-
 .../org/apache/cayenne/unit/jira/CAY_115IT.java |  120 ++
 .../apache/cayenne/unit/jira/CAY_115Test.java   |  115 --
 .../org/apache/cayenne/unit/jira/CAY_191IT.java |   84 ++
 .../apache/cayenne/unit/jira/CAY_191Test.java   |   79 -
 .../org/apache/cayenne/unit/jira/CAY_194IT.java |  112 ++
 .../apache/cayenne/unit/jira/CAY_194Test.java   |  107 --
 .../cayenne/unit/jira/CAY_207Manager1.java      |    2 +-
 .../cayenne/unit/jira/CAY_207Manager2.java      |    2 +-
 .../apache/cayenne/unit/jira/CAY_743Test.java   |    9 +-
 .../apache/cayenne/util/Base64CodecTest.java    |   25 +-
 .../cayenne/util/DeepMergeOperationIT.java      |   92 ++
 .../util/DeepMergeOperationInheritanceIT.java   |  148 ++
 .../util/DeepMergeOperationInheritanceTest.java |  140 --
 .../cayenne/util/DeepMergeOperationTest.java    |   85 --
 .../cayenne/util/EntityMergeSupportIT.java      |  106 ++
 .../cayenne/util/EntityMergeSupportTest.java    |   99 --
 .../cayenne/util/GenericResponseTest.java       |   11 +-
 .../org/apache/cayenne/util/IDUtilTest.java     |   12 +-
 .../cayenne/util/IndexPropertyListTest.java     |   10 +-
 .../org/apache/cayenne/util/InvocationTest.java |   73 +-
 .../apache/cayenne/util/ListResponseTest.java   |   12 +-
 .../apache/cayenne/util/NameConverterTest.java  |   21 +-
 .../util/PersistentObjectHolderTest.java        |   14 +-
 .../org/apache/cayenne/util/RegexUtilTest.java  |   10 +-
 .../cayenne/util/ShallowMergeOperationIT.java   |  218 +++
 .../cayenne/util/ShallowMergeOperationTest.java |  210 ---
 .../java/org/apache/cayenne/util/UtilTest.java  |   50 +-
 .../ConcurrentLinkedHashMapTest.java            |    9 +-
 .../validation/BeanValidationFailureTest.java   |    8 +-
 .../validation/ValidationExceptionTest.java     |    7 +-
 .../validation/ValidationResultTest.java        |   17 +-
 .../cayenne/velocity/BindDirectiveIT.java       |  278 ++++
 .../cayenne/velocity/ResultDirectiveIT.java     |  168 +++
 .../SQLTemplateResourceManagerTest.java         |   77 +
 .../VelocitySQLTemplateProcessorTest.java       |  234 +++
 .../VelocitySQLTemplateProcessor_ChainTest.java |  184 +++
 ...VelocitySQLTemplateProcessor_SelectTest.java |  109 ++
 .../src/test/resources/binary-pk.map.xml        |   34 +
 .../src/test/resources/cayenne-binary-pk.xml    |    4 +
 .../src/test/resources/cayenne-compound.xml     |    4 +
 .../src/test/resources/cayenne-date-time.xml    |    4 +
 .../src/test/resources/cayenne-default.xml      |    7 -
 .../src/test/resources/cayenne-delete-rules.xml |    4 +
 .../src/test/resources/cayenne-embeddable.xml   |    4 +
 .../src/test/resources/cayenne-enum.xml         |    4 +
 .../test/resources/cayenne-extended-type.xml    |    4 +
 .../src/test/resources/cayenne-generated.xml    |    4 +
 .../src/test/resources/cayenne-generic.xml      |    4 +
 .../src/test/resources/cayenne-inheritance.xml  |    4 +
 .../src/test/resources/cayenne-lifecycles.xml   |    4 +
 .../src/test/resources/cayenne-lob.xml          |    4 +
 .../src/test/resources/cayenne-map-to-many.xml  |    4 +
 .../test/resources/cayenne-meaningful-pk.xml    |    4 +
 .../src/test/resources/cayenne-misc-types.xml   |    4 +
 .../cayenne-mixed-persistence-strategy.xml      |    4 +
 .../src/test/resources/cayenne-no-pk.xml        |    4 +
 .../test/resources/cayenne-numeric-types.xml    |    4 +
 .../src/test/resources/cayenne-persistent.xml   |    4 +
 .../src/test/resources/cayenne-primitive.xml    |    4 +
 .../src/test/resources/cayenne-qualified.xml    |    4 +
 .../src/test/resources/cayenne-reflexive.xml    |    4 +
 .../cayenne-relationships-activity.xml          |    4 +
 .../cayenne-relationships-child-master.xml      |    4 +
 .../resources/cayenne-relationships-clob.xml    |    4 +
 ...cayenne-relationships-collection-to-many.xml |    4 +
 .../cayenne-relationships-delete-rules.xml      |    4 +
 .../cayenne-relationships-flattened.xml         |    4 +
 .../cayenne-relationships-set-to-many.xml       |    4 +
 .../cayenne-relationships-to-many-fk.xml        |    4 +
 .../cayenne-relationships-to-one-fk.xml         |    4 +
 .../test/resources/cayenne-relationships.xml    |    1 -
 .../src/test/resources/cayenne-return-types.xml |    4 +
 .../src/test/resources/cayenne-soft-delete.xml  |    4 +
 .../src/test/resources/cayenne-sus.xml          |    4 +
 .../test/resources/cayenne-table-primitives.xml |    4 +
 .../src/test/resources/cayenne-testmap.xml      |    2 +-
 .../src/test/resources/cayenne-things.xml       |    4 +
 .../src/test/resources/cayenne-toone.xml        |    4 +
 .../src/test/resources/cayenne-uuid.xml         |    4 +
 .../src/test/resources/compound.map.xml         |   64 +
 .../src/test/resources/date-time.map.xml        |   34 +
 .../src/test/resources/delete-rules.map.xml     |   64 +
 cayenne-server/src/test/resources/enum.map.xml  |   18 +
 .../src/test/resources/extended-type.map.xml    |   18 +
 .../src/test/resources/generated.map.xml        |   93 ++
 .../test/resources/inheritance-vertical.map.xml |   18 +-
 .../src/test/resources/inheritance.map.xml      |   46 +
 .../src/test/resources/lifecycles.map.xml       |   16 +
 cayenne-server/src/test/resources/lob.map.xml   |   46 +
 .../src/test/resources/locking.map.xml          |   29 -
 .../src/test/resources/map-to-many.map.xml      |   57 +
 .../src/test/resources/meaningful-pk.map.xml    |   39 +
 .../src/test/resources/misc-types.map.xml       |   38 +
 .../mixed-persistence-strategy.map.xml          |   36 +
 .../src/test/resources/multi-tier.map.xml       |  153 --
 cayenne-server/src/test/resources/no-pk.map.xml |   17 +
 .../src/test/resources/numeric-types.map.xml    |   79 +
 .../src/test/resources/people.map.xml           |   57 +-
 .../src/test/resources/persistent.map.xml       |   32 +
 .../src/test/resources/primitive.map.xml        |   20 +
 .../src/test/resources/reflexive.map.xml        |   25 +
 .../resources/relationships-activity.map.xml    |   35 +
 .../relationships-child-master.map.xml          |   29 +
 .../test/resources/relationships-clob.map.xml   |   32 +
 .../relationships-collection-to-many.map.xml    |   26 +
 .../relationships-delete-rules.map.xml          |   71 +
 .../resources/relationships-flattened.map.xml   |  107 ++
 .../resources/relationships-set-to-many.map.xml |   26 +
 .../resources/relationships-to-many-fk.map.xml  |   48 +
 .../resources/relationships-to-one-fk.map.xml   |   26 +
 .../src/test/resources/relationships.map.xml    |  358 +----
 .../src/test/resources/relationships1.map.xml   |   35 -
 .../src/test/resources/return-types.map.xml     |   84 ++
 .../src/test/resources/small-testmap.map.xml    |   10 +-
 .../src/test/resources/soft-delete.map.xml      |   18 +
 .../src/test/resources/table-primitives.map.xml |   18 +
 .../src/test/resources/testmap.map.xml          |  302 ++++
 .../src/test/resources/things.map.xml           |  110 ++
 cayenne-server/src/test/resources/toone.map.xml |   27 +
 .../src/test/resources/tstmap.map.xml           |  868 -----------
 cayenne-server/src/test/resources/uuid.map.xml  |   24 +
 cayenne-tools/pom.xml                           |    2 +-
 .../map/naming/DefaultNameGenerator.java        |    2 +-
 .../cayenne/tools/AntDataPortDelegate.java      |    2 +-
 .../org/apache/cayenne/tools/DataPortTask.java  |    4 +-
 .../apache/cayenne/tools/DbImporterTask.java    |   18 +-
 .../configuration/DriverDataSourceFactory.java  |    2 +-
 .../tools/configuration/ToolsModule.java        |    2 +-
 .../cayenne/tools/dbimport/DbImportAction.java  |    2 +-
 .../tools/dbimport/DbImportConfiguration.java   |    2 +-
 .../dbimport/DbImportDbLoaderDelegate.java      |    2 +-
 .../cayenne/tools/dbimport/DbImportModule.java  |    2 +-
 .../cayenne/gen/ClassGenerationActionTest.java  |   45 +-
 .../org/apache/cayenne/gen/EntityUtilsTest.java |   26 +-
 .../org/apache/cayenne/gen/ImportUtilsTest.java |   34 +-
 .../org/apache/cayenne/gen/StringUtilsTest.java |   19 +-
 .../map/naming/DefaultNameGeneratorTest.java    |   10 +-
 .../cayenne/tools/AntDataPortDelegateTest.java  |   11 +-
 ...eGeneratorTaskCrossMapRelationshipsTest.java |   21 +-
 .../cayenne/tools/CayenneGeneratorTaskTest.java |   27 +-
 .../cayenne/tools/DbGeneratorTaskTest.java      |   19 +-
 .../cayenne/tools/NamePatternMatcherTest.java   |   10 +-
 .../tools/configuration/ToolsModuleTest.java    |   17 +-
 .../dbimport/DbImportDbLoaderDelegateTest.java  |   24 +-
 .../tools/dbimport/DbImportModuleTest.java      |   10 +-
 .../src/test/resources/testmap.map.xml          |   88 +-
 docs/doc/pom.xml                                |    2 +-
 docs/doc/src/main/resources/RELEASE-NOTES.txt   |    6 +-
 docs/doc/src/main/resources/UPGRADE.txt         |    7 +-
 docs/docbook/cayenne-guide/pom.xml              |    2 +-
 .../src/docbkx/including-cayenne-in-project.xml |    2 +-
 docs/docbook/cayenne-guide/src/docbkx/setup.xml |    2 +-
 docs/docbook/docbook-stylesheets/pom.xml        |    2 +-
 docs/docbook/getting-started-rop/pom.xml        |    2 +-
 docs/docbook/getting-started/pom.xml            |    2 +-
 docs/docbook/pom.xml                            |    4 +-
 docs/docbook/upgrade-guide/pom.xml              |    2 +-
 docs/pom.xml                                    |    2 +-
 itests/cayenne-tools-itest/pom.xml              |    2 +-
 .../tools/CayenneGeneratorIntegrationTest.java  |   18 +-
 .../src/test/resources/testmap-client.map.xml   |   88 +-
 .../src/test/resources/testmap.map.xml          |   88 +-
 itests/pom.xml                                  |    2 +-
 modeler/cayenne-modeler-generic-ext/pom.xml     |    2 +-
 modeler/cayenne-modeler-generic/pom.xml         |    2 +-
 modeler/cayenne-modeler-mac-ext/pom.xml         |    2 +-
 modeler/cayenne-modeler-mac-legacy/pom.xml      |    2 +-
 modeler/cayenne-modeler-mac/pom.xml             |    2 +-
 modeler/cayenne-modeler-win/pom.xml             |    2 +-
 modeler/cayenne-modeler/pom.xml                 |    2 +-
 .../cayenne/modeler/ProjectController.java      |    4 +-
 .../dialog/codegen/StandardPanelComponent.java  |   19 +
 .../configuration/event/DataNodeEventTest.java  |   12 +-
 .../modeler/action/CreateNodeActionTest.java    |    9 +-
 .../modeler/event/AttributeEventTest.java       |    8 +-
 .../cayenne/modeler/event/DataMapEventTest.java |   61 +-
 .../modeler/event/DomainDisplayEventTest.java   |    8 +-
 .../cayenne/modeler/event/DomainEventTest.java  |   15 +-
 .../cayenne/modeler/event/EntityEventTest.java  |   17 +-
 .../cayenne/modeler/event/ModelerEventTest.java |   12 +-
 .../modeler/event/RelationshipEventTest.java    |    8 +-
 .../modeler/util/ApplicationFileFilterTest.java |   14 +-
 .../cayenne/modeler/util/CircularArrayTest.java |    8 +-
 .../modeler/util/DataMapFileFilterTest.java     |   16 +-
 .../modeler/util/EOModelFileFilterTest.java     |   25 +-
 .../cayenne/modeler/util/VersionTest.java       |   11 +-
 modeler/cayenne-wocompat/pom.xml                |    2 +-
 .../apache/cayenne/wocompat/EOModelHelper.java  |    2 +-
 .../cayenne/wocompat/EOModelProcessor.java      |    8 +-
 .../cayenne/wocompat/EOModelHelperTest.java     |   22 +-
 .../EOModelProcessorInheritanceTest.java        |   19 +-
 .../cayenne/wocompat/EOModelProcessorTest.java  |   28 +-
 .../cayenne/wocompat/EOModelPrototypesTest.java |   25 +-
 .../apache/cayenne/wocompat/EOQueryTest.java    |   15 +-
 .../wocompat/PropertyListSerializationTest.java |   17 +-
 .../wocompat/parser/PropertyListParserTest.java |   25 +-
 .../cayenne/wocompat/unit/WOCompatCase.java     |    8 +-
 modeler/pom.xml                                 |    2 +-
 plugins/maven-cayenne-modeler-plugin/pom.xml    |    2 +-
 plugins/maven-cayenne-plugin/pom.xml            |    2 +-
 .../cayenne/tools/CayenneGeneratorMojo.java     |   23 +-
 .../apache/cayenne/tools/DbImporterMojo.java    |   12 +-
 .../cayenne/tools/CayenneGeneratorMojoTest.java |   10 +-
 .../test/resources/cgen/cayenne-testDomain.xml  |    1 +
 .../test/resources/cgen/project-to-test/pom.xml |    1 +
 .../resources/cgen/testAdditionalMap.map.xml    |   18 +
 .../test/resources/cgen/testDomainMap.map.xml   |    5 +
 plugins/pom.xml                                 |    2 +-
 pom.xml                                         |   31 +-
 tutorials/pom.xml                               |    2 +-
 tutorials/tutorial-rop-client/pom.xml           |    4 +-
 tutorials/tutorial-rop-server/pom.xml           |    4 +-
 tutorials/tutorial/pom.xml                      |    4 +-
 1761 files changed, 76984 insertions(+), 70725 deletions(-)
----------------------------------------------------------------------



[49/50] [abbrv] cayenne git commit: Merge remote-tracking branch 'apache/master' into CAY-1946

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/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 a994ce2,c8589e0..e538e48
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
@@@ -671,16 -734,14 +671,15 @@@ public class DbLoader 
      }
  
      /**
 +     * By default we want to load Tables and Views for mo types
 +     *
 +     * @see DbLoader#getTableTypes()
-      *
-      * @since 3.2
+      * @since 4.0
       */
      public String[] getDefaultTableTypes() {
 -        String viewType = adapter.tableTypeForView();
 -        String tableType = adapter.tableTypeForTable();
 -
 -        // use types that are not null
          List<String> list = new ArrayList<String>(2);
 +
 +        String viewType = adapter.tableTypeForView();
          if (viewType != null) {
              list.add(viewType);
          }
@@@ -699,8 -760,8 +698,8 @@@
       * tables and views.
       * 
       * @since 1.0.7
-      * @deprecated since 3.2 use
+      * @deprecated since 4.0 use
 -     *             {@link #load(DataMap, String, String, String, String...)}
 +     *             {@link #load(org.apache.cayenne.map.DataMap, DbLoaderConfiguration, String...)}
       *             method that supports catalogs.
       */
      @Deprecated
@@@ -723,8 -781,8 +722,8 @@@
       * contains default mapping of the tables and views. Allows to limit types
       * of tables to read.
       * 
-      * @deprecated since 3.2 use
+      * @deprecated since 4.0 use
 -     *             {@link #load(DataMap, String, String, String, String...)}
 +     *             {@link #load(org.apache.cayenne.map.DataMap, DbLoaderConfiguration, String...)}
       *             method that supports catalogs.
       */
      @Deprecated
@@@ -755,16 -799,21 +754,16 @@@
       * schema, table name and table type patterns and fills the specified
       * DataMap object with DB and object mapping info.
       * 
-      * @since 3.2
+      * @since 4.0
       */
 -    public void load(DataMap dataMap, String catalogPattern, String schemaPattern, String tablePattern,
 -            String... tableTypes) throws SQLException {
 -
 -        if (tablePattern == null) {
 -            tablePattern = WILDCARD;
 -        }
 +    public void load(DataMap dataMap, DbLoaderConfiguration config, String... tableTypes) throws SQLException {
  
 -        List<DbEntity> tables = getTables(catalogPattern, schemaPattern, tablePattern, tableTypes);
 +        List<DbEntity> entities = loadDbEntities(dataMap, config, getTables(config, tableTypes));
  
 -        if (loadDbEntities(dataMap, tables)) {
 -            loadDbRelationships(dataMap);
 +        if (entities != null) {
 +            loadDbRelationships(dataMap, config, entities);
 +            loadObjEntities(dataMap, config, entities);
  
 -            loadObjEntities(dataMap);
              flattenManyToManyRelationships(dataMap);
              fireObjEntitiesAddedEvents(dataMap);
          }
@@@ -798,17 -829,12 +797,17 @@@
       * </p>
       * 
       * @since 1.1
-      * @deprecated since 3.2 use
-      *             {@link #loadProcedures(org.apache.cayenne.map.DataMap, org.apache.cayenne.access.loader.DbLoaderConfiguration)} that
+      * @deprecated since 4.0 use
+      *             {@link #loadProcedures(DataMap, String, String, String)} that
       *             supports "catalog" pattern.
       */
 +    @Deprecated
      public void loadProceduresFromDB(String schemaPattern, String namePattern, DataMap dataMap) throws SQLException {
 -        loadProcedures(dataMap, null, schemaPattern, namePattern);
 +        DbLoaderConfiguration configuration = new DbLoaderConfiguration();
 +        configuration.setFiltersConfig(new FiltersConfig(new EntityFilters(
 +                new DbPath(null, schemaPattern), NULL, NULL, include(namePattern))));
 +
 +        loadProcedures(dataMap, configuration);
      }
  
      /**
@@@ -820,27 -846,61 +819,27 @@@
       * be invoked explicitly by the user. </i>
       * </p>
       * 
-      * @since 3.2
+      * @since 4.0
       */
 -    public void loadProcedures(DataMap dataMap, String catalogPattern, String schemaPattern, String namePattern)
 +    public Map<String, Procedure> loadProcedures(DataMap dataMap, DbLoaderConfiguration config)
              throws SQLException {
  
 -        Map<String, Procedure> procedures = null;
 -
 -        // get procedures
 -        ResultSet rs = getMetaData().getProcedures(catalogPattern, schemaPattern, namePattern);
 -        try {
 -            while (rs.next()) {
 -                String name = rs.getString("PROCEDURE_NAME");
 -
 -                // TODO: this will be moved to Delegate...
 -                if (EXCLUDED_PROCEDURES.contains(name)) {
 -                    logger.info("skipping Cayenne PK procedure: " + name);
 -                    continue;
 -                }
 -
 -                String catalog = rs.getString("PROCEDURE_CAT");
 -                String schema = rs.getString("PROCEDURE_SCHEM");
 -
 -                short type = rs.getShort("PROCEDURE_TYPE");
 -
 -                Procedure procedure = new Procedure(name);
 -                procedure.setCatalog(catalog);
 -                procedure.setSchema(schema);
 -
 -                switch (type) {
 -                case DatabaseMetaData.procedureNoResult:
 -                case DatabaseMetaData.procedureResultUnknown:
 -                    procedure.setReturningValue(false);
 -                    break;
 -                case DatabaseMetaData.procedureReturnsResult:
 -                    procedure.setReturningValue(true);
 -                    break;
 -                }
 +        Map<String, Procedure> procedures = loadProcedures(config);
 +        if (procedures.isEmpty()) {
 +            return procedures;
 +        }
  
 -                if (procedures == null) {
 -                    procedures = new HashMap<String, Procedure>();
 -                }
 +        loadProceduresColumns(procedures);
  
 -                procedures.put(procedure.getFullyQualifiedName(), procedure);
 -            }
 -        } finally {
 -            rs.close();
 +        for (Procedure procedure : procedures.values()) {
 +            dataMap.addProcedure(procedure);
          }
  
 -        // if nothing found, return
 -        if (procedures == null) {
 -            return;
 -        }
 +        return procedures;
 +    }
  
 -        // get columns
 -        ResultSet columnsRS = getMetaData().getProcedureColumns(null, schemaPattern, namePattern, null);
 +    private void loadProceduresColumns(Map<String, Procedure> procedures) throws SQLException {
 +        ResultSet columnsRS = getMetaData().getProcedureColumns(null, null, null, null); // TODO catalog, schema
          try {
              while (columnsRS.next()) {
  

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/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 2ca2d97,0000000..bc91162
mode 100644,000000..100644
--- 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
@@@ -1,55 -1,0 +1,55 @@@
 +/*****************************************************************
 + *   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.access.loader;
 +
 +import org.apache.cayenne.CayenneException;
 +import org.apache.cayenne.access.DbLoaderDelegate;
 +import org.apache.cayenne.map.DbEntity;
 +import org.apache.cayenne.map.ObjEntity;
 +
 +/**
-  * @since 3.2.
++ * @since 4.0.
 + */
 +public class DefaultDbLoaderDelegate implements DbLoaderDelegate {
 +
 +    @Override
 +    public boolean overwriteDbEntity(DbEntity entity) throws CayenneException {
 +        return false;
 +    }
 +
 +    @Override
 +    public void dbEntityAdded(DbEntity entity) {
 +
 +    }
 +
 +    @Override
 +    public void dbEntityRemoved(DbEntity entity) {
 +
 +    }
 +
 +    @Override
 +    public void objEntityAdded(ObjEntity entity) {
 +
 +    }
 +
 +    @Override
 +    public void objEntityRemoved(ObjEntity entity) {
 +
 +    }
 +}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/ExcludeFilter.java
----------------------------------------------------------------------
diff --cc cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/ExcludeFilter.java
index 5bc794a,0000000..932531f
mode 100644,000000..100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/ExcludeFilter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/ExcludeFilter.java
@@@ -1,42 -1,0 +1,42 @@@
 +/*****************************************************************
 + *   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.access.loader.filters;
 +
 +import java.util.regex.Pattern;
 +
 +/**
-  * @since 3.2.
++ * @since 4.0
 + * @Immutable
 + */
 +public class ExcludeFilter extends IncludeFilter {
 +
 +    ExcludeFilter(Pattern pattern) {
 +        super(pattern);
 +    }
 +
 +    @Override
 +    public boolean isInclude(String obj) {
 +        return !super.isInclude(obj);
 +    }
 +
 +    @Override
 +    public String toString() {
 +        return "-(" + super.getPattern() + ')';
 +    }
 +}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/main/java/org/apache/cayenne/map/DbRelationship.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/main/java/org/apache/cayenne/map/naming/DefaultUniqueNameGenerator.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/main/java/org/apache/cayenne/map/naming/NameCheckers.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/main/java/org/apache/cayenne/util/EntityMergeSupport.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
----------------------------------------------------------------------
diff --cc cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
index 0000000,8bad0d2..04efb54
mode 000000,100644..100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
@@@ -1,0 -1,388 +1,576 @@@
+ /*****************************************************************
+  *   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.access;
+ 
++import java.sql.Types;
++import java.util.Collection;
++import java.util.List;
++
++import org.apache.cayenne.access.loader.DbLoaderConfiguration;
+ import org.apache.cayenne.configuration.server.ServerRuntime;
+ import org.apache.cayenne.dba.DbAdapter;
+ import org.apache.cayenne.dba.TypesMapping;
+ import org.apache.cayenne.di.Inject;
+ import org.apache.cayenne.map.DataMap;
+ import org.apache.cayenne.map.DbAttribute;
+ import org.apache.cayenne.map.DbEntity;
+ import org.apache.cayenne.map.DbRelationship;
+ import org.apache.cayenne.map.ObjAttribute;
+ import org.apache.cayenne.map.ObjEntity;
+ import org.apache.cayenne.unit.UnitDbAdapter;
+ import org.apache.cayenne.unit.di.server.ServerCase;
+ import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
+ import org.apache.cayenne.unit.di.server.UseServerRuntime;
+ import org.junit.Test;
+ 
+ import java.sql.Types;
+ import java.util.Collection;
+ import java.util.List;
+ 
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertFalse;
+ import static org.junit.Assert.assertNotNull;
+ import static org.junit.Assert.assertNull;
+ import static org.junit.Assert.assertTrue;
+ 
+ @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+ public class DbLoaderIT extends ServerCase {
+ 
++    public static final DbLoaderConfiguration CONFIG = new DbLoaderConfiguration();
+     @Inject
+     private ServerRuntime runtime;
+ 
+     @Inject
+     private DbAdapter adapter;
+ 
+     @Inject
+     private ServerCaseDataSourceFactory dataSourceFactory;
+ 
+     @Inject
+     private UnitDbAdapter accessStackAdapter;
+ 
+     private DbLoader loader;
+ 
+     @Override
+     protected void setUpAfterInjection() throws Exception {
+         loader = new DbLoader(dataSourceFactory.getSharedDataSource().getConnection(), adapter, null);
+     }
+ 
+     @Override
+     protected void tearDownBeforeInjection() throws Exception {
+         loader.getConnection().close();
+     }
+ 
+     @Test
+     public void testGetTableTypes() throws Exception {
+ 
+         List<?> tableTypes = loader.getTableTypes();
+ 
+         assertNotNull(tableTypes);
+ 
+         String tableLabel = adapter.tableTypeForTable();
+         if (tableLabel != null) {
+             assertTrue("Missing type for table '" + tableLabel + "' - " + tableTypes, tableTypes.contains(tableLabel));
+         }
+ 
+         String viewLabel = adapter.tableTypeForView();
+         if (viewLabel != null) {
+             assertTrue("Missing type for view '" + viewLabel + "' - " + tableTypes, tableTypes.contains(viewLabel));
+         }
+     }
+ 
+     @Test
+     public void testGetTables() throws Exception {
+ 
+         String tableLabel = adapter.tableTypeForTable();
+ 
 -        List<DbEntity> tables = loader.getTables(null, null, "%", new String[] { tableLabel });
++        List<DbEntity> tables = loader.getTables(new DbLoaderConfiguration(), new String[] { tableLabel });
+ 
+         assertNotNull(tables);
+ 
+         boolean foundArtist = false;
+ 
+         for (DbEntity table : tables) {
+             if ("ARTIST".equalsIgnoreCase(table.getName())) {
+                 foundArtist = true;
+                 break;
+             }
+         }
+ 
+         assertTrue("'ARTIST' is missing from the table list: " + tables, foundArtist);
+     }
+ 
+     @Test
+     public void testLoadWithMeaningfulPK() throws Exception {
+ 
+         DataMap map = new DataMap();
 -        String tableLabel = adapter.tableTypeForTable();
++        String[] tableLabel = { adapter.tableTypeForTable() };
+ 
+         loader.setCreatingMeaningfulPK(true);
+ 
 -        List<DbEntity> testLoader = loader.getTables(null, null, "artist", new String[] { tableLabel });
 -        if (testLoader.size() == 0) {
 -            testLoader = loader.getTables(null, null, "ARTIST", new String[] { tableLabel });
++        List<DbEntity> testLoader = loader.getTables(CONFIG, tableLabel);
++        if (testLoader.isEmpty()) {
++            testLoader = loader.getTables(CONFIG, tableLabel);
+         }
+ 
 -        loader.loadDbEntities(map, testLoader);
++        List<DbEntity> entities = loader.loadDbEntities(map, CONFIG, testLoader);
++        loader.loadObjEntities(map, CONFIG, entities);
+ 
 -        loader.loadObjEntities(map);
+         ObjEntity artist = map.getObjEntity("Artist");
+         assertNotNull(artist);
++
+         ObjAttribute id = artist.getAttribute("artistId");
+         assertNotNull(id);
+     }
+ 
+     /**
+      * DataMap loading is in one big test method, since breaking it in
+      * individual tests would require multiple reads of metatdata which is
+      * extremely slow on some RDBMS (Sybase).
+      */
+     @Test
+     public void testLoad() throws Exception {
+ 
+         boolean supportsUnique = runtime.getDataDomain().getDataNodes().iterator().next().getAdapter()
+                 .supportsUniqueConstraints();
+         boolean supportsLobs = accessStackAdapter.supportsLobs();
+         boolean supportsFK = accessStackAdapter.supportsFKConstraints();
+ 
+         DataMap map = new DataMap();
+         map.setDefaultPackage("foo.x");
+ 
+         String tableLabel = adapter.tableTypeForTable();
+ 
+         // *** TESTING THIS ***
 -        loader.loadDbEntities(map, loader.getTables(null, null, "%", new String[] { tableLabel }));
++        List<DbEntity> entities = loader.loadDbEntities(map, CONFIG, loader.getTables(CONFIG, new String[]{tableLabel}));
+ 
+         assertDbEntities(map);
+ 
+         if (supportsLobs) {
+             assertLobDbEntities(map);
+         }
+ 
+         // *** TESTING THIS ***
 -        loader.loadDbRelationships(map);
++        loader.loadDbRelationships(map, CONFIG, entities);
+ 
+         if (supportsFK) {
+             Collection<DbRelationship> rels = getDbEntity(map, "ARTIST").getRelationships();
+             assertNotNull(rels);
 -            assertTrue(rels.size() > 0);
++            assertTrue(!rels.isEmpty());
+ 
+             // test one-to-one
+             rels = getDbEntity(map, "PAINTING").getRelationships();
+             assertNotNull(rels);
+ 
+             // find relationship to PAINTING_INFO
+             DbRelationship oneToOne = null;
+             for (DbRelationship rel : rels) {
+                 if ("PAINTING_INFO".equalsIgnoreCase(rel.getTargetEntityName())) {
+                     oneToOne = rel;
+                     break;
+                 }
+             }
+ 
+             assertNotNull("No relationship to PAINTING_INFO", oneToOne);
+             assertFalse("Relationship to PAINTING_INFO must be to-one", oneToOne.isToMany());
+             assertTrue("Relationship to PAINTING_INFO must be to-one", oneToOne.isToDependentPK());
+ 
+             // test UNIQUE only if FK is supported...
+             if (supportsUnique) {
+                 assertUniqueConstraintsInRelationships(map);
+             }
+         }
+ 
+         // *** TESTING THIS ***
+         loader.setCreatingMeaningfulPK(false);
 -        loader.loadObjEntities(map);
++        loader.loadObjEntities(map, CONFIG, entities);
+ 
+         assertObjEntities(map);
+ 
+         // now when the map is loaded, test
+         // various things
+         // selectively check how different types were processed
+         if (accessStackAdapter.supportsColumnTypeReengineering()) {
+             checkTypes(map);
+         }
+     }
+ 
+     private void assertUniqueConstraintsInRelationships(DataMap map) {
+         // unfortunately JDBC metadata doesn't provide info for UNIQUE
+         // constraints....
+         // cant reengineer them...
+ 
+         // find rel to TO_ONEFK1
+         /*
+          * Iterator it = getDbEntity(map,
+          * "TO_ONEFK2").getRelationships().iterator(); DbRelationship rel =
+          * (DbRelationship) it.next(); assertEquals("TO_ONEFK1",
+          * rel.getTargetEntityName());
+          * assertFalse("UNIQUE constraint was ignored...", rel.isToMany());
+          */
+     }
+ 
+     private void assertDbEntities(DataMap map) {
+         DbEntity dae = getDbEntity(map, "ARTIST");
+         assertNotNull("Null 'ARTIST' entity, other DbEntities: " + map.getDbEntityMap(), dae);
+         assertEquals("ARTIST", dae.getName().toUpperCase());
+ 
+         if (accessStackAdapter.supportsCatalogs()) {
+             assertNotNull(dae.getCatalog());
+             assertEquals("CAYENNE", dae.getCatalog().toUpperCase());
+         }
+ 
+         DbAttribute a = getDbAttribute(dae, "ARTIST_ID");
+         assertNotNull(a);
+         assertTrue(a.isPrimaryKey());
+         assertFalse(a.isGenerated());
+ 
+         if (adapter.supportsGeneratedKeys()) {
+             DbEntity bag = getDbEntity(map, "BAG");
+             DbAttribute id = bag.getAttribute("ID");
+             assertTrue(id.isPrimaryKey());
+             assertTrue(id.isGenerated());
+         }
+     }
+ 
+     private void assertObjEntities(DataMap map) {
+ 
+         boolean supportsLobs = accessStackAdapter.supportsLobs();
+         boolean supportsFK = accessStackAdapter.supportsFKConstraints();
+ 
+         ObjEntity ae = map.getObjEntity("Artist");
+         assertNotNull(ae);
+         assertEquals("Artist", ae.getName());
+ 
+         // assert primary key is not an attribute
+         assertNull(ae.getAttribute("artistId"));
+ 
+         if (supportsLobs) {
+             assertLobObjEntities(map);
+         }
+ 
+         if (supportsFK) {
+             Collection<?> rels1 = ae.getRelationships();
+             assertNotNull(rels1);
+             assertTrue(rels1.size() > 0);
+         }
+ 
+         assertEquals("foo.x.Artist", ae.getClassName());
+     }
+ 
+     private void assertLobDbEntities(DataMap map) {
+         DbEntity blobEnt = getDbEntity(map, "BLOB_TEST");
+         assertNotNull(blobEnt);
+         DbAttribute blobAttr = getDbAttribute(blobEnt, "BLOB_COL");
+         assertNotNull(blobAttr);
+         assertTrue(msgForTypeMismatch(Types.BLOB, blobAttr), Types.BLOB == blobAttr.getType()
+                 || Types.LONGVARBINARY == blobAttr.getType());
+         DbEntity clobEnt = getDbEntity(map, "CLOB_TEST");
+         assertNotNull(clobEnt);
+         DbAttribute clobAttr = getDbAttribute(clobEnt, "CLOB_COL");
+         assertNotNull(clobAttr);
+         assertTrue(msgForTypeMismatch(Types.CLOB, clobAttr), Types.CLOB == clobAttr.getType()
+                 || Types.LONGVARCHAR == clobAttr.getType());
+     }
+ 
+     private void assertLobObjEntities(DataMap map) {
+         ObjEntity blobEnt = map.getObjEntity("BlobTest");
+         assertNotNull(blobEnt);
+         // BLOBs should be mapped as byte[]
+         ObjAttribute blobAttr = blobEnt.getAttribute("blobCol");
 -        assertNotNull("BlobTest.blobCol failed to load", blobAttr);
++        assertNotNull("BlobTest.blobCol failed to doLoad", blobAttr);
+         assertEquals("byte[]", blobAttr.getType());
+         ObjEntity clobEnt = map.getObjEntity("ClobTest");
+         assertNotNull(clobEnt);
+         // CLOBs should be mapped as Strings by default
+         ObjAttribute clobAttr = clobEnt.getAttribute("clobCol");
+         assertNotNull(clobAttr);
+         assertEquals(String.class.getName(), clobAttr.getType());
+     }
+ 
+     private DbEntity getDbEntity(DataMap map, String name) {
+         DbEntity de = map.getDbEntity(name);
+         // sometimes table names get converted to lowercase
+         if (de == null) {
+             de = map.getDbEntity(name.toLowerCase());
+         }
+ 
+         return de;
+     }
+ 
+     private DbAttribute getDbAttribute(DbEntity ent, String name) {
+         DbAttribute da = ent.getAttribute(name);
+         // sometimes table names get converted to lowercase
+         if (da == null) {
+             da = ent.getAttribute(name.toLowerCase());
+         }
+ 
+         return da;
+     }
+ 
+     private DataMap originalMap() {
+         return runtime.getDataDomain().getDataNodes().iterator().next().getDataMaps().iterator().next();
+     }
+ 
+     /**
+      * Selectively check how different types were processed.
+      */
+     public void checkTypes(DataMap map) {
+         DbEntity dbe = getDbEntity(map, "PAINTING");
+         DbEntity floatTest = getDbEntity(map, "FLOAT_TEST");
+         DbEntity smallintTest = getDbEntity(map, "SMALLINT_TEST");
+         DbAttribute integerAttr = getDbAttribute(dbe, "PAINTING_ID");
+         DbAttribute decimalAttr = getDbAttribute(dbe, "ESTIMATED_PRICE");
+         DbAttribute varcharAttr = getDbAttribute(dbe, "PAINTING_TITLE");
+         DbAttribute floatAttr = getDbAttribute(floatTest, "FLOAT_COL");
+         DbAttribute smallintAttr = getDbAttribute(smallintTest, "SMALLINT_COL");
+ 
+         // check decimal
+         assertTrue(msgForTypeMismatch(Types.DECIMAL, decimalAttr), Types.DECIMAL == decimalAttr.getType()
+                 || Types.NUMERIC == decimalAttr.getType());
+         assertEquals(2, decimalAttr.getScale());
+ 
+         // check varchar
+         assertEquals(msgForTypeMismatch(Types.VARCHAR, varcharAttr), Types.VARCHAR, varcharAttr.getType());
+         assertEquals(255, varcharAttr.getMaxLength());
+         // check integer
+         assertEquals(msgForTypeMismatch(Types.INTEGER, integerAttr), Types.INTEGER, integerAttr.getType());
+         // check float
+         assertTrue(msgForTypeMismatch(Types.FLOAT, floatAttr), Types.FLOAT == floatAttr.getType()
+                 || Types.DOUBLE == floatAttr.getType() || Types.REAL == floatAttr.getType());
+ 
+         // check smallint
+         assertTrue(msgForTypeMismatch(Types.SMALLINT, smallintAttr), Types.SMALLINT == smallintAttr.getType()
+                 || Types.INTEGER == smallintAttr.getType());
+     }
+ 
+     public void checkAllDBEntities(DataMap map) {
+ 
+         for (DbEntity origEnt : originalMap().getDbEntities()) {
+             DbEntity newEnt = map.getDbEntity(origEnt.getName());
+             for (DbAttribute origAttr : origEnt.getAttributes()) {
+                 DbAttribute newAttr = newEnt.getAttribute(origAttr.getName());
+                 assertNotNull("No matching DbAttribute for '" + origAttr.getName(), newAttr);
+                 assertEquals(msgForTypeMismatch(origAttr, newAttr), origAttr.getType(), newAttr.getType());
+                 // length and precision doesn't have to be the same
+                 // it must be greater or equal
+                 assertTrue(origAttr.getMaxLength() <= newAttr.getMaxLength());
+                 assertTrue(origAttr.getScale() <= newAttr.getScale());
+             }
+         }
+     }
+ 
 -    private String msgForTypeMismatch(DbAttribute origAttr, DbAttribute newAttr) {
++    private static String msgForTypeMismatch(DbAttribute origAttr, DbAttribute newAttr) {
+         return msgForTypeMismatch(origAttr.getType(), newAttr);
+     }
+ 
 -    private String msgForTypeMismatch(int origType, DbAttribute newAttr) {
++    private static String msgForTypeMismatch(int origType, DbAttribute newAttr) {
+         String nt = TypesMapping.getSqlNameByType(newAttr.getType());
+         String ot = TypesMapping.getSqlNameByType(origType);
+         return attrMismatch(newAttr.getName(), "expected type: <" + ot + ">, but was <" + nt + ">");
+     }
+ 
 -    private String attrMismatch(String attrName, String msg) {
 -        StringBuffer buf = new StringBuffer();
 -        buf.append("[Error loading attribute '").append(attrName).append("': ").append(msg).append("]");
 -        return buf.toString();
++    private static String attrMismatch(String attrName, String msg) {
++        return "[Error loading attribute '" + attrName + "': " + msg + "]";
++    }
++
++/*
++    TODO
++
++    @Test
++    public void testCreateLoader() throws Exception {
++
++        DbLoader loader = parameters.createLoader(mock(DbAdapter.class), connection,
++                mock(DbLoaderDelegate.class));
++        assertNotNull(loader);
++        assertSame(connection, loader.getConnection());
++
++        assertTrue(loader.includeTableName("dummy"));
++    }
++
++    @Test
++    public void testCreateLoader_IncludeExclude() throws Exception {
++        DbImportConfiguration parameters = new DbImportConfiguration();
++        parameters.setIncludeTables("a,b,c*");
++
++        DbLoader loader1 = parameters.createLoader(mock(DbAdapter.class), mock(Connection.class),
++                mock(DbLoaderDelegate.class));
++
++        assertFalse(loader1.includeTableName("dummy"));
++        assertFalse(loader1.includeTableName("ab"));
++        assertTrue(loader1.includeTableName("a"));
++        assertTrue(loader1.includeTableName("b"));
++        assertTrue(loader1.includeTableName("cd"));
++
++        parameters.setExcludeTables("cd");
++
++        DbLoader loader2 = parameters.createLoader(mock(DbAdapter.class), mock(Connection.class),
++                mock(DbLoaderDelegate.class));
++
++        assertFalse(loader2.includeTableName("dummy"));
++        assertFalse(loader2.includeTableName("ab"));
++        assertTrue(loader2.includeTableName("a"));
++        assertTrue(loader2.includeTableName("b"));
++        assertFalse(loader2.includeTableName("cd"));
++        assertTrue(loader2.includeTableName("cx"));
++    }
++
++
++    @Test
++    public void testCreateLoader_MeaningfulPk_Default() throws Exception {
++        DbImportConfiguration parameters = new DbImportConfiguration();
++        assertNull(parameters.getMeaningfulPkTables());
++
++        DbLoader loader1 = parameters.createLoader(mock(DbAdapter.class), mock(Connection.class),
++                mock(DbLoaderDelegate.class));
++
++        DataMap map = new DataMap();
++
++        DbEntity e1 = new DbEntity("e1");
++        DbAttribute pk = new DbAttribute("pk", Types.INTEGER, e1);
++        pk.setPrimaryKey(true);
++        e1.addAttribute(pk);
++        DbAttribute nonPk = new DbAttribute("nonPk", Types.INTEGER, e1);
++        e1.addAttribute(nonPk);
++
++        map.addDbEntity(e1);
++
++        // DbLoader is so ugly and hard to test..
++        Field dbEntityList = DbLoader.class.getDeclaredField("dbEntityList");
++        dbEntityList.setAccessible(true);
++        List<DbEntity> entities = (List<DbEntity>) dbEntityList.get(loader1);
++        entities.add(e1);
++
++        loader1.loadObjEntities(map, entities);
++
++        ObjEntity oe1 = map.getObjEntity("E1");
++        assertEquals(1, oe1.getAttributes().size());
++        assertNotNull(oe1.getAttribute("nonPk"));
++    }
++
++    @Test
++    public void testCreateLoader_MeaningfulPk_Specified() throws Exception {
++        DbImportConfiguration parameters = new DbImportConfiguration();
++        parameters.setMeaningfulPkTables("a*");
++
++        DbLoader loader1 = parameters.createLoader(mock(DbAdapter.class), mock(Connection.class),
++                mock(DbLoaderDelegate.class));
++
++        // DbLoader is so ugly and hard to test..
++        Field dbEntityList = DbLoader.class.getDeclaredField("dbEntityList");
++        dbEntityList.setAccessible(true);
++        Collection<DbEntity> entities = (List<DbEntity>) dbEntityList.get(loader1);
++
++        DataMap map = new DataMap();
++
++        DbEntity e1 = new DbEntity("e1");
++        DbAttribute pk = new DbAttribute("pk", Types.INTEGER, e1);
++        pk.setPrimaryKey(true);
++        e1.addAttribute(pk);
++        DbAttribute nonPk = new DbAttribute("nonPk", Types.INTEGER, e1);
++        e1.addAttribute(nonPk);
++
++        map.addDbEntity(e1);
++        entities.add(e1);
++
++        DbEntity a1 = new DbEntity("a1");
++        DbAttribute apk = new DbAttribute("pk", Types.INTEGER, a1);
++        apk.setPrimaryKey(true);
++        a1.addAttribute(apk);
++        DbAttribute anonPk = new DbAttribute("nonPk", Types.INTEGER, a1);
++        a1.addAttribute(anonPk);
++
++        map.addDbEntity(a1);
++        entities.add(a1);
++
++        loader1.loadObjEntities(map, entities);
++
++        ObjEntity oe1 = map.getObjEntity("E1");
++        assertEquals(1, oe1.getAttributes().size());
++        assertNotNull(oe1.getAttribute("nonPk"));
++
++        ObjEntity oe2 = map.getObjEntity("A1");
++        assertEquals(2, oe2.getAttributes().size());
++        assertNotNull(oe2.getAttribute("nonPk"));
++        assertNotNull(oe2.getAttribute("pk"));
++    }
++
++    @Test
++    public void testCreateLoader_UsePrimitives_False() throws Exception {
++        DbImportConfiguration parameters = new DbImportConfiguration();
++        parameters.setUsePrimitives(false);
++
++        DbLoader loader1 = parameters.createLoader(mock(DbAdapter.class), mock(Connection.class),
++                mock(DbLoaderDelegate.class));
++
++        DataMap map = new DataMap();
++
++        DbEntity e1 = new DbEntity("e1");
++        DbAttribute nonPk = new DbAttribute("nonPk", Types.INTEGER, e1);
++        e1.addAttribute(nonPk);
++
++        map.addDbEntity(e1);
++
++        // DbLoader is so ugly and hard to test..
++        Field dbEntityList = DbLoader.class.getDeclaredField("dbEntityList");
++        dbEntityList.setAccessible(true);
++        List<DbEntity> entities = (List<DbEntity>) dbEntityList.get(loader1);
++        entities.add(e1);
++
++        loader1.loadObjEntities(map, entities);
++
++        ObjEntity oe1 = map.getObjEntity("E1");
++
++        ObjAttribute oa1 = oe1.getAttribute("nonPk");
++        assertEquals("java.lang.Integer", oa1.getType());
++    }
++
++    @Test
++    public void testCreateLoader_UsePrimitives_True() throws Exception {
++        DbImportConfiguration parameters = new DbImportConfiguration();
++        parameters.setUsePrimitives(true);
++
++        DbLoader loader1 = parameters.createLoader(mock(DbAdapter.class), mock(Connection.class),
++                mock(DbLoaderDelegate.class));
++
++        DataMap map = new DataMap();
++
++        DbEntity e1 = new DbEntity("e1");
++        DbAttribute nonPk = new DbAttribute("nonPk", Types.INTEGER, e1);
++        e1.addAttribute(nonPk);
++
++        map.addDbEntity(e1);
++
++        // DbLoader is so ugly and hard to test..
++        Field dbEntityList = DbLoader.class.getDeclaredField("dbEntityList");
++        dbEntityList.setAccessible(true);
++        List<DbEntity> entities = (List<DbEntity>) dbEntityList.get(loader1);
++        entities.add(e1);
++
++        loader1.loadObjEntities(map, entities);
++
++        ObjEntity oe1 = map.getObjEntity("E1");
++
++        ObjAttribute oa1 = oe1.getAttribute("nonPk");
++        assertEquals("int", oa1.getType());
+     }
++*/
++
+ }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
----------------------------------------------------------------------
diff --cc cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
index 0000000,4b0a9cd..4cac2b2
mode 000000,100644..100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
@@@ -1,0 -1,122 +1,123 @@@
+ /*****************************************************************
+  *   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.access;
+ 
+ import org.apache.cayenne.CayenneException;
+ import org.apache.cayenne.dba.DbAdapter;
+ import org.apache.cayenne.di.Inject;
+ import org.apache.cayenne.map.DataMap;
+ import org.apache.cayenne.map.DbEntity;
++import org.apache.cayenne.access.loader.DefaultDbLoaderDelegate;
+ import org.apache.cayenne.unit.di.server.ServerCase;
+ import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
+ import org.apache.cayenne.unit.di.server.UseServerRuntime;
+ import org.junit.Test;
+ 
+ import java.util.Collection;
+ 
+ import static org.junit.Assert.assertEquals;
+ import static org.junit.Assert.assertNotNull;
+ 
+ @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+ public class DbLoaderPartialIT extends ServerCase {
+ 
+     @Inject
+     private DbAdapter adapter;
+ 
+     @Inject
+     private ServerCaseDataSourceFactory dataSourceFactory;
+ 
+     private DbLoader loader;
+ 
+     @Override
+     protected void setUpAfterInjection() throws Exception {
+         loader = new DbLoader(
+                 dataSourceFactory.getSharedDataSource().getConnection(),
+                 adapter,
+                 new DefaultDbLoaderDelegate() {
+ 
+                     public boolean overwriteDbEntity(DbEntity ent) throws CayenneException {
+                         return !(ent.getName().equalsIgnoreCase("ARTIST")
+                                 || ent.getName().equalsIgnoreCase("PAINTING"));
+                     }
+                 });
+     }
+ 
+     @Override
+     protected void tearDownBeforeInjection() throws Exception {
+         loader.getConnection().close();
+     }
+ 
+     /**
+      * Tests that FKs are properly loaded when the relationship source is not loaded. See
+      * CAY-479. This test will perform two reverse engineers. The second reverse engineer
+      * will skip two tables that share relationships with PAINTING. Relationships in
+      * ARTIST and GALLERY should remain unmodified, and all PAINTING relationships should
+      * be loaded.
+      */
+     @Test
+     public void testPartialLoad() throws Exception {
+ 
+         DataMap map = new DataMap();
+         String tableLabel = adapter.tableTypeForTable();
+ 
+         loader.loadDataMapFromDB(null, "%", new String[] {
+             tableLabel
+         }, map);
+ 
+         Collection<?> rels = getDbEntity(map, "ARTIST").getRelationships();
+         assertNotNull(rels);
+         int artistRels = rels.size();
+ 
+         rels = getDbEntity(map, "GALLERY").getRelationships();
+         assertNotNull(rels);
+         int galleryRels = rels.size();
+ 
+         rels = getDbEntity(map, "PAINTING").getRelationships();
+         assertNotNull(rels);
+         int paintingRels = rels.size();
+ 
+         loader.loadDataMapFromDB(null, "%", new String[] {
+             tableLabel
+         }, map);
+ 
+         rels = getDbEntity(map, "ARTIST").getRelationships();
+         assertNotNull(rels);
+         assertEquals(artistRels, rels.size());
+ 
+         rels = getDbEntity(map, "GALLERY").getRelationships();
+         assertNotNull(rels);
+         assertEquals(galleryRels, rels.size());
+ 
+         rels = getDbEntity(map, "PAINTING").getRelationships();
+         assertNotNull(rels);
+         assertEquals(paintingRels, rels.size());
+     }
+ 
+     private DbEntity getDbEntity(DataMap map, String name) {
+         DbEntity de = map.getDbEntity(name);
+         // sometimes table names get converted to lowercase
+         if (de == null) {
+             de = map.getDbEntity(name.toLowerCase());
+         }
+ 
+         return de;
+     }
+ }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/test/java/org/apache/cayenne/access/loader/ManyToManyCandidateEntityTest.java
----------------------------------------------------------------------
diff --cc cayenne-server/src/test/java/org/apache/cayenne/access/loader/ManyToManyCandidateEntityTest.java
index 4348edf,0000000..ad4238f
mode 100644,000000..100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/loader/ManyToManyCandidateEntityTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/loader/ManyToManyCandidateEntityTest.java
@@@ -1,106 -1,0 +1,113 @@@
 +/*****************************************************************
 + *   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.access.loader;
 +
- import junit.framework.TestCase;
- 
 +import org.apache.cayenne.configuration.ConfigurationNameMapper;
 +import org.apache.cayenne.configuration.ConfigurationTree;
 +import org.apache.cayenne.configuration.DataChannelDescriptor;
 +import org.apache.cayenne.configuration.DataMapLoader;
 +import org.apache.cayenne.configuration.DefaultConfigurationNameMapper;
 +import org.apache.cayenne.configuration.XMLDataChannelDescriptorLoader;
 +import org.apache.cayenne.configuration.XMLDataMapLoader;
 +import org.apache.cayenne.di.AdhocObjectFactory;
 +import org.apache.cayenne.di.Binder;
 +import org.apache.cayenne.di.ClassLoaderManager;
 +import org.apache.cayenne.di.DIBootstrap;
 +import org.apache.cayenne.di.Injector;
 +import org.apache.cayenne.di.Module;
 +import org.apache.cayenne.di.spi.DefaultAdhocObjectFactory;
 +import org.apache.cayenne.di.spi.DefaultClassLoaderManager;
 +import org.apache.cayenne.map.DataMap;
 +import org.apache.cayenne.map.ObjEntity;
 +import org.apache.cayenne.map.Relationship;
 +import org.apache.cayenne.map.naming.LegacyNameGenerator;
 +import org.apache.cayenne.resource.URLResource;
++import org.junit.Before;
++import org.junit.Test;
 +
 +import java.net.URL;
 +import java.util.ArrayList;
 +
- public class ManyToManyCandidateEntityTest extends TestCase {
++import static org.junit.Assert.assertEquals;
++import static org.junit.Assert.assertNotNull;
++import static org.junit.Assert.assertNull;
++
++public class ManyToManyCandidateEntityTest {
 +
 +    private DataMap map;
 +
-     @Override
++    @Before
 +    public void setUp() throws Exception {
 +        Module testModule = new Module() {
 +
 +            public void configure(Binder binder) {
 +                binder.bind(ClassLoaderManager.class).to(DefaultClassLoaderManager.class);
 +                binder.bind(AdhocObjectFactory.class).to(DefaultAdhocObjectFactory.class);
 +                binder.bind(DataMapLoader.class).to(XMLDataMapLoader.class);
 +                binder.bind(ConfigurationNameMapper.class).to(DefaultConfigurationNameMapper.class);
 +            }
 +        };
 +
 +        Injector injector = DIBootstrap.createInjector(testModule);
 +
 +        // create and initialize loader instance to test
 +        XMLDataChannelDescriptorLoader loader = new XMLDataChannelDescriptorLoader();
 +        injector.injectMembers(loader);
 +
 +        String testConfigName = "relationship-optimisation";
 +        URL url = getClass().getResource("cayenne-" + testConfigName + ".xml");
 +
 +        ConfigurationTree<DataChannelDescriptor> tree = loader.load(new URLResource(url));
 +
 +        map = tree.getRootNode().getDataMap(testConfigName);
 +    }
 +
++    @Test
 +    public void testMatchingForManyToManyEntity() throws Exception {
 +        ObjEntity manyToManyEntity = map.getObjEntity("Table1Table2");
 +
 +        assertNotNull(ManyToManyCandidateEntity.build(manyToManyEntity));
 +    }
 +
++    @Test
 +    public void testMatchingForNotManyToManyEntity() throws Exception {
 +        ObjEntity entity = map.getObjEntity("Table1");
 +
 +        assertNull(ManyToManyCandidateEntity.build(entity));
 +    }
 +
++    @Test
 +    public void testOptimisationForManyToManyEntity() {
 +        ObjEntity manyToManyEntity = map.getObjEntity("Table1Table2");
 +
 +        ManyToManyCandidateEntity.build(manyToManyEntity).optimizeRelationships(new LegacyNameGenerator());
 +
 +        ObjEntity table1Entity = map.getObjEntity("Table1");
 +        ObjEntity table2Entity = map.getObjEntity("Table2");
 +
 +        assertEquals(1, table1Entity.getRelationships().size());
 +        assertEquals(table2Entity, new ArrayList<Relationship>(table1Entity.getRelationships()).get(0)
 +                .getTargetEntity());
 +
 +        assertEquals(1, table2Entity.getRelationships().size());
 +        assertEquals(table1Entity, new ArrayList<Relationship>(table2Entity.getRelationships()).get(0)
 +                .getTargetEntity());
 +    }
 +
 +}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
----------------------------------------------------------------------
diff --cc cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
index 1305229,d8fac76..2e75d6b
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
@@@ -18,15 -18,7 +18,8 @@@
   ****************************************************************/
  package org.apache.cayenne.merge;
  
- import java.sql.Connection;
- import java.sql.Statement;
- import java.sql.Types;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- 
  import org.apache.cayenne.access.DataNode;
 +import org.apache.cayenne.access.loader.DbLoaderConfiguration;
  import org.apache.cayenne.configuration.server.ServerRuntime;
  import org.apache.cayenne.dba.DbAdapter;
  import org.apache.cayenne.di.Inject;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-tools/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-tools/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
----------------------------------------------------------------------
diff --cc cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
index 0407649,b641759..23fe2bd
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
@@@ -121,32 -114,31 +121,32 @@@ public class DbImporterTask extends Tas
      }
  
      /**
-      * @since 3.2
+      * @since 4.0
       */
      public void setOverwrite(boolean overwrite) {
 -        parameters.setOverwrite(overwrite);
 +        config.setOverwrite(overwrite);
      }
  
      /**
-      * @deprecated since 3.2 use {@link #setSchema(String)}
+      * @deprecated since 4.0 use {@link #setSchema(String)}
       */
 +    @Deprecated
      public void setSchemaName(String schemaName) {
 -        this.schemaName = schemaName;
 +        this.setSchema(schemaName);
      }
  
      /**
-      * @since 3.2
+      * @since 4.0
       */
      public void setSchema(String schema) {
 -        parameters.setSchema(schema);
 +        filterBuilder.schema(schema);
      }
  
      /**
-      * @since 3.2
+      * @since 4.0
       */
      public void setDefaultPackage(String defaultPackage) {
 -        parameters.setDefaultPackage(defaultPackage);
 +        config.setDefaultPackage(defaultPackage);
      }
  
      public void setTablePattern(String tablePattern) {
@@@ -162,21 -154,17 +162,21 @@@
      }
  
      /**
-      * @deprecated since 3.2 use {@link #setMeaningfulPkTables(String)}
+      * @deprecated since 4.0 use {@link #setMeaningfulPkTables(String)}
       */
      public void setMeaningfulPk(boolean meaningfulPk) {
 -        this.meaningfulPk = meaningfulPk;
 +        log("'meaningfulPk' property is deprecated. Use 'meaningfulPkTables' pattern instead", Project.MSG_WARN);
 +
 +        if (meaningfulPk) {
 +            setMeaningfulPkTables("*");
 +        }
      }
  
      /**
-      * @since 3.2
+      * @since 4.0
       */
      public void setMeaningfulPkTables(String meaningfulPkTables) {
 -        parameters.setMeaningfulPkTables(meaningfulPkTables);
 +        config.setMeaningfulPkTables(meaningfulPkTables);
      }
  
      public void setNamingStrategy(String namingStrategy) {
@@@ -208,67 -196,43 +208,67 @@@
      }
  
      /**
-      * @since 3.2
+      * @since 4.0
       */
      public void setIncludeTables(String includeTables) {
 -        parameters.setIncludeTables(includeTables);
 +        filterBuilder.includeTables(includeTables);
      }
  
      /**
-      * @since 3.2
+      * @since 4.0
       */
      public void setExcludeTables(String excludeTables) {
 -        parameters.setExcludeTables(excludeTables);
 +        filterBuilder.excludeTables(excludeTables);
      }
  
      /**
-      * @since 3.2
+      * @since 4.0
       */
      public void setUsePrimitives(boolean usePrimitives) {
 -        parameters.setUsePrimitives(usePrimitives);
 +        config.setUsePrimitives(usePrimitives);
      }
  
 -    private void initSchema() {
 -        if (schemaName != null) {
 -            log("'schemaName' property is deprecated. Use 'schema' instead", Project.MSG_WARN);
 -        }
 +    public void addConfiguredIncludeColumn(IncludeColumn includeColumn) {
 +        reverseEngineering.addIncludeColumn(includeColumn);
 +    }
  
 -        if (parameters.getSchema() == null) {
 -            parameters.setSchema(schemaName);
 -        }
 +    public void addConfiguredExcludeColumn(ExcludeColumn excludeColumn) {
 +        reverseEngineering.addExcludeColumn(excludeColumn);
      }
  
 -    private void initMeaningfulPkTables() {
 -        if (meaningfulPk) {
 -            log("'meaningfulPk' property is deprecated. Use 'meaningfulPkTables' pattern instead", Project.MSG_WARN);
 -        }
 +    public void addConfiguredIncludeTable(IncludeTable includeTable) {
 +        reverseEngineering.addIncludeTable(includeTable);
 +    }
  
 -        if (parameters.getMeaningfulPkTables() == null && meaningfulPk) {
 -            parameters.setMeaningfulPkTables("*");
 -        }
 +    public void addConfiguredExcludeTable(ExcludeTable excludeTable) {
 +        reverseEngineering.addExcludeTable(excludeTable);
 +    }
 +
 +    public void addConfiguredIncludeProcedure(IncludeProcedure includeProcedure) {
 +        reverseEngineering.addIncludeProcedure(includeProcedure);
 +    }
 +
 +    public void addConfiguredExcludeProcedure(ExcludeProcedure excludeProcedure) {
 +        reverseEngineering.addExcludeProcedure(excludeProcedure);
 +    }
 +
 +    public void addConfiguredSchema(Schema schema) {
 +        reverseEngineering.addSchema(schema);
 +    }
 +
 +    public void addConfiguredCatalog(Catalog catalog) {
 +        reverseEngineering.addCatalog(catalog);
 +    }
 +
 +    public ReverseEngineering getReverseEngineering() {
 +        return reverseEngineering;
 +    }
 +
 +    public File getMap() {
 +        return config.getDataMapFile();
 +    }
 +
 +    public DbImportConfiguration toParameters() {
 +        return config;
      }
  }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportAction.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
----------------------------------------------------------------------
diff --cc cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
index a67e85b,67fe11c..14183dc
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
@@@ -19,27 -19,44 +19,29 @@@
  
  package org.apache.cayenne.tools;
  
- import junit.framework.TestCase;
- 
 +import org.apache.cayenne.access.loader.NamePatternMatcher;
  import org.apache.tools.ant.Task;
+ import org.junit.Test;
+ 
+ import static org.junit.Assert.assertEquals;
  
 +import static org.apache.cayenne.access.loader.NamePatternMatcher.replaceWildcardInStringWithString;
 +
- public class NamePatternMatcherTest extends TestCase {
+ public class NamePatternMatcherTest {
  
      /**
       * Test pattern expansion.
       */
+     @Test
      public void testReplaceWildcardInStringWithString() throws Exception {
 -        assertEquals(null, NamePatternMatcher.replaceWildcardInStringWithString(
 -                "*",
 -                null,
 -                "Entity"));
 -        assertEquals("*.java", NamePatternMatcher.replaceWildcardInStringWithString(
 -                null,
 -                "*.java",
 -                "Entity"));
 -        assertEquals("Entity.java", NamePatternMatcher.replaceWildcardInStringWithString(
 -                "*",
 -                "*.java",
 -                "Entity"));
 -        assertEquals("java.Entity", NamePatternMatcher.replaceWildcardInStringWithString(
 -                "*",
 -                "java.*",
 -                "Entity"));
 -        assertEquals("Entity.Entity", NamePatternMatcher
 -                .replaceWildcardInStringWithString("*", "*.*", "Entity"));
 -        assertEquals("EntityEntity", NamePatternMatcher
 -                .replaceWildcardInStringWithString("*", "**", "Entity"));
 -        assertEquals("EditEntityReport.vm", NamePatternMatcher
 -                .replaceWildcardInStringWithString("*", "Edit*Report.vm", "Entity"));
 -        assertEquals("Entity", NamePatternMatcher.replaceWildcardInStringWithString(
 -                "*",
 -                "*",
 -                "Entity"));
 +        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"));
      }
  
      /**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/plugins/maven-cayenne-plugin/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
----------------------------------------------------------------------
diff --cc plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
index 1918106,2a11e23..1e07ca1
--- 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
@@@ -82,8 -71,88 +82,8 @@@ public class DbImporterMojo extends Abs
      private boolean overwrite;
  
      /**
 -     * DB schema to use for DB importing.
 -     * 
 -     * @parameter expression="${cdbimport.schemaName}"
 -     * @deprecated since 4.0 renamed to "schema"
 -     */
 -    private String schemaName;
 -
 -    /**
 -     * DB schema to use for DB importing.
 -     * 
 -     * @parameter expression="${cdbimport.catalog}"
 -     * @since 4.0
 -     */
 -    private String catalog;
 -
 -    /**
 -     * DB schema to use for DB importing.
 -     * 
 -     * @parameter expression="${cdbimport.schema}"
 -     * @since 4.0
 -     */
 -    private String schema;
 -
 -    /**
 -     * Pattern for tables to import from DB.
 -     * 
 -     * The default is to match against all tables.
 -     * 
 -     * @parameter expression="${cdbimport.tablePattern}"
 -     */
 -    private String tablePattern;
 -
 -    /**
 -     * A comma-separated list of Perl5 regex that defines tables that should be
 -     * included in import.
 -     * 
 -     * @parameter expression="${cdbimport.includeTables}"
 -     */
 -    private String includeTables;
 -
 -    /**
 -     * A comma-separated list of Perl5 regex that defines tables that should be
 -     * skipped from import.
 -     * 
 -     * @parameter expression="${cdbimport.excludeTables}"
 -     */
 -    private String excludeTables;
 -
 -    /**
 -     * Indicates whether stored procedures should be imported.
 -     * 
 -     * Default is <code>false</code>.
 -     * 
 -     * @parameter expression="${cdbimport.importProcedures}"
 -     *            default-value="false"
 -     */
 -    private boolean importProcedures;
 -
 -    /**
 -     * Pattern for stored procedures to import from DB. This is only meaningful
 -     * if <code>importProcedures</code> is set to <code>true</code>.
 -     * 
 -     * The default is to match against all stored procedures.
 -     * 
 -     * @parameter expression="${cdbimport.procedurePattern}"
 -     */
 -    private String procedurePattern;
 -
 -    /**
 -     * Indicates whether primary keys should be mapped as meaningful attributes
 -     * in the object entities.
 -     * 
 -     * Default is <code>false</code>.
 -     * 
 -     * @parameter expression="${cdbimport.meaningfulPk}" default-value="false"
 -     * @deprecated since 4.0 use meaningfulPkTables
 -     */
 -    private boolean meaningfulPk;
 -
 -    /**
       * @parameter expression="${cdbimport.meaningfulPkTables}"
-      * @since 3.2
+      * @since 4.0
       */
      private String meaningfulPkTables;
  
@@@ -146,92 -215,6 +146,92 @@@
       */
      private boolean usePrimitives;
  
 +    private final ReverseEngineering reverseEngineering = new ReverseEngineering();
 +
 +    private final EntityFilters.Builder filterBuilder = new EntityFilters.Builder();
 +
 +    /**
 +     * DB schema to use for DB importing.
 +     *
 +     * @parameter expression="${cdbimport.schemaName}"
-      * @deprecated since 3.2 renamed to "schema"
++     * @deprecated since 4.0 renamed to "schema"
 +     */
 +    private void setSchemaName(String schemaName) {
 +        getLog().warn("'schemaName' property is deprecated. Use 'schema' instead");
 +
 +        filterBuilder.schema(schemaName);
 +    }
 +
 +    /**
 +     * DB schema to use for DB importing.
 +     *
 +     * @parameter expression="${cdbimport.catalog}"
-      * @since 3.2
++     * @since 4.0
 +     */
 +    private void setCatalog(String catalog) {
 +        filterBuilder.catalog(catalog);
 +    }
 +
 +    /**
 +     * DB schema to use for DB importing.
 +     *
 +     * @parameter expression="${cdbimport.schema}"
-      * @since 3.2
++     * @since 4.0
 +     */
 +    private void setSchema(String schema) {
 +        filterBuilder.schema(schema);
 +    }
 +
 +    /**
 +     * Pattern for tables to import from DB.
 +     *
 +     * The default is to match against all tables.
 +     *
 +     * @parameter expression="${cdbimport.tablePattern}"
 +     */
 +    private void setTablePattern(String tablePattern) {
 +        filterBuilder.includeTables(tablePattern);
 +    }
 +
 +    /**
 +     * Indicates whether stored procedures should be imported.
 +     *
 +     * Default is <code>false</code>.
 +     *
 +     * @parameter expression="${cdbimport.importProcedures}"
 +     *            default-value="false"
 +     */
 +    private void setImportProcedures(boolean importProcedures) {
 +        filterBuilder.setProceduresFilters(importProcedures ? FilterFactory.TRUE : FilterFactory.NULL);
 +    }
 +
 +    /**
 +     * Pattern for stored procedures to import from DB. This is only meaningful
 +     * if <code>importProcedures</code> is set to <code>true</code>.
 +     *
 +     * The default is to match against all stored procedures.
 +     *
 +     * @parameter expression="${cdbimport.procedurePattern}"
 +     */
 +    private void setProcedurePattern(String procedurePattern) {
 +        filterBuilder.includeProcedures(procedurePattern);
 +    }
 +
 +    /**
 +     * Indicates whether primary keys should be mapped as meaningful attributes
 +     * in the object entities.
 +     *
 +     * Default is <code>false</code>.
 +     *
 +     * @parameter expression="${cdbimport.meaningfulPk}" default-value="false"
-      * @deprecated since 3.2 use meaningfulPkTables
++     * @deprecated since 4.0 use meaningfulPkTables
 +     */
 +    public void setMeaningfulPk(boolean meaningfulPk) {
 +        getLog().warn("'meaningfulPk' property is deprecated. Use 'meaningfulPkTables' pattern instead");
 +
 +        this.meaningfulPkTables = meaningfulPk ? "*" : null;
 +    }
 +
      public void execute() throws MojoExecutionException, MojoFailureException {
  
          Log logger = new MavenLogger(this);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/16a8cec6/plugins/pom.xml
----------------------------------------------------------------------


[45/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
new file mode 100644
index 0000000..e27e6a5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
@@ -0,0 +1,129 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class DataContextEJBQLQueryCompoundIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    private TableHelper tCompoundPk;
+    private TableHelper tCompoundFk;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+
+        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPk.setColumns("KEY1", "KEY2");
+
+        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
+        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
+    }
+
+    private void createTwoCompoundPKTwoFK() throws Exception {
+        tCompoundPk.insert("a1", "a2");
+        tCompoundPk.insert("b1", "b2");
+        tCompoundFk.insert(33001, "a1", "a2");
+        tCompoundFk.insert(33002, "b1", "b2");
+    }
+
+    @Test
+    public void testSelectFromWhereMatchOnMultiColumnObject() throws Exception {
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        String ejbql = "select e from CompoundFkTestEntity e WHERE e.toCompoundPk = :param";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", a);
+
+        List<?> ps = context.performQuery(query);
+        assertEquals(1, ps.size());
+
+        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
+        assertEquals(33002, Cayenne.intPKForObject(o1));
+    }
+
+    @Test
+    public void testSelectFromWhereMatchOnMultiColumnObjectReverse() throws Exception {
+        if (!accessStackAdapter.supportsReverseComparison()) {
+            return;
+        }
+
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        String ejbql = "select e from CompoundFkTestEntity e WHERE :param = e.toCompoundPk";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", a);
+
+        List<?> ps = context.performQuery(query);
+        assertEquals(1, ps.size());
+
+        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
+        assertEquals(33002, Cayenne.intPKForObject(o1));
+    }
+
+    @Test
+    public void testSelectFromWhereNoMatchOnMultiColumnObject() throws Exception {
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        String ejbql = "select e from CompoundFkTestEntity e WHERE e.toCompoundPk <> :param";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", a);
+
+        List<?> ps = context.performQuery(query);
+        assertEquals(1, ps.size());
+
+        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
+        assertEquals(33001, Cayenne.intPKForObject(o1));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
index 6e32995..a61cf18 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
@@ -29,8 +29,6 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.test.junit.AssertExtras;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
@@ -39,11 +37,9 @@ import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 
 import static org.junit.Assert.assertEquals;
@@ -64,8 +60,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
 
     private TableHelper tArtist;
     private TableHelper tPainting;
-    private TableHelper tCompoundPk;
-    private TableHelper tCompoundFk;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
@@ -74,8 +68,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -90,12 +82,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
                 Types.BIGINT,
                 Types.VARCHAR,
                 Types.DECIMAL);
-
-        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPk.setColumns("KEY1", "KEY2");
-
-        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
-        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
     }
 
     private void createFourArtistsTwoPaintings() throws Exception {
@@ -107,13 +93,6 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         tPainting.insert(33002, 33002, "P2", 5000);
     }
 
-    private void createTwoCompoundPKTwoFK() throws Exception {
-        tCompoundPk.insert("a1", "a2");
-        tCompoundPk.insert("b1", "b2");
-        tCompoundFk.insert(33001, "a1", "a2");
-        tCompoundFk.insert(33002, "b1", "b2");
-    }
-
     /**
      * CAY-899: Checks that aggregate results do not cause callbacks execution.
      */
@@ -494,76 +473,4 @@ public class DataContextEJBQLQueryIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject(p));
     }
 
-    @Test
-    public void testSelectFromWhereMatchOnMultiColumnObject() throws Exception {
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        String ejbql = "select e from CompoundFkTestEntity e WHERE e.toCompoundPk = :param";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", a);
-
-        List<?> ps = context.performQuery(query);
-        assertEquals(1, ps.size());
-
-        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
-        assertEquals(33002, Cayenne.intPKForObject(o1));
-    }
-
-    @Test
-    public void testSelectFromWhereMatchOnMultiColumnObjectReverse() throws Exception {
-        if (!accessStackAdapter.supportsReverseComparison()) {
-            return;
-        }
-
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        String ejbql = "select e from CompoundFkTestEntity e WHERE :param = e.toCompoundPk";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", a);
-
-        List<?> ps = context.performQuery(query);
-        assertEquals(1, ps.size());
-
-        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
-        assertEquals(33002, Cayenne.intPKForObject(o1));
-    }
-
-    @Test
-    public void testSelectFromWhereNoMatchOnMultiColumnObject() throws Exception {
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        String ejbql = "select e from CompoundFkTestEntity e WHERE e.toCompoundPk <> :param";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", a);
-
-        List<?> ps = context.performQuery(query);
-        assertEquals(1, ps.size());
-
-        CompoundFkTestEntity o1 = (CompoundFkTestEntity) ps.get(0);
-        assertEquals(33001, Cayenne.intPKForObject(o1));
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
new file mode 100644
index 0000000..b85c3a0
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
@@ -0,0 +1,87 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.QueryResponse;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.EJBQLQuery;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class DataContextEJBQLUpdateCompoundIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    private TableHelper tCompoundPk;
+    private TableHelper tCompoundFk;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+
+        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPk.setColumns("KEY1", "KEY2");
+
+        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
+        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
+    }
+
+    private void createTwoCompoundPKTwoFK() throws Exception {
+        tCompoundPk.insert("a1", "a2");
+        tCompoundPk.insert("b1", "b2");
+        tCompoundFk.insert(33001, "a1", "a2");
+        tCompoundFk.insert(33002, "b1", "b2");
+    }
+
+    @Test
+    public void testUpdateNoQualifierToOneCompoundPK() throws Exception {
+        createTwoCompoundPKTwoFK();
+
+        Map<String, String> key1 = new HashMap<String, String>();
+        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
+        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
+        CompoundPkTestEntity object = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                key1);
+
+        EJBQLQuery check = new EJBQLQuery(
+                "select count(e) from CompoundFkTestEntity e WHERE e.toCompoundPk <> :param");
+        check.setParameter("param", object);
+
+        Object notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(1l), notUpdated);
+
+        String ejbql = "UPDATE CompoundFkTestEntity e SET e.toCompoundPk = :param";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter("param", object);
+
+        QueryResponse result = context.performGenericQuery(query);
+
+        int[] count = result.firstUpdateCount();
+        assertNotNull(count);
+        assertEquals(1, count.length);
+        assertEquals(2, count[0]);
+
+        notUpdated = Cayenne.objectForQuery(context, check);
+        assertEquals(new Long(0l), notUpdated);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
index 3de1db8..fad0256 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
@@ -26,15 +26,11 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.sql.Types;
-import java.util.HashMap;
-import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -50,19 +46,14 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
 
     private TableHelper tArtist;
     private TableHelper tPainting;
-    private TableHelper tCompoundPk;
-    private TableHelper tCompoundFk;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("BOOLEAN_TEST");
         dbHelper.deleteAll("PAINTING_INFO");
         dbHelper.deleteAll("PAINTING");
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -78,11 +69,6 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
                 Types.VARCHAR,
                 Types.DECIMAL);
 
-        tCompoundPk = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPk.setColumns("KEY1", "KEY2");
-
-        tCompoundFk = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
-        tCompoundFk.setColumns("PKEY", "F_KEY1", "F_KEY2");
     }
 
     private void createThreeArtistsTwoPaintings() throws Exception {
@@ -93,13 +79,6 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         tPainting.insert(33002, 33002, "P2", 5000);
     }
 
-    private void createTwoCompoundPKTwoFK() throws Exception {
-        tCompoundPk.insert("a1", "a2");
-        tCompoundPk.insert("b1", "b2");
-        tCompoundFk.insert(33001, "a1", "a2");
-        tCompoundFk.insert(33002, "b1", "b2");
-    }
-
     @Test
     public void testUpdateQualifier() throws Exception {
         createThreeArtistsTwoPaintings();
@@ -247,40 +226,6 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
     }
 
     @Test
-    public void testUpdateNoQualifierBoolean() throws Exception {
-
-        BooleanTestEntity o1 = context.newObject(BooleanTestEntity.class);
-        o1.setBooleanColumn(Boolean.TRUE);
-
-        BooleanTestEntity o2 = context.newObject(BooleanTestEntity.class);
-        o2.setBooleanColumn(Boolean.FALSE);
-
-        BooleanTestEntity o3 = context.newObject(BooleanTestEntity.class);
-        o3.setBooleanColumn(Boolean.FALSE);
-
-        context.commitChanges();
-
-        EJBQLQuery check = new EJBQLQuery("select count(p) from BooleanTestEntity p "
-                + "WHERE p.booleanColumn = true");
-
-        Object notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(1l), notUpdated);
-
-        String ejbql = "UPDATE BooleanTestEntity AS p SET p.booleanColumn = true";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-
-        QueryResponse result = context.performGenericQuery(query);
-
-        int[] count = result.firstUpdateCount();
-        assertNotNull(count);
-        assertEquals(1, count.length);
-        assertEquals(3, count[0]);
-
-        notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(3l), notUpdated);
-    }
-
-    @Test
     public void testUpdateNoQualifierToOne() throws Exception {
         createThreeArtistsTwoPaintings();
 
@@ -308,38 +253,4 @@ public class DataContextEJBQLUpdateIT extends ServerCase {
         assertEquals(new Long(0l), notUpdated);
     }
 
-    @Test
-    public void testUpdateNoQualifierToOneCompoundPK() throws Exception {
-        createTwoCompoundPKTwoFK();
-
-        Map<String, String> key1 = new HashMap<String, String>();
-        key1.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "b1");
-        key1.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "b2");
-        CompoundPkTestEntity object = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                key1);
-
-        EJBQLQuery check = new EJBQLQuery(
-                "select count(e) from CompoundFkTestEntity e WHERE e.toCompoundPk <> :param");
-        check.setParameter("param", object);
-
-        Object notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(1l), notUpdated);
-
-        String ejbql = "UPDATE CompoundFkTestEntity e SET e.toCompoundPk = :param";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter("param", object);
-
-        QueryResponse result = context.performGenericQuery(query);
-
-        int[] count = result.firstUpdateCount();
-        assertNotNull(count);
-        assertEquals(1, count.length);
-        assertEquals(2, count[0]);
-
-        notUpdated = Cayenne.objectForQuery(context, check);
-        assertEquals(new Long(0l), notUpdated);
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
index 7b8483d..34be732 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
@@ -27,8 +27,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKDep;
-import org.apache.cayenne.testdo.testmap.MeaningfulPKTest1;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep;
+import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.MEANINGFUL_PK_PROJECT)
 public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
index 24fa4e4..594ef1f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
@@ -26,8 +26,8 @@ import org.apache.cayenne.query.CapsStrategy;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ExtendedTypeEntity;
-import org.apache.cayenne.testdo.testmap.StringET1;
+import org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity;
+import org.apache.cayenne.testdo.extended_type.StringET1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -36,7 +36,7 @@ import java.util.Arrays;
 
 import static org.junit.Assert.assertEquals;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.EXTENDED_TYPE_PROJECT)
 public class DataContextExtendedTypeOperationsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
index 9da593e..0e23a8d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.NoPkTestEntity;
+import org.apache.cayenne.testdo.no_pk.NoPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.NO_PK_PROJECT)
 public class DataContextNoPkIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
index 12454bb..06cc7bd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
@@ -31,10 +31,10 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.query.SortOrder;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.CharFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
+import org.apache.cayenne.testdo.compound.CharFkTestEntity;
+import org.apache.cayenne.testdo.compound.CharPkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -50,7 +50,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Test prefetching of various obscure cases.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
 public class DataContextPrefetchExtrasIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
index 75eb08e..8a6267d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
@@ -51,10 +51,10 @@ import static org.junit.Assert.assertTrue;
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextProcedureQueryIT extends ServerCase {
 
-    public static final String UPDATE_STORED_PROCEDURE = "cayenne_tst_upd_proc";
-    public static final String UPDATE_STORED_PROCEDURE_NOPARAM = "cayenne_tst_upd_proc2";
-    public static final String SELECT_STORED_PROCEDURE = "cayenne_tst_select_proc";
-    public static final String OUT_STORED_PROCEDURE = "cayenne_tst_out_proc";
+    public static final String UPDATE_STORED_PROCEDURE = "cayenne_test_upd_proc";
+    public static final String UPDATE_STORED_PROCEDURE_NOPARAM = "cayenne_test_upd_proc2";
+    public static final String SELECT_STORED_PROCEDURE = "cayenne_test_select_proc";
+    public static final String OUT_STORED_PROCEDURE = "cayenne_test_out_proc";
 
     @Inject
     private DataContext context;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
new file mode 100644
index 0000000..6e84aee
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
@@ -0,0 +1,105 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.query.CapsStrategy;
+import org.apache.cayenne.query.SQLTemplate;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.COMPOUND_PROJECT)
+public class DataContextSQLTemplateCompoundIT extends ServerCase {
+
+    @Inject
+    protected DataContext context;
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    protected TableHelper tCompoundPkTest;
+    protected TableHelper tCompoundFkTest;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("COMPOUND_FK_TEST");
+        dbHelper.deleteAll("COMPOUND_PK_TEST");
+
+        tCompoundPkTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
+        tCompoundPkTest.setColumns("KEY1", "KEY2");
+
+        tCompoundFkTest = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
+        tCompoundFkTest.setColumns("PKEY", "F_KEY1", "F_KEY2");
+    }
+
+    protected void createTwoCompoundPKsAndCompoundFKsDataSet() throws Exception {
+        tCompoundPkTest.insert("a1", "a2");
+        tCompoundPkTest.insert("b1", "b2");
+
+        tCompoundFkTest.insert(6, "a1", "a2");
+        tCompoundFkTest.insert(7, "b1", "b2");
+    }
+
+    @Test
+    public void testBindObjectEqualCompound() throws Exception {
+        createTwoCompoundPKsAndCompoundFKsDataSet();
+
+        Map<String, String> pk = new HashMap<String, String>();
+        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
+        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
+
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                pk);
+
+        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
+                + " WHERE #bindObjectEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
+        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, template);
+        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
+        query.setParameters(Collections.singletonMap("a", a));
+
+        List<CompoundFkTestEntity> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+
+        CompoundFkTestEntity p = objects.get(0);
+        assertEquals(6, Cayenne.intPKForObject(p));
+    }
+
+    @Test
+    public void testBindObjectNotEqualCompound() throws Exception {
+        createTwoCompoundPKsAndCompoundFKsDataSet();
+
+        Map<String, String> pk = new HashMap<String, String>();
+        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
+        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
+
+        CompoundPkTestEntity a = Cayenne.objectForPK(
+                context,
+                CompoundPkTestEntity.class,
+                pk);
+
+        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
+                + " WHERE #bindObjectNotEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
+        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, template);
+        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
+        query.setParameters(Collections.singletonMap("a", a));
+
+        List<CompoundFkTestEntity> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+
+        CompoundFkTestEntity p = objects.get(0);
+        assertEquals(7, Cayenne.intPKForObject(p));
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
index a88f2d4..58c48f5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
@@ -34,8 +34,6 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -44,9 +42,7 @@ import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -69,8 +65,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
 
     protected TableHelper tPainting;
     protected TableHelper tArtist;
-    protected TableHelper tCompoundPkTest;
-    protected TableHelper tCompoundFkTest;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
@@ -79,8 +73,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("COMPOUND_FK_TEST");
-        dbHelper.deleteAll("COMPOUND_PK_TEST");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
@@ -95,12 +87,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
                 Types.VARCHAR,
                 Types.BIGINT,
                 Types.DECIMAL);
-
-        tCompoundPkTest = new TableHelper(dbHelper, "COMPOUND_PK_TEST");
-        tCompoundPkTest.setColumns("KEY1", "KEY2");
-
-        tCompoundFkTest = new TableHelper(dbHelper, "COMPOUND_FK_TEST");
-        tCompoundFkTest.setColumns("PKEY", "F_KEY1", "F_KEY2");
     }
 
     protected void createFourArtists() throws Exception {
@@ -118,14 +104,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
         tPainting.insert(8, "p_artist4", null, 3000);
     }
 
-    protected void createTwoCompoundPKsAndCompoundFKsDataSet() throws Exception {
-        tCompoundPkTest.insert("a1", "a2");
-        tCompoundPkTest.insert("b1", "b2");
-
-        tCompoundFkTest.insert(6, "a1", "a2");
-        tCompoundFkTest.insert(7, "b1", "b2");
-    }
-
     @Test
     public void testSQLResultSetMappingMixed() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
@@ -135,7 +113,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
                 + "GROUP BY t0.ARTIST_ID, t0.ARTIST_NAME, t0.DATE_OF_BIRTH "
                 + "ORDER BY t0.ARTIST_ID";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setColumnNamesCapitalization(CapsStrategy.UPPER);
 
@@ -175,7 +153,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         createFourArtists();
         
         SQLTemplate query = new SQLTemplate("SELECT * FROM ARTIST", true);
-        query.setDataNodeName("tstmap");
+        query.setDataNodeName("testmap");
         assertEquals(4, context.performQuery(query).size());
     }
 
@@ -192,7 +170,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
 
         String sql = "SELECT count(1) AS X FROM ARTIST";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setTemplate(
                 FrontBaseAdapter.class.getName(),
@@ -220,7 +198,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
 
         String sql = "SELECT count(1) AS X, 77 AS Y FROM ARTIST";
 
-        DataMap map = context.getEntityResolver().getDataMap("tstmap");
+        DataMap map = context.getEntityResolver().getDataMap("testmap");
         SQLTemplate query = new SQLTemplate(map, sql, false);
         query.setTemplate(
                 FrontBaseAdapter.class.getName(),
@@ -437,58 +415,6 @@ public class DataContextSQLTemplateIT extends ServerCase {
     }
 
     @Test
-    public void testBindObjectEqualCompound() throws Exception {
-        createTwoCompoundPKsAndCompoundFKsDataSet();
-
-        Map<String, String> pk = new HashMap<String, String>();
-        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
-        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
-
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                pk);
-
-        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
-                + " WHERE #bindObjectEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
-        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, template);
-        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
-        query.setParameters(Collections.singletonMap("a", a));
-
-        List<CompoundFkTestEntity> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-
-        CompoundFkTestEntity p = objects.get(0);
-        assertEquals(6, Cayenne.intPKForObject(p));
-    }
-
-    @Test
-    public void testBindObjectNotEqualCompound() throws Exception {
-        createTwoCompoundPKsAndCompoundFKsDataSet();
-
-        Map<String, String> pk = new HashMap<String, String>();
-        pk.put(CompoundPkTestEntity.KEY1_PK_COLUMN, "a1");
-        pk.put(CompoundPkTestEntity.KEY2_PK_COLUMN, "a2");
-
-        CompoundPkTestEntity a = Cayenne.objectForPK(
-                context,
-                CompoundPkTestEntity.class,
-                pk);
-
-        String template = "SELECT * FROM COMPOUND_FK_TEST t0"
-                + " WHERE #bindObjectNotEqual($a [ 't0.F_KEY1', 't0.F_KEY2' ] [ 'KEY1', 'KEY2' ] ) ORDER BY PKEY";
-        SQLTemplate query = new SQLTemplate(CompoundFkTestEntity.class, template);
-        query.setColumnNamesCapitalization(CapsStrategy.UPPER);
-        query.setParameters(Collections.singletonMap("a", a));
-
-        List<CompoundFkTestEntity> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-
-        CompoundFkTestEntity p = objects.get(0);
-        assertEquals(7, Cayenne.intPKForObject(p));
-    }
-
-    @Test
     public void testBindObjectNotEqualNull() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
index f6a5ba2..75c3812 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.NamedQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.CalendarEntity;
-import org.apache.cayenne.testdo.testmap.DateTestEntity;
+import org.apache.cayenne.testdo.date_time.CalendarEntity;
+import org.apache.cayenne.testdo.date_time.DateTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Tests Date handling in Cayenne.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.DATE_TIME_PROJECT)
 public class DateTimeTypesIT extends ServerCase {
 
     @Inject
@@ -203,6 +203,7 @@ public class DateTimeTypesIT extends ServerCase {
         NamedQuery q = new NamedQuery("SelectDateTest");
         DataRow testRead = (DataRow) context.performQuery(q).get(0);
         Date columnValue = (Date) testRead.get("TIME_COLUMN");
+        assertNotNull(testRead.toString(), columnValue);
         assertNotNull(columnValue);
         assertEquals(now.toString(), new Time(columnValue.getTime()).toString());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
index 9a003c3..ffa489b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
@@ -52,7 +52,7 @@ public class DbGeneratorIT extends ServerCase {
     protected void setUpAfterInjection() throws Exception {
         generator = new DbGenerator(adapter, runtime
                 .getDataDomain()
-                .getDataMap("tstmap"), logger);
+                .getDataMap("testmap"), logger);
     }
 
     @Test
@@ -62,7 +62,7 @@ public class DbGeneratorIT extends ServerCase {
 
     @Test
     public void testPkFilteringLogic() throws Exception {
-        DataMap map = runtime.getDataDomain().getDataMap("tstmap");
+        DataMap map = runtime.getDataDomain().getDataMap("testmap");
         DbEntity artistExhibit = map.getDbEntity("ARTIST_EXHIBIT");
         DbEntity exhibit = map.getDbEntity("EXHIBIT");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
index b25267c..7b6e1a8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
@@ -27,8 +27,8 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.Enum1;
-import org.apache.cayenne.testdo.testmap.EnumEntity;
+import org.apache.cayenne.testdo.enum_test.Enum1;
+import org.apache.cayenne.testdo.enum_test.EnumEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -36,7 +36,7 @@ import org.junit.Test;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.ENUM_PROJECT)
 public class EnumIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
index bbd3787..b98eed7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
@@ -30,13 +30,13 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnDep;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTest2;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity;
-import org.apache.cayenne.testdo.testmap.GeneratedF1;
-import org.apache.cayenne.testdo.testmap.GeneratedF2;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompKey;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster;
+import org.apache.cayenne.testdo.generated.GeneratedColumnDep;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTest2;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
+import org.apache.cayenne.testdo.generated.GeneratedF1;
+import org.apache.cayenne.testdo.generated.GeneratedF2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -48,7 +48,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.GENERATED_PROJECT)
 public class IdentityColumnsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
index d1da777..c43dbb0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ArraysEntity;
-import org.apache.cayenne.testdo.testmap.CharacterEntity;
-import org.apache.cayenne.testdo.testmap.SerializableEntity;
+import org.apache.cayenne.testdo.misc_types.ArraysEntity;
+import org.apache.cayenne.testdo.misc_types.CharacterEntity;
+import org.apache.cayenne.testdo.misc_types.SerializableEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.MISC_TYPES_PROJECT)
 public class MiscTypesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
index e18f218..c0e30ef 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
@@ -27,15 +27,15 @@ import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.BigDecimalEntity;
-import org.apache.cayenne.testdo.testmap.BigIntegerEntity;
-import org.apache.cayenne.testdo.testmap.BitTestEntity;
-import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
-import org.apache.cayenne.testdo.testmap.DecimalPKTest1;
-import org.apache.cayenne.testdo.testmap.DecimalPKTestEntity;
-import org.apache.cayenne.testdo.testmap.LongEntity;
-import org.apache.cayenne.testdo.testmap.SmallintTestEntity;
-import org.apache.cayenne.testdo.testmap.TinyintTestEntity;
+import org.apache.cayenne.testdo.numeric_types.BigDecimalEntity;
+import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
+import org.apache.cayenne.testdo.numeric_types.BitTestEntity;
+import org.apache.cayenne.testdo.numeric_types.BooleanTestEntity;
+import org.apache.cayenne.testdo.numeric_types.DecimalPKTest1;
+import org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity;
+import org.apache.cayenne.testdo.numeric_types.LongEntity;
+import org.apache.cayenne.testdo.numeric_types.SmallintTestEntity;
+import org.apache.cayenne.testdo.numeric_types.TinyintTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -51,7 +51,7 @@ import static org.junit.Assert.assertSame;
 
 /**
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.NUMERIC_TYPES_PROJECT)
 public class NumericTypesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
index 206c90d..a7cef30 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/PrimitiveAttributesIT.java
@@ -20,12 +20,12 @@ package org.apache.cayenne.access;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.PrimitivesTestEntity;
+import org.apache.cayenne.testdo.primitive.PrimitivesTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.PRIMITIVE_PROJECT)
 public class PrimitiveAttributesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
index 9b61b6a..ba5b085 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ReturnTypesMappingIT.java
@@ -23,10 +23,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.NamedQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.DateTestEntity;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap2;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMapLobs1;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap1;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap2;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMapLobs1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -45,7 +44,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Test Types mapping for selected columns
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.RETURN_TYPES_PROJECT)
 public class ReturnTypesMappingIT extends ServerCase {
 
     @Inject
@@ -64,7 +63,6 @@ public class ReturnTypesMappingIT extends ServerCase {
             dbHelper.deleteAll("TYPES_MAPPING_TEST2");
         }
         dbHelper.deleteAll("TYPES_MAPPING_TEST1");
-        dbHelper.deleteAll("DATE_TEST");
     }
 
     /*
@@ -738,28 +736,6 @@ public class ReturnTypesMappingIT extends ServerCase {
     }
 
     @Test
-    public void testSQLTemplateTime() throws Exception {
-        DateTestEntity test = (DateTestEntity) context.newObject("DateTestEntity");
-
-        Calendar cal = Calendar.getInstance();
-        cal.clear();
-        cal.set(2003, 1, 1, 1, 20, 30);
-
-        // most databases fail millisecond accuracy
-        // cal.set(Calendar.MILLISECOND, 55);
-
-        Time now = new Time(cal.getTime().getTime());
-        test.setTimeColumn(now);
-        context.commitChanges();
-
-        NamedQuery q = new NamedQuery("SelectDateTest");
-        DataRow testRead = (DataRow) context.performQuery(q).get(0);
-        Date columnValue = (Date) testRead.get("TIME_COLUMN");
-        assertNotNull(testRead.toString(), columnValue);
-        assertEquals(now.toString(), new Time(columnValue.getTime()).toString());
-    }
-
-    @Test
     public void testTIMESTAMP() throws Exception {
         String columnName = "TIMESTAMP_COLUMN";
         ReturnTypesMap1 test = context.newObject(ReturnTypesMap1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
index 45ab106..dfea01e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/UUIDIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.UuidPkEntity;
-import org.apache.cayenne.testdo.testmap.UuidTestEntity;
+import org.apache.cayenne.testdo.uuid.UuidPkEntity;
+import org.apache.cayenne.testdo.uuid.UuidTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -35,7 +35,7 @@ import java.util.UUID;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.UUID_PROJECT)
 public class UUIDIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
new file mode 100644
index 0000000..263942a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
@@ -0,0 +1,70 @@
+package org.apache.cayenne.access.jdbc;
+
+import org.apache.cayenne.access.DataNode;
+import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
+import org.apache.cayenne.configuration.server.ServerRuntime;
+import org.apache.cayenne.dba.JdbcAdapter;
+import org.apache.cayenne.di.AdhocObjectFactory;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.query.InsertBatchQuery;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+
+@UseServerRuntime(ServerCase.GENERATED_PROJECT)
+public class BatchActionGeneratedIT extends ServerCase {
+
+    @Inject
+    private ServerRuntime runtime;
+
+    @Inject
+    private AdhocObjectFactory objectFactory;
+
+    @Test
+    public void testHasGeneratedKeys1() throws Exception {
+        EntityResolver resolver = runtime.getChannel().getEntityResolver();
+
+        // test with adapter that supports keys
+        JdbcAdapter adapter = buildAdapter(true);
+
+        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
+                .getDbEntity(), 5);
+
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+
+        assertTrue(new BatchAction(batch1, node, false).hasGeneratedKeys());
+    }
+
+    @Test
+    public void testHasGeneratedKeys2() throws Exception {
+        EntityResolver resolver = runtime.getChannel().getEntityResolver();
+
+        // test with adapter that does not support keys...
+        JdbcAdapter adapter = buildAdapter(false);
+
+        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
+                .getDbEntity(), 5);
+
+        DataNode node = new DataNode();
+        node.setAdapter(adapter);
+        node.setEntityResolver(resolver);
+        node.setRowReaderFactory(mock(RowReaderFactory.class));
+
+        assertFalse(new BatchAction(batch1, node, false).hasGeneratedKeys());
+    }
+
+    JdbcAdapter buildAdapter(boolean supportGeneratedKeys) {
+        JdbcAdapter adapter = objectFactory.newInstance(JdbcAdapter.class, JdbcAdapter.class.getName());
+        adapter.setSupportsGeneratedKeys(supportGeneratedKeys);
+        return adapter;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
index 51bd248..3a72e1e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionIT.java
@@ -28,13 +28,11 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.query.InsertBatchQuery;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
@@ -53,15 +51,11 @@ public class BatchActionIT extends ServerCase {
         // test with adapter that supports keys
         JdbcAdapter adapter = buildAdapter(true);
 
-        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
-                .getDbEntity(), 5);
         DataNode node = new DataNode();
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
 
-        assertTrue(new BatchAction(batch1, node, false).hasGeneratedKeys());
-
         InsertBatchQuery batch2 = new InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
         assertFalse(new BatchAction(batch2, node, false).hasGeneratedKeys());
     }
@@ -73,16 +67,11 @@ public class BatchActionIT extends ServerCase {
         // test with adapter that does not support keys...
         JdbcAdapter adapter = buildAdapter(false);
 
-        InsertBatchQuery batch1 = new InsertBatchQuery(resolver.getObjEntity(GeneratedColumnTestEntity.class)
-                .getDbEntity(), 5);
-
         DataNode node = new DataNode();
         node.setAdapter(adapter);
         node.setEntityResolver(resolver);
         node.setRowReaderFactory(mock(RowReaderFactory.class));
 
-        assertFalse(new BatchAction(batch1, node, false).hasGeneratedKeys());
-
         InsertBatchQuery batch2 = new InsertBatchQuery(resolver.getObjEntity(Artist.class).getDbEntity(), 5);
         assertFalse(new BatchAction(batch2, node, false).hasGeneratedKeys());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
index 48ddcef..9786266 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/SelectActionIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.testmap.ClobTestEntity;
-import org.apache.cayenne.testdo.testmap.ClobTestRelation;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
+import org.apache.cayenne.testdo.lob.ClobTestRelation;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -36,7 +36,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class SelectActionIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
index 86218d9..954808e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
@@ -62,7 +62,7 @@ public class ServerRuntimeBuilder_InAction_IT extends ServerCase {
         tArtist.insert(33001, "AA1");
         tArtist.insert(33002, "AA2");
 
-        this.dataSource = runtime.getDataSource("tstmap");
+        this.dataSource = runtime.getDataSource("testmap");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
index d2a372e..73425bf 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.LOB_PROJECT)
 public class OracleAdapterIT extends ServerCase {
 
     @Inject
@@ -46,13 +46,13 @@ public class OracleAdapterIT extends ServerCase {
 
     @Test
     public void testUpdatesLOBColumns() throws Exception {
-        DataMap map = runtime.getDataDomain().getDataMap("tstmap");
+        DataMap map = runtime.getDataDomain().getDataMap("lob");
         assertTrue(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
                 .getDbEntity("BLOB_TEST"), 1)));
         assertTrue(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
                 .getDbEntity("CLOB_TEST"), 1)));
         assertFalse(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
-                .getDbEntity("ARTIST"), 1)));
+                .getDbEntity("TEST"), 1)));
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
index a305cf9..7a45599 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/BooleanExpressionTest.java
@@ -18,7 +18,7 @@
  ****************************************************************/
 package org.apache.cayenne.exp;
 
-import org.apache.cayenne.testdo.testmap.BooleanTestEntity;
+import org.apache.cayenne.testdo.numeric_types.BooleanTestEntity;
 import org.junit.Test;
 
 import static org.junit.Assert.assertFalse;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java b/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
index 205f569..4e078e6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/MapLoaderLoadTest.java
@@ -91,11 +91,11 @@ public class MapLoaderLoadTest {
     @Test
     public void testLoadTestMap() throws Exception {
         MapLoader mapLoader = new MapLoader();
-        DataMap map = mapLoader.loadDataMap(getMapXml("tstmap.map.xml"));
+        DataMap map = mapLoader.loadDataMap(getMapXml("testmap.map.xml"));
         assertNotNull(map);
 
         // test procedures
-        Procedure procedure = map.getProcedure("cayenne_tst_upd_proc");
+        Procedure procedure = map.getProcedure("cayenne_test_upd_proc");
         assertNotNull(procedure);
         List<ProcedureParameter> params = procedure.getCallParameters();
         assertNotNull(params);
@@ -124,7 +124,7 @@ public class MapLoaderLoadTest {
     public void testEncodeAsXML() throws FileNotFoundException {
         // load map
         MapLoader mapLoader = new MapLoader();
-        DataMap map = mapLoader.loadDataMap(getMapXml("tstmap.map.xml"));
+        DataMap map = mapLoader.loadDataMap(getMapXml("testmap.map.xml"));
         assertNotNull(map);
 
         // encode map

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
index 9103f15..14fe42f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
@@ -124,7 +124,7 @@ public class ObjEntityIT extends ServerCase {
         assertNull(clientPk.getEntity());
         assertFalse(clientArtistE.getAttributes().contains(pk));
 
-        ObjEntity meaningfulPKE = runtime.getDataDomain().getEntityResolver().getObjEntity("MeaningfulPKTest1");
+        ObjEntity meaningfulPKE = runtime.getDataDomain().getEntityResolver().getObjEntity("MeaningfulGeneratedColumnTestEntity");
         Collection<ObjAttribute> mpks = meaningfulPKE.getPrimaryKeys();
         assertEquals(1, mpks.size());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
index 53d5039..d8fac76 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergeCase.java
@@ -85,7 +85,7 @@ public abstract class MergeCase extends ServerCase {
         // this map can't be safely modified in this test, as it is reset by DI
         // container
         // on every test
-        map = runtime.getDataDomain().getDataMap("tstmap");
+        map = runtime.getDataDomain().getDataMap("testmap");
 
         filterDataMap();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
index 2513627..c4f010b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
@@ -29,7 +29,6 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.BigIntegerEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
@@ -67,22 +66,17 @@ public class EJBQLQueryIT extends ServerCase {
 
     private TableHelper tArtist;
     private TableHelper tPainting;
-    private TableHelper tBigIntegerEntity;
 
     @Override
     protected void setUpAfterInjection() throws Exception {
         dbHelper.deleteAll("PAINTING");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("BIGINTEGER_ENTITY");
 
         tArtist = new TableHelper(dbHelper, "ARTIST");
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
 
         tPainting = new TableHelper(dbHelper, "PAINTING");
         tPainting.setColumns("PAINTING_ID", "ARTIST_ID", "PAINTING_TITLE");
-
-        tBigIntegerEntity = new TableHelper(dbHelper, "BIGINTEGER_ENTITY");
-        tBigIntegerEntity.setColumns("ID", "BIG_INTEGER_FIELD");
     }
 
     protected void createArtistsDataSet() throws Exception {
@@ -101,29 +95,6 @@ public class EJBQLQueryIT extends ServerCase {
         tPainting.insert(33003, 33002, "%%?_title%%_");
     }
 
-    protected void createBigIntegerEntitiesDataSet() throws Exception {
-        tBigIntegerEntity.insert(44001, new Long(744073709551715l));
-    }
-
-    @Test
-    public void testLongParameter() throws Exception {
-        createBigIntegerEntitiesDataSet();
-        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > ?1";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        query.setParameter(1,744073709551615l);
-        List<BigIntegerEntity> result = context.performQuery(query);
-        assertEquals(1, result.size());
-    }
-
-    @Test
-    public void testLongLiteral() throws Exception {
-        createBigIntegerEntitiesDataSet();
-        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > 744073709551615";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-        List<BigIntegerEntity> result = context.performQuery(query);
-        assertEquals(1, result.size());
-    }
-
     @Test
     public void testParameters() {
         String ejbql = "select a FROM Artist a WHERE a.artistName = ?1 OR a.artistName = :name";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
new file mode 100644
index 0000000..3cb152a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
@@ -0,0 +1,57 @@
+package org.apache.cayenne.query;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.numeric_types.BigIntegerEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.NUMERIC_TYPES_PROJECT)
+public class EJBQLQueryNumericIT extends ServerCase {
+
+    @Inject
+    protected DBHelper dbHelper;
+
+    @Inject
+    private ObjectContext context;
+
+    private TableHelper tBigIntegerEntity;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("BIGINTEGER_ENTITY");
+
+        tBigIntegerEntity = new TableHelper(dbHelper, "BIGINTEGER_ENTITY");
+        tBigIntegerEntity.setColumns("ID", "BIG_INTEGER_FIELD");
+    }
+
+    protected void createBigIntegerEntitiesDataSet() throws Exception {
+        tBigIntegerEntity.insert(44001, new Long(744073709551715l));
+    }
+
+    @Test
+    public void testLongParameter() throws Exception {
+        createBigIntegerEntitiesDataSet();
+        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > ?1";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        query.setParameter(1,744073709551615l);
+        List<BigIntegerEntity> result = context.performQuery(query);
+        assertEquals(1, result.size());
+    }
+
+    @Test
+    public void testLongLiteral() throws Exception {
+        createBigIntegerEntitiesDataSet();
+        String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > 744073709551615";
+        EJBQLQuery query = new EJBQLQuery(ejbql);
+        List<BigIntegerEntity> result = context.performQuery(query);
+        assertEquals(1, result.size());
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
index dd5882f..56d31b1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
@@ -68,7 +68,7 @@ public class SQLSelectIT extends ServerCase {
 
 		createArtistsDataSet();
 
-		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("tstmap", "SELECT * FROM ARTIST");
+		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("testmap", "SELECT * FROM ARTIST");
 		assertTrue(q1.isFetchingDataRows());
 
 		List<DataRow> result = context.select(q1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
index 244c8d5..d4696ac 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
@@ -65,7 +65,7 @@ public class SQLTemplateIT extends ServerCase {
 
     @Test
 	public void testSQLTemplateForDataMap() {
-		DataMap testDataMap = context.getEntityResolver().getDataMap("tstmap");
+		DataMap testDataMap = context.getEntityResolver().getDataMap("testmap");
 		SQLTemplate q1 = new SQLTemplate(testDataMap, "SELECT * FROM ARTIST", true);
 		List<DataRow> result = context.performQuery(q1);
 		assertEquals(0, result.size());
@@ -73,7 +73,7 @@ public class SQLTemplateIT extends ServerCase {
 
     @Test
 	public void testSQLTemplateForDataMapWithInsert() {
-		DataMap testDataMap = context.getEntityResolver().getDataMap("tstmap");
+		DataMap testDataMap = context.getEntityResolver().getDataMap("testmap");
 		String sql = "INSERT INTO ARTIST VALUES (15, 'Surikov', null)";
 		SQLTemplate q1 = new SQLTemplate(testDataMap, sql, true);
 		context.performNonSelectingQuery(q1);
@@ -85,7 +85,7 @@ public class SQLTemplateIT extends ServerCase {
 
     @Test
 	public void testSQLTemplateForDataMapWithInsertException() {
-		DataMap testDataMap = context.getEntityResolver().getDataMap("tstmap");
+		DataMap testDataMap = context.getEntityResolver().getDataMap("testmap");
 		String sql = "INSERT INTO ARTIST VALUES (15, 'Surikov', null)";
 		SQLTemplate q1 = new SQLTemplate(testDataMap, sql, true);
 		context.performNonSelectingQuery(q1);
@@ -97,7 +97,7 @@ public class SQLTemplateIT extends ServerCase {
 		} catch (CayenneRuntimeException e) {
 			gotRuntimeException = true;
 		}
-		assertTrue("If fetchingDataRows is false and ObjectEntity not set, shoulb be thrown exception",
+		assertTrue("If fetchingDataRows is false and ObjectEntity not set, should be thrown exception",
 				gotRuntimeException);
 	}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
new file mode 100644
index 0000000..debde5e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
@@ -0,0 +1,108 @@
+package org.apache.cayenne.query;
+
+import org.apache.cayenne.Cayenne;
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.exp.Expression;
+import org.apache.cayenne.exp.ExpressionFactory;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.lob.ClobTestEntity;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.LOB_PROJECT)
+public class SelectQueryClobIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("CLOB_TEST_RELATION");
+
+        if (accessStackAdapter.supportsLobs()) {
+            dbHelper.deleteAll("CLOB_TEST");
+        }
+    }
+
+    protected void createClobDataSet() throws Exception {
+        TableHelper tClobTest = new TableHelper(dbHelper, "CLOB_TEST");
+        tClobTest.setColumns("CLOB_TEST_ID", "CLOB_COL");
+
+        tClobTest.deleteAll();
+
+        tClobTest.insert(1, "clob1");
+        tClobTest.insert(2, "clob2");
+    }
+
+    /**
+     * Test how "like ignore case" works when using uppercase parameter.
+     */
+    @Test
+    public void testSelectLikeIgnoreCaseClob() throws Exception {
+        if (accessStackAdapter.supportsLobs()) {
+            createClobDataSet();
+            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
+            Expression qual = ExpressionFactory.likeIgnoreCaseExp("clobCol", "clob%");
+            query.setQualifier(qual);
+            List<?> objects = context.performQuery(query);
+            assertEquals(2, objects.size());
+        }
+    }
+
+    @Test
+    public void testSelectFetchLimit_Offset_DistinctClob() throws Exception {
+        if (accessStackAdapter.supportsLobs()) {
+            createClobDataSet();
+
+            // see CAY-1539... CLOB column causes suppression of DISTINCT in
+            // SQL, and hence the offset processing is done in memory
+            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
+            query.addOrdering("db:" + ClobTestEntity.CLOB_TEST_ID_PK_COLUMN, SortOrder.ASCENDING);
+            query.setFetchLimit(1);
+            query.setFetchOffset(1);
+            query.setDistinct(true);
+
+            List<ClobTestEntity> objects = context.performQuery(query);
+            assertEquals(1, objects.size());
+            assertEquals(2, Cayenne.intPKForObject(objects.get(0)));
+        }
+    }
+
+    @Test
+    public void testSelectEqualsClob() throws Exception {
+        if (accessStackAdapter.supportsLobComparisons()) {
+            createClobDataSet();
+            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
+            Expression qual = ExpressionFactory.matchExp("clobCol", "clob1");
+            query.setQualifier(qual);
+            List<?> objects = context.performQuery(query);
+            assertEquals(1, objects.size());
+        }
+    }
+
+    @Test
+    public void testSelectNotEqualsClob() throws Exception {
+        if (accessStackAdapter.supportsLobComparisons()) {
+            createClobDataSet();
+            SelectQuery query = new SelectQuery(ClobTestEntity.class);
+            Expression qual = ExpressionFactory.noMatchExp("clobCol", "clob1");
+            query.setQualifier(qual);
+            List<?> objects = context.performQuery(query);
+            assertEquals(1, objects.size());
+        }
+    }
+}
\ No newline at end of file


[48/50] [abbrv] cayenne git commit: Refactor Default Project

Posted by aa...@apache.org.
Refactor Default Project


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/cfbfb688
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/cfbfb688
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/cfbfb688

Branch: refs/heads/CAY-1946
Commit: cfbfb688702187d0cad7ba3ad61fbb7582137db6
Parents: 486065a
Author: Savva Kolbechev <s....@gmail.com>
Authored: Fri Nov 14 12:33:04 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Fri Nov 14 12:33:04 2014 +0300

----------------------------------------------------------------------
 .../test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java   | 2 +-
 .../src/test/java/org/apache/cayenne/GenericMappingIT.java     | 2 +-
 .../src/test/java/org/apache/cayenne/access/EmbeddingIT.java   | 2 +-
 .../java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java   | 2 +-
 .../org/apache/cayenne/map/EntityResolverGenericStackIT.java   | 2 +-
 .../java/org/apache/cayenne/unit/di/server/ServerCase.java     | 4 +++-
 cayenne-server/src/test/resources/cayenne-default.xml          | 6 ------
 cayenne-server/src/test/resources/cayenne-embeddable.xml       | 4 ++++
 cayenne-server/src/test/resources/cayenne-generic.xml          | 4 ++++
 cayenne-server/src/test/resources/cayenne-qualified.xml        | 4 ++++
 10 files changed, 20 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
index 45962d0..74c65df 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
@@ -35,7 +35,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
-@UseServerRuntime(ServerCase.DEFAULT_PROJECT)
+@UseServerRuntime(ServerCase.QUALIFIED_PROJECT)
 public class CDOQualifiedEntitiesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
index 95381ce..1b111bc 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.DEFAULT_PROJECT)
+@UseServerRuntime(ServerCase.GENERIC_PROJECT)
 public class GenericMappingIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
index 4b9422d..1dfbf5d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
@@ -38,7 +38,7 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-@UseServerRuntime(ServerCase.DEFAULT_PROJECT)
+@UseServerRuntime(ServerCase.EMBEDDABLE_PROJECT)
 public class EmbeddingIT extends ServerCase {
     
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
index 8719e86..8b0de03 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
@@ -41,7 +41,7 @@ import java.util.concurrent.TimeUnit;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime("cayenne-default.xml")
+@UseServerRuntime("cayenne-qualified.xml")
 public class ConcurrentPkGeneratorIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
index 155b9fe..6764c1d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
@@ -32,7 +32,7 @@ import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime(ServerCase.DEFAULT_PROJECT)
+@UseServerRuntime(ServerCase.GENERIC_PROJECT)
 public class EntityResolverGenericStackIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
index 463c006..7ca8a79 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
@@ -64,7 +64,9 @@ public class ServerCase extends DICase {
 	public static final String UUID_PROJECT = "cayenne-uuid.xml";
 	public static final String COMPOUND_PROJECT = "cayenne-compound.xml";
 	public static final String TESTMAP_PROJECT = "cayenne-testmap.xml";
-	public static final String DEFAULT_PROJECT = "cayenne-default.xml";
+	public static final String EMBEDDABLE_PROJECT = "cayenne-embeddable.xml";
+	public static final String GENERIC_PROJECT = "cayenne-generic.xml";
+	public static final String QUALIFIED_PROJECT = "cayenne-qualified.xml";
 	public static final String MULTINODE_PROJECT = "cayenne-multinode.xml";
 	public static final String ONEWAY_PROJECT = "cayenne-oneway-rels.xml";
 	public static final String MULTI_TIER_PROJECT = "cayenne-multi-tier.xml";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/resources/cayenne-default.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-default.xml b/cayenne-server/src/test/resources/cayenne-default.xml
deleted file mode 100644
index a248a10..0000000
--- a/cayenne-server/src/test/resources/cayenne-default.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<domain project-version="7">
-	<map name="embeddable"/>
-	<map name="generic"/>
-	<map name="qualified"/>
-</domain>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/resources/cayenne-embeddable.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-embeddable.xml b/cayenne-server/src/test/resources/cayenne-embeddable.xml
new file mode 100644
index 0000000..9ffb2e3
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-embeddable.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="embeddable"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/resources/cayenne-generic.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-generic.xml b/cayenne-server/src/test/resources/cayenne-generic.xml
new file mode 100644
index 0000000..0cacadc
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-generic.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="generic"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cfbfb688/cayenne-server/src/test/resources/cayenne-qualified.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-qualified.xml b/cayenne-server/src/test/resources/cayenne-qualified.xml
new file mode 100644
index 0000000..812b244
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-qualified.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+	<map name="qualified"/>
+</domain>


[22/50] [abbrv] cayenne git commit: Refactor Multi Tier Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/cayenne-meaningful-pk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-meaningful-pk.xml b/cayenne-server/src/test/resources/cayenne-meaningful-pk.xml
new file mode 100644
index 0000000..d8b9204
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-meaningful-pk.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="meaningful-pk"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/cayenne-persistent.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-persistent.xml b/cayenne-server/src/test/resources/cayenne-persistent.xml
new file mode 100644
index 0000000..bc6e543
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-persistent.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+	<map name="persistent"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/cayenne-reflexive.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-reflexive.xml b/cayenne-server/src/test/resources/cayenne-reflexive.xml
new file mode 100644
index 0000000..7e05dcf
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-reflexive.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="reflexive"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/cayenne-table-primitives.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-table-primitives.xml b/cayenne-server/src/test/resources/cayenne-table-primitives.xml
new file mode 100644
index 0000000..642c18b
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-table-primitives.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="table-primitives"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/cayenne-toone.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-toone.xml b/cayenne-server/src/test/resources/cayenne-toone.xml
new file mode 100644
index 0000000..b856947
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-toone.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="toone"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/delete-rules.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/delete-rules.map.xml b/cayenne-server/src/test/resources/delete-rules.map.xml
new file mode 100644
index 0000000..9d6f5ed
--- /dev/null
+++ b/cayenne-server/src/test/resources/delete-rules.map.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.deleterules"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="org.apache.cayenne.testdo.deleterules"/>
+    <db-entity name="DELETE_CASCADE">
+        <db-attribute name="DELETE_CASCADE_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="DELETE_RULE_ID" type="INTEGER"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <db-entity name="DELETE_DENY">
+        <db-attribute name="DELETE_DENY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="DELETE_RULE_ID" type="INTEGER"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <db-entity name="DELETE_NULLIFY">
+        <db-attribute name="DELETE_NULLIFY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="DELETE_RULE_ID" type="INTEGER"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <db-entity name="DELETE_RULE">
+        <db-attribute name="DELETE_RULE_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <obj-entity name="DeleteCascade" className="org.apache.cayenne.testdo.deleterules.DeleteCascade" clientClassName="org.apache.cayenne.testdo.deleterules.ClientDeleteCascade" dbEntityName="DELETE_CASCADE">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="DeleteDeny" className="org.apache.cayenne.testdo.deleterules.DeleteDeny" clientClassName="org.apache.cayenne.testdo.deleterules.ClientDeleteDeny" dbEntityName="DELETE_DENY">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="DeleteNullify" className="org.apache.cayenne.testdo.deleterules.DeleteNullify" clientClassName="org.apache.cayenne.testdo.deleterules.ClientDeleteNullify" dbEntityName="DELETE_NULLIFY">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="DeleteRule" className="org.apache.cayenne.testdo.deleterules.DeleteRule" clientClassName="org.apache.cayenne.testdo.deleterules.ClientDeleteRule" dbEntityName="DELETE_RULE">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="cascade" source="DELETE_CASCADE" target="DELETE_RULE" toMany="false">
+        <db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
+    </db-relationship>
+    <db-relationship name="deny" source="DELETE_DENY" target="DELETE_RULE" toMany="false">
+        <db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
+    </db-relationship>
+    <db-relationship name="nullify" source="DELETE_NULLIFY" target="DELETE_RULE" toMany="false">
+        <db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
+    </db-relationship>
+    <db-relationship name="fromCascade" source="DELETE_RULE" target="DELETE_CASCADE" toMany="true">
+        <db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
+    </db-relationship>
+    <db-relationship name="fromDeny" source="DELETE_RULE" target="DELETE_DENY" toMany="true">
+        <db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
+    </db-relationship>
+    <db-relationship name="fromNullify" source="DELETE_RULE" target="DELETE_NULLIFY" toMany="true">
+        <db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
+    </db-relationship>
+    <obj-relationship name="cascade" source="DeleteCascade" target="DeleteRule" deleteRule="Cascade" db-relationship-path="cascade"/>
+    <obj-relationship name="deny" source="DeleteDeny" target="DeleteRule" deleteRule="Deny" db-relationship-path="deny"/>
+    <obj-relationship name="nullify" source="DeleteNullify" target="DeleteRule" deleteRule="Nullify" db-relationship-path="nullify"/>
+    <obj-relationship name="fromCascade" source="DeleteRule" target="DeleteCascade" db-relationship-path="fromCascade"/>
+    <obj-relationship name="fromDeny" source="DeleteRule" target="DeleteDeny" db-relationship-path="fromDeny"/>
+    <obj-relationship name="fromNullify" source="DeleteRule" target="DeleteNullify" db-relationship-path="fromNullify"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/lifecycles.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/lifecycles.map.xml b/cayenne-server/src/test/resources/lifecycles.map.xml
new file mode 100644
index 0000000..fdbfc7e
--- /dev/null
+++ b/cayenne-server/src/test/resources/lifecycles.map.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.lifecycles"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="org.apache.cayenne.testdo.lifecycles"/>
+    <db-entity name="LIFECYCLES">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+    </db-entity>
+    <obj-entity name="Lifecycles" className="org.apache.cayenne.testdo.lifecycles.Lifecycles" clientClassName="org.apache.cayenne.testdo.lifecycles.ClientLifecycles" dbEntityName="LIFECYCLES">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/map-to-many.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/map-to-many.map.xml b/cayenne-server/src/test/resources/map-to-many.map.xml
new file mode 100644
index 0000000..bdfd5a4
--- /dev/null
+++ b/cayenne-server/src/test/resources/map-to-many.map.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.map_to_many"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="org.apache.cayenne.testdo.map_to_many"/>
+
+    <db-entity name="ID_MAP_TO_MANY">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="ID_MAP_TO_MANY_TARGET">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="MAP_TO_MANY_ID" type="INTEGER"/>
+    </db-entity>
+
+    <db-entity name="MAP_TO_MANY">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="MAP_TO_MANY_TARGET">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="MAP_TO_MANY_ID" type="INTEGER"/>
+        <db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+    </db-entity>
+
+    <obj-entity name="IdMapToMany" className="org.apache.cayenne.testdo.map_to_many.IdMapToMany" clientClassName="org.apache.cayenne.testdo.map_to_many.ClientIdMapToMany" dbEntityName="ID_MAP_TO_MANY">
+    </obj-entity>
+    <obj-entity name="IdMapToManyTarget" className="org.apache.cayenne.testdo.map_to_many.IdMapToManyTarget" clientClassName="org.apache.cayenne.testdo.map_to_many.ClientIdMapToManyTarget" dbEntityName="ID_MAP_TO_MANY_TARGET">
+    </obj-entity>
+
+    <obj-entity name="MapToMany" className="org.apache.cayenne.testdo.map_to_many.MapToMany" dbEntityName="MAP_TO_MANY">
+    </obj-entity>
+    <obj-entity name="MapToManyTarget" className="org.apache.cayenne.testdo.map_to_many.MapToManyTarget" dbEntityName="MAP_TO_MANY_TARGET">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+
+    <db-relationship name="targets" source="ID_MAP_TO_MANY" target="ID_MAP_TO_MANY_TARGET" toMany="true">
+        <db-attribute-pair source="ID" target="MAP_TO_MANY_ID"/>
+    </db-relationship>
+    <db-relationship name="mapToMany" source="ID_MAP_TO_MANY_TARGET" target="ID_MAP_TO_MANY" toMany="false">
+        <db-attribute-pair source="MAP_TO_MANY_ID" target="ID"/>
+    </db-relationship>
+
+    <db-relationship name="targets" source="MAP_TO_MANY" target="MAP_TO_MANY_TARGET" toMany="true">
+        <db-attribute-pair source="ID" target="MAP_TO_MANY_ID"/>
+    </db-relationship>
+    <db-relationship name="mapToMany" source="MAP_TO_MANY_TARGET" target="MAP_TO_MANY" toMany="false">
+        <db-attribute-pair source="MAP_TO_MANY_ID" target="ID"/>
+    </db-relationship>
+
+    <obj-relationship name="targets" source="IdMapToMany" target="IdMapToManyTarget" collection-type="java.util.Map" db-relationship-path="targets"/>
+    <obj-relationship name="mapToMany" source="IdMapToManyTarget" target="IdMapToMany" db-relationship-path="mapToMany"/>
+
+    <obj-relationship name="targets" source="MapToMany" target="MapToManyTarget" collection-type="java.util.Map" map-key="name" db-relationship-path="targets"/>
+    <obj-relationship name="mapToMany" source="MapToManyTarget" target="MapToMany" db-relationship-path="mapToMany"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/meaningful-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/meaningful-pk.map.xml b/cayenne-server/src/test/resources/meaningful-pk.map.xml
new file mode 100644
index 0000000..fdddca4
--- /dev/null
+++ b/cayenne-server/src/test/resources/meaningful-pk.map.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.meaningful_pk"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="org.apache.cayenne.testdo.meaningful_pk"/>
+    <db-entity name="MEANINGFUL_PK">
+        <db-attribute name="PK" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="100"/>
+    </db-entity>
+    <obj-entity name="MeaningfulPk" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPk" clientClassName="org.apache.cayenne.testdo.meaningful_pk.ClientMeaningfulPk" dbEntityName="MEANINGFUL_PK">
+        <obj-attribute name="pk" type="java.lang.String" db-attribute-path="PK"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/multi-tier.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/multi-tier.map.xml b/cayenne-server/src/test/resources/multi-tier.map.xml
index ce494ac..04257c6 100644
--- a/cayenne-server/src/test/resources/multi-tier.map.xml
+++ b/cayenne-server/src/test/resources/multi-tier.map.xml
@@ -6,57 +6,10 @@
 	<property name="defaultPackage" value="org.apache.cayenne.testdo.mt"/>
 	<property name="clientSupported" value="true"/>
 	<property name="defaultClientPackage" value="org.apache.cayenne.testdo.mt"/>
-	<db-entity name="CONTINENT">
-		<db-attribute name="CONTINENTD" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="COUNTRY">
-		<db-attribute name="CONTINENTID" type="BIGINT" isMandatory="true"/>
-		<db-attribute name="COUNTRYID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="MT_DELETE_CASCADE">
-		<db-attribute name="DELETE_CASCADE_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="DELETE_RULE_ID" type="INTEGER"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="MT_DELETE_DENY">
-		<db-attribute name="DELETE_DENY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="DELETE_RULE_ID" type="INTEGER"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="MT_DELETE_NULLIFY">
-		<db-attribute name="DELETE_NULLIFY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="DELETE_RULE_ID" type="INTEGER"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
-	<db-entity name="MT_DELETE_RULE">
-		<db-attribute name="DELETE_RULE_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-	</db-entity>
 	<db-entity name="MT_JOIN45">
 		<db-attribute name="TABLE4_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="TABLE5_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 	</db-entity>
-	<db-entity name="MT_LIFECYCLES">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="MT_MAP_TO_MANY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="MT_MAP_TO_MANY_TARGET">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="MAP_TO_MANY_ID" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="MT_MEANINGFUL_PK">
-		<db-attribute name="PK" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="MT_REFLEXIVE">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="200"/>
-		<db-attribute name="PARENT_ID" type="INTEGER"/>
-	</db-entity>
 	<db-entity name="MT_TABLE1">
 		<db-attribute name="GLOBAL_ATTRIBUTE1" type="VARCHAR" length="100"/>
 		<db-attribute name="SERVER_ATTRIBUTE1" type="VARCHAR" length="100"/>
@@ -81,48 +34,6 @@
 	<db-entity name="MT_TABLE5">
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 	</db-entity>
-	<db-entity name="MT_TABLE_PRIMITIVES">
-		<db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="INT_COLUMN" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="MT_TOONE_DEP">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="MT_TOONE_MASTER">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<obj-entity name="Continent" className="org.apache.cayenne.testdo.persistent.Continent" clientClassName="org.apache.cayenne.testdo.persistent.Continent" dbEntityName="CONTINENT" superClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Country" className="org.apache.cayenne.testdo.persistent.Country" clientClassName="org.apache.cayenne.testdo.persistent.Country" dbEntityName="COUNTRY" superClassName="org.apache.cayenne.PersistentObject">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MtDeleteCascade" className="org.apache.cayenne.testdo.mt.MtDeleteCascade" clientClassName="org.apache.cayenne.testdo.mt.ClientMtDeleteCascade" dbEntityName="MT_DELETE_CASCADE">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MtDeleteDeny" className="org.apache.cayenne.testdo.mt.MtDeleteDeny" clientClassName="org.apache.cayenne.testdo.mt.ClientMtDeleteDeny" dbEntityName="MT_DELETE_DENY">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MtDeleteNullify" className="org.apache.cayenne.testdo.mt.MtDeleteNullify" clientClassName="org.apache.cayenne.testdo.mt.ClientMtDeleteNullify" dbEntityName="MT_DELETE_NULLIFY">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MtDeleteRule" className="org.apache.cayenne.testdo.mt.MtDeleteRule" clientClassName="org.apache.cayenne.testdo.mt.ClientMtDeleteRule" dbEntityName="MT_DELETE_RULE">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MtLifecycles" className="org.apache.cayenne.testdo.mt.MtLifecycles" clientClassName="org.apache.cayenne.testdo.mt.ClientMtLifecycles" dbEntityName="MT_LIFECYCLES">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="MtMapToMany" className="org.apache.cayenne.testdo.mt.MtMapToMany" clientClassName="org.apache.cayenne.testdo.mt.ClientMtMapToMany" dbEntityName="MT_MAP_TO_MANY">
-	</obj-entity>
-	<obj-entity name="MtMapToManyTarget" className="org.apache.cayenne.testdo.mt.MtMapToManyTarget" clientClassName="org.apache.cayenne.testdo.mt.ClientMtMapToManyTarget" dbEntityName="MT_MAP_TO_MANY_TARGET">
-	</obj-entity>
-	<obj-entity name="MtMeaningfulPk" className="org.apache.cayenne.testdo.mt.MtMeaningfulPk" clientClassName="org.apache.cayenne.testdo.mt.ClientMtMeaningfulPk" dbEntityName="MT_MEANINGFUL_PK">
-		<obj-attribute name="pk" type="java.lang.String" db-attribute-path="PK"/>
-	</obj-entity>
-	<obj-entity name="MtReflexive" className="org.apache.cayenne.testdo.mt.MtReflexive" clientClassName="org.apache.cayenne.testdo.mt.ClientMtReflexive" dbEntityName="MT_REFLEXIVE">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
 	<obj-entity name="MtTable1" className="org.apache.cayenne.testdo.mt.MtTable1" clientClassName="org.apache.cayenne.testdo.mt.ClientMtTable1" dbEntityName="MT_TABLE1">
 		<obj-attribute name="globalAttribute1" type="java.lang.String" db-attribute-path="GLOBAL_ATTRIBUTE1"/>
 		<obj-attribute name="serverAttribute1" type="java.lang.String" db-attribute-path="SERVER_ATTRIBUTE1"/>
@@ -147,56 +58,12 @@
 	</obj-entity>
 	<obj-entity name="MtTable5" className="org.apache.cayenne.testdo.mt.MtTable5" clientClassName="org.apache.cayenne.testdo.mt.ClientMtTable5" dbEntityName="MT_TABLE5">
 	</obj-entity>
-	<obj-entity name="MtTablePrimitives" className="org.apache.cayenne.testdo.mt.MtTablePrimitives" clientClassName="org.apache.cayenne.testdo.mt.ClientMtTablePrimitives" dbEntityName="MT_TABLE_PRIMITIVES">
-		<obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
-		<obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
-	</obj-entity>
-	<obj-entity name="MtTooneDep" className="org.apache.cayenne.testdo.mt.MtTooneDep" clientClassName="org.apache.cayenne.testdo.mt.ClientMtTooneDep" dbEntityName="MT_TOONE_DEP">
-	</obj-entity>
-	<obj-entity name="MtTooneMaster" className="org.apache.cayenne.testdo.mt.MtTooneMaster" clientClassName="org.apache.cayenne.testdo.mt.ClientMtTooneMaster" dbEntityName="MT_TOONE_MASTER">
-	</obj-entity>
-	<db-relationship name="countries" source="CONTINENT" target="COUNTRY" toMany="true">
-		<db-attribute-pair source="CONTINENTD" target="CONTINENTID"/>
-	</db-relationship>
-	<db-relationship name="continent" source="COUNTRY" target="CONTINENT" toMany="false">
-		<db-attribute-pair source="CONTINENTID" target="CONTINENTD"/>
-	</db-relationship>
-	<db-relationship name="cascade" source="MT_DELETE_CASCADE" target="MT_DELETE_RULE" toMany="false">
-		<db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
-	</db-relationship>
-	<db-relationship name="deny" source="MT_DELETE_DENY" target="MT_DELETE_RULE" toMany="false">
-		<db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
-	</db-relationship>
-	<db-relationship name="nullify" source="MT_DELETE_NULLIFY" target="MT_DELETE_RULE" toMany="false">
-		<db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
-	</db-relationship>
-	<db-relationship name="fromCascade" source="MT_DELETE_RULE" target="MT_DELETE_CASCADE" toMany="true">
-		<db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
-	</db-relationship>
-	<db-relationship name="fromDeny" source="MT_DELETE_RULE" target="MT_DELETE_DENY" toMany="true">
-		<db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
-	</db-relationship>
-	<db-relationship name="fromNullify" source="MT_DELETE_RULE" target="MT_DELETE_NULLIFY" toMany="true">
-		<db-attribute-pair source="DELETE_RULE_ID" target="DELETE_RULE_ID"/>
-	</db-relationship>
 	<db-relationship name="toTable4" source="MT_JOIN45" target="MT_TABLE4" toMany="false">
 		<db-attribute-pair source="TABLE4_ID" target="ID"/>
 	</db-relationship>
 	<db-relationship name="toTable5" source="MT_JOIN45" target="MT_TABLE5" toMany="false">
 		<db-attribute-pair source="TABLE5_ID" target="ID"/>
 	</db-relationship>
-	<db-relationship name="targets" source="MT_MAP_TO_MANY" target="MT_MAP_TO_MANY_TARGET" toMany="true">
-		<db-attribute-pair source="ID" target="MAP_TO_MANY_ID"/>
-	</db-relationship>
-	<db-relationship name="mapToMany" source="MT_MAP_TO_MANY_TARGET" target="MT_MAP_TO_MANY" toMany="false">
-		<db-attribute-pair source="MAP_TO_MANY_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="children" source="MT_REFLEXIVE" target="MT_REFLEXIVE" toMany="true">
-		<db-attribute-pair source="ID" target="PARENT_ID"/>
-	</db-relationship>
-	<db-relationship name="toParent" source="MT_REFLEXIVE" target="MT_REFLEXIVE" toMany="false">
-		<db-attribute-pair source="PARENT_ID" target="ID"/>
-	</db-relationship>
 	<db-relationship name="table2Array" source="MT_TABLE1" target="MT_TABLE2" toMany="true">
 		<db-attribute-pair source="TABLE1_ID" target="TABLE1_ID"/>
 	</db-relationship>
@@ -215,32 +82,12 @@
 	<db-relationship name="joins" source="MT_TABLE5" target="MT_JOIN45" toMany="true">
 		<db-attribute-pair source="ID" target="TABLE5_ID"/>
 	</db-relationship>
-	<db-relationship name="toMaster" source="MT_TOONE_DEP" target="MT_TOONE_MASTER" toMany="false">
-		<db-attribute-pair source="ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="toDependent" source="MT_TOONE_MASTER" target="MT_TOONE_DEP" toDependentPK="true" toMany="false">
-		<db-attribute-pair source="ID" target="ID"/>
-	</db-relationship>
-	<obj-relationship name="countries" source="Continent" target="Country" deleteRule="Cascade" db-relationship-path="countries"/>
-	<obj-relationship name="continent" source="Country" target="Continent" deleteRule="Nullify" db-relationship-path="continent"/>
-	<obj-relationship name="cascade" source="MtDeleteCascade" target="MtDeleteRule" deleteRule="Cascade" db-relationship-path="cascade"/>
-	<obj-relationship name="deny" source="MtDeleteDeny" target="MtDeleteRule" deleteRule="Deny" db-relationship-path="deny"/>
-	<obj-relationship name="nullify" source="MtDeleteNullify" target="MtDeleteRule" deleteRule="Nullify" db-relationship-path="nullify"/>
-	<obj-relationship name="fromCascade" source="MtDeleteRule" target="MtDeleteCascade" db-relationship-path="fromCascade"/>
-	<obj-relationship name="fromDeny" source="MtDeleteRule" target="MtDeleteDeny" db-relationship-path="fromDeny"/>
-	<obj-relationship name="fromNullify" source="MtDeleteRule" target="MtDeleteNullify" db-relationship-path="fromNullify"/>
-	<obj-relationship name="targets" source="MtMapToMany" target="MtMapToManyTarget" collection-type="java.util.Map" db-relationship-path="targets"/>
-	<obj-relationship name="mapToMany" source="MtMapToManyTarget" target="MtMapToMany" db-relationship-path="mapToMany"/>
-	<obj-relationship name="children" source="MtReflexive" target="MtReflexive" db-relationship-path="children"/>
-	<obj-relationship name="toParent" source="MtReflexive" target="MtReflexive" db-relationship-path="toParent"/>
 	<obj-relationship name="table2Array" source="MtTable1" target="MtTable2" db-relationship-path="table2Array"/>
 	<obj-relationship name="table1" source="MtTable2" target="MtTable1" db-relationship-path="table1"/>
 	<obj-relationship name="table3" source="MtTable2" target="MtTable3" deleteRule="Nullify" db-relationship-path="table3"/>
 	<obj-relationship name="table2Array" source="MtTable3" target="MtTable2" deleteRule="Deny" db-relationship-path="table2Array"/>
 	<obj-relationship name="table5s" source="MtTable4" target="MtTable5" db-relationship-path="joins.toTable5"/>
 	<obj-relationship name="table4s" source="MtTable5" target="MtTable4" db-relationship-path="joins.toTable4"/>
-	<obj-relationship name="toMaster" source="MtTooneDep" target="MtTooneMaster" deleteRule="Nullify" db-relationship-path="toMaster"/>
-	<obj-relationship name="toDependent" source="MtTooneMaster" target="MtTooneDep" deleteRule="Cascade" db-relationship-path="toDependent"/>
 	<query name="AllMtTable1" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="MtTable1">
 	</query>
 	<query name="MtQueryWithLocalCache" factory="org.apache.cayenne.map.SelectQueryBuilder" root="obj-entity" root-name="MtTable1">

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/persistent.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/persistent.map.xml b/cayenne-server/src/test/resources/persistent.map.xml
new file mode 100644
index 0000000..7e50534
--- /dev/null
+++ b/cayenne-server/src/test/resources/persistent.map.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+	 project-version="7">
+	<property name="defaultPackage" value="org.apache.cayenne.testdo.persistent"/>
+	<property name="clientSupported" value="true"/>
+	<property name="defaultClientPackage" value="org.apache.cayenne.testdo.persistent"/>
+	<db-entity name="CONTINENT">
+		<db-attribute name="CONTINENTD" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+	</db-entity>
+	<db-entity name="COUNTRY">
+		<db-attribute name="CONTINENTID" type="BIGINT" isMandatory="true"/>
+		<db-attribute name="COUNTRYID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+	</db-entity>
+	<obj-entity name="Continent" className="org.apache.cayenne.testdo.persistent.Continent" clientClassName="org.apache.cayenne.testdo.persistent.Continent" dbEntityName="CONTINENT" superClassName="org.apache.cayenne.PersistentObject">
+		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+	</obj-entity>
+	<obj-entity name="Country" className="org.apache.cayenne.testdo.persistent.Country" clientClassName="org.apache.cayenne.testdo.persistent.Country" dbEntityName="COUNTRY" superClassName="org.apache.cayenne.PersistentObject">
+		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+	</obj-entity>
+	<db-relationship name="countries" source="CONTINENT" target="COUNTRY" toMany="true">
+		<db-attribute-pair source="CONTINENTD" target="CONTINENTID"/>
+	</db-relationship>
+	<db-relationship name="continent" source="COUNTRY" target="CONTINENT" toMany="false">
+		<db-attribute-pair source="CONTINENTID" target="CONTINENTD"/>
+	</db-relationship>
+	<obj-relationship name="countries" source="Continent" target="Country" deleteRule="Cascade" db-relationship-path="countries"/>
+	<obj-relationship name="continent" source="Country" target="Continent" deleteRule="Nullify" db-relationship-path="continent"/>
+</data-map>	
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/reflexive.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/reflexive.map.xml b/cayenne-server/src/test/resources/reflexive.map.xml
new file mode 100644
index 0000000..28fbf77
--- /dev/null
+++ b/cayenne-server/src/test/resources/reflexive.map.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.reflexive"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="org.apache.cayenne.testdo.reflexive"/>
+    <db-entity name="REFLEXIVE">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="200"/>
+        <db-attribute name="PARENT_ID" type="INTEGER"/>
+    </db-entity>
+    <obj-entity name="Reflexive" className="org.apache.cayenne.testdo.reflexive.Reflexive" clientClassName="org.apache.cayenne.testdo.reflexive.ClientReflexive" dbEntityName="REFLEXIVE">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="children" source="REFLEXIVE" target="REFLEXIVE" toMany="true">
+        <db-attribute-pair source="ID" target="PARENT_ID"/>
+    </db-relationship>
+    <db-relationship name="toParent" source="REFLEXIVE" target="REFLEXIVE" toMany="false">
+        <db-attribute-pair source="PARENT_ID" target="ID"/>
+    </db-relationship>
+    <obj-relationship name="children" source="Reflexive" target="Reflexive" db-relationship-path="children"/>
+    <obj-relationship name="toParent" source="Reflexive" target="Reflexive" db-relationship-path="toParent"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/relationships.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships.map.xml b/cayenne-server/src/test/resources/relationships.map.xml
index d1fc117..85ce607 100644
--- a/cayenne-server/src/test/resources/relationships.map.xml
+++ b/cayenne-server/src/test/resources/relationships.map.xml
@@ -82,21 +82,6 @@
 		<db-attribute name="FT4_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
 	</db-entity>
-	<db-entity name="ID_MAP_TO_MANY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="ID_MAP_TO_MANY_TARGET">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="MAP_TO_MANY_ID" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="MAP_TO_MANY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="MAP_TO_MANY_TARGET">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="MAP_TO_MANY_ID" type="INTEGER"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
 	<db-entity name="MASTER">
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="NAME" type="VARCHAR" length="100"/>
@@ -182,15 +167,6 @@
 	<obj-entity name="FlattenedTest4" className="org.apache.cayenne.testdo.relationship.FlattenedTest4" dbEntityName="FLATTENED_TEST_4">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="IdMapToMany" className="org.apache.cayenne.testdo.relationship.IdMapToMany" dbEntityName="ID_MAP_TO_MANY">
-	</obj-entity>
-	<obj-entity name="IdMapToManyTarget" className="org.apache.cayenne.testdo.relationship.IdMapToManyTarget" dbEntityName="ID_MAP_TO_MANY_TARGET">
-	</obj-entity>
-	<obj-entity name="MapToMany" className="org.apache.cayenne.testdo.relationship.MapToMany" dbEntityName="MAP_TO_MANY">
-	</obj-entity>
-	<obj-entity name="MapToManyTarget" className="org.apache.cayenne.testdo.relationship.MapToManyTarget" dbEntityName="MAP_TO_MANY_TARGET">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
 	<obj-entity name="Master" className="org.apache.cayenne.testdo.relationship.Master" dbEntityName="MASTER">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
@@ -309,18 +285,6 @@
 	<db-relationship name="toFT3" source="FLATTENED_TEST_4" target="FLATTENED_TEST_3" toMany="false">
 		<db-attribute-pair source="FT3_ID" target="FT3_ID"/>
 	</db-relationship>
-	<db-relationship name="targets" source="ID_MAP_TO_MANY" target="ID_MAP_TO_MANY_TARGET" toMany="true">
-		<db-attribute-pair source="ID" target="MAP_TO_MANY_ID"/>
-	</db-relationship>
-	<db-relationship name="mapToMany" source="ID_MAP_TO_MANY_TARGET" target="ID_MAP_TO_MANY" toMany="false">
-		<db-attribute-pair source="MAP_TO_MANY_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="targets" source="MAP_TO_MANY" target="MAP_TO_MANY_TARGET" toMany="true">
-		<db-attribute-pair source="ID" target="MAP_TO_MANY_ID"/>
-	</db-relationship>
-	<db-relationship name="mapToMany" source="MAP_TO_MANY_TARGET" target="MAP_TO_MANY" toMany="false">
-		<db-attribute-pair source="MAP_TO_MANY_ID" target="ID"/>
-	</db-relationship>
 	<db-relationship name="children" source="MASTER" target="CHILD" toMany="true">
 		<db-attribute-pair source="ID" target="MASTER_ID"/>
 	</db-relationship>
@@ -393,10 +357,6 @@
 	<obj-relationship name="toFT1" source="FlattenedTest3" target="FlattenedTest1" db-relationship-path="toFT2.toFT1"/>
 	<obj-relationship name="toFT2" source="FlattenedTest3" target="FlattenedTest2" db-relationship-path="toFT2"/>
 	<obj-relationship name="toFT3" source="FlattenedTest4" target="FlattenedTest3" db-relationship-path="toFT3"/>
-	<obj-relationship name="targets" source="IdMapToMany" target="IdMapToManyTarget" collection-type="java.util.Map" db-relationship-path="targets"/>
-	<obj-relationship name="mapToMany" source="IdMapToManyTarget" target="IdMapToMany" db-relationship-path="mapToMany"/>
-	<obj-relationship name="targets" source="MapToMany" target="MapToManyTarget" collection-type="java.util.Map" map-key="name" db-relationship-path="targets"/>
-	<obj-relationship name="mapToMany" source="MapToManyTarget" target="MapToMany" db-relationship-path="mapToMany"/>
 	<obj-relationship name="children" source="Master" target="Child" deleteRule="Deny" db-relationship-path="children"/>
 	<obj-relationship name="toRelationshipHelper" source="MeaningfulFK" target="RelationshipHelper" db-relationship-path="toRelationshipHelper"/>
 	<obj-relationship name="children" source="ReflexiveAndToOne" target="ReflexiveAndToOne" db-relationship-path="children"/>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/table-primitives.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/table-primitives.map.xml b/cayenne-server/src/test/resources/table-primitives.map.xml
new file mode 100644
index 0000000..a2c3c23
--- /dev/null
+++ b/cayenne-server/src/test/resources/table-primitives.map.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.table_primitives"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="org.apache.cayenne.testdo.table_primitives"/>
+    <db-entity name="TABLE_PRIMITIVES">
+        <db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="INT_COLUMN" type="INTEGER"/>
+    </db-entity>
+    <obj-entity name="TablePrimitives" className="org.apache.cayenne.testdo.table_primitives.TablePrimitives" clientClassName="org.apache.cayenne.testdo.table_primitives.ClientTablePrimitives" dbEntityName="TABLE_PRIMITIVES">
+        <obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
+        <obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/toone.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/toone.map.xml b/cayenne-server/src/test/resources/toone.map.xml
new file mode 100644
index 0000000..5a30192
--- /dev/null
+++ b/cayenne-server/src/test/resources/toone.map.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.toone"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="org.apache.cayenne.testdo.toone"/>
+    <db-entity name="TOONE_DEP">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="TOONE_MASTER">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="TooneDep" className="org.apache.cayenne.testdo.toone.TooneDep" clientClassName="org.apache.cayenne.testdo.toone.ClientTooneDep" dbEntityName="TOONE_DEP">
+    </obj-entity>
+    <obj-entity name="TooneMaster" className="org.apache.cayenne.testdo.toone.TooneMaster" clientClassName="org.apache.cayenne.testdo.toone.ClientTooneMaster" dbEntityName="TOONE_MASTER">
+    </obj-entity>
+    <db-relationship name="toMaster" source="TOONE_DEP" target="TOONE_MASTER" toMany="false">
+        <db-attribute-pair source="ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="toDependent" source="TOONE_MASTER" target="TOONE_DEP" toDependentPK="true" toMany="false">
+        <db-attribute-pair source="ID" target="ID"/>
+    </db-relationship>
+    <obj-relationship name="toMaster" source="TooneDep" target="TooneMaster" deleteRule="Nullify" db-relationship-path="toMaster"/>
+    <obj-relationship name="toDependent" source="TooneMaster" target="TooneDep" deleteRule="Cascade" db-relationship-path="toDependent"/>
+</data-map>
\ No newline at end of file


[27/50] [abbrv] cayenne git commit: CAY-1959 Chainable API for SelectQuery

Posted by aa...@apache.org.
CAY-1959 Chainable API for SelectQuery

* merge method for PrefetchTreeNode for more comprehensive prefetch subtree merging
* using the new merge in SelectQuery as well

UPGRADE NOTES:

The most visible side effect of this change is that Property.xyzPrefetch() method will now return
a root of the prefetch tree that can merged into the query instead of a leaf that can't.

So in an unlikely case someone did MyEntity.MY_PROPERTY.disjoint().setSemantics(JOINT), the last part in this chain
is not longer going to work.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/4d8b2e1a
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/4d8b2e1a
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/4d8b2e1a

Branch: refs/heads/CAY-1946
Commit: 4d8b2e1a6a6db08bd68ffab227381eb981111893
Parents: fb8660e
Author: aadamchik <aa...@apache.org>
Authored: Sun Nov 9 21:20:21 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Nov 9 21:24:50 2014 +0300

----------------------------------------------------------------------
 .../cayenne/query/PrefetchTreeNodeTest.java     |  169 ++-
 .../java/org/apache/cayenne/exp/Property.java   |  812 ++++++-------
 .../apache/cayenne/query/BaseQueryMetadata.java |  839 ++++++-------
 .../apache/cayenne/query/PrefetchTreeNode.java  | 1106 +++++++++---------
 .../org/apache/cayenne/query/SelectQuery.java   |    7 +-
 ...ataContextDisjointByIdPrefetch_ExtrasIT.java |    1 +
 6 files changed, 1546 insertions(+), 1388 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/4d8b2e1a/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java
index 90d4169..1dee8a9 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/PrefetchTreeNodeTest.java
@@ -18,51 +18,142 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.remote.hessian.service.HessianUtil;
-import org.junit.Test;
-
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.remote.hessian.service.HessianUtil;
+import org.junit.Test;
 
 public class PrefetchTreeNodeTest {
 
-    @Test
-    public void testTreeSerializationWithHessian() throws Exception {
-        PrefetchTreeNode n1 = new PrefetchTreeNode();
-        PrefetchTreeNode n2 = n1.addPath("abc");
-
-        PrefetchTreeNode nc1 = (PrefetchTreeNode) HessianUtil.cloneViaClientServerSerialization(n1,
-                new EntityResolver());
-        assertNotNull(nc1);
-
-        PrefetchTreeNode nc2 = nc1.getNode("abc");
-        assertNotNull(nc2);
-        assertNotSame(nc2, n2);
-        assertSame(nc1, nc2.getParent());
-        assertEquals("abc", nc2.getName());
-    }
-
-    @Test
-    public void testSubtreeSerializationWithHessian() throws Exception {
-        PrefetchTreeNode n1 = new PrefetchTreeNode();
-        PrefetchTreeNode n2 = n1.addPath("abc");
-        PrefetchTreeNode n3 = n2.addPath("xyz");
-
-        // test that substree was serialized as independent tree, instead of
-        // sucking
-        PrefetchTreeNode nc2 = (PrefetchTreeNode) HessianUtil.cloneViaClientServerSerialization(n2,
-                new EntityResolver());
-        assertNotNull(nc2);
-        assertNull(nc2.getParent());
-
-        PrefetchTreeNode nc3 = nc2.getNode("xyz");
-        assertNotNull(nc3);
-        assertNotSame(nc3, n3);
-        assertSame(nc2, nc3.getParent());
-        assertEquals("xyz", nc3.getName());
-    }
+	@Test
+	public void testTreeSerializationWithHessian() throws Exception {
+		PrefetchTreeNode n1 = new PrefetchTreeNode();
+		PrefetchTreeNode n2 = n1.addPath("abc");
+
+		PrefetchTreeNode nc1 = (PrefetchTreeNode) HessianUtil.cloneViaClientServerSerialization(n1,
+				new EntityResolver());
+		assertNotNull(nc1);
+
+		PrefetchTreeNode nc2 = nc1.getNode("abc");
+		assertNotNull(nc2);
+		assertNotSame(nc2, n2);
+		assertSame(nc1, nc2.getParent());
+		assertEquals("abc", nc2.getName());
+	}
+
+	@Test
+	public void testSubtreeSerializationWithHessian() throws Exception {
+		PrefetchTreeNode n1 = new PrefetchTreeNode();
+		PrefetchTreeNode n2 = n1.addPath("abc");
+		PrefetchTreeNode n3 = n2.addPath("xyz");
+
+		// test that substree was serialized as independent tree, instead of
+		// sucking
+		PrefetchTreeNode nc2 = (PrefetchTreeNode) HessianUtil.cloneViaClientServerSerialization(n2,
+				new EntityResolver());
+		assertNotNull(nc2);
+		assertNull(nc2.getParent());
+
+		PrefetchTreeNode nc3 = nc2.getNode("xyz");
+		assertNotNull(nc3);
+		assertNotSame(nc3, n3);
+		assertSame(nc2, nc3.getParent());
+		assertEquals("xyz", nc3.getName());
+	}
+
+	@Test
+	public void testMerge() {
+		PrefetchTreeNode original = new PrefetchTreeNode();
+		original.addPath("a").setPhantom(true);
+		original.addPath("a.b").setSemantics(PrefetchTreeNode.JOINT_PREFETCH_SEMANTICS);
+		original.addPath("a.b").setPhantom(false);
+		original.addPath("c").setSemantics(PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS);
+		original.addPath("c").setPhantom(false);
+		original.addPath("f").setSemantics(PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS);
+		original.addPath("f").setPhantom(false);
+
+		PrefetchTreeNode toMerge = new PrefetchTreeNode();
+		toMerge.addPath("a").setPhantom(false);
+		toMerge.addPath("a.b").setSemantics(PrefetchTreeNode.DISJOINT_BY_ID_PREFETCH_SEMANTICS);
+		toMerge.addPath("d.e").setSemantics(PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS);
+		toMerge.addPath("d.e").setPhantom(false);
+		toMerge.addPath("c").setSemantics(PrefetchTreeNode.UNDEFINED_SEMANTICS);
+
+		original.merge(toMerge);
+
+		assertSame(original, original.getRoot());
+		assertEquals(4, original.getChildren().size());
+
+		PrefetchTreeNode mergedA = original.getChild("a");
+		assertEquals(1, mergedA.getChildren().size());
+		assertFalse("Phantom flag wasn't turned off", mergedA.isPhantom());
+		assertEquals(PrefetchTreeNode.UNDEFINED_SEMANTICS, mergedA.getSemantics());
+
+		PrefetchTreeNode mergedB = mergedA.getChild("b");
+		assertEquals(0, mergedB.getChildren().size());
+		assertFalse(mergedB.isPhantom());
+		assertEquals("Semantics was't merged", PrefetchTreeNode.DISJOINT_BY_ID_PREFETCH_SEMANTICS,
+				mergedB.getSemantics());
+
+		PrefetchTreeNode mergedC = original.getChild("c");
+		assertEquals(0, mergedC.getChildren().size());
+		assertFalse(mergedC.isPhantom());
+		assertEquals("Semantics was overridden to undefined", PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS,
+				mergedC.getSemantics());
+
+		PrefetchTreeNode mergedD = original.getChild("d");
+		assertEquals(1, mergedD.getChildren().size());
+		assertTrue(mergedD.isPhantom());
+		assertEquals(PrefetchTreeNode.UNDEFINED_SEMANTICS, mergedD.getSemantics());
+		assertNotSame("Merged node wasn't cloned", toMerge.getChild("d"), mergedD);
+
+		PrefetchTreeNode mergedE = mergedD.getChild("e");
+		assertEquals(0, mergedE.getChildren().size());
+		assertFalse(mergedE.isPhantom());
+		assertEquals(PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS, mergedE.getSemantics());
+
+		PrefetchTreeNode mergedF = original.getChild("f");
+		assertEquals(0, mergedF.getChildren().size());
+		assertFalse(mergedF.isPhantom());
+		assertEquals(PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS, mergedF.getSemantics());
+	}
+
+	@Test
+	public void testMerge_NonRoot() {
+		PrefetchTreeNode original = new PrefetchTreeNode();
+		original.addPath("a").setPhantom(true);
+		original.addPath("a.b").setSemantics(PrefetchTreeNode.JOINT_PREFETCH_SEMANTICS);
+		original.addPath("a.b").setPhantom(false);
+
+		PrefetchTreeNode toMerge = new PrefetchTreeNode(null, "a.b.c");
+		toMerge.setPhantom(false);
+		toMerge.setSemantics(PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS);
+
+		original.merge(toMerge);
+
+		assertSame(original, original.getRoot());
+		assertEquals(1, original.getChildren().size());
+
+		PrefetchTreeNode mergedA = original.getChild("a");
+		assertEquals(1, mergedA.getChildren().size());
+		assertTrue(mergedA.isPhantom());
+		assertEquals(PrefetchTreeNode.UNDEFINED_SEMANTICS, mergedA.getSemantics());
+
+		PrefetchTreeNode mergedB = mergedA.getChild("b");
+		assertEquals(1, mergedB.getChildren().size());
+		assertFalse(mergedB.isPhantom());
+		assertEquals(PrefetchTreeNode.JOINT_PREFETCH_SEMANTICS, mergedB.getSemantics());
+
+		PrefetchTreeNode mergedC = mergedB.getChild("c");
+		assertEquals(0, mergedC.getChildren().size());
+		assertFalse(mergedC.isPhantom());
+		assertEquals(PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS, mergedC.getSemantics());
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4d8b2e1a/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java
index 999b346..48f1549 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/Property.java
@@ -48,405 +48,417 @@ import org.apache.cayenne.reflect.PropertyUtils;
  */
 public class Property<E> {
 
-    /**
-     * Name of the property in the object
-     */
-    private final String name;
-
-    /**
-     * Constructs a new property with the given name.
-     */
-    public Property(String name) {
-        this.name = name;
-    }
-
-    /**
-     * @return Name of the property in the object.
-     */
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public int hashCode() {
-        return getName().hashCode();
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        return obj instanceof Property && ((Property<?>) obj).getName().equals(getName());
-    }
-
-    /**
-     * @return Constructs a property path by appending the argument to the
-     *         existing property separated by a dot
-     */
-    public Property<Object> dot(String property) {
-        return new Property<Object>(getName() + "." + property);
-    }
-
-    /**
-     * @return Constructs a property path by appending the argument to the
-     *         existing property separated by a dot
-     */
-    public <T> Property<T> dot(Property<T> property) {
-        return new Property<T>(getName() + "." + property.getName());
-    }
-
-    /**
-     * Returns a version of this property that represents an OUTER join. It is
-     * up to caller to ensure that the property corresponds to a relationship,
-     * as "outer" attributes make no sense.
-     */
-    public Property<E> outer() {
-        return isOuter() ? this: new Property<E>(name + "+"); 
-    }
-    
-    private boolean isOuter() {
-        return name.endsWith("+");
-    }
-
-    /**
-     * @return An expression representing null.
-     */
-    public Expression isNull() {
-        return ExpressionFactory.matchExp(getName(), null);
-    }
-
-    /**
-     * @return An expression representing a non-null value.
-     */
-    public Expression isNotNull() {
-        return ExpressionFactory.matchExp(getName(), null).notExp();
-    }
-
-    /**
-     * @return An expression representing equality to TRUE.
-     */
-    public Expression isTrue() {
-        return ExpressionFactory.matchExp(getName(), Boolean.TRUE);
-    }
-
-    /**
-     * @return An expression representing equality to FALSE.
-     */
-    public Expression isFalse() {
-        return ExpressionFactory.matchExp(getName(), Boolean.FALSE);
-    }
-
-    /**
-     * @return An expression representing equality to a value.
-     */
-    public Expression eq(E value) {
-        return ExpressionFactory.matchExp(getName(), value);
-    }
-
-    /**
-     * @return An expression representing equality between two attributes
-     *         (columns).
-     */
-    public Expression eq(Property<?> value) {
-        return ExpressionFactory.matchExp(getName(), new ASTObjPath(value.getName()));
-    }
-
-    /**
-     * @return An expression representing inequality to a value.
-     */
-    public Expression ne(E value) {
-        return ExpressionFactory.noMatchExp(getName(), value);
-    }
-
-    /**
-     * @return An expression representing inequality between two attributes
-     *         (columns).
-     */
-    public Expression ne(Property<?> value) {
-        return ExpressionFactory.noMatchExp(getName(), new ASTObjPath(value.getName()));
-    }
-
-    /**
-     * @return An expression for a Database "Like" query.
-     */
-    public Expression like(E value) {
-        return ExpressionFactory.likeExp(getName(), value);
-    }
-
-    /**
-     * @return An expression for a case insensitive "Like" query.
-     */
-    public Expression likeInsensitive(E value) {
-        return ExpressionFactory.likeIgnoreCaseExp(getName(), value);
-    }
-
-    /**
-     * @return An expression for a Database "NOT LIKE" query.
-     */
-    public Expression nlike(E value) {
-        return ExpressionFactory.notLikeExp(getName(), value);
-    }
-
-    /**
-     * @return An expression for a case insensitive "NOT LIKE" query.
-     */
-    public Expression nlikeInsensitive(E value) {
-        return ExpressionFactory.notLikeIgnoreCaseExp(getName(), value);
-    }
-
-    /**
-     * @return An expression checking for objects between a lower and upper
-     *         bound inclusive
-     * 
-     * @param lower
-     *            The lower bound.
-     * @param upper
-     *            The upper bound.
-     */
-    public Expression between(E lower, E upper) {
-        return ExpressionFactory.betweenExp(getName(), lower, upper);
-    }
-
-    /**
-     * @return An expression for finding objects with values in the given set.
-     */
-    public Expression in(E firstValue, E... moreValues) {
-
-        int moreValuesLength = moreValues != null ? moreValues.length : 0;
-
-        Object[] values = new Object[moreValuesLength + 1];
-        values[0] = firstValue;
-
-        if (moreValuesLength > 0) {
-            System.arraycopy(moreValues, 0, values, 1, moreValuesLength);
-        }
-
-        return ExpressionFactory.inExp(getName(), values);
-    }
-
-    /**
-     * @return An expression for finding objects with values not in the given
-     *         set.
-     */
-    public Expression nin(E firstValue, E... moreValues) {
-
-        int moreValuesLength = moreValues != null ? moreValues.length : 0;
-
-        Object[] values = new Object[moreValuesLength + 1];
-        values[0] = firstValue;
-
-        if (moreValuesLength > 0) {
-            System.arraycopy(moreValues, 0, values, 1, moreValuesLength);
-        }
-
-        return ExpressionFactory.notInExp(getName(), values);
-    }
-
-    /**
-     * @return An expression for finding objects with values in the given set.
-     */
-    public Expression in(Collection<E> values) {
-        return ExpressionFactory.inExp(getName(), values);
-    }
-
-    /**
-     * @return An expression for finding objects with values not in the given
-     *         set.
-     */
-    public Expression nin(Collection<E> values) {
-        return ExpressionFactory.notInExp(getName(), values);
-    }
-
-    /**
-     * @return A greater than Expression.
-     */
-    public Expression gt(E value) {
-        return ExpressionFactory.greaterExp(getName(), value);
-    }
-
-    /**
-     * @return Represents a greater than relationship between two attributes
-     *         (columns).
-     */
-    public Expression gt(Property<?> value) {
-        return ExpressionFactory.greaterExp(getName(), new ASTObjPath(value.getName()));
-    }
-
-    /**
-     * @return A greater than or equal to Expression.
-     */
-    public Expression gte(E value) {
-        return ExpressionFactory.greaterOrEqualExp(getName(), value);
-    }
-
-    /**
-     * @return Represents a greater than or equal relationship between two
-     *         attributes (columns).
-     */
-    public Expression gte(Property<?> value) {
-        return ExpressionFactory.greaterOrEqualExp(getName(), new ASTObjPath(value.getName()));
-    }
-
-    /**
-     * @return A less than Expression.
-     */
-    public Expression lt(E value) {
-        return ExpressionFactory.lessExp(getName(), value);
-    }
-
-    /**
-     * @return Represents a less than relationship between two attributes
-     *         (columns).
-     */
-    public Expression lt(Property<?> value) {
-        return ExpressionFactory.lessExp(getName(), new ASTObjPath(value.getName()));
-    }
-
-    /**
-     * @return A less than or equal to Expression.
-     */
-    public Expression lte(E value) {
-        return ExpressionFactory.lessOrEqualExp(getName(), value);
-    }
-
-    /**
-     * @return Represents a less than or equal relationship between two
-     *         attributes (columns).
-     */
-    public Expression lte(Property<?> value) {
-        return ExpressionFactory.lessOrEqualExp(getName(), new ASTObjPath(value.getName()));
-    }
-
-    /**
-     * @return Ascending sort orderings on this property.
-     */
-    public Ordering asc() {
-        return new Ordering(getName(), SortOrder.ASCENDING);
-    }
-
-    /**
-     * @return Ascending sort orderings on this property.
-     */
-    public List<Ordering> ascs() {
-        List<Ordering> result = new ArrayList<Ordering>(1);
-        result.add(asc());
-        return result;
-    }
-
-    /**
-     * @return Ascending case insensitive sort orderings on this property.
-     */
-    public Ordering ascInsensitive() {
-        return new Ordering(getName(), SortOrder.ASCENDING_INSENSITIVE);
-    }
-
-    /**
-     * @return Ascending case insensitive sort orderings on this property.
-     */
-    public List<Ordering> ascInsensitives() {
-        List<Ordering> result = new ArrayList<Ordering>(1);
-        result.add(ascInsensitive());
-        return result;
-    }
-
-    /**
-     * @return Descending sort orderings on this property.
-     */
-    public Ordering desc() {
-        return new Ordering(getName(), SortOrder.DESCENDING);
-    }
-
-    /**
-     * @return Descending sort orderings on this property.
-     */
-    public List<Ordering> descs() {
-        List<Ordering> result = new ArrayList<Ordering>(1);
-        result.add(desc());
-        return result;
-    }
-
-    /**
-     * @return Descending case insensitive sort orderings on this property.
-     */
-    public Ordering descInsensitive() {
-        return new Ordering(getName(), SortOrder.DESCENDING_INSENSITIVE);
-    }
-
-    /**
-     * @return Descending case insensitive sort orderings on this property.
-     */
-    public List<Ordering> descInsensitives() {
-        List<Ordering> result = new ArrayList<Ordering>(1);
-        result.add(descInsensitive());
-        return result;
-    }
-
-    public PrefetchTreeNode joint() {
-        PrefetchTreeNode node = prefetch();
-        node.setSemantics(PrefetchTreeNode.JOINT_PREFETCH_SEMANTICS);
-        return node;
-    }
-
-    public PrefetchTreeNode disjoint() {
-        PrefetchTreeNode node = prefetch();
-        node.setSemantics(PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS);
-        return node;
-    }
-
-    public PrefetchTreeNode disjointById() {
-        PrefetchTreeNode node = prefetch();
-        node.setSemantics(PrefetchTreeNode.DISJOINT_BY_ID_PREFETCH_SEMANTICS);
-        return node;
-    }
-
-    PrefetchTreeNode prefetch() {
-
-        // TODO: not very efficient - we are creating a prefetch that
-        // SelectQuery would throw away and recreate...
-        PrefetchTreeNode root = new PrefetchTreeNode();
-        PrefetchTreeNode node = root.addPath(name);
-        node.setPhantom(false);
-        return node;
-    }
-
-    /**
-     * Extracts property value from an object using JavaBean-compatible
-     * introspection with one addition - a property can be a dot-separated
-     * property name path.
-     */
-    @SuppressWarnings("unchecked")
-    public E getFrom(Object bean) {
-        return (E) PropertyUtils.getProperty(bean, getName());
-    }
-
-    /**
-     * Extracts property value from a collection of objects using
-     * JavaBean-compatible introspection with one addition - a property can be a
-     * dot-separated property name path.
-     */
-    public List<E> getFromAll(Collection<?> beans) {
-        List<E> result = new ArrayList<E>(beans.size());
-        for (Object bean : beans) {
-            result.add(getFrom(bean));
-        }
-        return result;
-    }
-
-    /**
-     * Sets a property value in 'obj' using JavaBean-compatible introspection
-     * with one addition - a property can be a dot-separated property name path.
-     */
-    public void setIn(Object bean, E value) {
-        PropertyUtils.setProperty(bean, getName(), value);
-    }
-
-    /**
-     * Sets a property value in a collection of objects using
-     * JavaBean-compatible introspection with one addition - a property can be a
-     * dot-separated property name path.
-     */
-    public void setInAll(Collection<?> beans, E value) {
-        for (Object bean : beans) {
-            setIn(bean, value);
-        }
-    }
+	/**
+	 * Name of the property in the object
+	 */
+	private final String name;
+
+	/**
+	 * Constructs a new property with the given name.
+	 */
+	public Property(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * @return Name of the property in the object.
+	 */
+	public String getName() {
+		return name;
+	}
+
+	@Override
+	public int hashCode() {
+		return getName().hashCode();
+	}
+
+	@Override
+	public boolean equals(Object obj) {
+		return obj instanceof Property && ((Property<?>) obj).getName().equals(getName());
+	}
+
+	/**
+	 * @return Constructs a property path by appending the argument to the
+	 *         existing property separated by a dot
+	 */
+	public Property<Object> dot(String property) {
+		return new Property<Object>(getName() + "." + property);
+	}
+
+	/**
+	 * @return Constructs a property path by appending the argument to the
+	 *         existing property separated by a dot
+	 */
+	public <T> Property<T> dot(Property<T> property) {
+		return new Property<T>(getName() + "." + property.getName());
+	}
+
+	/**
+	 * Returns a version of this property that represents an OUTER join. It is
+	 * up to caller to ensure that the property corresponds to a relationship,
+	 * as "outer" attributes make no sense.
+	 */
+	public Property<E> outer() {
+		return isOuter() ? this : new Property<E>(name + "+");
+	}
+
+	private boolean isOuter() {
+		return name.endsWith("+");
+	}
+
+	/**
+	 * @return An expression representing null.
+	 */
+	public Expression isNull() {
+		return ExpressionFactory.matchExp(getName(), null);
+	}
+
+	/**
+	 * @return An expression representing a non-null value.
+	 */
+	public Expression isNotNull() {
+		return ExpressionFactory.matchExp(getName(), null).notExp();
+	}
+
+	/**
+	 * @return An expression representing equality to TRUE.
+	 */
+	public Expression isTrue() {
+		return ExpressionFactory.matchExp(getName(), Boolean.TRUE);
+	}
+
+	/**
+	 * @return An expression representing equality to FALSE.
+	 */
+	public Expression isFalse() {
+		return ExpressionFactory.matchExp(getName(), Boolean.FALSE);
+	}
+
+	/**
+	 * @return An expression representing equality to a value.
+	 */
+	public Expression eq(E value) {
+		return ExpressionFactory.matchExp(getName(), value);
+	}
+
+	/**
+	 * @return An expression representing equality between two attributes
+	 *         (columns).
+	 */
+	public Expression eq(Property<?> value) {
+		return ExpressionFactory.matchExp(getName(), new ASTObjPath(value.getName()));
+	}
+
+	/**
+	 * @return An expression representing inequality to a value.
+	 */
+	public Expression ne(E value) {
+		return ExpressionFactory.noMatchExp(getName(), value);
+	}
+
+	/**
+	 * @return An expression representing inequality between two attributes
+	 *         (columns).
+	 */
+	public Expression ne(Property<?> value) {
+		return ExpressionFactory.noMatchExp(getName(), new ASTObjPath(value.getName()));
+	}
+
+	/**
+	 * @return An expression for a Database "Like" query.
+	 */
+	public Expression like(E value) {
+		return ExpressionFactory.likeExp(getName(), value);
+	}
+
+	/**
+	 * @return An expression for a case insensitive "Like" query.
+	 */
+	public Expression likeInsensitive(E value) {
+		return ExpressionFactory.likeIgnoreCaseExp(getName(), value);
+	}
+
+	/**
+	 * @return An expression for a Database "NOT LIKE" query.
+	 */
+	public Expression nlike(E value) {
+		return ExpressionFactory.notLikeExp(getName(), value);
+	}
+
+	/**
+	 * @return An expression for a case insensitive "NOT LIKE" query.
+	 */
+	public Expression nlikeInsensitive(E value) {
+		return ExpressionFactory.notLikeIgnoreCaseExp(getName(), value);
+	}
+
+	/**
+	 * @return An expression checking for objects between a lower and upper
+	 *         bound inclusive
+	 * 
+	 * @param lower
+	 *            The lower bound.
+	 * @param upper
+	 *            The upper bound.
+	 */
+	public Expression between(E lower, E upper) {
+		return ExpressionFactory.betweenExp(getName(), lower, upper);
+	}
+
+	/**
+	 * @return An expression for finding objects with values in the given set.
+	 */
+	public Expression in(E firstValue, E... moreValues) {
+
+		int moreValuesLength = moreValues != null ? moreValues.length : 0;
+
+		Object[] values = new Object[moreValuesLength + 1];
+		values[0] = firstValue;
+
+		if (moreValuesLength > 0) {
+			System.arraycopy(moreValues, 0, values, 1, moreValuesLength);
+		}
+
+		return ExpressionFactory.inExp(getName(), values);
+	}
+
+	/**
+	 * @return An expression for finding objects with values not in the given
+	 *         set.
+	 */
+	public Expression nin(E firstValue, E... moreValues) {
+
+		int moreValuesLength = moreValues != null ? moreValues.length : 0;
+
+		Object[] values = new Object[moreValuesLength + 1];
+		values[0] = firstValue;
+
+		if (moreValuesLength > 0) {
+			System.arraycopy(moreValues, 0, values, 1, moreValuesLength);
+		}
+
+		return ExpressionFactory.notInExp(getName(), values);
+	}
+
+	/**
+	 * @return An expression for finding objects with values in the given set.
+	 */
+	public Expression in(Collection<E> values) {
+		return ExpressionFactory.inExp(getName(), values);
+	}
+
+	/**
+	 * @return An expression for finding objects with values not in the given
+	 *         set.
+	 */
+	public Expression nin(Collection<E> values) {
+		return ExpressionFactory.notInExp(getName(), values);
+	}
+
+	/**
+	 * @return A greater than Expression.
+	 */
+	public Expression gt(E value) {
+		return ExpressionFactory.greaterExp(getName(), value);
+	}
+
+	/**
+	 * @return Represents a greater than relationship between two attributes
+	 *         (columns).
+	 */
+	public Expression gt(Property<?> value) {
+		return ExpressionFactory.greaterExp(getName(), new ASTObjPath(value.getName()));
+	}
+
+	/**
+	 * @return A greater than or equal to Expression.
+	 */
+	public Expression gte(E value) {
+		return ExpressionFactory.greaterOrEqualExp(getName(), value);
+	}
+
+	/**
+	 * @return Represents a greater than or equal relationship between two
+	 *         attributes (columns).
+	 */
+	public Expression gte(Property<?> value) {
+		return ExpressionFactory.greaterOrEqualExp(getName(), new ASTObjPath(value.getName()));
+	}
+
+	/**
+	 * @return A less than Expression.
+	 */
+	public Expression lt(E value) {
+		return ExpressionFactory.lessExp(getName(), value);
+	}
+
+	/**
+	 * @return Represents a less than relationship between two attributes
+	 *         (columns).
+	 */
+	public Expression lt(Property<?> value) {
+		return ExpressionFactory.lessExp(getName(), new ASTObjPath(value.getName()));
+	}
+
+	/**
+	 * @return A less than or equal to Expression.
+	 */
+	public Expression lte(E value) {
+		return ExpressionFactory.lessOrEqualExp(getName(), value);
+	}
+
+	/**
+	 * @return Represents a less than or equal relationship between two
+	 *         attributes (columns).
+	 */
+	public Expression lte(Property<?> value) {
+		return ExpressionFactory.lessOrEqualExp(getName(), new ASTObjPath(value.getName()));
+	}
+
+	/**
+	 * @return Ascending sort orderings on this property.
+	 */
+	public Ordering asc() {
+		return new Ordering(getName(), SortOrder.ASCENDING);
+	}
+
+	/**
+	 * @return Ascending sort orderings on this property.
+	 */
+	public List<Ordering> ascs() {
+		List<Ordering> result = new ArrayList<Ordering>(1);
+		result.add(asc());
+		return result;
+	}
+
+	/**
+	 * @return Ascending case insensitive sort orderings on this property.
+	 */
+	public Ordering ascInsensitive() {
+		return new Ordering(getName(), SortOrder.ASCENDING_INSENSITIVE);
+	}
+
+	/**
+	 * @return Ascending case insensitive sort orderings on this property.
+	 */
+	public List<Ordering> ascInsensitives() {
+		List<Ordering> result = new ArrayList<Ordering>(1);
+		result.add(ascInsensitive());
+		return result;
+	}
+
+	/**
+	 * @return Descending sort orderings on this property.
+	 */
+	public Ordering desc() {
+		return new Ordering(getName(), SortOrder.DESCENDING);
+	}
+
+	/**
+	 * @return Descending sort orderings on this property.
+	 */
+	public List<Ordering> descs() {
+		List<Ordering> result = new ArrayList<Ordering>(1);
+		result.add(desc());
+		return result;
+	}
+
+	/**
+	 * @return Descending case insensitive sort orderings on this property.
+	 */
+	public Ordering descInsensitive() {
+		return new Ordering(getName(), SortOrder.DESCENDING_INSENSITIVE);
+	}
+
+	/**
+	 * @return Descending case insensitive sort orderings on this property.
+	 */
+	public List<Ordering> descInsensitives() {
+		List<Ordering> result = new ArrayList<Ordering>(1);
+		result.add(descInsensitive());
+		return result;
+	}
+
+	/**
+	 * Returns a prefetch tree that follows this property path, potentially
+	 * spanning a number of phantom nodes, and having a single leaf with "joint"
+	 * prefetch semantics.
+	 */
+	public PrefetchTreeNode joint() {
+		PrefetchTreeNode node = prefetch();
+		node.setSemantics(PrefetchTreeNode.JOINT_PREFETCH_SEMANTICS);
+		return node.getRoot();
+	}
+
+	/**
+	 * Returns a prefetch tree that follows this property path, potentially
+	 * spanning a number of phantom nodes, and having a single leaf with
+	 * "disjoint" prefetch semantics.
+	 */
+	public PrefetchTreeNode disjoint() {
+		PrefetchTreeNode node = prefetch();
+		node.setSemantics(PrefetchTreeNode.DISJOINT_PREFETCH_SEMANTICS);
+		return node.getRoot();
+	}
+
+	/**
+	 * Returns a prefetch tree that follows this property path, potentially
+	 * spanning a number of phantom nodes, and having a single leaf with
+	 * "disjoint by id" prefetch semantics.
+	 */
+	public PrefetchTreeNode disjointById() {
+		PrefetchTreeNode node = prefetch();
+		node.setSemantics(PrefetchTreeNode.DISJOINT_BY_ID_PREFETCH_SEMANTICS);
+		return node.getRoot();
+	}
+
+	PrefetchTreeNode prefetch() {
+		PrefetchTreeNode root = new PrefetchTreeNode();
+		PrefetchTreeNode node = root.addPath(name);
+		node.setPhantom(false);
+		return node;
+	}
+
+	/**
+	 * Extracts property value from an object using JavaBean-compatible
+	 * introspection with one addition - a property can be a dot-separated
+	 * property name path.
+	 */
+	@SuppressWarnings("unchecked")
+	public E getFrom(Object bean) {
+		return (E) PropertyUtils.getProperty(bean, getName());
+	}
+
+	/**
+	 * Extracts property value from a collection of objects using
+	 * JavaBean-compatible introspection with one addition - a property can be a
+	 * dot-separated property name path.
+	 */
+	public List<E> getFromAll(Collection<?> beans) {
+		List<E> result = new ArrayList<E>(beans.size());
+		for (Object bean : beans) {
+			result.add(getFrom(bean));
+		}
+		return result;
+	}
+
+	/**
+	 * Sets a property value in 'obj' using JavaBean-compatible introspection
+	 * with one addition - a property can be a dot-separated property name path.
+	 */
+	public void setIn(Object bean, E value) {
+		PropertyUtils.setProperty(bean, getName(), value);
+	}
+
+	/**
+	 * Sets a property value in a collection of objects using
+	 * JavaBean-compatible introspection with one addition - a property can be a
+	 * dot-separated property name path.
+	 */
+	public void setInAll(Collection<?> beans, E value) {
+		for (Object bean : beans) {
+			setIn(bean, value);
+		}
+	}
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4d8b2e1a/cayenne-server/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java
index d97e811..7f7c6dd 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java
@@ -43,417 +43,430 @@ import org.apache.cayenne.util.XMLSerializable;
  */
 class BaseQueryMetadata implements QueryMetadata, XMLSerializable, Serializable {
 
-    int fetchLimit = QueryMetadata.FETCH_LIMIT_DEFAULT;
-    int fetchOffset = QueryMetadata.FETCH_OFFSET_DEFAULT;
-
-    int statementFetchSize = QueryMetadata.FETCH_OFFSET_DEFAULT;
-
-    int pageSize = QueryMetadata.PAGE_SIZE_DEFAULT;
-    boolean fetchingDataRows = QueryMetadata.FETCHING_DATA_ROWS_DEFAULT;
-    QueryCacheStrategy cacheStrategy = QueryCacheStrategy.getDefaultStrategy();
-
-    PrefetchTreeNode prefetchTree;
-    String cacheKey;
-    String[] cacheGroups;
-
-    transient List<Object> resultSetMapping;
-    transient DbEntity dbEntity;
-    transient DataMap dataMap;
-    transient Object lastRoot;
-    transient ClassDescriptor classDescriptor;
-    transient EntityResolver lastEntityResolver;
-
-    /**
-     * Copies values of another QueryMetadata object to this object.
-     */
-    void copyFromInfo(QueryMetadata info) {
-        this.lastEntityResolver = null;
-        this.lastRoot = null;
-        this.classDescriptor = null;
-        this.dbEntity = null;
-        this.dataMap = null;
-
-        this.fetchingDataRows = info.isFetchingDataRows();
-        this.fetchLimit = info.getFetchLimit();
-        this.pageSize = info.getPageSize();
-        this.cacheStrategy = info.getCacheStrategy();
-        this.cacheKey = info.getCacheKey();
-        this.cacheGroups = info.getCacheGroups();
-        this.resultSetMapping = info.getResultSetMapping();
-
-        setPrefetchTree(info.getPrefetchTree());
-    }
-
-    boolean resolve(Object root, EntityResolver resolver, String cacheKey) {
-
-        if (lastRoot != root || lastEntityResolver != resolver) {
-
-            this.cacheKey = cacheKey;
-
-            this.classDescriptor = null;
-            this.dbEntity = null;
-            this.dataMap = null;
-
-            ObjEntity entity = null;
-
-            if (root != null) {
-                if (root instanceof Class<?>) {
-                    entity = resolver.getObjEntity((Class<?>) root);
-                    if (entity == null) { // entity not found, try to resolve it
-                                          // with
-                        // client resolver
-                        EntityResolver clientResolver = resolver.getClientEntityResolver();
-                        if (clientResolver != resolver) {
-                            ObjEntity clientEntity = clientResolver.getObjEntity((Class<?>) root);
-
-                            if (clientEntity != null) {
-                                entity = resolver.getObjEntity(clientEntity.getName());
-                            }
-                        }
-                    }
-
-                    if (entity != null) {
-                        this.dbEntity = entity.getDbEntity();
-                        this.dataMap = entity.getDataMap();
-                    }
-                } else if (root instanceof ObjEntity) {
-                    entity = (ObjEntity) root;
-                    this.dbEntity = entity.getDbEntity();
-                    this.dataMap = entity.getDataMap();
-                } else if (root instanceof String) {
-                    entity = resolver.getObjEntity((String) root);
-                    if (entity != null) {
-                        this.dbEntity = entity.getDbEntity();
-                        this.dataMap = entity.getDataMap();
-                    }
-                } else if (root instanceof DbEntity) {
-                    this.dbEntity = (DbEntity) root;
-                    this.dataMap = dbEntity.getDataMap();
-                } else if (root instanceof DataMap) {
-                    this.dataMap = (DataMap) root;
-                } else if (root instanceof Persistent) {
-                    entity = resolver.getObjEntity((Persistent) root);
-                    if (entity != null) {
-                        this.dbEntity = entity.getDbEntity();
-                        this.dataMap = entity.getDataMap();
-                    }
-                }
-            }
-
-            if (entity != null) {
-                this.classDescriptor = resolver.getClassDescriptor(entity.getName());
-            }
-
-            this.lastRoot = root;
-            this.lastEntityResolver = resolver;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    void initWithProperties(Map<String, ?> properties) {
-        // must init defaults even if properties are empty
-        if (properties == null) {
-            properties = Collections.EMPTY_MAP;
-        }
-
-        Object fetchOffset = properties.get(QueryMetadata.FETCH_OFFSET_PROPERTY);
-        Object fetchLimit = properties.get(QueryMetadata.FETCH_LIMIT_PROPERTY);
-        Object pageSize = properties.get(QueryMetadata.PAGE_SIZE_PROPERTY);
-        Object statementFetchSize = properties.get(QueryMetadata.STATEMENT_FETCH_SIZE_PROPERTY);
-        Object fetchingDataRows = properties.get(QueryMetadata.FETCHING_DATA_ROWS_PROPERTY);
-
-        Object cacheStrategy = properties.get(QueryMetadata.CACHE_STRATEGY_PROPERTY);
-
-        Object cacheGroups = properties.get(QueryMetadata.CACHE_GROUPS_PROPERTY);
-
-        // init ivars from properties
-        this.fetchOffset = (fetchOffset != null) ? Integer.parseInt(fetchOffset.toString())
-                : QueryMetadata.FETCH_OFFSET_DEFAULT;
-
-        this.fetchLimit = (fetchLimit != null) ? Integer.parseInt(fetchLimit.toString())
-                : QueryMetadata.FETCH_LIMIT_DEFAULT;
-
-        this.pageSize = (pageSize != null) ? Integer.parseInt(pageSize.toString()) : QueryMetadata.PAGE_SIZE_DEFAULT;
-
-        this.statementFetchSize = (statementFetchSize != null) ? Integer.parseInt(statementFetchSize.toString())
-                : QueryMetadata.STATEMENT_FETCH_SIZE_DEFAULT;
-
-        this.fetchingDataRows = (fetchingDataRows != null) ? "true".equalsIgnoreCase(fetchingDataRows.toString())
-                : QueryMetadata.FETCHING_DATA_ROWS_DEFAULT;
-
-        this.cacheStrategy = (cacheStrategy != null) ? QueryCacheStrategy.safeValueOf(cacheStrategy.toString())
-                : QueryCacheStrategy.getDefaultStrategy();
-
-        this.cacheGroups = null;
-        if (cacheGroups instanceof String[]) {
-            this.cacheGroups = (String[]) cacheGroups;
-        } else if (cacheGroups instanceof String) {
-            StringTokenizer toks = new StringTokenizer(cacheGroups.toString(), ",");
-            this.cacheGroups = new String[toks.countTokens()];
-            for (int i = 0; i < this.cacheGroups.length; i++) {
-                this.cacheGroups[i] = toks.nextToken();
-            }
-        }
-    }
-
-    public void encodeAsXML(XMLEncoder encoder) {
-
-        if (fetchingDataRows != QueryMetadata.FETCHING_DATA_ROWS_DEFAULT) {
-            encoder.printProperty(QueryMetadata.FETCHING_DATA_ROWS_PROPERTY, fetchingDataRows);
-        }
-
-        if (fetchOffset != QueryMetadata.FETCH_OFFSET_DEFAULT) {
-            encoder.printProperty(QueryMetadata.FETCH_OFFSET_PROPERTY, fetchOffset);
-        }
-
-        if (fetchLimit != QueryMetadata.FETCH_LIMIT_DEFAULT) {
-            encoder.printProperty(QueryMetadata.FETCH_LIMIT_PROPERTY, fetchLimit);
-        }
-
-        if (pageSize != QueryMetadata.PAGE_SIZE_DEFAULT) {
-            encoder.printProperty(QueryMetadata.PAGE_SIZE_PROPERTY, pageSize);
-        }
-
-        if (cacheStrategy != null && QueryCacheStrategy.getDefaultStrategy() != cacheStrategy) {
-            encoder.printProperty(QueryMetadata.CACHE_STRATEGY_PROPERTY, cacheStrategy.name());
-        }
-
-        if (statementFetchSize != QueryMetadata.STATEMENT_FETCH_SIZE_DEFAULT) {
-            encoder.printProperty(QueryMetadata.STATEMENT_FETCH_SIZE_PROPERTY, statementFetchSize);
-        }
-
-        if (prefetchTree != null) {
-            prefetchTree.encodeAsXML(encoder);
-        }
-
-        if (cacheGroups != null && cacheGroups.length > 0) {
-            StringBuilder buffer = new StringBuilder(cacheGroups[0]);
-            for (int i = 1; i < cacheGroups.length; i++) {
-                buffer.append(',').append(cacheGroups[i]);
-            }
-            encoder.printProperty(QueryMetadata.CACHE_GROUPS_PROPERTY, buffer.toString());
-        }
-    }
-
-    /**
-     * @since 1.2
-     */
-    public String getCacheKey() {
-        return cacheKey;
-    }
-
-    /**
-     * @since 1.2
-     */
-    public DataMap getDataMap() {
-        return dataMap;
-    }
-
-    /**
-     * @since 1.2
-     */
-    public Procedure getProcedure() {
-        return null;
-    }
-
-    /**
-     * @since 3.0
-     */
-    public Map<String, String> getPathSplitAliases() {
-        return Collections.emptyMap();
-    }
-
-    /**
-     * @since 1.2
-     */
-    public DbEntity getDbEntity() {
-        return dbEntity;
-    }
-
-    /**
-     * @since 1.2
-     */
-    public ObjEntity getObjEntity() {
-        return classDescriptor != null ? classDescriptor.getEntity() : null;
-    }
-
-    /**
-     * @since 3.0
-     */
-    public ClassDescriptor getClassDescriptor() {
-        return classDescriptor;
-    }
-
-    /**
-     * @since 3.0
-     */
-    public List<Object> getResultSetMapping() {
-        return resultSetMapping;
-    }
-
-    /**
-     * @since 1.2
-     */
-    public PrefetchTreeNode getPrefetchTree() {
-        return prefetchTree;
-    }
-
-    void setPrefetchTree(PrefetchTreeNode prefetchTree) {
-        this.prefetchTree = prefetchTree != null ? deepClone(prefetchTree, null) : null;
-    }
-
-    private PrefetchTreeNode deepClone(PrefetchTreeNode source, PrefetchTreeNode targetParent) {
-
-        PrefetchTreeNode target = new PrefetchTreeNode(targetParent, source.getName());
-        target.setEjbqlPathEntityId(source.getEjbqlPathEntityId());
-        target.setEntityName(source.getEntityName());
-        target.setPhantom(source.isPhantom());
-        target.setSemantics(source.getSemantics());
-
-        for (PrefetchTreeNode child : source.getChildren()) {
-            target.addChild(deepClone(child, target));
-        }
-
-        return target;
-    }
-
-    /**
-     * @since 3.0
-     */
-    public QueryCacheStrategy getCacheStrategy() {
-        return cacheStrategy;
-    }
-
-    /**
-     * @since 3.0
-     */
-    void setCacheStrategy(QueryCacheStrategy cacheStrategy) {
-        this.cacheStrategy = cacheStrategy;
-    }
-
-    /**
-     * @since 3.0
-     */
-    public String[] getCacheGroups() {
-        return cacheGroups;
-    }
-
-    /**
-     * @since 3.0
-     */
-    void setCacheGroups(String... groups) {
-        this.cacheGroups = groups;
-    }
-
-    public boolean isFetchingDataRows() {
-        return fetchingDataRows;
-    }
-
-    public int getFetchLimit() {
-        return fetchLimit;
-    }
-
-    public int getPageSize() {
-        return pageSize;
-    }
-
-    public Query getOrginatingQuery() {
-        return null;
-    }
-
-    /**
-     * @since 3.0
-     */
-    public int getFetchOffset() {
-        return fetchOffset;
-    }
-
-    public boolean isRefreshingObjects() {
-        return true;
-    }
-
-    void setFetchingDataRows(boolean b) {
-        fetchingDataRows = b;
-    }
-
-    void setFetchLimit(int i) {
-        fetchLimit = i;
-    }
-
-    void setFetchOffset(int i) {
-        fetchOffset = i;
-    }
-
-    void setPageSize(int i) {
-        pageSize = i;
-    }
-
-    /**
-     * Sets statement's fetch size (0 for no default size)
-     * 
-     * @since 3.0
-     */
-    void setStatementFetchSize(int size) {
-        this.statementFetchSize = size;
-    }
-
-    /**
-     * @return statement's fetch size
-     * @since 3.0
-     */
-    public int getStatementFetchSize() {
-        return statementFetchSize;
-    }
-
-    /**
-     * Adds a joint prefetch.
-     * 
-     * @since 1.2
-     */
-    PrefetchTreeNode addPrefetch(String path, int semantics) {
-        if (prefetchTree == null) {
-            prefetchTree = new PrefetchTreeNode();
-        }
-
-        PrefetchTreeNode node = prefetchTree.addPath(path);
-        node.setSemantics(semantics);
-        node.setPhantom(false);
-        return node;
-    }
-
-    /**
-     * Adds all prefetches from a provided collection.
-     * 
-     * @since 1.2
-     */
-    void addPrefetches(Collection<String> prefetches, int semantics) {
-        if (prefetches != null) {
-            for (String prefetch : prefetches) {
-                addPrefetch(prefetch, semantics);
-            }
-        }
-    }
-
-    /**
-     * Clears all joint prefetches.
-     * 
-     * @since 1.2
-     */
-    void clearPrefetches() {
-        prefetchTree = null;
-    }
-
-    /**
-     * Removes joint prefetch.
-     * 
-     * @since 1.2
-     */
-    void removePrefetch(String prefetch) {
-        if (prefetchTree != null) {
-            prefetchTree.removePath(prefetch);
-        }
-    }
+	int fetchLimit = QueryMetadata.FETCH_LIMIT_DEFAULT;
+	int fetchOffset = QueryMetadata.FETCH_OFFSET_DEFAULT;
+
+	int statementFetchSize = QueryMetadata.FETCH_OFFSET_DEFAULT;
+
+	int pageSize = QueryMetadata.PAGE_SIZE_DEFAULT;
+	boolean fetchingDataRows = QueryMetadata.FETCHING_DATA_ROWS_DEFAULT;
+	QueryCacheStrategy cacheStrategy = QueryCacheStrategy.getDefaultStrategy();
+
+	PrefetchTreeNode prefetchTree;
+	String cacheKey;
+	String[] cacheGroups;
+
+	transient List<Object> resultSetMapping;
+	transient DbEntity dbEntity;
+	transient DataMap dataMap;
+	transient Object lastRoot;
+	transient ClassDescriptor classDescriptor;
+	transient EntityResolver lastEntityResolver;
+
+	/**
+	 * Copies values of another QueryMetadata object to this object.
+	 */
+	void copyFromInfo(QueryMetadata info) {
+		this.lastEntityResolver = null;
+		this.lastRoot = null;
+		this.classDescriptor = null;
+		this.dbEntity = null;
+		this.dataMap = null;
+
+		this.fetchingDataRows = info.isFetchingDataRows();
+		this.fetchLimit = info.getFetchLimit();
+		this.pageSize = info.getPageSize();
+		this.cacheStrategy = info.getCacheStrategy();
+		this.cacheKey = info.getCacheKey();
+		this.cacheGroups = info.getCacheGroups();
+		this.resultSetMapping = info.getResultSetMapping();
+
+		setPrefetchTree(info.getPrefetchTree());
+	}
+
+	boolean resolve(Object root, EntityResolver resolver, String cacheKey) {
+
+		if (lastRoot != root || lastEntityResolver != resolver) {
+
+			this.cacheKey = cacheKey;
+
+			this.classDescriptor = null;
+			this.dbEntity = null;
+			this.dataMap = null;
+
+			ObjEntity entity = null;
+
+			if (root != null) {
+				if (root instanceof Class<?>) {
+					entity = resolver.getObjEntity((Class<?>) root);
+					if (entity == null) { // entity not found, try to resolve it
+											// with
+						// client resolver
+						EntityResolver clientResolver = resolver.getClientEntityResolver();
+						if (clientResolver != resolver) {
+							ObjEntity clientEntity = clientResolver.getObjEntity((Class<?>) root);
+
+							if (clientEntity != null) {
+								entity = resolver.getObjEntity(clientEntity.getName());
+							}
+						}
+					}
+
+					if (entity != null) {
+						this.dbEntity = entity.getDbEntity();
+						this.dataMap = entity.getDataMap();
+					}
+				} else if (root instanceof ObjEntity) {
+					entity = (ObjEntity) root;
+					this.dbEntity = entity.getDbEntity();
+					this.dataMap = entity.getDataMap();
+				} else if (root instanceof String) {
+					entity = resolver.getObjEntity((String) root);
+					if (entity != null) {
+						this.dbEntity = entity.getDbEntity();
+						this.dataMap = entity.getDataMap();
+					}
+				} else if (root instanceof DbEntity) {
+					this.dbEntity = (DbEntity) root;
+					this.dataMap = dbEntity.getDataMap();
+				} else if (root instanceof DataMap) {
+					this.dataMap = (DataMap) root;
+				} else if (root instanceof Persistent) {
+					entity = resolver.getObjEntity((Persistent) root);
+					if (entity != null) {
+						this.dbEntity = entity.getDbEntity();
+						this.dataMap = entity.getDataMap();
+					}
+				}
+			}
+
+			if (entity != null) {
+				this.classDescriptor = resolver.getClassDescriptor(entity.getName());
+			}
+
+			this.lastRoot = root;
+			this.lastEntityResolver = resolver;
+
+			return true;
+		}
+
+		return false;
+	}
+
+	void initWithProperties(Map<String, ?> properties) {
+		// must init defaults even if properties are empty
+		if (properties == null) {
+			properties = Collections.EMPTY_MAP;
+		}
+
+		Object fetchOffset = properties.get(QueryMetadata.FETCH_OFFSET_PROPERTY);
+		Object fetchLimit = properties.get(QueryMetadata.FETCH_LIMIT_PROPERTY);
+		Object pageSize = properties.get(QueryMetadata.PAGE_SIZE_PROPERTY);
+		Object statementFetchSize = properties.get(QueryMetadata.STATEMENT_FETCH_SIZE_PROPERTY);
+		Object fetchingDataRows = properties.get(QueryMetadata.FETCHING_DATA_ROWS_PROPERTY);
+
+		Object cacheStrategy = properties.get(QueryMetadata.CACHE_STRATEGY_PROPERTY);
+
+		Object cacheGroups = properties.get(QueryMetadata.CACHE_GROUPS_PROPERTY);
+
+		// init ivars from properties
+		this.fetchOffset = (fetchOffset != null) ? Integer.parseInt(fetchOffset.toString())
+				: QueryMetadata.FETCH_OFFSET_DEFAULT;
+
+		this.fetchLimit = (fetchLimit != null) ? Integer.parseInt(fetchLimit.toString())
+				: QueryMetadata.FETCH_LIMIT_DEFAULT;
+
+		this.pageSize = (pageSize != null) ? Integer.parseInt(pageSize.toString()) : QueryMetadata.PAGE_SIZE_DEFAULT;
+
+		this.statementFetchSize = (statementFetchSize != null) ? Integer.parseInt(statementFetchSize.toString())
+				: QueryMetadata.STATEMENT_FETCH_SIZE_DEFAULT;
+
+		this.fetchingDataRows = (fetchingDataRows != null) ? "true".equalsIgnoreCase(fetchingDataRows.toString())
+				: QueryMetadata.FETCHING_DATA_ROWS_DEFAULT;
+
+		this.cacheStrategy = (cacheStrategy != null) ? QueryCacheStrategy.safeValueOf(cacheStrategy.toString())
+				: QueryCacheStrategy.getDefaultStrategy();
+
+		this.cacheGroups = null;
+		if (cacheGroups instanceof String[]) {
+			this.cacheGroups = (String[]) cacheGroups;
+		} else if (cacheGroups instanceof String) {
+			StringTokenizer toks = new StringTokenizer(cacheGroups.toString(), ",");
+			this.cacheGroups = new String[toks.countTokens()];
+			for (int i = 0; i < this.cacheGroups.length; i++) {
+				this.cacheGroups[i] = toks.nextToken();
+			}
+		}
+	}
+
+	public void encodeAsXML(XMLEncoder encoder) {
+
+		if (fetchingDataRows != QueryMetadata.FETCHING_DATA_ROWS_DEFAULT) {
+			encoder.printProperty(QueryMetadata.FETCHING_DATA_ROWS_PROPERTY, fetchingDataRows);
+		}
+
+		if (fetchOffset != QueryMetadata.FETCH_OFFSET_DEFAULT) {
+			encoder.printProperty(QueryMetadata.FETCH_OFFSET_PROPERTY, fetchOffset);
+		}
+
+		if (fetchLimit != QueryMetadata.FETCH_LIMIT_DEFAULT) {
+			encoder.printProperty(QueryMetadata.FETCH_LIMIT_PROPERTY, fetchLimit);
+		}
+
+		if (pageSize != QueryMetadata.PAGE_SIZE_DEFAULT) {
+			encoder.printProperty(QueryMetadata.PAGE_SIZE_PROPERTY, pageSize);
+		}
+
+		if (cacheStrategy != null && QueryCacheStrategy.getDefaultStrategy() != cacheStrategy) {
+			encoder.printProperty(QueryMetadata.CACHE_STRATEGY_PROPERTY, cacheStrategy.name());
+		}
+
+		if (statementFetchSize != QueryMetadata.STATEMENT_FETCH_SIZE_DEFAULT) {
+			encoder.printProperty(QueryMetadata.STATEMENT_FETCH_SIZE_PROPERTY, statementFetchSize);
+		}
+
+		if (prefetchTree != null) {
+			prefetchTree.encodeAsXML(encoder);
+		}
+
+		if (cacheGroups != null && cacheGroups.length > 0) {
+			StringBuilder buffer = new StringBuilder(cacheGroups[0]);
+			for (int i = 1; i < cacheGroups.length; i++) {
+				buffer.append(',').append(cacheGroups[i]);
+			}
+			encoder.printProperty(QueryMetadata.CACHE_GROUPS_PROPERTY, buffer.toString());
+		}
+	}
+
+	/**
+	 * @since 1.2
+	 */
+	public String getCacheKey() {
+		return cacheKey;
+	}
+
+	/**
+	 * @since 1.2
+	 */
+	public DataMap getDataMap() {
+		return dataMap;
+	}
+
+	/**
+	 * @since 1.2
+	 */
+	public Procedure getProcedure() {
+		return null;
+	}
+
+	/**
+	 * @since 3.0
+	 */
+	public Map<String, String> getPathSplitAliases() {
+		return Collections.emptyMap();
+	}
+
+	/**
+	 * @since 1.2
+	 */
+	public DbEntity getDbEntity() {
+		return dbEntity;
+	}
+
+	/**
+	 * @since 1.2
+	 */
+	public ObjEntity getObjEntity() {
+		return classDescriptor != null ? classDescriptor.getEntity() : null;
+	}
+
+	/**
+	 * @since 3.0
+	 */
+	public ClassDescriptor getClassDescriptor() {
+		return classDescriptor;
+	}
+
+	/**
+	 * @since 3.0
+	 */
+	public List<Object> getResultSetMapping() {
+		return resultSetMapping;
+	}
+
+	/**
+	 * @since 1.2
+	 */
+	public PrefetchTreeNode getPrefetchTree() {
+		return prefetchTree;
+	}
+
+	void setPrefetchTree(PrefetchTreeNode prefetchTree) {
+		this.prefetchTree = prefetchTree != null ? deepClone(prefetchTree, null) : null;
+	}
+
+	private PrefetchTreeNode deepClone(PrefetchTreeNode source, PrefetchTreeNode targetParent) {
+
+		PrefetchTreeNode target = new PrefetchTreeNode(targetParent, source.getName());
+		target.setEjbqlPathEntityId(source.getEjbqlPathEntityId());
+		target.setEntityName(source.getEntityName());
+		target.setPhantom(source.isPhantom());
+		target.setSemantics(source.getSemantics());
+
+		for (PrefetchTreeNode child : source.getChildren()) {
+			target.addChild(deepClone(child, target));
+		}
+
+		return target;
+	}
+
+	/**
+	 * @since 3.0
+	 */
+	public QueryCacheStrategy getCacheStrategy() {
+		return cacheStrategy;
+	}
+
+	/**
+	 * @since 3.0
+	 */
+	void setCacheStrategy(QueryCacheStrategy cacheStrategy) {
+		this.cacheStrategy = cacheStrategy;
+	}
+
+	/**
+	 * @since 3.0
+	 */
+	public String[] getCacheGroups() {
+		return cacheGroups;
+	}
+
+	/**
+	 * @since 3.0
+	 */
+	void setCacheGroups(String... groups) {
+		this.cacheGroups = groups;
+	}
+
+	public boolean isFetchingDataRows() {
+		return fetchingDataRows;
+	}
+
+	public int getFetchLimit() {
+		return fetchLimit;
+	}
+
+	public int getPageSize() {
+		return pageSize;
+	}
+
+	public Query getOrginatingQuery() {
+		return null;
+	}
+
+	/**
+	 * @since 3.0
+	 */
+	public int getFetchOffset() {
+		return fetchOffset;
+	}
+
+	public boolean isRefreshingObjects() {
+		return true;
+	}
+
+	void setFetchingDataRows(boolean b) {
+		fetchingDataRows = b;
+	}
+
+	void setFetchLimit(int i) {
+		fetchLimit = i;
+	}
+
+	void setFetchOffset(int i) {
+		fetchOffset = i;
+	}
+
+	void setPageSize(int i) {
+		pageSize = i;
+	}
+
+	/**
+	 * Sets statement's fetch size (0 for no default size)
+	 * 
+	 * @since 3.0
+	 */
+	void setStatementFetchSize(int size) {
+		this.statementFetchSize = size;
+	}
+
+	/**
+	 * @return statement's fetch size
+	 * @since 3.0
+	 */
+	public int getStatementFetchSize() {
+		return statementFetchSize;
+	}
+
+	/**
+	 * Adds a joint prefetch.
+	 * 
+	 * @since 1.2
+	 */
+	PrefetchTreeNode addPrefetch(String path, int semantics) {
+		if (prefetchTree == null) {
+			prefetchTree = new PrefetchTreeNode();
+		}
+
+		PrefetchTreeNode node = prefetchTree.addPath(path);
+		node.setSemantics(semantics);
+		node.setPhantom(false);
+		return node;
+	}
+
+	/**
+	 * Adds a joint prefetch.
+	 * 
+	 * @since 4.0
+	 */
+	void mergePrefetch(PrefetchTreeNode node) {
+		if (prefetchTree == null) {
+			prefetchTree = new PrefetchTreeNode();
+		}
+
+		prefetchTree.merge(node);
+	}
+
+	/**
+	 * Adds all prefetches from a provided collection.
+	 * 
+	 * @since 1.2
+	 */
+	void addPrefetches(Collection<String> prefetches, int semantics) {
+		if (prefetches != null) {
+			for (String prefetch : prefetches) {
+				addPrefetch(prefetch, semantics);
+			}
+		}
+	}
+
+	/**
+	 * Clears all joint prefetches.
+	 * 
+	 * @since 1.2
+	 */
+	void clearPrefetches() {
+		prefetchTree = null;
+	}
+
+	/**
+	 * Removes joint prefetch.
+	 * 
+	 * @since 1.2
+	 */
+	void removePrefetch(String prefetch) {
+		if (prefetchTree != null) {
+			prefetchTree.removePath(prefetch);
+		}
+	}
 }


[39/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
index d256c8d..0e33821 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/SybaseUnitDbAdapter.java
@@ -19,6 +19,11 @@
 
 package org.apache.cayenne.unit;
 
+import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.map.DataMap;
+import org.apache.cayenne.map.DbEntity;
+import org.apache.cayenne.map.Procedure;
+
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.Statement;
@@ -27,11 +32,6 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.Procedure;
-
 /**
  */
 public class SybaseUnitDbAdapter extends UnitDbAdapter {
@@ -55,7 +55,7 @@ public class SybaseUnitDbAdapter extends UnitDbAdapter {
 
     @Override
     public void createdTables(Connection con, DataMap map) throws Exception {
-        Procedure proc = map.getProcedure("cayenne_tst_select_proc");
+        Procedure proc = map.getProcedure("cayenne_test_select_proc");
         if (proc != null && proc.getDataMap() == map) {
             executeDDL(con, "sybase", "create-select-sp.sql");
             executeDDL(con, "sybase", "create-update-sp.sql");
@@ -116,7 +116,7 @@ public class SybaseUnitDbAdapter extends UnitDbAdapter {
     }
 
     protected void dropProcedures(Connection con, DataMap map) throws Exception {
-        Procedure proc = map.getProcedure("cayenne_tst_select_proc");
+        Procedure proc = map.getProcedure("cayenne_test_select_proc");
         if (proc != null && proc.getDataMap() == map) {
             executeDDL(con, "sybase", "drop-select-sp.sql");
             executeDDL(con, "sybase", "drop-update-sp.sql");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
index 481b252..1b194ec 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
@@ -36,7 +36,7 @@ import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.MapLoader;
 import org.apache.cayenne.map.Procedure;
-import org.apache.cayenne.testdo.testmap.StringET1ExtendedType;
+import org.apache.cayenne.testdo.extended_type.StringET1ExtendedType;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -68,10 +68,11 @@ public class SchemaBuilder {
 
     public static final String SKIP_SCHEMA_KEY = "cayenne.test.schema.skip";
 
-    private static String[] MAPS_REQUIRING_SCHEMA_SETUP = { "tstmap.map.xml", "people.map.xml", "inheritance.map.xml",
+    private static String[] MAPS_REQUIRING_SCHEMA_SETUP = {"testmap.map.xml", "compound.map.xml", "misc-types.map.xml", "things.map.xml", "numeric-types.map.xml", "binary-pk.map.xml", "no-pk.map.xml",
+            "lob.map.xml", "date-time.map.xml", "enum.map.xml", "extended-type.map.xml", "generated.map.xml", "mixed-persistence-strategy.map.xml", "people.map.xml", "primitive.map.xml", "inheritance.map.xml",
             "locking.map.xml", "soft-delete.map.xml", "relationships.map.xml", "relationships-activity.map.xml", "relationships-delete-rules.map.xml",
             "relationships-collection-to-many.map.xml", "relationships-child-master.map.xml", "relationships-clob.map.xml",
-            "relationships-flattened.map.xml", "relationships-set-to-many.map.xml", "relationships-to-many-fk.map.xml", "relationships-to-one-fk.map.xml",
+            "relationships-flattened.map.xml", "relationships-set-to-many.map.xml", "relationships-to-many-fk.map.xml", "relationships-to-one-fk.map.xml", "return-types.map.xml", "uuid.map.xml",
             "multi-tier.map.xml", "persistent.map.xml", "reflexive.map.xml", "delete-rules.map.xml", "lifecycles.map.xml",
             "map-to-many.map.xml", "toone.map.xml", "meaningful-pk.map.xml", "table-primitives.map.xml",
             "generic.map.xml", "map-db1.map.xml", "map-db2.map.xml", "embeddable.map.xml", "qualified.map.xml",

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
index b605e50..463c006 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
@@ -47,6 +47,22 @@ public class ServerCase extends DICase {
 	public static final String RELATIONSHIPS_SET_TO_MANY_PROJECT = "cayenne-relationships-set-to-many.xml";
 	public static final String RELATIONSHIPS_TO_MANY_FK_PROJECT = "cayenne-relationships-to-many-fk.xml";
 	public static final String RELATIONSHIPS_TO_ONE_FK_PROJECT = "cayenne-relationships-to-one-fk.xml";
+	public static final String MISC_TYPES_PROJECT = "cayenne-misc-types.xml";
+	public static final String THINGS_PROJECT = "cayenne-things.xml";
+	public static final String NUMERIC_TYPES_PROJECT = "cayenne-numeric-types.xml";
+	public static final String BINARY_PK_PROJECT = "cayenne-binary-pk.xml";
+	public static final String NO_PK_PROJECT = "cayenne-no-pk.xml";
+	public static final String LOB_PROJECT = "cayenne-lob.xml";
+	public static final String DATE_TIME_PROJECT = "cayenne-date-time.xml";
+	public static final String ENUM_PROJECT = "cayenne-enum.xml";
+	public static final String EXTENDED_TYPE_PROJECT = "cayenne-extended-type.xml";
+	public static final String GENERATED_PROJECT = "cayenne-generated.xml";
+	public static final String MEANINGFUL_PK_PROJECT = "cayenne-meaningful-pk.xml";
+	public static final String MIXED_PERSISTENCE_STRATEGY_PROJECT = "cayenne-mixed-persistence-strategy.xml";
+	public static final String PRIMITIVE_PROJECT = "cayenne-primitive.xml";
+	public static final String RETURN_TYPES_PROJECT = "cayenne-return-types.xml";
+	public static final String UUID_PROJECT = "cayenne-uuid.xml";
+	public static final String COMPOUND_PROJECT = "cayenne-compound.xml";
 	public static final String TESTMAP_PROJECT = "cayenne-testmap.xml";
 	public static final String DEFAULT_PROJECT = "cayenne-default.xml";
 	public static final String MULTINODE_PROJECT = "cayenne-multinode.xml";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
index 8915ab2..449e33f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
@@ -44,7 +44,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
 /**
- * Test for Result directive to check if we could use ResultDitrective
+ * Test for Result directive to check if we could use ResultDirective
  * optionally.
  */
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/binary-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/binary-pk.map.xml b/cayenne-server/src/test/resources/binary-pk.map.xml
new file mode 100644
index 0000000..ce5ee57
--- /dev/null
+++ b/cayenne-server/src/test/resources/binary-pk.map.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.binary_pk"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="BINARY_PK_TEST1">
+        <db-attribute name="BIN_ID" type="VARBINARY" isPrimaryKey="true" isMandatory="true" length="32"/>
+        <db-attribute name="NAME" type="VARCHAR" length="10"/>
+    </db-entity>
+    <db-entity name="BINARY_PK_TEST2">
+        <db-attribute name="DETAIL_NAME" type="VARCHAR" length="10"/>
+        <db-attribute name="FK_ID" type="VARBINARY" length="32"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
+        <obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
+    </obj-entity>
+    <db-relationship name="binaryPKDetails" source="BINARY_PK_TEST1" target="BINARY_PK_TEST2" toMany="true">
+        <db-attribute-pair source="BIN_ID" target="FK_ID"/>
+    </db-relationship>
+    <db-relationship name="toBinaryPKMaster" source="BINARY_PK_TEST2" target="BINARY_PK_TEST1" toMany="false">
+        <db-attribute-pair source="FK_ID" target="BIN_ID"/>
+    </db-relationship>
+    <obj-relationship name="binaryPKDetails" source="BinaryPKTest1" target="BinaryPKTest2" db-relationship-path="binaryPKDetails"/>
+    <obj-relationship name="toBinaryPKMaster" source="BinaryPKTest2" target="BinaryPKTest1" db-relationship-path="toBinaryPKMaster"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-binary-pk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-binary-pk.xml b/cayenne-server/src/test/resources/cayenne-binary-pk.xml
new file mode 100644
index 0000000..0922532
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-binary-pk.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="binary-pk"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-compound.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-compound.xml b/cayenne-server/src/test/resources/cayenne-compound.xml
new file mode 100644
index 0000000..28773ec
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-compound.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="compound"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-date-time.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-date-time.xml b/cayenne-server/src/test/resources/cayenne-date-time.xml
new file mode 100644
index 0000000..9c7e1d3
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-date-time.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="date-time"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-enum.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-enum.xml b/cayenne-server/src/test/resources/cayenne-enum.xml
new file mode 100644
index 0000000..4b94cd1
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-enum.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="enum"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-extended-type.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-extended-type.xml b/cayenne-server/src/test/resources/cayenne-extended-type.xml
new file mode 100644
index 0000000..84b0670
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-extended-type.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="extended-type"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-generated.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-generated.xml b/cayenne-server/src/test/resources/cayenne-generated.xml
new file mode 100644
index 0000000..57bd957
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-generated.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="generated"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-lob.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-lob.xml b/cayenne-server/src/test/resources/cayenne-lob.xml
new file mode 100644
index 0000000..0bca9f9
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-lob.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="lob"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-misc-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-misc-types.xml b/cayenne-server/src/test/resources/cayenne-misc-types.xml
new file mode 100644
index 0000000..bbc06f2
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-misc-types.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="misc-types"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml b/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
new file mode 100644
index 0000000..84ebf37
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-mixed-persistence-strategy.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="mixed-persistence-strategy"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-no-pk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-no-pk.xml b/cayenne-server/src/test/resources/cayenne-no-pk.xml
new file mode 100644
index 0000000..3a65de0
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-no-pk.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="no-pk"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-numeric-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-numeric-types.xml b/cayenne-server/src/test/resources/cayenne-numeric-types.xml
new file mode 100644
index 0000000..52d63c3
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-numeric-types.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="numeric-types"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-primitive.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-primitive.xml b/cayenne-server/src/test/resources/cayenne-primitive.xml
new file mode 100644
index 0000000..a63d770
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-primitive.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="primitive"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-return-types.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-return-types.xml b/cayenne-server/src/test/resources/cayenne-return-types.xml
new file mode 100644
index 0000000..b03bf5d
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-return-types.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="return-types"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-testmap.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-testmap.xml b/cayenne-server/src/test/resources/cayenne-testmap.xml
index 9410b11..4028207 100644
--- a/cayenne-server/src/test/resources/cayenne-testmap.xml
+++ b/cayenne-server/src/test/resources/cayenne-testmap.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <domain project-version="7">
-	<map name="tstmap"/>
+	<map name="testmap"/>
 </domain>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-things.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-things.xml b/cayenne-server/src/test/resources/cayenne-things.xml
new file mode 100644
index 0000000..8e9e1de
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-things.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="things"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/cayenne-uuid.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-uuid.xml b/cayenne-server/src/test/resources/cayenne-uuid.xml
new file mode 100644
index 0000000..f3bd2e1
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-uuid.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="uuid"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/compound.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/compound.map.xml b/cayenne-server/src/test/resources/compound.map.xml
new file mode 100644
index 0000000..47ebbdb
--- /dev/null
+++ b/cayenne-server/src/test/resources/compound.map.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.compound"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="CHAR_FK_TEST">
+        <db-attribute name="FK_COL" type="CHAR" length="10"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+        <db-attribute name="PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="CHAR_PK_TEST">
+        <db-attribute name="OTHER_COL" type="CHAR" length="10"/>
+        <db-attribute name="PK_COL" type="CHAR" isPrimaryKey="true" isMandatory="true" length="10"/>
+    </db-entity>
+    <db-entity name="COMPOUND_FK_TEST">
+        <db-attribute name="F_KEY1" type="VARCHAR" length="20"/>
+        <db-attribute name="F_KEY2" type="VARCHAR" length="20"/>
+        <db-attribute name="NAME" type="VARCHAR" length="255"/>
+        <db-attribute name="PKEY" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="COMPOUND_PK_TEST">
+        <db-attribute name="KEY1" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="20"/>
+        <db-attribute name="KEY2" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="20"/>
+        <db-attribute name="NAME" type="VARCHAR" length="255"/>
+    </db-entity>
+    <obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.compound.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.compound.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
+        <obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
+        <obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
+    </obj-entity>
+    <obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
+        <obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
+        <obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="toCharPK" source="CHAR_FK_TEST" target="CHAR_PK_TEST" toMany="false">
+        <db-attribute-pair source="FK_COL" target="PK_COL"/>
+    </db-relationship>
+    <db-relationship name="charFKs" source="CHAR_PK_TEST" target="CHAR_FK_TEST" toMany="true">
+        <db-attribute-pair source="PK_COL" target="FK_COL"/>
+    </db-relationship>
+    <db-relationship name="toCompoundPk" source="COMPOUND_FK_TEST" target="COMPOUND_PK_TEST" toMany="false">
+        <db-attribute-pair source="F_KEY1" target="KEY1"/>
+        <db-attribute-pair source="F_KEY2" target="KEY2"/>
+    </db-relationship>
+    <db-relationship name="compoundFkArray" source="COMPOUND_PK_TEST" target="COMPOUND_FK_TEST" toMany="true">
+        <db-attribute-pair source="KEY1" target="F_KEY1"/>
+        <db-attribute-pair source="KEY2" target="F_KEY2"/>
+    </db-relationship>
+    <obj-relationship name="toCharPK" source="CharFkTestEntity" target="CharPkTestEntity" db-relationship-path="toCharPK"/>
+    <obj-relationship name="charFKs" source="CharPkTestEntity" target="CharFkTestEntity" db-relationship-path="charFKs"/>
+    <obj-relationship name="toCompoundPk" source="CompoundFkTestEntity" target="CompoundPkTestEntity" db-relationship-path="toCompoundPk"/>
+    <obj-relationship name="compoundFkArray" source="CompoundPkTestEntity" target="CompoundFkTestEntity" db-relationship-path="compoundFkArray"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/date-time.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/date-time.map.xml b/cayenne-server/src/test/resources/date-time.map.xml
new file mode 100644
index 0000000..4cf4d8b
--- /dev/null
+++ b/cayenne-server/src/test/resources/date-time.map.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.date_time"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="CALENDAR_TEST">
+        <db-attribute name="CALENDAR_FIELD" type="TIMESTAMP"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DATE_TEST">
+        <db-attribute name="DATE_COLUMN" type="DATE"/>
+        <db-attribute name="DATE_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="TIMESTAMP_COLUMN" type="TIMESTAMP"/>
+        <db-attribute name="TIME_COLUMN" type="TIME"/>
+    </db-entity>
+    <obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.date_time.CalendarEntity" dbEntityName="CALENDAR_TEST">
+        <obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
+    </obj-entity>
+    <obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" dbEntityName="DATE_TEST">
+        <obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
+        <obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
+        <obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
+    </obj-entity>
+    <query name="SelectDateTest" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="date-time">
+        <property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+        <property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+        <sql><![CDATA[SELECT * FROM DATE_TEST]]></sql>
+    </query>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/enum.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/enum.map.xml b/cayenne-server/src/test/resources/enum.map.xml
new file mode 100644
index 0000000..9233e86
--- /dev/null
+++ b/cayenne-server/src/test/resources/enum.map.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.enum"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="ENUM_ENTITY">
+        <db-attribute name="ENUM_ATTRIBUTE" type="VARCHAR" length="250"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" dbEntityName="ENUM_ENTITY">
+        <obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/extended-type.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/extended-type.map.xml b/cayenne-server/src/test/resources/extended-type.map.xml
new file mode 100644
index 0000000..cc2a5ee
--- /dev/null
+++ b/cayenne-server/src/test/resources/extended-type.map.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.extended_type"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="EXTENDED_TYPE_TEST">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
+        <obj-attribute name="name" type="org.apache.cayenne.testdo.extended_type.StringET1" db-attribute-path="NAME"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/generated.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/generated.map.xml b/cayenne-server/src/test/resources/generated.map.xml
new file mode 100644
index 0000000..8c0a947
--- /dev/null
+++ b/cayenne-server/src/test/resources/generated.map.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.generated"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="GENERATED_COLUMN_COMP_KEY">
+        <db-attribute name="AUTO_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+        <db-attribute name="PROPAGATED_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="GENERATED_COLUMN_COMP_M">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <db-entity name="GENERATED_COLUMN_DEP">
+        <db-attribute name="GENERATED_COLUMN_FK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <db-entity name="GENERATED_COLUMN_TEST">
+        <db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="250"/>
+    </db-entity>
+    <db-entity name="GENERATED_COLUMN_TEST2">
+        <db-attribute name="GENERATED_COLUMN" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <db-entity name="GENERATED_F1">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="GENERATED_F2">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="GENERATED_JOIN">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isGenerated="true" isMandatory="true"/>
+        <db-attribute name="ID1" type="INTEGER"/>
+        <db-attribute name="ID2" type="INTEGER"/>
+    </db-entity>
+    <obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.generated.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.generated.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.generated.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+    </obj-entity>
+    <obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.generated.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+    </obj-entity>
+    <db-relationship name="toMaster" source="GENERATED_COLUMN_COMP_KEY" target="GENERATED_COLUMN_COMP_M" toMany="false">
+        <db-attribute-pair source="PROPAGATED_PK" target="ID"/>
+    </db-relationship>
+    <db-relationship name="toDetail" source="GENERATED_COLUMN_COMP_M" target="GENERATED_COLUMN_COMP_KEY" toDependentPK="true" toMany="true">
+        <db-attribute-pair source="ID" target="PROPAGATED_PK"/>
+    </db-relationship>
+    <db-relationship name="toMaster" source="GENERATED_COLUMN_DEP" target="GENERATED_COLUMN_TEST" toMany="false">
+        <db-attribute-pair source="GENERATED_COLUMN_FK" target="GENERATED_COLUMN"/>
+    </db-relationship>
+    <db-relationship name="toDep" source="GENERATED_COLUMN_TEST" target="GENERATED_COLUMN_DEP" toDependentPK="true" toMany="false">
+        <db-attribute-pair source="GENERATED_COLUMN" target="GENERATED_COLUMN_FK"/>
+    </db-relationship>
+    <db-relationship name="join" source="GENERATED_F1" target="GENERATED_JOIN" toMany="true">
+        <db-attribute-pair source="ID" target="ID1"/>
+    </db-relationship>
+    <db-relationship name="join" source="GENERATED_F2" target="GENERATED_JOIN" toMany="true">
+        <db-attribute-pair source="ID" target="ID2"/>
+    </db-relationship>
+    <db-relationship name="f1" source="GENERATED_JOIN" target="GENERATED_F1" toMany="false">
+        <db-attribute-pair source="ID1" target="ID"/>
+    </db-relationship>
+    <db-relationship name="f2" source="GENERATED_JOIN" target="GENERATED_F2" toMany="false">
+        <db-attribute-pair source="ID2" target="ID"/>
+    </db-relationship>
+    <obj-relationship name="toMaster" source="GeneratedColumnCompKey" target="GeneratedColumnCompMaster" db-relationship-path="toMaster"/>
+    <obj-relationship name="toDetail" source="GeneratedColumnCompMaster" target="GeneratedColumnCompKey" db-relationship-path="toDetail"/>
+    <obj-relationship name="toMaster" source="GeneratedColumnDep" target="GeneratedColumnTestEntity" db-relationship-path="toMaster"/>
+    <obj-relationship name="toDep" source="GeneratedColumnTestEntity" target="GeneratedColumnDep" db-relationship-path="toDep"/>
+    <obj-relationship name="f2" source="GeneratedF1" target="GeneratedF2" deleteRule="Nullify" db-relationship-path="join.f2"/>
+    <obj-relationship name="f1" source="GeneratedF2" target="GeneratedF1" deleteRule="Nullify" db-relationship-path="join.f1"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/lob.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/lob.map.xml b/cayenne-server/src/test/resources/lob.map.xml
new file mode 100644
index 0000000..1aae149
--- /dev/null
+++ b/cayenne-server/src/test/resources/lob.map.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.lob"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="BLOB_TEST">
+        <db-attribute name="BLOB_COL" type="BLOB"/>
+        <db-attribute name="BLOB_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="CLOB_TEST">
+        <db-attribute name="CLOB_COL" type="CLOB"/>
+        <db-attribute name="CLOB_TEST_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="CLOB_TEST_RELATION">
+        <db-attribute name="CVALUE" type="INTEGER"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="ID_CLOB" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="TEST">
+        <db-attribute name="TEST_ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="TEST_NAME" type="CHAR" isMandatory="true" length="254"/>
+    </db-entity>
+    <obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.lob.BlobTestEntity" dbEntityName="BLOB_TEST">
+        <obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
+    </obj-entity>
+    <obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.lob.ClobTestEntity" dbEntityName="CLOB_TEST">
+        <obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
+    </obj-entity>
+    <obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.lob.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
+        <obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
+        <obj-attribute name="value" type="java.lang.Integer" db-attribute-path="CVALUE"/>
+    </obj-entity>
+    <db-relationship name="clob" source="CLOB_TEST" target="CLOB_TEST_RELATION" toMany="true">
+        <db-attribute-pair source="CLOB_TEST_ID" target="ID_CLOB"/>
+    </db-relationship>
+    <db-relationship name="CLOB_REL" source="CLOB_TEST_RELATION" target="CLOB_TEST" toMany="false">
+        <db-attribute-pair source="ID_CLOB" target="CLOB_TEST_ID"/>
+    </db-relationship>
+    <obj-relationship name="clobValue" source="ClobTestEntity" target="ClobTestRelation" db-relationship-path="clob"/>
+    <obj-relationship name="clobId" source="ClobTestRelation" target="ClobTestEntity" db-relationship-path="CLOB_REL"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/meaningful-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/meaningful-pk.map.xml b/cayenne-server/src/test/resources/meaningful-pk.map.xml
index fdddca4..77237a2 100644
--- a/cayenne-server/src/test/resources/meaningful-pk.map.xml
+++ b/cayenne-server/src/test/resources/meaningful-pk.map.xml
@@ -9,7 +9,31 @@
     <db-entity name="MEANINGFUL_PK">
         <db-attribute name="PK" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="100"/>
     </db-entity>
+    <db-entity name="MEANINGFUL_PK_DEP">
+        <db-attribute name="DESCR" type="VARCHAR" length="50"/>
+        <db-attribute name="MASTER_PK" type="INTEGER"/>
+        <db-attribute name="PK_ATTRIBUTE" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="MEANINGFUL_PK_TEST1">
+        <db-attribute name="DESCR" type="VARCHAR" length="50"/>
+        <db-attribute name="PK_ATTRIBUTE" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
     <obj-entity name="MeaningfulPk" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPk" clientClassName="org.apache.cayenne.testdo.meaningful_pk.ClientMeaningfulPk" dbEntityName="MEANINGFUL_PK">
         <obj-attribute name="pk" type="java.lang.String" db-attribute-path="PK"/>
     </obj-entity>
+    <obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
+        <obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
+    </obj-entity>
+    <obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
+        <obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
+        <obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
+    </obj-entity>
+    <db-relationship name="toMeaningfulPK" source="MEANINGFUL_PK_DEP" target="MEANINGFUL_PK_TEST1" toMany="false">
+        <db-attribute-pair source="MASTER_PK" target="PK_ATTRIBUTE"/>
+    </db-relationship>
+    <db-relationship name="meaningfulPKDepArray" source="MEANINGFUL_PK_TEST1" target="MEANINGFUL_PK_DEP" toMany="true">
+        <db-attribute-pair source="PK_ATTRIBUTE" target="MASTER_PK"/>
+    </db-relationship>
+    <obj-relationship name="toMeaningfulPK" source="MeaningfulPKDep" target="MeaningfulPKTest1" db-relationship-path="toMeaningfulPK"/>
+    <obj-relationship name="meaningfulPKDepArray" source="MeaningfulPKTest1" target="MeaningfulPKDep" db-relationship-path="meaningfulPKDepArray"/>
 </data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/misc-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/misc-types.map.xml b/cayenne-server/src/test/resources/misc-types.map.xml
new file mode 100644
index 0000000..56371e3
--- /dev/null
+++ b/cayenne-server/src/test/resources/misc-types.map.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.misc_types"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="ARRAYS_ENTITY">
+        <db-attribute name="BYTE_ARRAY" type="VARBINARY" length="200"/>
+        <db-attribute name="BYTE_WRAPPER_ARRAY" type="VARBINARY" length="200"/>
+        <db-attribute name="CHAR_ARRAY" type="VARCHAR" length="200"/>
+        <db-attribute name="CHAR_WRAPPER_ARRAY" type="VARCHAR" length="200"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="CHARACTER_ENTITY">
+        <db-attribute name="CHARACTER_FIELD" type="CHAR" length="1"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="SERIALIZABLE_ENTITY">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="SERIALIZABLE_FIELD" type="BLOB"/>
+    </db-entity>
+    <obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+        <obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
+        <obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
+        <obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
+        <obj-attribute name="charWrapperArray" type="java.lang.Character[]" db-attribute-path="CHAR_WRAPPER_ARRAY"/>
+    </obj-entity>
+    <obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+        <obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
+    </obj-entity>
+    <obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.misc_types.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
+        <obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml b/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
new file mode 100644
index 0000000..494546d
--- /dev/null
+++ b/cayenne-server/src/test/resources/mixed-persistence-strategy.map.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.mixed_persistence_strategy"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="MIXED_PERSISTENCE_STRATEGY">
+        <db-attribute name="DESCRIPTION" type="VARCHAR" length="200"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <db-entity name="MIXED_PERSISTENCE_STRATEGY2">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="MASTER_ID" type="INTEGER"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+    </db-entity>
+    <obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
+        <obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="details" source="MIXED_PERSISTENCE_STRATEGY" target="MIXED_PERSISTENCE_STRATEGY2" toMany="true">
+        <db-attribute-pair source="ID" target="MASTER_ID"/>
+    </db-relationship>
+    <db-relationship name="master" source="MIXED_PERSISTENCE_STRATEGY2" target="MIXED_PERSISTENCE_STRATEGY" toMany="false">
+        <db-attribute-pair source="MASTER_ID" target="ID"/>
+    </db-relationship>
+    <obj-relationship name="details" source="MixedPersistenceStrategy" target="MixedPersistenceStrategy2" db-relationship-path="details"/>
+    <obj-relationship name="master" source="MixedPersistenceStrategy2" target="MixedPersistenceStrategy" db-relationship-path="master"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/no-pk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/no-pk.map.xml b/cayenne-server/src/test/resources/no-pk.map.xml
new file mode 100644
index 0000000..114d247
--- /dev/null
+++ b/cayenne-server/src/test/resources/no-pk.map.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.no_pk"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="NO_PK_TEST">
+        <db-attribute name="ATTRIBUTE1" type="INTEGER"/>
+    </db-entity>
+    <obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.no_pk.NoPkTestEntity" dbEntityName="NO_PK_TEST">
+        <obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/numeric-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/numeric-types.map.xml b/cayenne-server/src/test/resources/numeric-types.map.xml
new file mode 100644
index 0000000..c5a8e2e
--- /dev/null
+++ b/cayenne-server/src/test/resources/numeric-types.map.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.numeric_types"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="BIGDECIMAL_ENTITY">
+        <db-attribute name="BIGDECIMAL_FIELD" type="NUMERIC" length="12" scale="2"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BIGINTEGER_ENTITY">
+        <db-attribute name="BIG_INTEGER_FIELD" type="BIGINT"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BIT_TEST">
+        <db-attribute name="BIT_COLUMN" type="BIT" isMandatory="true"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="BOOLEAN_TEST">
+        <db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN" isMandatory="true"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DECIMAL_PK_TST">
+        <db-attribute name="DECIMAL_PK" type="DECIMAL" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <db-entity name="FLOAT_TEST">
+        <db-attribute name="FLOAT_COL" type="FLOAT"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="LONG_ENTITY">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="LONG_FIELD" type="BIGINT"/>
+    </db-entity>
+    <db-entity name="SMALLINT_TEST">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="SMALLINT_COL" type="SMALLINT"/>
+    </db-entity>
+    <db-entity name="TINYINT_TEST">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="TINYINT_COL" type="TINYINT"/>
+    </db-entity>
+    <obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.numeric_types.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
+        <obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
+    </obj-entity>
+    <obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.numeric_types.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
+        <obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
+    </obj-entity>
+    <obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitNumberTestEntity" dbEntityName="BIT_TEST">
+        <obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitTestEntity" dbEntityName="BIT_TEST">
+        <obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.numeric_types.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
+        <obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
+        <obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
+        <obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="LongEntity" className="org.apache.cayenne.testdo.numeric_types.LongEntity" dbEntityName="LONG_ENTITY">
+        <obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
+    </obj-entity>
+    <obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.numeric_types.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
+        <obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
+    </obj-entity>
+    <obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.numeric_types.TinyintTestEntity" dbEntityName="TINYINT_TEST">
+        <obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/primitive.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/primitive.map.xml b/cayenne-server/src/test/resources/primitive.map.xml
new file mode 100644
index 0000000..db129dd
--- /dev/null
+++ b/cayenne-server/src/test/resources/primitive.map.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.primitive"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="PRIMITIVES_TEST">
+        <db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="INT_COLUMN" type="INTEGER"/>
+    </db-entity>
+    <obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.primitive.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
+        <obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
+        <obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
+    </obj-entity>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/return-types.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/return-types.map.xml b/cayenne-server/src/test/resources/return-types.map.xml
new file mode 100644
index 0000000..217dc73
--- /dev/null
+++ b/cayenne-server/src/test/resources/return-types.map.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.return_types"/>
+    <property name="defaultSuperclass" value="org.apache.cayenne.CayenneDataObject"/>
+    <property name="clientSupported" value="true"/>
+    <property name="defaultClientPackage" value="test.client"/>
+    <property name="defaultClientSuperclass" value="org.apache.cayenne.PersistentObject"/>
+    <db-entity name="TYPES_MAPPING_LOBS_TEST1">
+        <db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="CLOB_COLUMN" type="CLOB"/>
+    </db-entity>
+    <db-entity name="TYPES_MAPPING_TEST1">
+        <db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="BIGINT_COLUMN" type="BIGINT"/>
+        <db-attribute name="BIT_COLUMN" type="BIT"/>
+        <db-attribute name="BOOLEAN_COLUMN" type="BOOLEAN"/>
+        <db-attribute name="CHAR_COLUMN" type="CHAR" length="254"/>
+        <db-attribute name="DATE_COLUMN" type="DATE"/>
+        <db-attribute name="DECIMAL_COLUMN" type="DECIMAL" length="12" scale="5"/>
+        <db-attribute name="DOUBLE_COLUMN" type="DOUBLE" scale="7"/>
+        <db-attribute name="FLOAT_COLUMN" type="FLOAT" scale="3"/>
+        <db-attribute name="INTEGER_COLUMN" type="INTEGER"/>
+        <db-attribute name="LONGVARCHAR_COLUMN" type="LONGVARCHAR"/>
+        <db-attribute name="NUMERIC_COLUMN" type="NUMERIC" length="12" scale="5"/>
+        <db-attribute name="REAL_COLUMN" type="REAL" scale="5"/>
+        <db-attribute name="SMALLINT_COLUMN" type="SMALLINT"/>
+        <db-attribute name="TIMESTAMP_COLUMN" type="TIMESTAMP"/>
+        <db-attribute name="TIME_COLUMN" type="TIME"/>
+        <db-attribute name="TINYINT_COLUMN" type="TINYINT"/>
+        <db-attribute name="VARCHAR_COLUMN" type="VARCHAR" length="255"/>
+    </db-entity>
+    <db-entity name="TYPES_MAPPING_TEST2">
+        <db-attribute name="AAAID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="BINARY_COLUMN" type="BINARY" length="14"/>
+        <db-attribute name="BLOB_COLUMN" type="BLOB"/>
+        <db-attribute name="LONGVARBINARY_COLUMN" type="LONGVARBINARY"/>
+        <db-attribute name="VARBINARY_COLUMN" type="VARBINARY" length="1000"/>
+    </db-entity>
+    <obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
+        <obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
+        <obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
+        <obj-attribute name="charColumn" type="java.lang.String" db-attribute-path="CHAR_COLUMN"/>
+        <obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
+        <obj-attribute name="decimalColumn" type="java.math.BigDecimal" db-attribute-path="DECIMAL_COLUMN"/>
+        <obj-attribute name="doubleColumn" type="java.lang.Double" db-attribute-path="DOUBLE_COLUMN"/>
+        <obj-attribute name="floatColumn" type="java.lang.Float" db-attribute-path="FLOAT_COLUMN"/>
+        <obj-attribute name="integerColumn" type="java.lang.Integer" db-attribute-path="INTEGER_COLUMN"/>
+        <obj-attribute name="longvarcharColumn" type="java.lang.String" db-attribute-path="LONGVARCHAR_COLUMN"/>
+        <obj-attribute name="numericColumn" type="java.math.BigDecimal" db-attribute-path="NUMERIC_COLUMN"/>
+        <obj-attribute name="realColumn" type="java.lang.Float" db-attribute-path="REAL_COLUMN"/>
+        <obj-attribute name="smallintColumn" type="java.lang.Short" db-attribute-path="SMALLINT_COLUMN"/>
+        <obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
+        <obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
+        <obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
+        <obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
+        <obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
+        <obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
+        <obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
+    </obj-entity>
+    <obj-entity name="ReturnTypesMapLobs1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMapLobs1" clientClassName="test.client.ReturnTypesMapLobs1" dbEntityName="TYPES_MAPPING_LOBS_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+        <obj-attribute name="clobColumn" type="java.lang.String" db-attribute-path="CLOB_COLUMN"/>
+    </obj-entity>
+    <query name="SelectReturnTypesLobsMap1" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="return-types">
+        <property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+        <sql><![CDATA[SELECT * FROM TYPES_MAPPING_LOBS_TEST1]]></sql>
+    </query>
+    <query name="SelectReturnTypesMap1" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="return-types">
+        <property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+        <property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+        <sql><![CDATA[SELECT * FROM TYPES_MAPPING_TEST1]]></sql>
+    </query>
+    <query name="SelectReturnTypesMap2" factory="org.apache.cayenne.map.SQLTemplateBuilder" root="data-map" root-name="return-types">
+        <property name="cayenne.GenericSelectQuery.fetchingDataRows" value="true"/>
+        <property name="cayenne.SQLTemplate.columnNameCapitalization" value="UPPER"/>
+        <sql><![CDATA[SELECT * FROM TYPES_MAPPING_TEST2]]></sql>
+    </query>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/resources/small-testmap.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/small-testmap.map.xml b/cayenne-server/src/test/resources/small-testmap.map.xml
index 6174977..486256e 100644
--- a/cayenne-server/src/test/resources/small-testmap.map.xml
+++ b/cayenne-server/src/test/resources/small-testmap.map.xml
@@ -99,7 +99,7 @@
 		<db-attribute name="PAINTING_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="TEXT_REVIEW" type="LONGVARCHAR"/>
 	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
 		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
 		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
 		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
@@ -114,16 +114,16 @@
 	</obj-entity>
 	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
 	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
 		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" dbEntityName="DATE_TEST">
+	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" dbEntityName="DATE_TEST">
 		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
 		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
 		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" dbEntityName="ENUM_ENTITY">
+		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
 	</obj-entity>
 	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
 		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>


[13/50] [abbrv] cayenne git commit: Apply JUnit4 instead of JUnit3 in IT

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
index 991072f..7347063 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
@@ -18,23 +18,45 @@
  ****************************************************************/
 package org.apache.cayenne.remote;
 
-import java.util.List;
-
 import org.apache.cayenne.BaseContext;
 import org.apache.cayenne.configuration.rop.client.ClientRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.QueryCacheStrategy;
 import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class NestedObjectContextLocalIT extends RemoteCayenneCase {
-    
+
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public NestedObjectContextLocalIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
     @Inject
     private ClientRuntime runtime;
 
+    @Test
     public void testLocalCacheStaysLocal() {
 
         SelectQuery query = new SelectQuery(ClientMtTable1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
index ba4ad9a..d36f07f 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
@@ -22,12 +22,21 @@ package org.apache.cayenne.remote;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.configuration.rop.client.ClientRuntime;
 import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class NestedObjectContextParentEventsIT extends RemoteCayenneCase {
 
     @Inject
@@ -36,6 +45,19 @@ public class NestedObjectContextParentEventsIT extends RemoteCayenneCase {
     @Inject
     private ClientRuntime runtime;
 
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public NestedObjectContextParentEventsIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
     @Override
     public void setUpAfterInjection() throws Exception {
         super.setUpAfterInjection();
@@ -44,6 +66,7 @@ public class NestedObjectContextParentEventsIT extends RemoteCayenneCase {
         dbHelper.deleteAll("MT_TABLE1");
     }
 
+    @Test
     public void testParentUpdatedId() throws Exception {
         ObjectContext child = runtime.newContext(clientContext);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
index 5ad385a..e9139e6 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
@@ -23,13 +23,22 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.configuration.rop.client.ClientRuntime;
 import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.ClientMtTable2;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class NestedObjectContextPeerEventsIT extends RemoteCayenneCase {
 
     @Inject
@@ -38,6 +47,19 @@ public class NestedObjectContextPeerEventsIT extends RemoteCayenneCase {
     @Inject
     private DBHelper dbHelper;
 
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public NestedObjectContextPeerEventsIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
     @Override
     public void setUpAfterInjection() throws Exception {
         super.setUpAfterInjection();
@@ -46,6 +68,7 @@ public class NestedObjectContextPeerEventsIT extends RemoteCayenneCase {
         dbHelper.deleteAll("MT_TABLE1");
     }
 
+    @Test
     public void testPeerObjectUpdatedTempOID() throws Exception {
         ObjectContext peer1 = runtime.newContext(clientContext);
         ClientMtTable1 a1 = peer1.newObject(ClientMtTable1.class);
@@ -63,6 +86,7 @@ public class NestedObjectContextPeerEventsIT extends RemoteCayenneCase {
         assertEquals(a2.getObjectId(), a1.getObjectId());
     }
 
+    @Test
     public void testPeerObjectUpdatedSimpleProperty() throws Exception {
         ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
         a.setGlobalAttribute1("X");
@@ -84,6 +108,7 @@ public class NestedObjectContextPeerEventsIT extends RemoteCayenneCase {
                 peer2.hasChanges());
     }
 
+    @Test
     public void testPeerObjectUpdatedToOneRelationship() throws Exception {
         ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
         ClientMtTable1 altA = clientContext.newObject(ClientMtTable1.class);
@@ -114,6 +139,7 @@ public class NestedObjectContextPeerEventsIT extends RemoteCayenneCase {
                 peer2.hasChanges());
     }
 
+    @Test
     public void testPeerObjectUpdatedToManyRelationship() throws Exception {
         ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
         a.setGlobalAttribute1("X");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
index 3fef10c..931be97 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
@@ -21,16 +21,39 @@ package org.apache.cayenne.remote;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.configuration.rop.client.ClientRuntime;
 import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class NestedObjectContextRollbackIT extends RemoteCayenneCase {
     
     @Inject
     private ClientRuntime runtime;
 
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public NestedObjectContextRollbackIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
+    @Test
     public void testRollbackChanges() {
         ObjectContext child1 = runtime.newContext(clientContext);
         
@@ -49,7 +72,8 @@ public class NestedObjectContextRollbackIT extends RemoteCayenneCase {
         
         clientContext.rollbackChanges();
     }
-    
+
+    @Test
     public void testRollbackChangesLocally() {
         ObjectContext child1 = runtime.newContext(clientContext);
         

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
index b6b6875..299bb3d 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
@@ -23,14 +23,23 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.RefreshQuery;
 import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.mt.ClientMtMapToMany;
 import org.apache.cayenne.testdo.mt.ClientMtMapToManyTarget;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 @UseServerRuntime("cayenne-multi-tier.xml")
+@RunWith(value=Parameterized.class)
 public class ROPPrefetchToManyMapIT extends RemoteCayenneCase {
     
     @Inject
@@ -38,13 +47,27 @@ public class ROPPrefetchToManyMapIT extends RemoteCayenneCase {
     
     @Inject
     private DataChannelInterceptor queryInterceptor;
-    
+
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public ROPPrefetchToManyMapIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
     @Override
     public void setUpAfterInjection() throws Exception {
         dbHelper.deleteAll("MT_MAP_TO_MANY_TARGET");
         dbHelper.deleteAll("MT_MAP_TO_MANY");        
     }
-    
+
+    @Test
     public void test() throws Exception {
         ObjectContext context = createROPContext();
         

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
index b488d80..26877de 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
@@ -18,17 +18,40 @@
  ****************************************************************/
 package org.apache.cayenne.remote;
 
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.ClientMtTable2;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 /**
  * This is a test primarily for CAY-1118
  */
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class RelationshipChangeIT extends RemoteCayenneCase {
 
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public RelationshipChangeIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
+    @Test
     public void testNullify() {
         ClientMtTable1 o1 = clientContext.newObject(ClientMtTable1.class);
         ClientMtTable2 o2 = clientContext.newObject(ClientMtTable2.class);
@@ -41,7 +64,8 @@ public class RelationshipChangeIT extends RemoteCayenneCase {
         o2.setTable1(null);
         assertEquals(0, o1.getTable2Array().size());
     }
-    
+
+    @Test
     public void testChange() {
         ClientMtTable1 o1 = clientContext.newObject(ClientMtTable1.class);
         ClientMtTable2 o2 = clientContext.newObject(ClientMtTable2.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
index 156b267..87d2be5 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
@@ -20,14 +20,36 @@ package org.apache.cayenne.remote;
 
 import org.apache.cayenne.LifecycleListener;
 import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.testdo.mt.ClientMtLifecycles;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class RemoteCallbacksIT extends RemoteCayenneCase implements LifecycleListener {
     private int added, loaded, prePersisted, postPersisted, preRemoved, postRemoved, preUpdated, postUpdated;
-    
+
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public RemoteCallbacksIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
     @Override
     public void setUpAfterInjection() throws Exception {
         super.setUpAfterInjection();
@@ -41,7 +63,8 @@ public class RemoteCallbacksIT extends RemoteCayenneCase implements LifecycleLis
         preUpdated = 0;
         postUpdated = 0;
     }
-    
+
+    @Test
     public void testDefault() throws InterruptedException {
         ObjectContext context = createROPContext();
         context.getEntityResolver().getCallbackRegistry().addListener(ClientMtLifecycles.class, this);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.java
index 145c582..07cca01 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCayenneCase.java
@@ -24,7 +24,6 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.cache.MapQueryCache;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.event.DefaultEventManager;
-import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.unit.UnitLocalConnection;
 import org.apache.cayenne.unit.di.client.ClientCase;
 
@@ -38,21 +37,7 @@ public abstract class RemoteCayenneCase extends ClientCase {
     /**
      * Used serialization policy. Per CAY-979 we're testing on all policies
      */
-    private int serializationPolicy;
-
-    @Override
-    public void runBare() throws Throwable {
-        serializationPolicy = LocalConnection.HESSIAN_SERIALIZATION;
-        runBareSimple();
-        serializationPolicy = LocalConnection.JAVA_SERIALIZATION;
-        runBareSimple();
-        serializationPolicy = LocalConnection.NO_SERIALIZATION;
-        runBareSimple();
-    }
-
-    protected void runBareSimple() throws Throwable {
-        super.runBare();
-    }
+    protected int serializationPolicy;
 
     @Override
     public void setUpAfterInjection() throws Exception {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
index 82fe796..c0faac4 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
@@ -32,6 +32,7 @@ import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Iterator;
 import java.util.List;
@@ -104,35 +105,42 @@ public class RemoteIncrementalFaultListIT extends ClientCase {
         list = new RemoteIncrementalFaultList(clientContext, query);
     }
 
+    @Test
     public void testSize() throws Exception {
         prepareList(6);
         assertEquals(COUNT, list.size());
     }
 
+    @Test
     public void testIteratorPageSize1() throws Exception {
         doTestIterator(1);
     }
 
+    @Test
     public void testIteratorPageSize5() throws Exception {
         // size divisiable by page size
         doTestIterator(5);
     }
 
+    @Test
     public void testIteratorPageSize6() throws Exception {
         // size not divisable by page size
         doTestIterator(6);
     }
 
+    @Test
     public void testIteratorPageSize25() throws Exception {
         // size equals to page size
         doTestIterator(COUNT);
     }
 
+    @Test
     public void testIteratorPageSize26() throws Exception {
         // size exceeding page size
         doTestIterator(COUNT + 1);
     }
 
+    @Test
     public void testListIterator() throws Exception {
         prepareList(6);
         ListIterator<?> it = list.listIterator();
@@ -159,6 +167,7 @@ public class RemoteIncrementalFaultListIT extends ClientCase {
         }
     }
 
+    @Test
     public void testUnfetchedObjects() throws Exception {
         prepareList(6);
         assertEquals(COUNT - 6, list.getUnfetchedObjects());
@@ -168,6 +177,7 @@ public class RemoteIncrementalFaultListIT extends ClientCase {
         assertEquals(0, list.getUnfetchedObjects());
     }
 
+    @Test
     public void testPageIndex() throws Exception {
         prepareList(6);
         assertEquals(0, list.pageIndex(0));
@@ -183,6 +193,7 @@ public class RemoteIncrementalFaultListIT extends ClientCase {
         }
     }
 
+    @Test
     public void testPagesRead1() throws Exception {
         prepareList(6);
         assertTrue(list.elements.get(0) instanceof ClientMtTable1);
@@ -195,6 +206,7 @@ public class RemoteIncrementalFaultListIT extends ClientCase {
         assertTrue((list.elements.get(list.size() - 1)) instanceof ClientMtTable1);
     }
 
+    @Test
     public void testGet1() throws Exception {
         prepareList(6);
         assertTrue(list.elements.get(0) instanceof ClientMtTable1);
@@ -207,6 +219,7 @@ public class RemoteIncrementalFaultListIT extends ClientCase {
         assertTrue(list.elements.get(8) instanceof ClientMtTable1);
     }
 
+    @Test
     public void testIndexOf() throws Exception {
         prepareList(6);
 
@@ -223,6 +236,7 @@ public class RemoteIncrementalFaultListIT extends ClientCase {
         assertEquals(-1, list.indexOf(list.context.newObject(ClientMtTable1.class)));
     }
 
+    @Test
     public void testLastIndexOf() throws Exception {
         prepareList(6);
         Expression qual = ExpressionFactory.matchExp(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
index ceeadcd..a200247 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
@@ -19,17 +19,40 @@
 package org.apache.cayenne.remote;
 
 import org.apache.cayenne.PersistenceState;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.ClientMtTable2;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 /**
  * This is a test primarily for CAY-1103
  */
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class RemoteRollbackIT extends RemoteCayenneCase {
-    
+
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public RemoteRollbackIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
+    @Test
     public void testRollbackNew() {
         ClientMtTable1 o1 = clientContext.newObject(ClientMtTable1.class);
         o1.setGlobalAttribute1("a");
@@ -60,6 +83,7 @@ public class RemoteRollbackIT extends RemoteCayenneCase {
         // assertEquals(0, o1.getClientMtTable2Array().size());
     }
 
+    @Test
     public void testRollbackNewObject() {
         String o1Name = "revertTestClientMtTable1";
         ClientMtTable1 o1 = clientContext.newObject(ClientMtTable1.class);
@@ -74,6 +98,7 @@ public class RemoteRollbackIT extends RemoteCayenneCase {
     // Catches a bug where new objects were unregistered within an object iterator, thus
     // modifying the
     // collection the iterator was iterating over (ConcurrentModificationException)
+    @Test
     public void testRollbackWithMultipleNewObjects() {
         String o1Name = "rollbackTestClientMtTable1";
         String o2Title = "rollbackTestClientMtTable2";
@@ -95,6 +120,7 @@ public class RemoteRollbackIT extends RemoteCayenneCase {
         assertEquals(PersistenceState.TRANSIENT, o1.getPersistenceState());
     }
 
+    @Test
     public void testRollbackRelationshipModification() {
         String o1Name = "relationshipModClientMtTable1";
         String o2Title = "relationshipTestClientMtTable2";
@@ -116,6 +142,7 @@ public class RemoteRollbackIT extends RemoteCayenneCase {
         assertEquals(o1, o2.getTable1());
     }
 
+    @Test
     public void testRollbackDeletedObject() {
         String o1Name = "deleteTestClientMtTable1";
         ClientMtTable1 o1 = clientContext.newObject(ClientMtTable1.class);
@@ -130,6 +157,7 @@ public class RemoteRollbackIT extends RemoteCayenneCase {
         assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
     }
 
+    @Test
     public void testRollbackModifiedObject() {
         String o1Name = "initialTestClientMtTable1";
         ClientMtTable1 o1 = clientContext.newObject(ClientMtTable1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
index de09b70..a289a42 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
@@ -23,17 +23,40 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.testdo.mt.ClientMtTable1Subclass1;
 import org.apache.cayenne.testdo.mt.MtTable1Subclass1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class ValueInjectorIT extends RemoteCayenneCase {
 
     @Inject
     protected DataContext serverContext;
 
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public ValueInjectorIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
+    @Test
     public void testServer() {
         ObjEntity entity = serverContext.getEntityResolver().getObjEntity(MtTable1Subclass1.class);
         Expression qualifier = entity.getDeclaredQualifier();
@@ -52,6 +75,7 @@ public class ValueInjectorIT extends RemoteCayenneCase {
         }
     }
 
+    @Test
     public void testClient() {
         ObjectContext context = createROPContext();
         ObjEntity entity = context.getEntityResolver().getObjEntity(ClientMtTable1Subclass1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseLifecycleManager.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseLifecycleManager.java b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseLifecycleManager.java
index bbd91cc..2dc73c3 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseLifecycleManager.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseLifecycleManager.java
@@ -18,16 +18,14 @@
  ****************************************************************/
 package org.apache.cayenne.unit.di.client;
 
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.di.spi.DefaultScope;
 import org.apache.cayenne.unit.di.server.ServerCaseLifecycleManager;
 
+import java.util.HashMap;
+import java.util.Map;
+
 public class ClientCaseLifecycleManager extends ServerCaseLifecycleManager {
 
     @Inject
@@ -38,7 +36,7 @@ public class ClientCaseLifecycleManager extends ServerCaseLifecycleManager {
     }
 
     @Override
-    public <T extends TestCase> void setUp(T testCase) {
+    public <T> void setUp(T testCase) {
 
         Map<String, String> map = new HashMap<String, String>();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
index 1db7f61..a0f77bc 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientCaseSelfIT.java
@@ -22,6 +22,7 @@ import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientCaseSelfIT extends ClientCase {
@@ -32,6 +33,7 @@ public class ClientCaseSelfIT extends ClientCase {
     @Inject
     protected Provider<ServerRuntime> runtimeProvider;
 
+    @Test
     public void testServerSetup_TearDown_Runtime() throws Exception {
 
         ServerRuntime local = this.runtime;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java b/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
index 813e64b..4dc37ef 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/ObjectDetachOperationIT.java
@@ -30,6 +30,9 @@ import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ObjectDetachOperationIT extends ClientCase {
@@ -51,6 +54,7 @@ public class ObjectDetachOperationIT extends ClientCase {
         tMtTable1.setColumns("TABLE1_ID", "GLOBAL_ATTRIBUTE1", "SERVER_ATTRIBUTE1");
     }
 
+    @Test
     public void testDetachCommitted() {
 
         EntityResolver serverResover = serverContext.getEntityResolver();
@@ -80,6 +84,7 @@ public class ObjectDetachOperationIT extends ClientCase {
         assertNull(co.getObjectContext());
     }
 
+    @Test
     public void testDetachHollow() throws Exception {
 
         tMtTable1.insert(4, "g1", "s1");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java b/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
index ec8bbdb..bbb9f4b 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/util/ShallowMergeOperation_ClientIT.java
@@ -34,6 +34,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ShallowMergeOperation_ClientIT extends ClientCase {
@@ -71,6 +72,7 @@ public class ShallowMergeOperation_ClientIT extends ClientCase {
         tMtTable1.insert(33004, "g4", "s4");
     }
 
+    @Test
     public void testMerge_Relationship() throws Exception {
 
         ObjectContext childContext = runtime.newContext(context);
@@ -93,6 +95,7 @@ public class ShallowMergeOperation_ClientIT extends ClientCase {
         });
     }
 
+    @Test
     public void testMerge_NoOverride() throws Exception {
 
         ObjectContext childContext = runtime.newContext(context);
@@ -125,6 +128,7 @@ public class ShallowMergeOperation_ClientIT extends ClientCase {
         });
     }
 
+    @Test
     public void testMerge_PersistenceStates() throws Exception {
 
         createMtTable1DataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
index dc9c133..8e7ade5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.relationship.CollectionToMany;
 import org.apache.cayenne.testdo.relationship.CollectionToManyTarget;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collection;
 
@@ -58,6 +59,7 @@ public class CDOCollectionRelationshipIT extends ServerCase {
         tCollectionToManyTarget.insert(1, 1).insert(2, 1).insert(3, 1).insert(4, 2);
     }
 
+    @Test
     public void testReadToMany() throws Exception {
 
         CollectionToMany o1 = Cayenne.objectForPK(context, CollectionToMany.class, 1);
@@ -83,6 +85,7 @@ public class CDOCollectionRelationshipIT extends ServerCase {
                 3)));
     }
 
+    @Test
     public void testReadToManyPrefetching() throws Exception {
 
         SelectQuery query = new SelectQuery(CollectionToMany.class, ExpressionFactory
@@ -111,6 +114,7 @@ public class CDOCollectionRelationshipIT extends ServerCase {
                 3)));
     }
 
+    @Test
     public void testAddToMany() throws Exception {
 
         CollectionToMany o1 = Cayenne.objectForPK(context, CollectionToMany.class, 1);
@@ -133,6 +137,7 @@ public class CDOCollectionRelationshipIT extends ServerCase {
         assertEquals(4, o1.getTargets().size());
     }
 
+    @Test
     public void testRemoveToMany() throws Exception {
 
         CollectionToMany o1 = Cayenne.objectForPK(context, CollectionToMany.class, 1);
@@ -157,6 +162,7 @@ public class CDOCollectionRelationshipIT extends ServerCase {
         assertFalse(o1.getTargets().contains(target));
     }
 
+    @Test
     public void testAddToManyViaReverse() throws Exception {
 
         CollectionToMany o1 = Cayenne.objectForPK(context, CollectionToMany.class, 1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
index 899ad6f..3af42e8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneIT.java
@@ -34,6 +34,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.ROPainting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -90,6 +91,7 @@ public class CDOMany2OneIT extends ServerCase {
 
     }
 
+    @Test
     public void testMultipleToOneDeletion() throws Exception {
 
         // was a problem per CAY-901
@@ -122,6 +124,7 @@ public class CDOMany2OneIT extends ServerCase {
         assertEquals(null, row.get("GALLERY_ID"));
     }
 
+    @Test
     public void testReadRO1() throws Exception {
 
         createArtistWithPaintingDataSet();
@@ -138,6 +141,7 @@ public class CDOMany2OneIT extends ServerCase {
         assertSame(a1, rop1.getToArtist());
     }
 
+    @Test
     public void testReadRO2() throws Exception {
 
         createArtistWithPaintingDataSet();
@@ -158,6 +162,7 @@ public class CDOMany2OneIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, rop1.getToArtist().getPersistenceState());
     }
 
+    @Test
     public void testSelectViaRelationship() throws Exception {
 
         createArtistWithPaintingDataSet();
@@ -172,6 +177,7 @@ public class CDOMany2OneIT extends ServerCase {
         assertSame(p1, paints.get(0));
     }
 
+    @Test
     public void testSelectViaMultiRelationship() throws Exception {
 
         createArtistWithPaintingsInGalleryDataSet();
@@ -187,6 +193,7 @@ public class CDOMany2OneIT extends ServerCase {
         assertSame(a1, artists.get(0));
     }
 
+    @Test
     public void testNewAdd() throws Exception {
         Artist a1 = context.newObject(Artist.class);
         a1.setArtistName("bL");
@@ -206,6 +213,7 @@ public class CDOMany2OneIT extends ServerCase {
         assertEquals(Cayenne.longPKForObject(a1), tPainting.getLong("ARTIST_ID"));
     }
 
+    @Test
     public void testRemove() throws Exception {
         Painting p1 = context.newObject(Painting.class);
         p1.setPaintingTitle("xa");
@@ -241,6 +249,7 @@ public class CDOMany2OneIT extends ServerCase {
         assertNull(p3.getToGallery());
     }
 
+    @Test
     public void testReplace() throws Exception {
 
         Painting p1 = context.newObject(Painting.class);
@@ -286,6 +295,7 @@ public class CDOMany2OneIT extends ServerCase {
         assertSame(p3, g3.getPaintingArray().get(0));
     }
 
+    @Test
     public void testSavedAdd() throws Exception {
         Painting p1 = context.newObject(Painting.class);
         p1.setPaintingTitle("xa");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
index 27a2298..baa83aa 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOMany2OneNoRevIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CDOMany2OneNoRevIT extends ServerCase {
@@ -31,6 +32,7 @@ public class CDOMany2OneNoRevIT extends ServerCase {
     @Inject
     private ObjectContext context;
 
+    @Test
     public void testNewAdd() throws Exception {
 
         Artist a1 = context.newObject(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
index 7323dd7..95b3985 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOMapRelationshipIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.relationship.MapToMany;
 import org.apache.cayenne.testdo.relationship.MapToManyTarget;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Map;
 
@@ -85,6 +86,7 @@ public class CDOMapRelationshipIT extends ServerCase {
         tIdMapToManyTarget.insert(4, 2);
     }
 
+    @Test
     public void testReadToMany() throws Exception {
         createTestDataSet();
 
@@ -105,6 +107,7 @@ public class CDOMapRelationshipIT extends ServerCase {
         assertEquals(3, Cayenne.intPKForObject((Persistent) targets.get("C")));
     }
 
+    @Test
     public void testReadToManyId() throws Exception {
         createTestIdDataSet();
 
@@ -125,6 +128,7 @@ public class CDOMapRelationshipIT extends ServerCase {
         assertEquals(3, Cayenne.intPKForObject((Persistent) targets.get(new Integer(3))));
     }
 
+    @Test
     public void testReadToManyPrefetching() throws Exception {
         createTestDataSet();
 
@@ -144,6 +148,7 @@ public class CDOMapRelationshipIT extends ServerCase {
         assertNotNull(targets.get("C"));
     }
 
+    @Test
     public void testAddToMany() throws Exception {
         createTestDataSet();
 
@@ -169,6 +174,7 @@ public class CDOMapRelationshipIT extends ServerCase {
         assertEquals(4, o1.getTargets().size());
     }
 
+    @Test
     public void testRemoveToMany() throws Exception {
         createTestDataSet();
 
@@ -192,6 +198,7 @@ public class CDOMapRelationshipIT extends ServerCase {
         assertNotNull(o1.getTargets().get("C"));
     }
 
+    @Test
     public void testAddToManyViaReverse() throws Exception {
         createTestDataSet();
 
@@ -217,6 +224,7 @@ public class CDOMapRelationshipIT extends ServerCase {
         assertEquals(4, o1.getTargets().size());
     }
 
+    @Test
     public void testModifyToManyKey() throws Exception {
         createTestDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
index 6a219f7..1182010 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2ManyIT.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Date;
 import java.util.List;
@@ -70,6 +71,7 @@ public class CDOOne2ManyIT extends ServerCase {
         tPainting.setColumns("PAINTING_ID", "PAINTING_TITLE", "ARTIST_ID", "GALLERY_ID");
     }
 
+    @Test
     public void testSelectWithToManyDBQualifier() throws Exception {
 
         // intentionally add more than 1 painting to artist
@@ -103,6 +105,7 @@ public class CDOOne2ManyIT extends ServerCase {
         assertSame(a1, artists.get(0));
     }
 
+    @Test
     public void testSelectWithToManyQualifier() throws Exception {
 
         // intentionally add more than 1 painting to artist
@@ -136,6 +139,7 @@ public class CDOOne2ManyIT extends ServerCase {
         assertSame(a1, artists.get(0));
     }
 
+    @Test
     public void testNewAdd() throws Exception {
         Artist a1 = context.newObject(Artist.class);
         a1.setArtistName("XyzQ");
@@ -165,6 +169,7 @@ public class CDOOne2ManyIT extends ServerCase {
         assertEquals(aRow[0], pRow[2]);
     }
 
+    @Test
     public void testNewAddMultiples() throws Exception {
         Artist a1 = context.newObject(Artist.class);
         a1.setArtistName("XyzV");
@@ -192,6 +197,7 @@ public class CDOOne2ManyIT extends ServerCase {
         assertEquals(2, a2.getPaintingArray().size());
     }
 
+    @Test
     public void testRemove1() throws Exception {
         Artist a1 = context.newObject(Artist.class);
         a1.setArtistName("XyzE");
@@ -230,6 +236,7 @@ public class CDOOne2ManyIT extends ServerCase {
         assertEquals(0, a3.getPaintingArray().size());
     }
 
+    @Test
     public void testRemove2() throws Exception {
         Artist a1 = context.newObject(Artist.class);
         a1.setArtistName("XyzQ");
@@ -269,6 +276,7 @@ public class CDOOne2ManyIT extends ServerCase {
         assertEquals(1, a3.getPaintingArray().size());
     }
 
+    @Test
     public void testPropagatePK() throws Exception {
         Artist a1 = context.newObject(Artist.class);
         a1.setArtistName("XyBn");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
index 30a4ac4..96278e5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOne2OneDepIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime("cayenne-small-testmap.xml")
 public class CDOOne2OneDepIT extends CayenneDOTestBase {
@@ -32,6 +33,7 @@ public class CDOOne2OneDepIT extends CayenneDOTestBase {
     @Inject
     private ObjectContext context1;
 
+    @Test
     public void testRollbackDependent() {
         Artist a1 = newArtist();
         Painting p1 = newPainting();
@@ -50,6 +52,7 @@ public class CDOOne2OneDepIT extends CayenneDOTestBase {
         assertNull(p1.getToPaintingInfo());
     }
 
+    @Test
     public void test2Null() throws Exception {
         Artist a1 = newArtist();
         Painting p1 = newPainting();
@@ -66,6 +69,7 @@ public class CDOOne2OneDepIT extends CayenneDOTestBase {
         assertNull(p2.getToPaintingInfo());
     }
 
+    @Test
     public void testReplaceNull() throws Exception {
         Artist a1 = newArtist();
         Painting p1 = newPainting();
@@ -84,6 +88,7 @@ public class CDOOne2OneDepIT extends CayenneDOTestBase {
         assertNull(p2.getToPaintingInfo());
     }
 
+    @Test
     public void testNewAdd() throws Exception {
         Artist a1 = newArtist();
         PaintingInfo pi1 = newPaintingInfo();
@@ -110,6 +115,7 @@ public class CDOOne2OneDepIT extends CayenneDOTestBase {
         assertEquals(textReview, pi2.getTextReview());
     }
 
+    @Test
     public void testTakeObjectSnapshotDependentFault() throws Exception {
         // prepare data
         Artist a1 = newArtist();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
index 695ffec..7056d6a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneDep2OneIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Timestamp;
 
@@ -37,6 +38,7 @@ public class CDOOneDep2OneIT extends CayenneDOTestBase {
     @Inject
     private ObjectContext context1;
 
+    @Test
     public void testNewAdd1() throws Exception {
         Artist a1 = newArtist();
         PaintingInfo pi1 = newPaintingInfo();
@@ -64,6 +66,7 @@ public class CDOOneDep2OneIT extends CayenneDOTestBase {
     }
 
     /** Tests how primary key is propagated from one new object to another. */
+    @Test
     public void testNewAdd2() throws Exception {
         Artist a1 = this.newArtist();
         Gallery g1 = context.newObject(Gallery.class);
@@ -82,6 +85,7 @@ public class CDOOneDep2OneIT extends CayenneDOTestBase {
         context.commitChanges();
     }
 
+    @Test
     public void testReplace() throws Exception {
         String altPaintingName = "alt painting";
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
index 39dad81..8c21b8d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.relationship.ToManyFkRoot;
 import org.apache.cayenne.testdo.relationship.ToManyRoot2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 // TODO: this mapping scenario is really unsupported ... this is just an attempt at
 // partial solution
@@ -45,6 +46,7 @@ public class CDOOneToManyFKIT extends ServerCase {
         dbHelper.deleteAll("TO_ONEFK1");
     }
 
+    @Test
     public void testReadRelationship() throws Exception {
 
         ToManyRoot2 src2 = context.newObject(ToManyRoot2.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
index 5990596..e06eddf 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.relationship.ToOneFK1;
 import org.apache.cayenne.testdo.relationship.ToOneFK2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 /**
  * Tests the behavior of one-to-one relationship where to-one is pointing to an FK.
@@ -49,6 +50,7 @@ public class CDOOneToOneFKIT extends ServerCase {
         dbHelper.deleteAll("TO_ONEFK2");
     }
 
+    @Test
     public void testReadRelationship() {
         ToOneFK2 src = context.newObject(ToOneFK2.class);
         ToOneFK1 target = context.newObject(ToOneFK1.class);
@@ -71,6 +73,7 @@ public class CDOOneToOneFKIT extends ServerCase {
         assertSame(target2, target2.getToPK().getToOneToFK());
     }
 
+    @Test
     public void test2Null() throws Exception {
         ToOneFK2 src = context.newObject(ToOneFK2.class);
         context.commitChanges();
@@ -86,6 +89,7 @@ public class CDOOneToOneFKIT extends ServerCase {
         assertNull(src2.getToOneToFK());
     }
 
+    @Test
     public void testReplaceNull1() throws Exception {
         ToOneFK2 src = context.newObject(ToOneFK2.class);
         context.commitChanges();
@@ -103,6 +107,7 @@ public class CDOOneToOneFKIT extends ServerCase {
         assertNull(src2.getToOneToFK());
     }
 
+    @Test
     public void testReplaceNull2() throws Exception {
         ToOneFK2 src = context.newObject(ToOneFK2.class);
         context.commitChanges();
@@ -130,6 +135,7 @@ public class CDOOneToOneFKIT extends ServerCase {
         assertEquals(target.getObjectId(), target2.getObjectId());
     }
 
+    @Test
     public void testNewAdd() throws Exception {
         ToOneFK2 src = context.newObject(ToOneFK2.class);
         ToOneFK1 target = context.newObject(ToOneFK1.class);
@@ -155,6 +161,7 @@ public class CDOOneToOneFKIT extends ServerCase {
         assertEquals(target.getObjectId(), target2.getObjectId());
     }
 
+    @Test
     public void testTakeObjectSnapshotDependentFault() throws Exception {
         ToOneFK2 src = context.newObject(ToOneFK2.class);
         ToOneFK1 target = context.newObject(ToOneFK1.class);
@@ -174,6 +181,7 @@ public class CDOOneToOneFKIT extends ServerCase {
         assertTrue(src2.readPropertyDirectly("toOneToFK") instanceof Fault);
     }
 
+    @Test
     public void testDelete() throws Exception {
         ToOneFK2 src = context.newObject(ToOneFK2.class);
         ToOneFK1 target = context.newObject(ToOneFK1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
index 2b40b30..f2c9531 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOQualifiedEntitiesIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.qualified.Qualified2;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -85,6 +86,7 @@ public class CDOQualifiedEntitiesIT extends ServerCase {
         tQualified2.insert(1, "OY1", null, 2);
     }
 
+    @Test
     public void testReadToMany() throws Exception {
         if (accessStackAdapter.supportsNullBoolean()) {
 
@@ -107,6 +109,7 @@ public class CDOQualifiedEntitiesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testReadToOne() throws Exception {
         if (accessStackAdapter.supportsNullBoolean()) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelDeleteIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelDeleteIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelDeleteIT.java
index 18c721e..b789135 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelDeleteIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelDeleteIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.ArtGroup;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime("cayenne-small-testmap.xml")
 public class CDOReflexiveRelDeleteIT extends ServerCase {
@@ -61,6 +62,7 @@ public class CDOReflexiveRelDeleteIT extends ServerCase {
     // ones below fairly well
     // encompass the various orders that might be a problem. Add more if additional
     // problems come to light
+    @Test
     public void testReflexiveRelationshipDelete1() {
         context.deleteObjects(parentGroup);
         context.deleteObjects(childGroup1);
@@ -69,6 +71,7 @@ public class CDOReflexiveRelDeleteIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testReflexiveRelationshipDelete2() {
         context.deleteObjects(childGroup1);
         context.deleteObjects(parentGroup);
@@ -77,6 +80,7 @@ public class CDOReflexiveRelDeleteIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testReflexiveRelationshipDelete3() {
         context.deleteObjects(childGroup1);
         context.deleteObjects(childGroup3);
@@ -85,6 +89,7 @@ public class CDOReflexiveRelDeleteIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testReflexiveRelationshipDelete4() {
         context.deleteObjects(childGroup3);
         context.deleteObjects(parentGroup);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelIT.java
index fa94fe9..95ea822 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.ArtGroup;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 /**
  * Some more tests regarding reflexive relationships, especially related to delete rules
@@ -34,6 +35,7 @@ public class CDOReflexiveRelIT extends ServerCase {
     @Inject
     private ObjectContext context;
 
+    @Test
     public void testAddDeleteNoCommit() {
         ArtGroup parentGroup = context.newObject(ArtGroup.class);
         parentGroup.setName("parent");
@@ -45,6 +47,7 @@ public class CDOReflexiveRelIT extends ServerCase {
         context.deleteObjects(parentGroup);
     }
 
+    @Test
     public void testAddDeleteWithCommit() {
         ArtGroup parentGroup = context.newObject(ArtGroup.class);
         parentGroup.setName("parent");
@@ -58,6 +61,7 @@ public class CDOReflexiveRelIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testReplaceDeleteNoCommit() {
         ArtGroup parentGroup1 = context.newObject(ArtGroup.class);
         parentGroup1.setName("parent1");
@@ -74,6 +78,7 @@ public class CDOReflexiveRelIT extends ServerCase {
         context.deleteObjects(parentGroup2);
     }
 
+    @Test
     public void testReplaceDeleteWithCommit() {
         ArtGroup parentGroup1 = context.newObject(ArtGroup.class);
         parentGroup1.setName("parent1");
@@ -91,6 +96,7 @@ public class CDOReflexiveRelIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testCommitReplaceCommit() {
         ArtGroup parentGroup1 = context.newObject(ArtGroup.class);
         parentGroup1.setName("parent1");
@@ -105,6 +111,7 @@ public class CDOReflexiveRelIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testComplexInsertUpdateOrdering() {
         ArtGroup parentGroup = context.newObject(ArtGroup.class);
         parentGroup.setName("parent");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
index 213ec75..114a2a5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.relationship.SetToMany;
 import org.apache.cayenne.testdo.relationship.SetToManyTarget;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Set;
 
@@ -64,6 +65,7 @@ public class CDOSetRelationshipIT extends ServerCase {
         tSetToManyTarget.insert(4, 2);
     }
 
+    @Test
     public void testReadToMany() throws Exception {
         createTestDataSet();
 
@@ -90,6 +92,7 @@ public class CDOSetRelationshipIT extends ServerCase {
                 3)));
     }
 
+    @Test
     public void testReadToManyPrefetching() throws Exception {
         createTestDataSet();
 
@@ -119,6 +122,7 @@ public class CDOSetRelationshipIT extends ServerCase {
                 3)));
     }
 
+    @Test
     public void testAddToMany() throws Exception {
         createTestDataSet();
 
@@ -143,6 +147,7 @@ public class CDOSetRelationshipIT extends ServerCase {
         assertEquals(4, o1.getTargets().size());
     }
 
+    @Test
     public void testRemoveToMany() throws Exception {
         createTestDataSet();
 
@@ -168,6 +173,7 @@ public class CDOSetRelationshipIT extends ServerCase {
         assertFalse(o1.getTargets().contains(target));
     }
 
+    @Test
     public void testAddToManyViaReverse() throws Exception {
         createTestDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
index e6a9730..bd4857c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectFlattenedRelIT.java
@@ -32,6 +32,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -92,6 +93,7 @@ public class CayenneDataObjectFlattenedRelIT extends ServerCase {
         tArtistGroup.insert(33001, 1);
     }
 
+    @Test
     public void testReadFlattenedRelationship() throws Exception {
         create1Artist1ArtGroupDataSet();
 
@@ -101,6 +103,7 @@ public class CayenneDataObjectFlattenedRelIT extends ServerCase {
         assertEquals(0, groupList.size());
     }
 
+    @Test
     public void testReadFlattenedRelationship2() throws Exception {
 
         create1Artist1ArtGroup1ArtistGroupDataSet();
@@ -113,6 +116,7 @@ public class CayenneDataObjectFlattenedRelIT extends ServerCase {
         assertEquals("g1", groupList.get(0).getName());
     }
 
+    @Test
     public void testAddToFlattenedRelationship() throws Exception {
 
         create1Artist1ArtGroupDataSet();
@@ -150,6 +154,7 @@ public class CayenneDataObjectFlattenedRelIT extends ServerCase {
     }
 
     // Test case to show up a bug in committing more than once
+    @Test
     public void testDoubleCommitAddToFlattenedRelationship() throws Exception {
         create1Artist1ArtGroupDataSet();
 
@@ -183,6 +188,7 @@ public class CayenneDataObjectFlattenedRelIT extends ServerCase {
 
     }
 
+    @Test
     public void testRemoveFromFlattenedRelationship() throws Exception {
         create1Artist1ArtGroup1ArtistGroupDataSet();
 
@@ -205,6 +211,7 @@ public class CayenneDataObjectFlattenedRelIT extends ServerCase {
     // Demonstrates a possible bug in ordering of deletes, when a flattened relationships
     // link record is deleted at the same time (same transaction) as one of the record to
     // which it links.
+    @Test
     public void testRemoveFlattenedRelationshipAndRootRecord() throws Exception {
         create1Artist1ArtGroup1ArtistGroupDataSet();
         Artist a1 = Cayenne.objectForPK(context, Artist.class, 33001);
@@ -223,6 +230,7 @@ public class CayenneDataObjectFlattenedRelIT extends ServerCase {
         }
     }
 
+    @Test
     public void testAddRemoveFlattenedRelationship1() throws Exception {
         create1Artist1ArtGroupDataSet();
 
@@ -246,6 +254,7 @@ public class CayenneDataObjectFlattenedRelIT extends ServerCase {
         });
     }
 
+    @Test
     public void testAddRemoveFlattenedRelationship2() throws Exception {
         create1Artist2ArtGroupDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
index c0e90c9..37c4927 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectIT.java
@@ -19,9 +19,6 @@
 
 package org.apache.cayenne;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
@@ -31,6 +28,10 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.unit.util.TstBean;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CayenneDataObjectIT extends ServerCase {
@@ -38,6 +39,7 @@ public class CayenneDataObjectIT extends ServerCase {
     @Inject
     private ObjectContext context;
 
+    @Test
     public void testSetObjectId() throws Exception {
         CayenneDataObject object = new CayenneDataObject();
         ObjectId oid = new ObjectId("T");
@@ -48,6 +50,7 @@ public class CayenneDataObjectIT extends ServerCase {
         assertSame(oid, object.getObjectId());
     }
 
+    @Test
     public void testSetPersistenceState() throws Exception {
         CayenneDataObject obj = new CayenneDataObject();
         assertEquals(PersistenceState.TRANSIENT, obj.getPersistenceState());
@@ -56,6 +59,7 @@ public class CayenneDataObjectIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, obj.getPersistenceState());
     }
 
+    @Test
     public void testReadNestedProperty1() throws Exception {
         Artist a = new Artist();
         assertNull(a.readNestedProperty("artistName"));
@@ -63,6 +67,7 @@ public class CayenneDataObjectIT extends ServerCase {
         assertEquals("aaa", a.readNestedProperty("artistName"));
     }
 
+    @Test
     public void testReadNestedPropertyNotPersistentString() throws Exception {
         Artist a = new Artist();
         assertNull(a.readNestedProperty("someOtherProperty"));
@@ -70,6 +75,7 @@ public class CayenneDataObjectIT extends ServerCase {
         assertEquals("aaa", a.readNestedProperty("someOtherProperty"));
     }
 
+    @Test
     public void testReadNestedPropertyNonPersistentNotString() throws Exception {
         Artist a = new Artist();
         Object object = new Object();
@@ -78,6 +84,7 @@ public class CayenneDataObjectIT extends ServerCase {
         assertSame(object, a.readNestedProperty("someOtherObjectProperty"));
     }
 
+    @Test
     public void testReadNestedPropertyNonDataObjectPath() {
         CayenneDataObject o1 = new CayenneDataObject();
         TstBean o2 = new TstBean();
@@ -90,6 +97,7 @@ public class CayenneDataObjectIT extends ServerCase {
         assertEquals(TstBean.class.getName(), o1.readNestedProperty("o2.class.name"));
     }
 
+    @Test
     public void testReadNestedPropertyToManyInMiddle() throws Exception {
 
         Artist a = context.newObject(Artist.class);
@@ -113,6 +121,7 @@ public class CayenneDataObjectIT extends ServerCase {
         assertEquals(names, names2);
     }
 
+    @Test
     public void testReadNestedPropertyToManyInMiddle1() throws Exception {
 
         Artist a = context.newObject(Artist.class);
@@ -136,6 +145,7 @@ public class CayenneDataObjectIT extends ServerCase {
         assertEquals(names, names2);
     }
 
+    @Test
     public void testFilterObjects() {
 
         List<Painting> paintingList = new ArrayList<Painting>();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
index aaa7c70..df37ac2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectInContextIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -58,6 +59,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
     }
 
+    @Test
     public void testDoubleRegistration() {
 
         DataObject object = new Artist();
@@ -85,6 +87,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCommitChangesInBatch() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -102,6 +105,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertEquals(3, artists.size());
     }
 
+    @Test
     public void testSetObjectId() {
 
         Artist o1 = new Artist();
@@ -111,6 +115,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertNotNull(o1.getObjectId());
     }
 
+    @Test
     public void testStateTransToNew() {
 
         Artist o1 = new Artist();
@@ -120,6 +125,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertEquals(PersistenceState.NEW, o1.getPersistenceState());
     }
 
+    @Test
     public void testStateNewToCommitted() {
 
         Artist o1 = new Artist();
@@ -132,6 +138,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
     }
 
+    @Test
     public void testStateCommittedToModified() {
 
         Artist o1 = new Artist();
@@ -144,6 +151,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertEquals(PersistenceState.MODIFIED, o1.getPersistenceState());
     }
 
+    @Test
     public void testStateModifiedToCommitted() {
 
         Artist o1 = context.newObject(Artist.class);
@@ -157,6 +165,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
     }
 
+    @Test
     public void testStateCommittedToDeleted() {
 
         Artist o1 = new Artist();
@@ -169,6 +178,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertEquals(PersistenceState.DELETED, o1.getPersistenceState());
     }
 
+    @Test
     public void testStateDeletedToTransient() {
 
         Artist o1 = context.newObject(Artist.class);
@@ -184,6 +194,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertNull(o1.getObjectContext());
     }
 
+    @Test
     public void testSetContext() {
 
         Artist o1 = new Artist();
@@ -193,6 +204,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertSame(context, o1.getObjectContext());
     }
 
+    @Test
     public void testFetchByAttribute() throws Exception {
 
         tArtist.insert(7, "m6");
@@ -208,6 +220,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertEquals("m6", o1.getArtistName());
     }
 
+    @Test
     public void testUniquing() throws Exception {
 
         tArtist.insert(7, "m6");
@@ -225,6 +238,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertSame(a1, a2);
     }
 
+    @Test
     public void testSnapshotVersion1() {
 
         Artist artist = context.newObject(Artist.class);
@@ -242,6 +256,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
         assertEquals(cachedSnapshot.getVersion(), artist.getSnapshotVersion());
     }
 
+    @Test
     public void testSnapshotVersion2() throws Exception {
 
         tArtist.insert(7, "m6");
@@ -258,6 +273,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
                 .getVersion(), artist.getSnapshotVersion());
     }
 
+    @Test
     public void testSnapshotVersion3() {
 
         Artist artist = context.newObject(Artist.class);
@@ -282,6 +298,7 @@ public class CayenneDataObjectInContextIT extends ServerCase {
      * setting replacement. This is demonstrated here -
      * http://objectstyle.org/cayenne/lists/cayenne-user/2005/01/0210.html
      */
+    @Test
     public void testObjectsCommittedManualOID() {
 
         Artist object = context.newObject(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
index cf66459..ff44ba7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectRelationshipsIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -82,6 +83,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         tPaintingInfo.insert(6, "mE");
     }
 
+    @Test
     public void testReadNestedProperty1() throws Exception {
         createArtistWithPaintingDataSet();
 
@@ -89,6 +91,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         assertEquals("aX", p1.readNestedProperty("toArtist.artistName"));
     }
 
+    @Test
     public void testReadNestedProperty2() throws Exception {
         createArtistWithPaintingDataSet();
 
@@ -96,6 +99,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         assertTrue(p1.getToArtist().readNestedProperty("paintingArray") instanceof List<?>);
     }
 
+    @Test
     public void testReciprocalRel1() throws Exception {
         createArtistWithPaintingDataSet();
 
@@ -111,6 +115,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         assertSame(p1, p2);
     }
 
+    @Test
     public void testReadToOneRel1() throws Exception {
         createArtistWithPaintingDataSet();
 
@@ -123,6 +128,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, a1.getPersistenceState());
     }
 
+    @Test
     public void testReadToOneRel2() throws Exception {
         // test chained calls to read relationships
         createArtistWithPaintingAndInfoDataSet();
@@ -139,6 +145,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         assertEquals(PersistenceState.COMMITTED, a1.getPersistenceState());
     }
 
+    @Test
     public void testReadToOneRel3() throws Exception {
         createArtistWithPaintingDataSet();
 
@@ -147,6 +154,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         assertNull(g1);
     }
 
+    @Test
     public void testReadToManyRel1() throws Exception {
         createArtistWithPaintingDataSet();
 
@@ -159,6 +167,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         assertEquals("pW", plist.get(0).getPaintingTitle());
     }
 
+    @Test
     public void testReadToManyRel2() throws Exception {
         // test empty relationship
         tArtist.insert(11, "aX");
@@ -170,6 +179,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         assertEquals(0, plist.size());
     }
 
+    @Test
     public void testReflexiveRelationshipInsertOrder1() {
 
         ArtGroup parentGroup = context.newObject(ArtGroup.class);
@@ -181,6 +191,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testReflexiveRelationshipInsertOrder2() {
 
         ArtGroup childGroup1 = context.newObject(ArtGroup.class);
@@ -194,6 +205,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testReflexiveRelationshipInsertOrder3() {
         // multiple children, one created before parent, one after
 
@@ -212,6 +224,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testReflexiveRelationshipInsertOrder4() {
         // multiple children, one created before parent, one after
 
@@ -230,6 +243,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testCrossContextRelationshipException() {
 
         // Create this object in one context...
@@ -261,6 +275,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         assertEquals(0, artist.getPaintingArray().size());
     }
 
+    @Test
     public void testComplexInsertUpdateOrdering() {
         Artist artist = context.newObject(Artist.class);
         artist.setArtistName("a name");
@@ -278,6 +293,7 @@ public class CayenneDataObjectRelationshipsIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testNewToMany() throws Exception {
         Artist artist = context.newObject(Artist.class);
         artist.setArtistName("test");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
index 7e07e8e..fda101f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneDataObjectValidationIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.validation.BeanValidationFailure;
 import org.apache.cayenne.validation.ValidationFailure;
 import org.apache.cayenne.validation.ValidationResult;
+import org.junit.Test;
 
 import java.util.Date;
 import java.util.List;
@@ -39,6 +40,7 @@ public class CayenneDataObjectValidationIT extends ServerCase {
     @Inject
     private ObjectContext context;
 
+    @Test
     public void testValidateForSaveMandatoryToOneMissing() throws Exception {
 
         Exhibit exhibit = context.newObject(Exhibit.class);
@@ -65,6 +67,7 @@ public class CayenneDataObjectValidationIT extends ServerCase {
         assertFalse("No failures expected: " + result, result.hasFailures());
     }
 
+    @Test
     public void testValidateForSaveMandatoryAttributeMissing() throws Exception {
 
         Artist artist = context.newObject(Artist.class);
@@ -88,6 +91,7 @@ public class CayenneDataObjectValidationIT extends ServerCase {
         assertFalse(result.hasFailures());
     }
 
+    @Test
     public void testValidateForSaveAttributeTooLong() throws Exception {
 
         Artist artist = context.newObject(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
index 7db6185..0ee8ac8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneIT.java
@@ -37,6 +37,7 @@ import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
 import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collection;
 import java.util.Collections;
@@ -99,6 +100,7 @@ public class CayenneIT extends ServerCase {
         tArtist.insert(33002, "artist2");
     }
 
+    @Test
     public void testReadNestedProperty_ToMany() throws Exception {
 
         tArtist.insert(1, "a");
@@ -118,6 +120,7 @@ public class CayenneIT extends ServerCase {
         assertEquals(2, size);
     }
 
+    @Test
     public void testScalarObjectForQuery() throws Exception {
         createTwoArtists();
 
@@ -143,6 +146,7 @@ public class CayenneIT extends ServerCase {
         assertEquals(2, ((Number) object).intValue());
     }
 
+    @Test
     public void testScalarObjectForQuery2() throws Exception {
         createTwoArtists();
 
@@ -155,13 +159,15 @@ public class CayenneIT extends ServerCase {
                 object instanceof Number);
         assertEquals(2, ((Number) object).intValue());
     }
-    
+
+    @Test
     public void testMakePath() {
         assertEquals("", Cayenne.makePath());
         assertEquals("a", Cayenne.makePath("a"));
         assertEquals("a.b", Cayenne.makePath("a", "b"));
     }
 
+    @Test
     public void testObjectForQuery() throws Exception {
         createOneArtist();
 
@@ -177,6 +183,7 @@ public class CayenneIT extends ServerCase {
         assertEquals("artist2", ((Artist) object).getArtistName());
     }
 
+    @Test
     public void testObjectForSelect() throws Exception {
         createOneArtist();
 
@@ -188,7 +195,8 @@ public class CayenneIT extends ServerCase {
         assertTrue(object instanceof Artist);
         assertEquals("artist2", ((Artist) object).getArtistName());
     }
-    
+
+    @Test
     public void testObjectForQueryNoObject() throws Exception {
 
         ObjectId id = new ObjectId("Artist", Artist.ARTIST_ID_PK_COLUMN, new Integer(
@@ -198,6 +206,7 @@ public class CayenneIT extends ServerCase {
         assertNull(object);
     }
 
+    @Test
     public void testNoObjectForPK() throws Exception {
         createOneArtist();
 
@@ -206,6 +215,7 @@ public class CayenneIT extends ServerCase {
         assertNull(object);
     }
 
+    @Test
     public void testObjectForPKTemporary() throws Exception {
 
         Persistent o1 = context.newObject(Artist.class);
@@ -218,6 +228,7 @@ public class CayenneIT extends ServerCase {
         })));
     }
 
+    @Test
     public void testObjectForPKObjectId() throws Exception {
         createOneArtist();
 
@@ -231,6 +242,7 @@ public class CayenneIT extends ServerCase {
         assertEquals("artist2", ((Artist) object).getArtistName());
     }
 
+    @Test
     public void testObjectForPKClassInt() throws Exception {
         createOneArtist();
 
@@ -241,6 +253,7 @@ public class CayenneIT extends ServerCase {
         assertEquals("artist2", ((Artist) object).getArtistName());
     }
 
+    @Test
     public void testObjectForPKEntityInt() throws Exception {
         createOneArtist();
 
@@ -251,6 +264,7 @@ public class CayenneIT extends ServerCase {
         assertEquals("artist2", ((Artist) object).getArtistName());
     }
 
+    @Test
     public void testObjectForPKClassMap() throws Exception {
         createOneArtist();
 
@@ -264,6 +278,7 @@ public class CayenneIT extends ServerCase {
         assertEquals("artist2", ((Artist) object).getArtistName());
     }
 
+    @Test
     public void testObjectForPKEntityMapCompound() throws Exception {
         createOneCompoundPK();
 
@@ -277,6 +292,7 @@ public class CayenneIT extends ServerCase {
         assertEquals("BBB", ((CompoundPkTestEntity) object).getName());
     }
 
+    @Test
     public void testCompoundPKForObject() throws Exception {
         createOneCompoundPK();
 
@@ -292,6 +308,7 @@ public class CayenneIT extends ServerCase {
         assertEquals("PK2", pk.get(CompoundPkTestEntity.KEY2_PK_COLUMN));
     }
 
+    @Test
     public void testIntPKForObjectFailureForCompound() throws Exception {
         createOneCompoundPK();
 
@@ -309,6 +326,7 @@ public class CayenneIT extends ServerCase {
         }
     }
 
+    @Test
     public void testIntPKForObjectFailureForNonNumeric() throws Exception {
         createOneCharPK();
 
@@ -325,6 +343,7 @@ public class CayenneIT extends ServerCase {
         }
     }
 
+    @Test
     public void testPKForObjectFailureForCompound() throws Exception {
         createOneCompoundPK();
 
@@ -342,6 +361,7 @@ public class CayenneIT extends ServerCase {
         }
     }
 
+    @Test
     public void testIntPKForObject() throws Exception {
         createOneArtist();
 
@@ -352,6 +372,7 @@ public class CayenneIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject(object));
     }
 
+    @Test
     public void testPKForObject() throws Exception {
         createOneArtist();
 
@@ -362,6 +383,7 @@ public class CayenneIT extends ServerCase {
         assertEquals(new Long(33002), Cayenne.pkForObject(object));
     }
 
+    @Test
     public void testIntPKForObjectNonNumeric() throws Exception {
         createOneCharPK();
 


[32/50] [abbrv] cayenne git commit: Refactor Relationships Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/auto/_ToOneFK1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/auto/_ToOneFK1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/auto/_ToOneFK1.java
new file mode 100644
index 0000000..32dfca7
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/auto/_ToOneFK1.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.relationships_to_one_fk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_to_one_fk.ToOneFK2;
+
+/**
+ * Class _ToOneFK1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ToOneFK1 extends CayenneDataObject {
+
+    public static final String TO_PK_PROPERTY = "toPK";
+
+    public static final String TO_ONEFK1_PK_PK_COLUMN = "TO_ONEFK1_PK";
+
+    public void setToPK(ToOneFK2 toPK) {
+        setToOneTarget(TO_PK_PROPERTY, toPK, true);
+    }
+
+    public ToOneFK2 getToPK() {
+        return (ToOneFK2)readProperty(TO_PK_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/auto/_ToOneFK2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/auto/_ToOneFK2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/auto/_ToOneFK2.java
new file mode 100644
index 0000000..15fcfdd
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/auto/_ToOneFK2.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.relationships_to_one_fk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_to_one_fk.ToOneFK1;
+
+/**
+ * Class _ToOneFK2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ToOneFK2 extends CayenneDataObject {
+
+    public static final String TO_ONE_TO_FK_PROPERTY = "toOneToFK";
+
+    public static final String TO_ONEFK2_PK_PK_COLUMN = "TO_ONEFK2_PK";
+
+    public void setToOneToFK(ToOneFK1 toOneToFK) {
+        setToOneTarget(TO_ONE_TO_FK_PROPERTY, toOneToFK, true);
+    }
+
+    public ToOneFK1 getToOneToFK() {
+        return (ToOneFK1)readProperty(TO_ONE_TO_FK_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
index 4677151..481b252 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
@@ -69,8 +69,10 @@ public class SchemaBuilder {
     public static final String SKIP_SCHEMA_KEY = "cayenne.test.schema.skip";
 
     private static String[] MAPS_REQUIRING_SCHEMA_SETUP = { "tstmap.map.xml", "people.map.xml", "inheritance.map.xml",
-            "locking.map.xml", "soft-delete.map.xml", "relationships.map.xml", "relationships1.map.xml", "multi-tier.map.xml",
-            "persistent.map.xml", "reflexive.map.xml", "delete-rules.map.xml", "lifecycles.map.xml",
+            "locking.map.xml", "soft-delete.map.xml", "relationships.map.xml", "relationships-activity.map.xml", "relationships-delete-rules.map.xml",
+            "relationships-collection-to-many.map.xml", "relationships-child-master.map.xml", "relationships-clob.map.xml",
+            "relationships-flattened.map.xml", "relationships-set-to-many.map.xml", "relationships-to-many-fk.map.xml", "relationships-to-one-fk.map.xml",
+            "multi-tier.map.xml", "persistent.map.xml", "reflexive.map.xml", "delete-rules.map.xml", "lifecycles.map.xml",
             "map-to-many.map.xml", "toone.map.xml", "meaningful-pk.map.xml", "table-primitives.map.xml",
             "generic.map.xml", "map-db1.map.xml", "map-db2.map.xml", "embeddable.map.xml", "qualified.map.xml",
             "quoted-identifiers.map.xml", "inheritance-single-table1.map.xml", "inheritance-vertical.map.xml",

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
index 4cd2e2e..b605e50 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
@@ -38,6 +38,15 @@ public class ServerCase extends DICase {
 	public static final String QUOTED_IDENTIFIERS_PROJECT = "cayenne-quoted-identifiers.xml";
 	public static final String PEOPLE_PROJECT = "cayenne-people.xml";
 	public static final String RELATIONSHIPS_PROJECT = "cayenne-relationships.xml";
+	public static final String RELATIONSHIPS_ACTIVITY_PROJECT = "cayenne-relationships-activity.xml";
+	public static final String RELATIONSHIPS_DELETE_RULES_PROJECT = "cayenne-relationships-delete-rules.xml";
+	public static final String RELATIONSHIPS_COLLECTION_TO_MANY_PROJECT = "cayenne-relationships-collection-to-many.xml";
+	public static final String RELATIONSHIPS_CHILD_MASTER_PROJECT = "cayenne-relationships-child-master.xml";
+	public static final String RELATIONSHIPS_CLOB_PROJECT = "cayenne-relationships-clob.xml";
+	public static final String RELATIONSHIPS_FLATTENED_PROJECT = "cayenne-relationships-flattened.xml";
+	public static final String RELATIONSHIPS_SET_TO_MANY_PROJECT = "cayenne-relationships-set-to-many.xml";
+	public static final String RELATIONSHIPS_TO_MANY_FK_PROJECT = "cayenne-relationships-to-many-fk.xml";
+	public static final String RELATIONSHIPS_TO_ONE_FK_PROJECT = "cayenne-relationships-to-one-fk.xml";
 	public static final String TESTMAP_PROJECT = "cayenne-testmap.xml";
 	public static final String DEFAULT_PROJECT = "cayenne-default.xml";
 	public static final String MULTINODE_PROJECT = "cayenne-multinode.xml";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
index 03f695f..f4d8b3f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.query.SortOrder;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.ClobMaster;
+import org.apache.cayenne.testdo.relationships_clob.ClobMaster;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertEquals;
 
 /**
  */
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_CLOB_PROJECT)
 public class CAY_115IT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
index 1c51d15..30d7d40 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
@@ -24,7 +24,7 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.FkOfDifferentType;
+import org.apache.cayenne.testdo.relationships.FkOfDifferentType;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
index caa711d..2fca6b9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.ReflexiveAndToOne;
+import org.apache.cayenne.testdo.relationships.ReflexiveAndToOne;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -59,7 +59,6 @@ public class CAY_194IT extends ServerCase {
         tReflexive.update().set("PARENT_ID", null, Types.INTEGER).execute();
 
         dbHelper.deleteAll("REFLEXIVE_AND_TO_ONE");
-        dbHelper.deleteAll("TO_ONEFK1");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships-activity.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-activity.xml b/cayenne-server/src/test/resources/cayenne-relationships-activity.xml
new file mode 100644
index 0000000..d796cfe
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-relationships-activity.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="relationships-activity"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships-child-master.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-child-master.xml b/cayenne-server/src/test/resources/cayenne-relationships-child-master.xml
new file mode 100644
index 0000000..bda49f7
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-relationships-child-master.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="relationships-child-master"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships-clob.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-clob.xml b/cayenne-server/src/test/resources/cayenne-relationships-clob.xml
new file mode 100644
index 0000000..a28c631
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-relationships-clob.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="relationships-clob"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships-collection-to-many.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-collection-to-many.xml b/cayenne-server/src/test/resources/cayenne-relationships-collection-to-many.xml
new file mode 100644
index 0000000..c8ca293
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-relationships-collection-to-many.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="relationships-collection-to-many"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships-delete-rules.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-delete-rules.xml b/cayenne-server/src/test/resources/cayenne-relationships-delete-rules.xml
new file mode 100644
index 0000000..7f170a6
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-relationships-delete-rules.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="relationships-delete-rules"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships-flattened.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-flattened.xml b/cayenne-server/src/test/resources/cayenne-relationships-flattened.xml
new file mode 100644
index 0000000..9452a56
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-relationships-flattened.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="relationships-flattened"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships-set-to-many.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-set-to-many.xml b/cayenne-server/src/test/resources/cayenne-relationships-set-to-many.xml
new file mode 100644
index 0000000..10881da
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-relationships-set-to-many.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="relationships-set-to-many"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships-to-many-fk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-to-many-fk.xml b/cayenne-server/src/test/resources/cayenne-relationships-to-many-fk.xml
new file mode 100644
index 0000000..94792c3
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-relationships-to-many-fk.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="relationships-to-many-fk"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships-to-one-fk.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships-to-one-fk.xml b/cayenne-server/src/test/resources/cayenne-relationships-to-one-fk.xml
new file mode 100644
index 0000000..46da7b9
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-relationships-to-one-fk.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="relationships-to-one-fk"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/cayenne-relationships.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-relationships.xml b/cayenne-server/src/test/resources/cayenne-relationships.xml
index 4b4752b..b7750ef 100644
--- a/cayenne-server/src/test/resources/cayenne-relationships.xml
+++ b/cayenne-server/src/test/resources/cayenne-relationships.xml
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <domain project-version="7">
 	<map name="relationships"/>
-	<map name="relationships1"/>
 </domain>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships-activity.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-activity.map.xml b/cayenne-server/src/test/resources/relationships-activity.map.xml
new file mode 100644
index 0000000..c85bc99
--- /dev/null
+++ b/cayenne-server/src/test/resources/relationships-activity.map.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+	 project-version="7">
+	<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_activity"/>
+	<db-entity name="ACTIVITY">
+		<db-attribute name="ACTIVITY_ID" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="50"/>
+		<db-attribute name="APPOINT_DATE" type="DATE" isMandatory="true"/>
+		<db-attribute name="APPOINT_NO" type="INTEGER" isMandatory="true"/>
+	</db-entity>
+	<db-entity name="RESULT">
+		<db-attribute name="APPOINT_DATE" type="DATE" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="APPOINT_NO" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+		<db-attribute name="RESULTNAME" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="50"/>
+	</db-entity>
+	<obj-entity name="Activity" className="org.apache.cayenne.testdo.relationships_activity.Activity" dbEntityName="ACTIVITY">
+		<obj-attribute name="appointmentDate" type="java.sql.Date" db-attribute-path="APPOINT_DATE"/>
+		<obj-attribute name="appointmentNo" type="int" db-attribute-path="APPOINT_NO"/>
+	</obj-entity>
+	<obj-entity name="ActivityResult" className="org.apache.cayenne.testdo.relationships_activity.ActivityResult" dbEntityName="RESULT">
+		<obj-attribute name="appointDate" type="java.sql.Date" db-attribute-path="APPOINT_DATE"/>
+		<obj-attribute name="appointNo" type="int" db-attribute-path="APPOINT_NO"/>
+		<obj-attribute name="field" type="java.lang.String" db-attribute-path="RESULTNAME"/>
+	</obj-entity>
+	<db-relationship name="ActivityResultsRel" source="ACTIVITY" target="RESULT" toMany="true">
+		<db-attribute-pair source="APPOINT_DATE" target="APPOINT_DATE"/>
+		<db-attribute-pair source="APPOINT_NO" target="APPOINT_NO"/>
+	</db-relationship>
+	<db-relationship name="ActivitiesRel" source="RESULT" target="ACTIVITY" toMany="true">
+		<db-attribute-pair source="APPOINT_DATE" target="APPOINT_DATE"/>
+		<db-attribute-pair source="APPOINT_NO" target="APPOINT_NO"/>
+	</db-relationship>
+	<obj-relationship name="results" source="Activity" target="ActivityResult" collection-type="java.util.Map" map-key="field" deleteRule="Deny" db-relationship-path="ActivityResultsRel"/>
+</data-map>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships-child-master.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-child-master.map.xml b/cayenne-server/src/test/resources/relationships-child-master.map.xml
new file mode 100644
index 0000000..bf5b391
--- /dev/null
+++ b/cayenne-server/src/test/resources/relationships-child-master.map.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_child_master"/>
+    <db-entity name="CHILD">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="MASTER_ID" type="INTEGER"/>
+    </db-entity>
+    <db-entity name="MASTER">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <obj-entity name="Child" className="org.apache.cayenne.testdo.relationships_child_master.Child" dbEntityName="CHILD">
+    </obj-entity>
+    <obj-entity name="Master" className="org.apache.cayenne.testdo.relationships_child_master.Master" dbEntityName="MASTER">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="master" source="CHILD" target="MASTER" toMany="false">
+        <db-attribute-pair source="MASTER_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="children" source="MASTER" target="CHILD" toMany="true">
+        <db-attribute-pair source="ID" target="MASTER_ID"/>
+    </db-relationship>
+    <obj-relationship name="master" source="Child" target="Master" deleteRule="Nullify" db-relationship-path="master"/>
+    <obj-relationship name="children" source="Master" target="Child" deleteRule="Deny" db-relationship-path="children"/>
+
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships-clob.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-clob.map.xml b/cayenne-server/src/test/resources/relationships-clob.map.xml
new file mode 100644
index 0000000..9912e4b
--- /dev/null
+++ b/cayenne-server/src/test/resources/relationships-clob.map.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.relationship_clob"/>
+    <db-entity name="CLOB_DETAIL">
+        <db-attribute name="CLOB_DETAIL_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="CLOB_MASTER_ID" type="INTEGER"/>
+        <db-attribute name="NAME" type="VARCHAR" length="254"/>
+    </db-entity>
+    <db-entity name="CLOB_MASTER">
+        <db-attribute name="CLOB_COLUMN" type="CLOB"/>
+        <db-attribute name="CLOB_MASTER_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="254"/>
+    </db-entity>
+    <obj-entity name="ClobDetail" className="org.apache.cayenne.testdo.relationships_clob.ClobDetail" dbEntityName="CLOB_DETAIL">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="ClobMaster" className="org.apache.cayenne.testdo.relationships_clob.ClobMaster" dbEntityName="CLOB_MASTER">
+        <obj-attribute name="clobColumn" type="java.lang.String" db-attribute-path="CLOB_COLUMN"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="master" source="CLOB_DETAIL" target="CLOB_MASTER" toMany="false">
+        <db-attribute-pair source="CLOB_MASTER_ID" target="CLOB_MASTER_ID"/>
+    </db-relationship>
+    <db-relationship name="details" source="CLOB_MASTER" target="CLOB_DETAIL" toMany="true">
+        <db-attribute-pair source="CLOB_MASTER_ID" target="CLOB_MASTER_ID"/>
+    </db-relationship>
+    <obj-relationship name="master" source="ClobDetail" target="ClobMaster" db-relationship-path="master"/>
+    <obj-relationship name="details" source="ClobMaster" target="ClobDetail" db-relationship-path="details"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships-collection-to-many.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-collection-to-many.map.xml b/cayenne-server/src/test/resources/relationships-collection-to-many.map.xml
new file mode 100644
index 0000000..de7ce49
--- /dev/null
+++ b/cayenne-server/src/test/resources/relationships-collection-to-many.map.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_collection_to_many"/>
+    <db-entity name="COLLECTION_TO_MANY">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="COLLECTION_TO_MANY_TARGET">
+        <db-attribute name="COLLECTION_TO_MANY_ID" type="INTEGER"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="CollectionToMany" className="org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToMany" dbEntityName="COLLECTION_TO_MANY">
+    </obj-entity>
+    <obj-entity name="CollectionToManyTarget" className="org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToManyTarget" dbEntityName="COLLECTION_TO_MANY_TARGET">
+    </obj-entity>
+    <db-relationship name="targets" source="COLLECTION_TO_MANY" target="COLLECTION_TO_MANY_TARGET" toMany="true">
+        <db-attribute-pair source="ID" target="COLLECTION_TO_MANY_ID"/>
+    </db-relationship>
+    <db-relationship name="collectionToMany" source="COLLECTION_TO_MANY_TARGET" target="COLLECTION_TO_MANY" toMany="false">
+        <db-attribute-pair source="COLLECTION_TO_MANY_ID" target="ID"/>
+    </db-relationship>
+    <obj-relationship name="targets" source="CollectionToMany" target="CollectionToManyTarget" collection-type="java.util.Collection" db-relationship-path="targets"/>
+    <obj-relationship name="collectionToMany" source="CollectionToManyTarget" target="CollectionToMany" db-relationship-path="collectionToMany"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships-delete-rules.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-delete-rules.map.xml b/cayenne-server/src/test/resources/relationships-delete-rules.map.xml
new file mode 100644
index 0000000..4110921
--- /dev/null
+++ b/cayenne-server/src/test/resources/relationships-delete-rules.map.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_delete_rules"/>
+    <db-entity name="DELETE_RULE_FLATA">
+        <db-attribute name="FLATA_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DELETE_RULE_FLATB">
+        <db-attribute name="FLATB_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DELETE_RULE_JOIN">
+        <db-attribute name="FLATA_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="FLATB_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DELETE_RULE_TEST1">
+        <db-attribute name="DEL_RULE_TEST1_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="TEST2_ID" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DELETE_RULE_TEST2">
+        <db-attribute name="DEL_RULE_TEST2_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DELETE_RULE_TEST3">
+        <db-attribute name="DELETE_RULE_TEST_3_FK" type="INTEGER"/>
+        <db-attribute name="DELETE_RULE_TEST_3_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="DeleteRuleFlatA" className="org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatA" dbEntityName="DELETE_RULE_FLATA">
+    </obj-entity>
+    <obj-entity name="DeleteRuleFlatB" className="org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatB" dbEntityName="DELETE_RULE_FLATB">
+    </obj-entity>
+    <obj-entity name="DeleteRuleTest1" className="org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest1" dbEntityName="DELETE_RULE_TEST1">
+    </obj-entity>
+    <obj-entity name="DeleteRuleTest2" className="org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest2" dbEntityName="DELETE_RULE_TEST2">
+    </obj-entity>
+    <obj-entity name="DeleteRuleTest3" className="org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest3" dbEntityName="DELETE_RULE_TEST3">
+    </obj-entity>
+    <db-relationship name="joins" source="DELETE_RULE_FLATA" target="DELETE_RULE_JOIN" toDependentPK="true" toMany="true">
+        <db-attribute-pair source="FLATA_ID" target="FLATA_ID"/>
+    </db-relationship>
+    <db-relationship name="joins" source="DELETE_RULE_FLATB" target="DELETE_RULE_JOIN" toDependentPK="true" toMany="true">
+        <db-attribute-pair source="FLATB_ID" target="FLATB_ID"/>
+    </db-relationship>
+    <db-relationship name="toFlatA" source="DELETE_RULE_JOIN" target="DELETE_RULE_FLATA" toMany="false">
+        <db-attribute-pair source="FLATA_ID" target="FLATA_ID"/>
+    </db-relationship>
+    <db-relationship name="toFlatB" source="DELETE_RULE_JOIN" target="DELETE_RULE_FLATB" toMany="false">
+        <db-attribute-pair source="FLATB_ID" target="FLATB_ID"/>
+    </db-relationship>
+    <db-relationship name="deleteRuleTest3Array" source="DELETE_RULE_TEST1" target="DELETE_RULE_TEST3" toMany="true">
+        <db-attribute-pair source="DEL_RULE_TEST1_ID" target="DELETE_RULE_TEST_3_FK"/>
+    </db-relationship>
+    <db-relationship name="test2" source="DELETE_RULE_TEST1" target="DELETE_RULE_TEST2" toMany="false">
+        <db-attribute-pair source="TEST2_ID" target="DEL_RULE_TEST2_ID"/>
+    </db-relationship>
+    <db-relationship name="deleteRuleTest3Array" source="DELETE_RULE_TEST2" target="DELETE_RULE_TEST3" toMany="true">
+        <db-attribute-pair source="DEL_RULE_TEST2_ID" target="DELETE_RULE_TEST_3_FK"/>
+    </db-relationship>
+    <db-relationship name="test1Array" source="DELETE_RULE_TEST2" target="DELETE_RULE_TEST1" toMany="true">
+        <db-attribute-pair source="DEL_RULE_TEST2_ID" target="TEST2_ID"/>
+    </db-relationship>
+    <db-relationship name="toDeleteRuleTest2" source="DELETE_RULE_TEST3" target="DELETE_RULE_TEST2" toMany="false">
+        <db-attribute-pair source="DELETE_RULE_TEST_3_FK" target="DEL_RULE_TEST2_ID"/>
+    </db-relationship>
+    <obj-relationship name="flatB" source="DeleteRuleFlatA" target="DeleteRuleFlatB" db-relationship-path="joins.toFlatB"/>
+    <obj-relationship name="untitledRel" source="DeleteRuleFlatB" target="DeleteRuleFlatA" db-relationship-path="joins.toFlatA"/>
+    <obj-relationship name="test2" source="DeleteRuleTest1" target="DeleteRuleTest2" deleteRule="Deny" db-relationship-path="test2"/>
+    <obj-relationship name="deleteRuleTest3Array" source="DeleteRuleTest2" target="DeleteRuleTest3" db-relationship-path="deleteRuleTest3Array"/>
+    <obj-relationship name="test1Array" source="DeleteRuleTest2" target="DeleteRuleTest1" deleteRule="Nullify" db-relationship-path="test1Array"/>
+    <obj-relationship name="toDeleteRuleTest2" source="DeleteRuleTest3" target="DeleteRuleTest2" db-relationship-path="toDeleteRuleTest2"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships-flattened.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-flattened.map.xml b/cayenne-server/src/test/resources/relationships-flattened.map.xml
new file mode 100644
index 0000000..c032f55
--- /dev/null
+++ b/cayenne-server/src/test/resources/relationships-flattened.map.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.relationship_flattened"/>
+    <db-entity name="COMPLEX_JOIN">
+        <db-attribute name="EXTRA_COLUMN" type="VARCHAR" length="50"/>
+        <db-attribute name="FT1_FK" type="INTEGER"/>
+        <db-attribute name="FT3_FK" type="INTEGER"/>
+        <db-attribute name="PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="FLATTENED_CIRCULAR">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="FLATTENED_CIRCULAR_JOIN">
+        <db-attribute name="SIDE1_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="SIDE2_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="FLATTENED_TEST_1">
+        <db-attribute name="FT1_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+    </db-entity>
+    <db-entity name="FLATTENED_TEST_2">
+        <db-attribute name="FT1_ID" type="INTEGER"/>
+        <db-attribute name="FT2_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+    </db-entity>
+    <db-entity name="FLATTENED_TEST_3">
+        <db-attribute name="FT2_ID" type="INTEGER"/>
+        <db-attribute name="FT3_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+    </db-entity>
+    <db-entity name="FLATTENED_TEST_4">
+        <db-attribute name="FT3_ID" type="INTEGER"/>
+        <db-attribute name="FT4_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
+    </db-entity>
+    <obj-entity name="FlattenedCircular" className="org.apache.cayenne.testdo.relationships_flattened.FlattenedCircular" dbEntityName="FLATTENED_CIRCULAR">
+    </obj-entity>
+    <obj-entity name="FlattenedTest1" className="org.apache.cayenne.testdo.relationships_flattened.FlattenedTest1" dbEntityName="FLATTENED_TEST_1">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="FlattenedTest2" className="org.apache.cayenne.testdo.relationships_flattened.FlattenedTest2" dbEntityName="FLATTENED_TEST_2">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="FlattenedTest3" className="org.apache.cayenne.testdo.relationships_flattened.FlattenedTest3" dbEntityName="FLATTENED_TEST_3">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="FlattenedTest4" className="org.apache.cayenne.testdo.relationships_flattened.FlattenedTest4" dbEntityName="FLATTENED_TEST_4">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="toFT1" source="COMPLEX_JOIN" target="FLATTENED_TEST_1" toMany="false">
+        <db-attribute-pair source="FT1_FK" target="FT1_ID"/>
+    </db-relationship>
+    <db-relationship name="toFT3" source="COMPLEX_JOIN" target="FLATTENED_TEST_3" toMany="false">
+        <db-attribute-pair source="FT3_FK" target="FT3_ID"/>
+    </db-relationship>
+    <db-relationship name="side1s" source="FLATTENED_CIRCULAR" target="FLATTENED_CIRCULAR_JOIN" toDependentPK="true" toMany="true">
+        <db-attribute-pair source="ID" target="SIDE2_ID"/>
+    </db-relationship>
+    <db-relationship name="side2s" source="FLATTENED_CIRCULAR" target="FLATTENED_CIRCULAR_JOIN" toDependentPK="true" toMany="true">
+        <db-attribute-pair source="ID" target="SIDE1_ID"/>
+    </db-relationship>
+    <db-relationship name="side1" source="FLATTENED_CIRCULAR_JOIN" target="FLATTENED_CIRCULAR" toMany="false">
+        <db-attribute-pair source="SIDE1_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="side2" source="FLATTENED_CIRCULAR_JOIN" target="FLATTENED_CIRCULAR" toMany="false">
+        <db-attribute-pair source="SIDE2_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="complexJoins" source="FLATTENED_TEST_1" target="COMPLEX_JOIN" toMany="true">
+        <db-attribute-pair source="FT1_ID" target="FT1_FK"/>
+    </db-relationship>
+    <db-relationship name="ft2Array" source="FLATTENED_TEST_1" target="FLATTENED_TEST_2" toMany="true">
+        <db-attribute-pair source="FT1_ID" target="FT1_ID"/>
+    </db-relationship>
+    <db-relationship name="ft3Array" source="FLATTENED_TEST_2" target="FLATTENED_TEST_3" toMany="true">
+        <db-attribute-pair source="FT2_ID" target="FT2_ID"/>
+    </db-relationship>
+    <db-relationship name="toFT1" source="FLATTENED_TEST_2" target="FLATTENED_TEST_1" toMany="false">
+        <db-attribute-pair source="FT1_ID" target="FT1_ID"/>
+    </db-relationship>
+    <db-relationship name="complexJoins" source="FLATTENED_TEST_3" target="COMPLEX_JOIN" toMany="true">
+        <db-attribute-pair source="FT3_ID" target="FT3_FK"/>
+    </db-relationship>
+    <db-relationship name="ft4Array" source="FLATTENED_TEST_3" target="FLATTENED_TEST_4" toMany="true">
+        <db-attribute-pair source="FT3_ID" target="FT3_ID"/>
+    </db-relationship>
+    <db-relationship name="toFT2" source="FLATTENED_TEST_3" target="FLATTENED_TEST_2" toMany="false">
+        <db-attribute-pair source="FT2_ID" target="FT2_ID"/>
+    </db-relationship>
+    <db-relationship name="toFT3" source="FLATTENED_TEST_4" target="FLATTENED_TEST_3" toMany="false">
+        <db-attribute-pair source="FT3_ID" target="FT3_ID"/>
+    </db-relationship>
+    <obj-relationship name="side1s" source="FlattenedCircular" target="FlattenedCircular" db-relationship-path="side1s.side1"/>
+    <obj-relationship name="side2s" source="FlattenedCircular" target="FlattenedCircular" db-relationship-path="side2s.side2"/>
+    <obj-relationship name="ft2Array" source="FlattenedTest1" target="FlattenedTest2" db-relationship-path="ft2Array"/>
+    <obj-relationship name="ft3Array" source="FlattenedTest1" target="FlattenedTest3" db-relationship-path="ft2Array.ft3Array"/>
+    <obj-relationship name="ft3OverComplex" source="FlattenedTest1" target="FlattenedTest3" db-relationship-path="complexJoins.toFT3"/>
+    <obj-relationship name="ft4ArrayFor1" source="FlattenedTest1" target="FlattenedTest4" db-relationship-path="ft2Array.ft3Array.ft4Array"/>
+    <obj-relationship name="ft3Array" source="FlattenedTest2" target="FlattenedTest3" db-relationship-path="ft3Array"/>
+    <obj-relationship name="toFT1" source="FlattenedTest2" target="FlattenedTest1" db-relationship-path="toFT1"/>
+    <obj-relationship name="ft4Array" source="FlattenedTest3" target="FlattenedTest4" db-relationship-path="ft4Array"/>
+    <obj-relationship name="toFT1" source="FlattenedTest3" target="FlattenedTest1" db-relationship-path="toFT2.toFT1"/>
+    <obj-relationship name="toFT2" source="FlattenedTest3" target="FlattenedTest2" db-relationship-path="toFT2"/>
+    <obj-relationship name="toFT3" source="FlattenedTest4" target="FlattenedTest3" db-relationship-path="toFT3"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships-set-to-many.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-set-to-many.map.xml b/cayenne-server/src/test/resources/relationships-set-to-many.map.xml
new file mode 100644
index 0000000..6e1de37
--- /dev/null
+++ b/cayenne-server/src/test/resources/relationships-set-to-many.map.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_set_to_many"/>
+    <db-entity name="SET_TO_MANY">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="SET_TO_MANY_TARGET">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="SET_TO_MANY_ID" type="INTEGER"/>
+    </db-entity>
+    <obj-entity name="SetToMany" className="org.apache.cayenne.testdo.relationships_set_to_many.SetToMany" dbEntityName="SET_TO_MANY">
+    </obj-entity>
+    <obj-entity name="SetToManyTarget" className="org.apache.cayenne.testdo.relationships_set_to_many.SetToManyTarget" dbEntityName="SET_TO_MANY_TARGET">
+    </obj-entity>
+    <db-relationship name="targets" source="SET_TO_MANY" target="SET_TO_MANY_TARGET" toMany="true">
+        <db-attribute-pair source="ID" target="SET_TO_MANY_ID"/>
+    </db-relationship>
+    <db-relationship name="setToMany" source="SET_TO_MANY_TARGET" target="SET_TO_MANY" toMany="false">
+        <db-attribute-pair source="SET_TO_MANY_ID" target="ID"/>
+    </db-relationship>
+    <obj-relationship name="targets" source="SetToMany" target="SetToManyTarget" collection-type="java.util.Set" db-relationship-path="targets"/>
+    <obj-relationship name="setToMany" source="SetToManyTarget" target="SetToMany" db-relationship-path="setToMany"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships-to-many-fk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-to-many-fk.map.xml b/cayenne-server/src/test/resources/relationships-to-many-fk.map.xml
new file mode 100644
index 0000000..0a6d575
--- /dev/null
+++ b/cayenne-server/src/test/resources/relationships-to-many-fk.map.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_to_many_fk"/>
+    <db-entity name="TO_MANY_FKDEP">
+        <db-attribute name="DEP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="200"/>
+        <db-attribute name="OTHER_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="TO_MANY_FKROOT">
+        <db-attribute name="FK_ID" type="INTEGER"/>
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <db-entity name="TO_MANY_ROOT2">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="NAME" type="VARCHAR" length="100"/>
+    </db-entity>
+    <obj-entity name="ToManyFkDep" className="org.apache.cayenne.testdo.relationships_to_many_fk.ToManyFkDep" dbEntityName="TO_MANY_FKDEP">
+        <obj-attribute name="depId" type="java.lang.Integer" db-attribute-path="DEP_ID"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="ToManyFkRoot" className="org.apache.cayenne.testdo.relationships_to_many_fk.ToManyFkRoot" dbEntityName="TO_MANY_FKROOT">
+        <obj-attribute name="depId" type="java.lang.Integer" db-attribute-path="FK_ID"/>
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <obj-entity name="ToManyRoot2" className="org.apache.cayenne.testdo.relationships_to_many_fk.ToManyRoot2" dbEntityName="TO_MANY_ROOT2">
+        <obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+    </obj-entity>
+    <db-relationship name="root" source="TO_MANY_FKDEP" target="TO_MANY_FKROOT" toMany="false">
+        <db-attribute-pair source="DEP_ID" target="FK_ID"/>
+    </db-relationship>
+    <db-relationship name="root2" source="TO_MANY_FKDEP" target="TO_MANY_ROOT2" toMany="false">
+        <db-attribute-pair source="OTHER_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="deps" source="TO_MANY_FKROOT" target="TO_MANY_FKDEP" toMany="true">
+        <db-attribute-pair source="FK_ID" target="DEP_ID"/>
+    </db-relationship>
+    <db-relationship name="deps" source="TO_MANY_ROOT2" target="TO_MANY_FKDEP" toDependentPK="true" toMany="true">
+        <db-attribute-pair source="ID" target="OTHER_ID"/>
+    </db-relationship>
+    <obj-relationship name="root" source="ToManyFkDep" target="ToManyFkRoot" db-relationship-path="root"/>
+    <obj-relationship name="root2" source="ToManyFkDep" target="ToManyRoot2" db-relationship-path="root2"/>
+    <obj-relationship name="deps" source="ToManyFkRoot" target="ToManyFkDep" db-relationship-path="deps"/>
+    <obj-relationship name="deps" source="ToManyRoot2" target="ToManyFkDep" db-relationship-path="deps"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships-to-one-fk.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships-to-one-fk.map.xml b/cayenne-server/src/test/resources/relationships-to-one-fk.map.xml
new file mode 100644
index 0000000..70393ea
--- /dev/null
+++ b/cayenne-server/src/test/resources/relationships-to-one-fk.map.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.relationships_to_one_fk"/>
+    <db-entity name="TO_ONE_FK1">
+        <db-attribute name="TO_ONE_FK1_FK" type="INTEGER" isMandatory="true"/>
+        <db-attribute name="TO_ONE_FK1_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="TO_ONE_FK2">
+        <db-attribute name="TO_ONE_FK2_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="ToOneFK1" className="org.apache.cayenne.testdo.relationships_to_one_fk.ToOneFK1" dbEntityName="TO_ONE_FK1">
+    </obj-entity>
+    <obj-entity name="ToOneFK2" className="org.apache.cayenne.testdo.relationships_to_one_fk.ToOneFK2" dbEntityName="TO_ONE_FK2">
+    </obj-entity>
+    <db-relationship name="toPK" source="TO_ONE_FK1" target="TO_ONE_FK2" toMany="false">
+        <db-attribute-pair source="TO_ONE_FK1_FK" target="TO_ONE_FK2_PK"/>
+    </db-relationship>
+    <db-relationship name="toOneToFK" source="TO_ONE_FK2" target="TO_ONE_FK1" toMany="false">
+        <db-attribute-pair source="TO_ONE_FK2_PK" target="TO_ONE_FK1_FK"/>
+    </db-relationship>
+    <obj-relationship name="toPK" source="ToOneFK1" target="ToOneFK2" db-relationship-path="toPK"/>
+    <obj-relationship name="toOneToFK" source="ToOneFK2" target="ToOneFK1" db-relationship-path="toOneToFK"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships.map.xml b/cayenne-server/src/test/resources/relationships.map.xml
index 85ce607..ec20cc7 100644
--- a/cayenne-server/src/test/resources/relationships.map.xml
+++ b/cayenne-server/src/test/resources/relationships.map.xml
@@ -3,89 +3,11 @@
 	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
 	 project-version="7">
-	<property name="defaultPackage" value="org.apache.cayenne.testdo.relationship"/>
-	<db-entity name="CHILD">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="MASTER_ID" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="CLOB_DETAIL">
-		<db-attribute name="CLOB_DETAIL_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="CLOB_MASTER_ID" type="INTEGER"/>
-		<db-attribute name="NAME" type="VARCHAR" length="254"/>
-	</db-entity>
-	<db-entity name="CLOB_MASTER">
-		<db-attribute name="CLOB_COLUMN" type="CLOB"/>
-		<db-attribute name="CLOB_MASTER_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="254"/>
-	</db-entity>
-	<db-entity name="COLLECTION_TO_MANY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="COLLECTION_TO_MANY_TARGET">
-		<db-attribute name="COLLECTION_TO_MANY_ID" type="INTEGER"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="COMPLEX_JOIN">
-		<db-attribute name="EXTRA_COLUMN" type="VARCHAR" length="50"/>
-		<db-attribute name="FT1_FK" type="INTEGER"/>
-		<db-attribute name="FT3_FK" type="INTEGER"/>
-		<db-attribute name="PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="DELETE_RULE_FLATA">
-		<db-attribute name="FLATA_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="DELETE_RULE_FLATB">
-		<db-attribute name="FLATB_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="DELETE_RULE_JOIN">
-		<db-attribute name="FLATA_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="FLATB_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="DELETE_RULE_TEST1">
-		<db-attribute name="DEL_RULE_TEST1_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="TEST2_ID" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="DELETE_RULE_TEST2">
-		<db-attribute name="DEL_RULE_TEST2_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="DELETE_RULE_TEST3">
-		<db-attribute name="DELETE_RULE_TEST_3_FK" type="INTEGER"/>
-		<db-attribute name="DELETE_RULE_TEST_3_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
+	<property name="defaultPackage" value="org.apache.cayenne.testdo.relationships"/>
 	<db-entity name="FK_OF_DIFFERENT_TYPE">
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="RELATIONSHIP_HELPER_FK" type="SMALLINT"/>
 	</db-entity>
-	<db-entity name="FLATTENED_CIRCULAR">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="FLATTENED_CIRCULAR_JOIN">
-		<db-attribute name="SIDE1_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="SIDE2_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="FLATTENED_TEST_1">
-		<db-attribute name="FT1_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="FLATTENED_TEST_2">
-		<db-attribute name="FT1_ID" type="INTEGER"/>
-		<db-attribute name="FT2_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="FLATTENED_TEST_3">
-		<db-attribute name="FT2_ID" type="INTEGER"/>
-		<db-attribute name="FT3_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="FLATTENED_TEST_4">
-		<db-attribute name="FT3_ID" type="INTEGER"/>
-		<db-attribute name="FT4_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
-	</db-entity>
-	<db-entity name="MASTER">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
 	<db-entity name="MEANINGFUL_FK">
 		<db-attribute name="MEANIGNFUL_FK_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="RELATIONSHIP_HELPER_ID" type="INTEGER" isMandatory="true"/>
@@ -100,194 +22,20 @@
 		<db-attribute name="NAME" type="VARCHAR" length="100"/>
 		<db-attribute name="RELATIONSHIP_HELPER_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 	</db-entity>
-	<db-entity name="SET_TO_MANY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="SET_TO_MANY_TARGET">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="SET_TO_MANY_ID" type="INTEGER"/>
-	</db-entity>
-	<db-entity name="TO_MANY_FKDEP">
-		<db-attribute name="DEP_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="200"/>
-		<db-attribute name="OTHER_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="TO_MANY_FKROOT">
-		<db-attribute name="FK_ID" type="INTEGER"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="TO_MANY_ROOT2">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="NAME" type="VARCHAR" length="100"/>
-	</db-entity>
-	<db-entity name="TO_ONEFK1">
-		<db-attribute name="TO_ONEFK1_FK" type="INTEGER" isMandatory="true"/>
-		<db-attribute name="TO_ONEFK1_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="TO_ONEFK2">
-		<db-attribute name="TO_ONEFK2_PK" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<obj-entity name="Child" className="org.apache.cayenne.testdo.relationship.Child" dbEntityName="CHILD">
-	</obj-entity>
-	<obj-entity name="ClobDetail" className="org.apache.cayenne.testdo.relationship.ClobDetail" dbEntityName="CLOB_DETAIL">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="ClobMaster" className="org.apache.cayenne.testdo.relationship.ClobMaster" dbEntityName="CLOB_MASTER">
-		<obj-attribute name="clobColumn" type="java.lang.String" db-attribute-path="CLOB_COLUMN"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="CollectionToMany" className="org.apache.cayenne.testdo.relationship.CollectionToMany" dbEntityName="COLLECTION_TO_MANY">
-	</obj-entity>
-	<obj-entity name="CollectionToManyTarget" className="org.apache.cayenne.testdo.relationship.CollectionToManyTarget" dbEntityName="COLLECTION_TO_MANY_TARGET">
-	</obj-entity>
-	<obj-entity name="DeleteRuleFlatA" className="org.apache.cayenne.testdo.relationship.DeleteRuleFlatA" dbEntityName="DELETE_RULE_FLATA">
-	</obj-entity>
-	<obj-entity name="DeleteRuleFlatB" className="org.apache.cayenne.testdo.relationship.DeleteRuleFlatB" dbEntityName="DELETE_RULE_FLATB">
-	</obj-entity>
-	<obj-entity name="DeleteRuleTest1" className="org.apache.cayenne.testdo.relationship.DeleteRuleTest1" dbEntityName="DELETE_RULE_TEST1">
-	</obj-entity>
-	<obj-entity name="DeleteRuleTest2" className="org.apache.cayenne.testdo.relationship.DeleteRuleTest2" dbEntityName="DELETE_RULE_TEST2">
-	</obj-entity>
-	<obj-entity name="DeleteRuleTest3" className="org.apache.cayenne.testdo.relationship.DeleteRuleTest3" dbEntityName="DELETE_RULE_TEST3">
-	</obj-entity>
-	<obj-entity name="FkOfDifferentType" className="org.apache.cayenne.testdo.relationship.FkOfDifferentType" dbEntityName="FK_OF_DIFFERENT_TYPE">
-	</obj-entity>
-	<obj-entity name="FlattenedCircular" className="org.apache.cayenne.testdo.relationship.FlattenedCircular" dbEntityName="FLATTENED_CIRCULAR">
-	</obj-entity>
-	<obj-entity name="FlattenedTest1" className="org.apache.cayenne.testdo.relationship.FlattenedTest1" dbEntityName="FLATTENED_TEST_1">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="FlattenedTest2" className="org.apache.cayenne.testdo.relationship.FlattenedTest2" dbEntityName="FLATTENED_TEST_2">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="FlattenedTest3" className="org.apache.cayenne.testdo.relationship.FlattenedTest3" dbEntityName="FLATTENED_TEST_3">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="FlattenedTest4" className="org.apache.cayenne.testdo.relationship.FlattenedTest4" dbEntityName="FLATTENED_TEST_4">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="Master" className="org.apache.cayenne.testdo.relationship.Master" dbEntityName="MASTER">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
+	<obj-entity name="FkOfDifferentType" className="org.apache.cayenne.testdo.relationships.FkOfDifferentType" dbEntityName="FK_OF_DIFFERENT_TYPE">
 	</obj-entity>
-	<obj-entity name="MeaningfulFK" className="org.apache.cayenne.testdo.relationship.MeaningfulFK" dbEntityName="MEANINGFUL_FK">
+	<obj-entity name="MeaningfulFK" className="org.apache.cayenne.testdo.relationships.MeaningfulFK" dbEntityName="MEANINGFUL_FK">
 		<obj-attribute name="relationshipHelperID" type="java.lang.Integer" db-attribute-path="RELATIONSHIP_HELPER_ID"/>
 	</obj-entity>
-	<obj-entity name="ReflexiveAndToOne" className="org.apache.cayenne.testdo.relationship.ReflexiveAndToOne" dbEntityName="REFLEXIVE_AND_TO_ONE">
+	<obj-entity name="ReflexiveAndToOne" className="org.apache.cayenne.testdo.relationships.ReflexiveAndToOne" dbEntityName="REFLEXIVE_AND_TO_ONE">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="RelationshipHelper" className="org.apache.cayenne.testdo.relationship.RelationshipHelper" dbEntityName="RELATIONSHIP_HELPER">
+	<obj-entity name="RelationshipHelper" className="org.apache.cayenne.testdo.relationships.RelationshipHelper" dbEntityName="RELATIONSHIP_HELPER">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="SetToMany" className="org.apache.cayenne.testdo.relationship.SetToMany" dbEntityName="SET_TO_MANY">
-	</obj-entity>
-	<obj-entity name="SetToManyTarget" className="org.apache.cayenne.testdo.relationship.SetToManyTarget" dbEntityName="SET_TO_MANY_TARGET">
-	</obj-entity>
-	<obj-entity name="ToManyFkDep" className="org.apache.cayenne.testdo.relationship.ToManyFkDep" dbEntityName="TO_MANY_FKDEP">
-		<obj-attribute name="depId" type="java.lang.Integer" db-attribute-path="DEP_ID"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="ToManyFkRoot" className="org.apache.cayenne.testdo.relationship.ToManyFkRoot" dbEntityName="TO_MANY_FKROOT">
-		<obj-attribute name="depId" type="java.lang.Integer" db-attribute-path="FK_ID"/>
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="ToManyRoot2" className="org.apache.cayenne.testdo.relationship.ToManyRoot2" dbEntityName="TO_MANY_ROOT2">
-		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
-	</obj-entity>
-	<obj-entity name="ToOneFK1" className="org.apache.cayenne.testdo.relationship.ToOneFK1" dbEntityName="TO_ONEFK1">
-	</obj-entity>
-	<obj-entity name="ToOneFK2" className="org.apache.cayenne.testdo.relationship.ToOneFK2" dbEntityName="TO_ONEFK2">
-	</obj-entity>
-	<db-relationship name="master" source="CHILD" target="MASTER" toMany="false">
-		<db-attribute-pair source="MASTER_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="master" source="CLOB_DETAIL" target="CLOB_MASTER" toMany="false">
-		<db-attribute-pair source="CLOB_MASTER_ID" target="CLOB_MASTER_ID"/>
-	</db-relationship>
-	<db-relationship name="details" source="CLOB_MASTER" target="CLOB_DETAIL" toMany="true">
-		<db-attribute-pair source="CLOB_MASTER_ID" target="CLOB_MASTER_ID"/>
-	</db-relationship>
-	<db-relationship name="targets" source="COLLECTION_TO_MANY" target="COLLECTION_TO_MANY_TARGET" toMany="true">
-		<db-attribute-pair source="ID" target="COLLECTION_TO_MANY_ID"/>
-	</db-relationship>
-	<db-relationship name="collectionToMany" source="COLLECTION_TO_MANY_TARGET" target="COLLECTION_TO_MANY" toMany="false">
-		<db-attribute-pair source="COLLECTION_TO_MANY_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="toFT1" source="COMPLEX_JOIN" target="FLATTENED_TEST_1" toMany="false">
-		<db-attribute-pair source="FT1_FK" target="FT1_ID"/>
-	</db-relationship>
-	<db-relationship name="toFT3" source="COMPLEX_JOIN" target="FLATTENED_TEST_3" toMany="false">
-		<db-attribute-pair source="FT3_FK" target="FT3_ID"/>
-	</db-relationship>
-	<db-relationship name="joins" source="DELETE_RULE_FLATA" target="DELETE_RULE_JOIN" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="FLATA_ID" target="FLATA_ID"/>
-	</db-relationship>
-	<db-relationship name="joins" source="DELETE_RULE_FLATB" target="DELETE_RULE_JOIN" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="FLATB_ID" target="FLATB_ID"/>
-	</db-relationship>
-	<db-relationship name="toFlatA" source="DELETE_RULE_JOIN" target="DELETE_RULE_FLATA" toMany="false">
-		<db-attribute-pair source="FLATA_ID" target="FLATA_ID"/>
-	</db-relationship>
-	<db-relationship name="toFlatB" source="DELETE_RULE_JOIN" target="DELETE_RULE_FLATB" toMany="false">
-		<db-attribute-pair source="FLATB_ID" target="FLATB_ID"/>
-	</db-relationship>
-	<db-relationship name="deleteRuleTest3Array" source="DELETE_RULE_TEST1" target="DELETE_RULE_TEST3" toMany="true">
-		<db-attribute-pair source="DEL_RULE_TEST1_ID" target="DELETE_RULE_TEST_3_FK"/>
-	</db-relationship>
-	<db-relationship name="test2" source="DELETE_RULE_TEST1" target="DELETE_RULE_TEST2" toMany="false">
-		<db-attribute-pair source="TEST2_ID" target="DEL_RULE_TEST2_ID"/>
-	</db-relationship>
-	<db-relationship name="deleteRuleTest3Array" source="DELETE_RULE_TEST2" target="DELETE_RULE_TEST3" toMany="true">
-		<db-attribute-pair source="DEL_RULE_TEST2_ID" target="DELETE_RULE_TEST_3_FK"/>
-	</db-relationship>
-	<db-relationship name="test1Array" source="DELETE_RULE_TEST2" target="DELETE_RULE_TEST1" toMany="true">
-		<db-attribute-pair source="DEL_RULE_TEST2_ID" target="TEST2_ID"/>
-	</db-relationship>
-	<db-relationship name="toDeleteRuleTest2" source="DELETE_RULE_TEST3" target="DELETE_RULE_TEST2" toMany="false">
-		<db-attribute-pair source="DELETE_RULE_TEST_3_FK" target="DEL_RULE_TEST2_ID"/>
-	</db-relationship>
 	<db-relationship name="relationshipHelper" source="FK_OF_DIFFERENT_TYPE" target="RELATIONSHIP_HELPER" toMany="false">
 		<db-attribute-pair source="RELATIONSHIP_HELPER_FK" target="RELATIONSHIP_HELPER_ID"/>
 	</db-relationship>
-	<db-relationship name="side1s" source="FLATTENED_CIRCULAR" target="FLATTENED_CIRCULAR_JOIN" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="ID" target="SIDE2_ID"/>
-	</db-relationship>
-	<db-relationship name="side2s" source="FLATTENED_CIRCULAR" target="FLATTENED_CIRCULAR_JOIN" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="ID" target="SIDE1_ID"/>
-	</db-relationship>
-	<db-relationship name="side1" source="FLATTENED_CIRCULAR_JOIN" target="FLATTENED_CIRCULAR" toMany="false">
-		<db-attribute-pair source="SIDE1_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="side2" source="FLATTENED_CIRCULAR_JOIN" target="FLATTENED_CIRCULAR" toMany="false">
-		<db-attribute-pair source="SIDE2_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="complexJoins" source="FLATTENED_TEST_1" target="COMPLEX_JOIN" toMany="true">
-		<db-attribute-pair source="FT1_ID" target="FT1_FK"/>
-	</db-relationship>
-	<db-relationship name="ft2Array" source="FLATTENED_TEST_1" target="FLATTENED_TEST_2" toMany="true">
-		<db-attribute-pair source="FT1_ID" target="FT1_ID"/>
-	</db-relationship>
-	<db-relationship name="ft3Array" source="FLATTENED_TEST_2" target="FLATTENED_TEST_3" toMany="true">
-		<db-attribute-pair source="FT2_ID" target="FT2_ID"/>
-	</db-relationship>
-	<db-relationship name="toFT1" source="FLATTENED_TEST_2" target="FLATTENED_TEST_1" toMany="false">
-		<db-attribute-pair source="FT1_ID" target="FT1_ID"/>
-	</db-relationship>
-	<db-relationship name="complexJoins" source="FLATTENED_TEST_3" target="COMPLEX_JOIN" toMany="true">
-		<db-attribute-pair source="FT3_ID" target="FT3_FK"/>
-	</db-relationship>
-	<db-relationship name="ft4Array" source="FLATTENED_TEST_3" target="FLATTENED_TEST_4" toMany="true">
-		<db-attribute-pair source="FT3_ID" target="FT3_ID"/>
-	</db-relationship>
-	<db-relationship name="toFT2" source="FLATTENED_TEST_3" target="FLATTENED_TEST_2" toMany="false">
-		<db-attribute-pair source="FT2_ID" target="FT2_ID"/>
-	</db-relationship>
-	<db-relationship name="toFT3" source="FLATTENED_TEST_4" target="FLATTENED_TEST_3" toMany="false">
-		<db-attribute-pair source="FT3_ID" target="FT3_ID"/>
-	</db-relationship>
-	<db-relationship name="children" source="MASTER" target="CHILD" toMany="true">
-		<db-attribute-pair source="ID" target="MASTER_ID"/>
-	</db-relationship>
 	<db-relationship name="toRelationshipHelper" source="MEANINGFUL_FK" target="RELATIONSHIP_HELPER" toMany="false">
 		<db-attribute-pair source="RELATIONSHIP_HELPER_ID" target="RELATIONSHIP_HELPER_ID"/>
 	</db-relationship>
@@ -309,55 +57,7 @@
 	<db-relationship name="reflexiveAndToOneArray" source="RELATIONSHIP_HELPER" target="REFLEXIVE_AND_TO_ONE" toMany="true">
 		<db-attribute-pair source="RELATIONSHIP_HELPER_ID" target="RELATIONSHIP_HELPER_ID"/>
 	</db-relationship>
-	<db-relationship name="targets" source="SET_TO_MANY" target="SET_TO_MANY_TARGET" toMany="true">
-		<db-attribute-pair source="ID" target="SET_TO_MANY_ID"/>
-	</db-relationship>
-	<db-relationship name="setToMany" source="SET_TO_MANY_TARGET" target="SET_TO_MANY" toMany="false">
-		<db-attribute-pair source="SET_TO_MANY_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="root" source="TO_MANY_FKDEP" target="TO_MANY_FKROOT" toMany="false">
-		<db-attribute-pair source="DEP_ID" target="FK_ID"/>
-	</db-relationship>
-	<db-relationship name="root2" source="TO_MANY_FKDEP" target="TO_MANY_ROOT2" toMany="false">
-		<db-attribute-pair source="OTHER_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="deps" source="TO_MANY_FKROOT" target="TO_MANY_FKDEP" toMany="true">
-		<db-attribute-pair source="FK_ID" target="DEP_ID"/>
-	</db-relationship>
-	<db-relationship name="deps" source="TO_MANY_ROOT2" target="TO_MANY_FKDEP" toDependentPK="true" toMany="true">
-		<db-attribute-pair source="ID" target="OTHER_ID"/>
-	</db-relationship>
-	<db-relationship name="toPK" source="TO_ONEFK1" target="TO_ONEFK2" toMany="false">
-		<db-attribute-pair source="TO_ONEFK1_FK" target="TO_ONEFK2_PK"/>
-	</db-relationship>
-	<db-relationship name="toOneToFK" source="TO_ONEFK2" target="TO_ONEFK1" toMany="false">
-		<db-attribute-pair source="TO_ONEFK2_PK" target="TO_ONEFK1_FK"/>
-	</db-relationship>
-	<obj-relationship name="master" source="Child" target="Master" deleteRule="Nullify" db-relationship-path="master"/>
-	<obj-relationship name="master" source="ClobDetail" target="ClobMaster" db-relationship-path="master"/>
-	<obj-relationship name="details" source="ClobMaster" target="ClobDetail" db-relationship-path="details"/>
-	<obj-relationship name="targets" source="CollectionToMany" target="CollectionToManyTarget" collection-type="java.util.Collection" db-relationship-path="targets"/>
-	<obj-relationship name="collectionToMany" source="CollectionToManyTarget" target="CollectionToMany" db-relationship-path="collectionToMany"/>
-	<obj-relationship name="flatB" source="DeleteRuleFlatA" target="DeleteRuleFlatB" db-relationship-path="joins.toFlatB"/>
-	<obj-relationship name="untitledRel" source="DeleteRuleFlatB" target="DeleteRuleFlatA" db-relationship-path="joins.toFlatA"/>
-	<obj-relationship name="test2" source="DeleteRuleTest1" target="DeleteRuleTest2" deleteRule="Deny" db-relationship-path="test2"/>
-	<obj-relationship name="deleteRuleTest3Array" source="DeleteRuleTest2" target="DeleteRuleTest3" db-relationship-path="deleteRuleTest3Array"/>
-	<obj-relationship name="test1Array" source="DeleteRuleTest2" target="DeleteRuleTest1" deleteRule="Nullify" db-relationship-path="test1Array"/>
-	<obj-relationship name="toDeleteRuleTest2" source="DeleteRuleTest3" target="DeleteRuleTest2" db-relationship-path="toDeleteRuleTest2"/>
 	<obj-relationship name="relationshipHelper" source="FkOfDifferentType" target="RelationshipHelper" db-relationship-path="relationshipHelper"/>
-	<obj-relationship name="side1s" source="FlattenedCircular" target="FlattenedCircular" db-relationship-path="side1s.side1"/>
-	<obj-relationship name="side2s" source="FlattenedCircular" target="FlattenedCircular" db-relationship-path="side2s.side2"/>
-	<obj-relationship name="ft2Array" source="FlattenedTest1" target="FlattenedTest2" db-relationship-path="ft2Array"/>
-	<obj-relationship name="ft3Array" source="FlattenedTest1" target="FlattenedTest3" db-relationship-path="ft2Array.ft3Array"/>
-	<obj-relationship name="ft3OverComplex" source="FlattenedTest1" target="FlattenedTest3" db-relationship-path="complexJoins.toFT3"/>
-	<obj-relationship name="ft4ArrayFor1" source="FlattenedTest1" target="FlattenedTest4" db-relationship-path="ft2Array.ft3Array.ft4Array"/>
-	<obj-relationship name="ft3Array" source="FlattenedTest2" target="FlattenedTest3" db-relationship-path="ft3Array"/>
-	<obj-relationship name="toFT1" source="FlattenedTest2" target="FlattenedTest1" db-relationship-path="toFT1"/>
-	<obj-relationship name="ft4Array" source="FlattenedTest3" target="FlattenedTest4" db-relationship-path="ft4Array"/>
-	<obj-relationship name="toFT1" source="FlattenedTest3" target="FlattenedTest1" db-relationship-path="toFT2.toFT1"/>
-	<obj-relationship name="toFT2" source="FlattenedTest3" target="FlattenedTest2" db-relationship-path="toFT2"/>
-	<obj-relationship name="toFT3" source="FlattenedTest4" target="FlattenedTest3" db-relationship-path="toFT3"/>
-	<obj-relationship name="children" source="Master" target="Child" deleteRule="Deny" db-relationship-path="children"/>
 	<obj-relationship name="toRelationshipHelper" source="MeaningfulFK" target="RelationshipHelper" db-relationship-path="toRelationshipHelper"/>
 	<obj-relationship name="children" source="ReflexiveAndToOne" target="ReflexiveAndToOne" db-relationship-path="children"/>
 	<obj-relationship name="toHelper" source="ReflexiveAndToOne" target="RelationshipHelper" db-relationship-path="toHelper"/>
@@ -365,12 +65,4 @@
 	<obj-relationship name="fksOfDifferentType" source="RelationshipHelper" target="FkOfDifferentType" db-relationship-path="fksOfDifferentType"/>
 	<obj-relationship name="meanigfulFKs" source="RelationshipHelper" target="MeaningfulFK" db-relationship-path="meanigfulFKs"/>
 	<obj-relationship name="reflexiveAndToOneArray" source="RelationshipHelper" target="ReflexiveAndToOne" db-relationship-path="reflexiveAndToOneArray"/>
-	<obj-relationship name="targets" source="SetToMany" target="SetToManyTarget" collection-type="java.util.Set" db-relationship-path="targets"/>
-	<obj-relationship name="setToMany" source="SetToManyTarget" target="SetToMany" db-relationship-path="setToMany"/>
-	<obj-relationship name="root" source="ToManyFkDep" target="ToManyFkRoot" db-relationship-path="root"/>
-	<obj-relationship name="root2" source="ToManyFkDep" target="ToManyRoot2" db-relationship-path="root2"/>
-	<obj-relationship name="deps" source="ToManyFkRoot" target="ToManyFkDep" db-relationship-path="deps"/>
-	<obj-relationship name="deps" source="ToManyRoot2" target="ToManyFkDep" db-relationship-path="deps"/>
-	<obj-relationship name="toPK" source="ToOneFK1" target="ToOneFK2" db-relationship-path="toPK"/>
-	<obj-relationship name="toOneToFK" source="ToOneFK2" target="ToOneFK1" db-relationship-path="toOneToFK"/>
 </data-map>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/resources/relationships1.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/relationships1.map.xml b/cayenne-server/src/test/resources/relationships1.map.xml
deleted file mode 100644
index 4ca763d..0000000
--- a/cayenne-server/src/test/resources/relationships1.map.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
-	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
-	 project-version="7">
-	<property name="defaultPackage" value="org.apache.cayenne.testdo.r1"/>
-	<db-entity name="ACTIVITY">
-		<db-attribute name="ACTIVITY_ID" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="50"/>
-		<db-attribute name="APPOINT_DATE" type="DATE" isMandatory="true"/>
-		<db-attribute name="APPOINT_NO" type="INTEGER" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="RESULT">
-		<db-attribute name="APPOINT_DATE" type="DATE" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="APPOINT_NO" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="RESULTNAME" type="VARCHAR" isPrimaryKey="true" isMandatory="true" length="50"/>
-	</db-entity>
-	<obj-entity name="Activity" className="org.apache.cayenne.testdo.r1.Activity" dbEntityName="ACTIVITY">
-		<obj-attribute name="appointmentDate" type="java.sql.Date" db-attribute-path="APPOINT_DATE"/>
-		<obj-attribute name="appointmentNo" type="int" db-attribute-path="APPOINT_NO"/>
-	</obj-entity>
-	<obj-entity name="ActivityResult" className="org.apache.cayenne.testdo.r1.ActivityResult" dbEntityName="RESULT">
-		<obj-attribute name="appointDate" type="java.sql.Date" db-attribute-path="APPOINT_DATE"/>
-		<obj-attribute name="appointNo" type="int" db-attribute-path="APPOINT_NO"/>
-		<obj-attribute name="field" type="java.lang.String" db-attribute-path="RESULTNAME"/>
-	</obj-entity>
-	<db-relationship name="ActivityResultsRel" source="ACTIVITY" target="RESULT" toMany="true">
-		<db-attribute-pair source="APPOINT_DATE" target="APPOINT_DATE"/>
-		<db-attribute-pair source="APPOINT_NO" target="APPOINT_NO"/>
-	</db-relationship>
-	<db-relationship name="ActivitiesRel" source="RESULT" target="ACTIVITY" toMany="true">
-		<db-attribute-pair source="APPOINT_DATE" target="APPOINT_DATE"/>
-		<db-attribute-pair source="APPOINT_NO" target="APPOINT_NO"/>
-	</db-relationship>
-	<obj-relationship name="results" source="Activity" target="ActivityResult" collection-type="java.util.Map" map-key="field" deleteRule="Deny" db-relationship-path="ActivityResultsRel"/>
-</data-map>


[41/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTestEntity.java
deleted file mode 100644
index 520d137..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedColumnTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedColumnTestEntity;
-
-public class GeneratedColumnTestEntity extends _GeneratedColumnTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF1.java
deleted file mode 100644
index 03a7a26..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF1.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedF1;
-
-public class GeneratedF1 extends _GeneratedF1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF2.java
deleted file mode 100644
index d64e5bd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/GeneratedF2.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._GeneratedF2;
-
-public class GeneratedF2 extends _GeneratedF2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/LongEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/LongEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/LongEntity.java
deleted file mode 100644
index e7f7c4d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/LongEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._LongEntity;
-
-public class LongEntity extends _LongEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKDep.java
deleted file mode 100644
index a4fc275..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKDep.java
+++ /dev/null
@@ -1,24 +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.testdo.testmap;
-
-public class MeaningfulPKDep extends org.apache.cayenne.testdo.testmap.auto._MeaningfulPKDep {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKTest1.java
deleted file mode 100644
index 33fddbd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MeaningfulPKTest1.java
+++ /dev/null
@@ -1,24 +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.testdo.testmap;
-
-public class MeaningfulPKTest1 extends org.apache.cayenne.testdo.testmap.auto._MeaningfulPKTest1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy.java
deleted file mode 100644
index 32a2ec9..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy.java
+++ /dev/null
@@ -1,35 +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.testdo.testmap;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.cayenne.testdo.testmap.auto._MixedPersistenceStrategy;
-
-public class MixedPersistenceStrategy extends _MixedPersistenceStrategy {
-
-    // a private variable that intentionally mirrors the name of the persistent property
-    // to create a "conflict"
-    private List details = new ArrayList();
-    
-    public List getIvarDetails() {
-        return details;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy2.java
deleted file mode 100644
index 4049fd0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/MixedPersistenceStrategy2.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._MixedPersistenceStrategy2;
-
-public class MixedPersistenceStrategy2 extends _MixedPersistenceStrategy2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/NoPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/NoPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/NoPkTestEntity.java
deleted file mode 100644
index a390b27..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/NoPkTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._NoPkTestEntity;
-
-public class NoPkTestEntity extends _NoPkTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/PrimitivesTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/PrimitivesTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/PrimitivesTestEntity.java
deleted file mode 100644
index b24fce8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/PrimitivesTestEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._PrimitivesTestEntity;
-
-public class PrimitivesTestEntity extends _PrimitivesTestEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap1.java
deleted file mode 100644
index 60c0609..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap1.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ReturnTypesMap1;
-
-public class ReturnTypesMap1 extends _ReturnTypesMap1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap2.java
deleted file mode 100644
index bfd8706..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMap2.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ReturnTypesMap2;
-
-public class ReturnTypesMap2 extends _ReturnTypesMap2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java
deleted file mode 100644
index 2aaacd7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/ReturnTypesMapLobs1.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._ReturnTypesMapLobs1;
-
-public class ReturnTypesMapLobs1 extends _ReturnTypesMapLobs1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SerializableEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SerializableEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SerializableEntity.java
deleted file mode 100644
index 4e93149..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SerializableEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._SerializableEntity;
-
-public class SerializableEntity extends _SerializableEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SmallintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SmallintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SmallintTestEntity.java
deleted file mode 100644
index 8f2273b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/SmallintTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._SmallintTestEntity;
-
-public class SmallintTestEntity extends _SmallintTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1.java
deleted file mode 100644
index 476790d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1.java
+++ /dev/null
@@ -1,35 +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.testdo.testmap;
-
-/**
- * A test extended type.
- */
-public class StringET1 {
-
-    protected String string;
-
-    public StringET1(String string) {
-        this.string = string;
-    }
-
-    public String getString() {
-        return string;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1ExtendedType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1ExtendedType.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1ExtendedType.java
deleted file mode 100644
index f4338e2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/StringET1ExtendedType.java
+++ /dev/null
@@ -1,62 +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.testdo.testmap;
-
-import java.sql.CallableStatement;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-
-import org.apache.cayenne.access.types.ExtendedType;
-
-public class StringET1ExtendedType implements ExtendedType {
-
-    @Override
-    public String getClassName() {
-        return StringET1.class.getName();
-    }
-
-    @Override
-    public Object materializeObject(ResultSet rs, int index, int type) throws Exception {
-        String string = rs.getString(index);
-        return string != null ? new StringET1(string) : null;
-    }
-
-    @Override
-    public Object materializeObject(CallableStatement rs, int index, int type)
-            throws Exception {
-        String string = rs.getString(index);
-        return string != null ? new StringET1(string) : null;
-    }
-
-    @Override
-    public void setJdbcObject(
-            PreparedStatement statement,
-            Object value,
-            int pos,
-            int type,
-            int precision) throws Exception {
-
-        if (value instanceof StringET1) {
-            statement.setString(pos, ((StringET1) value).getString());
-        }
-        else {
-            statement.setNull(pos, type);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Thing.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Thing.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Thing.java
deleted file mode 100644
index 1fa4967..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Thing.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._Thing;
-
-public class Thing extends _Thing {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/TinyintTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/TinyintTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/TinyintTestEntity.java
deleted file mode 100644
index 817a324..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/TinyintTestEntity.java
+++ /dev/null
@@ -1,28 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._TinyintTestEntity;
-
-public class TinyintTestEntity extends _TinyintTestEntity {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidPkEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidPkEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidPkEntity.java
deleted file mode 100644
index 1fbfb7e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidPkEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._UuidPkEntity;
-
-public class UuidPkEntity extends _UuidPkEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidTestEntity.java
deleted file mode 100644
index 3ded534..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/UuidTestEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._UuidTestEntity;
-
-public class UuidTestEntity extends _UuidTestEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArraysEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArraysEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArraysEntity.java
deleted file mode 100644
index 7a186f7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ArraysEntity.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _ArraysEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ArraysEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BYTE_ARRAY_PROPERTY = "byteArray";
-    @Deprecated
-    public static final String BYTE_WRAPPER_ARRAY_PROPERTY = "byteWrapperArray";
-    @Deprecated
-    public static final String CHAR_ARRAY_PROPERTY = "charArray";
-    @Deprecated
-    public static final String CHAR_WRAPPER_ARRAY_PROPERTY = "charWrapperArray";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<byte[]> BYTE_ARRAY = new Property<byte[]>("byteArray");
-    public static final Property<Byte[]> BYTE_WRAPPER_ARRAY = new Property<Byte[]>("byteWrapperArray");
-    public static final Property<char[]> CHAR_ARRAY = new Property<char[]>("charArray");
-    public static final Property<Character[]> CHAR_WRAPPER_ARRAY = new Property<Character[]>("charWrapperArray");
-
-    public void setByteArray(byte[] byteArray) {
-        writeProperty("byteArray", byteArray);
-    }
-    public byte[] getByteArray() {
-        return (byte[])readProperty("byteArray");
-    }
-
-    public void setByteWrapperArray(Byte[] byteWrapperArray) {
-        writeProperty("byteWrapperArray", byteWrapperArray);
-    }
-    public Byte[] getByteWrapperArray() {
-        return (Byte[])readProperty("byteWrapperArray");
-    }
-
-    public void setCharArray(char[] charArray) {
-        writeProperty("charArray", charArray);
-    }
-    public char[] getCharArray() {
-        return (char[])readProperty("charArray");
-    }
-
-    public void setCharWrapperArray(Character[] charWrapperArray) {
-        writeProperty("charWrapperArray", charWrapperArray);
-    }
-    public Character[] getCharWrapperArray() {
-        return (Character[])readProperty("charWrapperArray");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Bag.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Bag.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Bag.java
deleted file mode 100644
index e392a37..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Bag.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Ball;
-import org.apache.cayenne.testdo.testmap.Box;
-import org.apache.cayenne.testdo.testmap.Thing;
-
-/**
- * Class _Bag was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Bag extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String BALLS_PROPERTY = "balls";
-    @Deprecated
-    public static final String BOXES_PROPERTY = "boxes";
-    @Deprecated
-    public static final String THINGS_PROPERTY = "things";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<Ball>> BALLS = new Property<List<Ball>>("balls");
-    public static final Property<List<Box>> BOXES = new Property<List<Box>>("boxes");
-    public static final Property<List<Thing>> THINGS = new Property<List<Thing>>("things");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    @SuppressWarnings("unchecked")
-    public List<Ball> getBalls() {
-        return (List<Ball>)readProperty("balls");
-    }
-
-
-    public void addToBoxes(Box obj) {
-        addToManyTarget("boxes", obj, true);
-    }
-    public void removeFromBoxes(Box obj) {
-        removeToManyTarget("boxes", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<Box> getBoxes() {
-        return (List<Box>)readProperty("boxes");
-    }
-
-
-    @SuppressWarnings("unchecked")
-    public List<Thing> getThings() {
-        return (List<Thing>)readProperty("things");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Ball.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Ball.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Ball.java
deleted file mode 100644
index 3dca69a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Ball.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Box;
-import org.apache.cayenne.testdo.testmap.Thing;
-
-/**
- * Class _Ball was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Ball extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String THING_VOLUME_PROPERTY = "thingVolume";
-    @Deprecated
-    public static final String THING_WEIGHT_PROPERTY = "thingWeight";
-    @Deprecated
-    public static final String BOX_PROPERTY = "box";
-    @Deprecated
-    public static final String THING_PROPERTY = "thing";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Integer> THING_VOLUME = new Property<Integer>("thingVolume");
-    public static final Property<Integer> THING_WEIGHT = new Property<Integer>("thingWeight");
-    public static final Property<Box> BOX = new Property<Box>("box");
-    public static final Property<Thing> THING = new Property<Thing>("thing");
-
-    public void setThingVolume(Integer thingVolume) {
-        writeProperty("thingVolume", thingVolume);
-    }
-    public Integer getThingVolume() {
-        return (Integer)readProperty("thingVolume");
-    }
-
-    public void setThingWeight(Integer thingWeight) {
-        writeProperty("thingWeight", thingWeight);
-    }
-    public Integer getThingWeight() {
-        return (Integer)readProperty("thingWeight");
-    }
-
-    public void setBox(Box box) {
-        setToOneTarget("box", box, true);
-    }
-
-    public Box getBox() {
-        return (Box)readProperty("box");
-    }
-
-
-    public void setThing(Thing thing) {
-        setToOneTarget("thing", thing, true);
-    }
-
-    public Thing getThing() {
-        return (Thing)readProperty("thing");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigDecimalEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigDecimalEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigDecimalEntity.java
deleted file mode 100644
index bc83c95..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigDecimalEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.math.BigDecimal;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BigDecimalEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BigDecimalEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIG_DECIMAL_FIELD_PROPERTY = "bigDecimalField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<BigDecimal> BIG_DECIMAL_FIELD = new Property<BigDecimal>("bigDecimalField");
-
-    public void setBigDecimalField(BigDecimal bigDecimalField) {
-        writeProperty("bigDecimalField", bigDecimalField);
-    }
-    public BigDecimal getBigDecimalField() {
-        return (BigDecimal)readProperty("bigDecimalField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigIntegerEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigIntegerEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigIntegerEntity.java
deleted file mode 100644
index f39f0f4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BigIntegerEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.math.BigInteger;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BigIntegerEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BigIntegerEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIG_INTEGER_FIELD_PROPERTY = "bigIntegerField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<BigInteger> BIG_INTEGER_FIELD = new Property<BigInteger>("bigIntegerField");
-
-    public void setBigIntegerField(BigInteger bigIntegerField) {
-        writeProperty("bigIntegerField", bigIntegerField);
-    }
-    public BigInteger getBigIntegerField() {
-        return (BigInteger)readProperty("bigIntegerField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest1.java
deleted file mode 100644
index 448a864..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest1.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.BinaryPKTest2;
-
-/**
- * Class _BinaryPKTest1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BinaryPKTest1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String BINARY_PKDETAILS_PROPERTY = "binaryPKDetails";
-
-    public static final String BIN_ID_PK_COLUMN = "BIN_ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<BinaryPKTest2>> BINARY_PKDETAILS = new Property<List<BinaryPKTest2>>("binaryPKDetails");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void addToBinaryPKDetails(BinaryPKTest2 obj) {
-        addToManyTarget("binaryPKDetails", obj, true);
-    }
-    public void removeFromBinaryPKDetails(BinaryPKTest2 obj) {
-        removeToManyTarget("binaryPKDetails", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<BinaryPKTest2> getBinaryPKDetails() {
-        return (List<BinaryPKTest2>)readProperty("binaryPKDetails");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest2.java
deleted file mode 100644
index 4bff8bd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BinaryPKTest2.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.BinaryPKTest1;
-
-/**
- * Class _BinaryPKTest2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BinaryPKTest2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DETAIL_NAME_PROPERTY = "detailName";
-    @Deprecated
-    public static final String TO_BINARY_PKMASTER_PROPERTY = "toBinaryPKMaster";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> DETAIL_NAME = new Property<String>("detailName");
-    public static final Property<BinaryPKTest1> TO_BINARY_PKMASTER = new Property<BinaryPKTest1>("toBinaryPKMaster");
-
-    public void setDetailName(String detailName) {
-        writeProperty("detailName", detailName);
-    }
-    public String getDetailName() {
-        return (String)readProperty("detailName");
-    }
-
-    public void setToBinaryPKMaster(BinaryPKTest1 toBinaryPKMaster) {
-        setToOneTarget("toBinaryPKMaster", toBinaryPKMaster, true);
-    }
-
-    public BinaryPKTest1 getToBinaryPKMaster() {
-        return (BinaryPKTest1)readProperty("toBinaryPKMaster");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitNumberTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitNumberTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitNumberTestEntity.java
deleted file mode 100644
index fe7c998..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitNumberTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BitNumberTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BitNumberTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Integer> BIT_COLUMN = new Property<Integer>("bitColumn");
-
-    public void setBitColumn(Integer bitColumn) {
-        writeProperty("bitColumn", bitColumn);
-    }
-    public Integer getBitColumn() {
-        return (Integer)readProperty("bitColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitTestEntity.java
deleted file mode 100644
index bbc78d7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BitTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BitTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BitTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BIT_COLUMN_PROPERTY = "bitColumn";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Boolean> BIT_COLUMN = new Property<Boolean>("bitColumn");
-
-    public void setBitColumn(Boolean bitColumn) {
-        writeProperty("bitColumn", bitColumn);
-    }
-    public Boolean getBitColumn() {
-        return (Boolean)readProperty("bitColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BlobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BlobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BlobTestEntity.java
deleted file mode 100644
index 59d4f8c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BlobTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BlobTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BlobTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BLOB_COL_PROPERTY = "blobCol";
-
-    public static final String BLOB_TEST_ID_PK_COLUMN = "BLOB_TEST_ID";
-
-    public static final Property<byte[]> BLOB_COL = new Property<byte[]>("blobCol");
-
-    public void setBlobCol(byte[] blobCol) {
-        writeProperty("blobCol", blobCol);
-    }
-    public byte[] getBlobCol() {
-        return (byte[])readProperty("blobCol");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BooleanTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BooleanTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BooleanTestEntity.java
deleted file mode 100644
index 380505e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BooleanTestEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _BooleanTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BooleanTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Boolean> BOOLEAN_COLUMN = new Property<Boolean>("booleanColumn");
-
-    public void setBooleanColumn(Boolean booleanColumn) {
-        writeProperty("booleanColumn", booleanColumn);
-    }
-    public Boolean getBooleanColumn() {
-        return (Boolean)readProperty("booleanColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Box.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Box.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Box.java
deleted file mode 100644
index bf5c24e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Box.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Bag;
-import org.apache.cayenne.testdo.testmap.Ball;
-import org.apache.cayenne.testdo.testmap.BoxInfo;
-import org.apache.cayenne.testdo.testmap.Thing;
-
-/**
- * Class _Box was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Box extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String BAG_PROPERTY = "bag";
-    @Deprecated
-    public static final String BALLS_PROPERTY = "balls";
-    @Deprecated
-    public static final String BOX_INFO_PROPERTY = "boxInfo";
-    @Deprecated
-    public static final String THINGS_PROPERTY = "things";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<Bag> BAG = new Property<Bag>("bag");
-    public static final Property<List<Ball>> BALLS = new Property<List<Ball>>("balls");
-    public static final Property<BoxInfo> BOX_INFO = new Property<BoxInfo>("boxInfo");
-    public static final Property<List<Thing>> THINGS = new Property<List<Thing>>("things");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setBag(Bag bag) {
-        setToOneTarget("bag", bag, true);
-    }
-
-    public Bag getBag() {
-        return (Bag)readProperty("bag");
-    }
-
-
-    public void addToBalls(Ball obj) {
-        addToManyTarget("balls", obj, true);
-    }
-    public void removeFromBalls(Ball obj) {
-        removeToManyTarget("balls", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<Ball> getBalls() {
-        return (List<Ball>)readProperty("balls");
-    }
-
-
-    public void setBoxInfo(BoxInfo boxInfo) {
-        setToOneTarget("boxInfo", boxInfo, true);
-    }
-
-    public BoxInfo getBoxInfo() {
-        return (BoxInfo)readProperty("boxInfo");
-    }
-
-
-    @SuppressWarnings("unchecked")
-    public List<Thing> getThings() {
-        return (List<Thing>)readProperty("things");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BoxInfo.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BoxInfo.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BoxInfo.java
deleted file mode 100644
index b8312e4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_BoxInfo.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.Box;
-
-/**
- * Class _BoxInfo was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BoxInfo extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String COLOR_PROPERTY = "color";
-    @Deprecated
-    public static final String BOX_PROPERTY = "box";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> COLOR = new Property<String>("color");
-    public static final Property<Box> BOX = new Property<Box>("box");
-
-    public void setColor(String color) {
-        writeProperty("color", color);
-    }
-    public String getColor() {
-        return (String)readProperty("color");
-    }
-
-    public void setBox(Box box) {
-        setToOneTarget("box", box, true);
-    }
-
-    public Box getBox() {
-        return (Box)readProperty("box");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CalendarEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CalendarEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CalendarEntity.java
deleted file mode 100644
index b0549ab..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CalendarEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.Calendar;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _CalendarEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CalendarEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String CALENDAR_FIELD_PROPERTY = "calendarField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Calendar> CALENDAR_FIELD = new Property<Calendar>("calendarField");
-
-    public void setCalendarField(Calendar calendarField) {
-        writeProperty("calendarField", calendarField);
-    }
-    public Calendar getCalendarField() {
-        return (Calendar)readProperty("calendarField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharFkTestEntity.java
deleted file mode 100644
index e293528..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharFkTestEntity.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
-
-/**
- * Class _CharFkTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CharFkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_CHAR_PK_PROPERTY = "toCharPK";
-
-    public static final String PK_PK_COLUMN = "PK";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<CharPkTestEntity> TO_CHAR_PK = new Property<CharPkTestEntity>("toCharPK");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToCharPK(CharPkTestEntity toCharPK) {
-        setToOneTarget("toCharPK", toCharPK, true);
-    }
-
-    public CharPkTestEntity getToCharPK() {
-        return (CharPkTestEntity)readProperty("toCharPK");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharPkTestEntity.java
deleted file mode 100644
index 81ecbc6..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharPkTestEntity.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.CharFkTestEntity;
-
-/**
- * Class _CharPkTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CharPkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String OTHER_COL_PROPERTY = "otherCol";
-    @Deprecated
-    public static final String PK_COL_PROPERTY = "pkCol";
-    @Deprecated
-    public static final String CHAR_FKS_PROPERTY = "charFKs";
-
-    public static final String PK_COL_PK_COLUMN = "PK_COL";
-
-    public static final Property<String> OTHER_COL = new Property<String>("otherCol");
-    public static final Property<String> PK_COL = new Property<String>("pkCol");
-    public static final Property<List<CharFkTestEntity>> CHAR_FKS = new Property<List<CharFkTestEntity>>("charFKs");
-
-    public void setOtherCol(String otherCol) {
-        writeProperty("otherCol", otherCol);
-    }
-    public String getOtherCol() {
-        return (String)readProperty("otherCol");
-    }
-
-    public void setPkCol(String pkCol) {
-        writeProperty("pkCol", pkCol);
-    }
-    public String getPkCol() {
-        return (String)readProperty("pkCol");
-    }
-
-    public void addToCharFKs(CharFkTestEntity obj) {
-        addToManyTarget("charFKs", obj, true);
-    }
-    public void removeFromCharFKs(CharFkTestEntity obj) {
-        removeToManyTarget("charFKs", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<CharFkTestEntity> getCharFKs() {
-        return (List<CharFkTestEntity>)readProperty("charFKs");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharacterEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharacterEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharacterEntity.java
deleted file mode 100644
index 613ee6e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CharacterEntity.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _CharacterEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CharacterEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String CHARACTER_FIELD_PROPERTY = "characterField";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Character> CHARACTER_FIELD = new Property<Character>("characterField");
-
-    public void setCharacterField(Character characterField) {
-        writeProperty("characterField", characterField);
-    }
-    public Character getCharacterField() {
-        return (Character)readProperty("characterField");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestEntity.java
deleted file mode 100644
index 64fcbff..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestEntity.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.ClobTestRelation;
-
-/**
- * Class _ClobTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ClobTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String CLOB_COL_PROPERTY = "clobCol";
-    @Deprecated
-    public static final String CLOB_VALUE_PROPERTY = "clobValue";
-
-    public static final String CLOB_TEST_ID_PK_COLUMN = "CLOB_TEST_ID";
-
-    public static final Property<String> CLOB_COL = new Property<String>("clobCol");
-    public static final Property<List<ClobTestRelation>> CLOB_VALUE = new Property<List<ClobTestRelation>>("clobValue");
-
-    public void setClobCol(String clobCol) {
-        writeProperty("clobCol", clobCol);
-    }
-    public String getClobCol() {
-        return (String)readProperty("clobCol");
-    }
-
-    public void addToClobValue(ClobTestRelation obj) {
-        addToManyTarget("clobValue", obj, true);
-    }
-    public void removeFromClobValue(ClobTestRelation obj) {
-        removeToManyTarget("clobValue", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<ClobTestRelation> getClobValue() {
-        return (List<ClobTestRelation>)readProperty("clobValue");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestRelation.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestRelation.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestRelation.java
deleted file mode 100644
index 5897c35..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_ClobTestRelation.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.ClobTestEntity;
-
-/**
- * Class _ClobTestRelation was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ClobTestRelation extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String ID_PROPERTY = "id";
-    @Deprecated
-    public static final String VALUE_PROPERTY = "value";
-    @Deprecated
-    public static final String CLOB_ID_PROPERTY = "clobId";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<Integer> ID = new Property<Integer>("id");
-    public static final Property<Integer> VALUE = new Property<Integer>("value");
-    public static final Property<ClobTestEntity> CLOB_ID = new Property<ClobTestEntity>("clobId");
-
-    public void setId(Integer id) {
-        writeProperty("id", id);
-    }
-    public Integer getId() {
-        return (Integer)readProperty("id");
-    }
-
-    public void setValue(Integer value) {
-        writeProperty("value", value);
-    }
-    public Integer getValue() {
-        return (Integer)readProperty("value");
-    }
-
-    public void setClobId(ClobTestEntity clobId) {
-        setToOneTarget("clobId", clobId, true);
-    }
-
-    public ClobTestEntity getClobId() {
-        return (ClobTestEntity)readProperty("clobId");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundFkTestEntity.java
deleted file mode 100644
index 53d4944..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundFkTestEntity.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
-
-/**
- * Class _CompoundFkTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CompoundFkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String TO_COMPOUND_PK_PROPERTY = "toCompoundPk";
-
-    public static final String PKEY_PK_COLUMN = "PKEY";
-
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<CompoundPkTestEntity> TO_COMPOUND_PK = new Property<CompoundPkTestEntity>("toCompoundPk");
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void setToCompoundPk(CompoundPkTestEntity toCompoundPk) {
-        setToOneTarget("toCompoundPk", toCompoundPk, true);
-    }
-
-    public CompoundPkTestEntity getToCompoundPk() {
-        return (CompoundPkTestEntity)readProperty("toCompoundPk");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPkTestEntity.java
deleted file mode 100644
index f06172b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_CompoundPkTestEntity.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
-
-/**
- * Class _CompoundPkTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CompoundPkTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String KEY1_PROPERTY = "key1";
-    @Deprecated
-    public static final String KEY2_PROPERTY = "key2";
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-    @Deprecated
-    public static final String COMPOUND_FK_ARRAY_PROPERTY = "compoundFkArray";
-
-    public static final String KEY1_PK_COLUMN = "KEY1";
-    public static final String KEY2_PK_COLUMN = "KEY2";
-
-    public static final Property<String> KEY1 = new Property<String>("key1");
-    public static final Property<String> KEY2 = new Property<String>("key2");
-    public static final Property<String> NAME = new Property<String>("name");
-    public static final Property<List<CompoundFkTestEntity>> COMPOUND_FK_ARRAY = new Property<List<CompoundFkTestEntity>>("compoundFkArray");
-
-    public void setKey1(String key1) {
-        writeProperty("key1", key1);
-    }
-    public String getKey1() {
-        return (String)readProperty("key1");
-    }
-
-    public void setKey2(String key2) {
-        writeProperty("key2", key2);
-    }
-    public String getKey2() {
-        return (String)readProperty("key2");
-    }
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-    public void addToCompoundFkArray(CompoundFkTestEntity obj) {
-        addToManyTarget("compoundFkArray", obj, true);
-    }
-    public void removeFromCompoundFkArray(CompoundFkTestEntity obj) {
-        removeToManyTarget("compoundFkArray", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<CompoundFkTestEntity> getCompoundFkArray() {
-        return (List<CompoundFkTestEntity>)readProperty("compoundFkArray");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DateTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DateTestEntity.java
deleted file mode 100644
index ca110eb..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DateTestEntity.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.Date;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _DateTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DateTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DATE_COLUMN_PROPERTY = "dateColumn";
-    @Deprecated
-    public static final String TIME_COLUMN_PROPERTY = "timeColumn";
-    @Deprecated
-    public static final String TIMESTAMP_COLUMN_PROPERTY = "timestampColumn";
-
-    public static final String DATE_TEST_ID_PK_COLUMN = "DATE_TEST_ID";
-
-    public static final Property<Date> DATE_COLUMN = new Property<Date>("dateColumn");
-    public static final Property<Date> TIME_COLUMN = new Property<Date>("timeColumn");
-    public static final Property<Date> TIMESTAMP_COLUMN = new Property<Date>("timestampColumn");
-
-    public void setDateColumn(Date dateColumn) {
-        writeProperty("dateColumn", dateColumn);
-    }
-    public Date getDateColumn() {
-        return (Date)readProperty("dateColumn");
-    }
-
-    public void setTimeColumn(Date timeColumn) {
-        writeProperty("timeColumn", timeColumn);
-    }
-    public Date getTimeColumn() {
-        return (Date)readProperty("timeColumn");
-    }
-
-    public void setTimestampColumn(Date timestampColumn) {
-        writeProperty("timestampColumn", timestampColumn);
-    }
-    public Date getTimestampColumn() {
-        return (Date)readProperty("timestampColumn");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTest1.java
deleted file mode 100644
index 0cab136..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTest1.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _DecimalPKTest1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DecimalPKTest1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DECIMAL_PK_PROPERTY = "decimalPK";
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
-
-    public static final Property<Double> DECIMAL_PK = new Property<Double>("decimalPK");
-    public static final Property<String> NAME = new Property<String>("name");
-
-    public void setDecimalPK(Double decimalPK) {
-        writeProperty("decimalPK", decimalPK);
-    }
-    public Double getDecimalPK() {
-        return (Double)readProperty("decimalPK");
-    }
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTestEntity.java
deleted file mode 100644
index 4386364..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_DecimalPKTestEntity.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.math.BigDecimal;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _DecimalPKTestEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DecimalPKTestEntity extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    @Deprecated
-    public static final String DECIMAL_PK_PROPERTY = "decimalPK";
-    @Deprecated
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String DECIMAL_PK_PK_COLUMN = "DECIMAL_PK";
-
-    public static final Property<BigDecimal> DECIMAL_PK = new Property<BigDecimal>("decimalPK");
-    public static final Property<String> NAME = new Property<String>("name");
-
-    public void setDecimalPK(BigDecimal decimalPK) {
-        writeProperty("decimalPK", decimalPK);
-    }
-    public BigDecimal getDecimalPK() {
-        return (BigDecimal)readProperty("decimalPK");
-    }
-
-    public void setName(String name) {
-        writeProperty("name", name);
-    }
-    public String getName() {
-        return (String)readProperty("name");
-    }
-
-}


[18/50] [abbrv] cayenne git commit: Organize Assert Imports

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
index 2348b45..1567aea 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
@@ -25,6 +25,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class QueryChainIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
index b7bfdd6..dd5882f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
@@ -30,6 +30,10 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLSelectIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
index f223657..781d969 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
@@ -25,6 +25,11 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLTemplateCacheKeyIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
index b71b70e..244c8d5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
@@ -35,6 +35,10 @@ import java.sql.SQLException;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLTemplateIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java
index efeaed1..f4e8ef8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java
@@ -33,6 +33,10 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import static java.util.Collections.singletonMap;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectByIdIT extends ServerCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java
index 664b67e..7917c54 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java
@@ -27,6 +27,11 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectQueryCacheKeyIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java
index cb25202..b701a42 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java
@@ -30,6 +30,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectQueryFetchLimitOrderingIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
index c78f522..87782a7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
@@ -55,6 +55,13 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectQueryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java
index 0189800..e050928 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java
@@ -31,6 +31,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectQueryPrefetchRouterActionIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
index ce42359..fa9010e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
@@ -31,6 +31,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)
 public class SelectQueryPrefetchRouterActionQualifiedEntityIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
index 22bd81f..4961111 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
@@ -26,6 +26,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class StatementFetchSizeIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
index ffbe753..089b959 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
@@ -32,6 +32,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class LifecycleCallbackRegistryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
index 53531c4..8f5fa32 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
@@ -32,6 +32,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.INHERTITANCE_SINGLE_TABLE1_PROJECT)
 public class LifecycleCallbackRegistry_InheritanceIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
index e320095..590c170 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
@@ -31,6 +31,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests conflicts between field and map-based persistence.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
index a1cf9f2..97b3ec6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
@@ -33,6 +33,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataObjectDescriptorFactoryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java b/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java
index 57f0739..56d6f40 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java
@@ -23,6 +23,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java
index f01f957..74fdd75 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java
@@ -20,14 +20,13 @@ package org.apache.cayenne.unit.di;
 
 import org.apache.cayenne.di.Injector;
 import org.junit.After;
-import org.junit.Assert;
 import org.junit.Before;
 
 /**
  * A unit test superclass that supports injection of members based on the standard unit
  * test container.
  */
-public abstract class DICase extends Assert {
+public abstract class DICase {
 
     protected abstract Injector getUnitTestInjector();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java
index d6fe535..5381f85 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java
@@ -27,6 +27,10 @@ import org.apache.cayenne.di.Module;
 import org.apache.cayenne.di.spi.DefaultScope;
 import org.junit.Test;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+
 public class DICaseSelfIT extends DICase {
 
     private static final Injector injector;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
index 2c60da2..64b6bda 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
@@ -23,6 +23,11 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ServerCaseSelfIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
index 2e47ceb..03f695f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
@@ -34,6 +34,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  */
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
index bc5acbe..1c51d15 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
@@ -31,6 +31,9 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class CAY_191IT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
index 51f1dd1..caa711d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
@@ -34,6 +34,9 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
 /**
  * Testing qualifier translator correctness on reflexive relationships.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
index c58ed54..91d2368 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
@@ -30,6 +30,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DeepMergeOperationIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
index 04813da..d6d9a30 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
@@ -32,6 +32,11 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)
 public class DeepMergeOperationInheritanceIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java
index c5e59f9..83c4f53 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java
@@ -32,6 +32,11 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.Arrays;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EntityMergeSupportIT extends MergeCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
index fe4623b..b29f0ad 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
@@ -37,6 +37,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ShallowMergeOperationIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java b/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java
index d94fa17..b8945fe 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java
@@ -48,6 +48,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 /**
  * Tests BindDirective for passed null parameters and for not passed parameters
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
index 5c40bc9..8915ab2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
@@ -40,6 +40,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 /**
  * Test for Result directive to check if we could use ResultDitrective
  * optionally.


[17/50] [abbrv] cayenne git commit: random tests cleanup

Posted by aa...@apache.org.
random tests cleanup


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/8990e655
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/8990e655
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/8990e655

Branch: refs/heads/CAY-1946
Commit: 8990e65545d4d65773a0e5d1350a9e602a0d3d77
Parents: 2430e94
Author: aadamchik <aa...@apache.org>
Authored: Tue Nov 4 20:16:05 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Tue Nov 4 20:21:01 2014 +0300

----------------------------------------------------------------------
 .../apache/cayenne/NestedCayenneContextIT.java  | 1309 +++++++++---------
 .../org/apache/cayenne/remote/MockMessage.java  |   50 -
 .../remote/NestedObjectContextLocalIT.java      |    2 +-
 .../cayenne/remote/ROPPrefetchToManyMapIT.java  |    2 +-
 .../remote/RemoteIncrementalFaultListIT.java    |  483 +++----
 .../apache/cayenne/remote/ValueInjectorIT.java  |    5 +-
 6 files changed, 906 insertions(+), 945 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/8990e655/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
index 8420770..d40ed76 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
@@ -18,6 +18,11 @@
  ****************************************************************/
 package org.apache.cayenne;
 
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.cayenne.configuration.rop.client.ClientRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.graph.GraphChangeHandler;
@@ -40,862 +45,864 @@ import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
 /**
  * Tests nested object contexts
  */
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
-@RunWith(value=Parameterized.class)
+@RunWith(value = Parameterized.class)
 public class NestedCayenneContextIT extends RemoteCayenneCase {
 
-    @Inject
-    private ClientRuntime runtime;
-    
-    @Inject
-    private DBHelper dbHelper;
+	@Inject
+	private ClientRuntime runtime;
+
+	@Inject
+	private DBHelper dbHelper;
+
+	@Inject
+	private DataChannelInterceptor queryInterceptor;
+
+	@Parameters
+	public static Collection<Object[]> data() {
+		return Arrays.asList(new Object[][] {
+				{ LocalConnection.HESSIAN_SERIALIZATION },
+				{ LocalConnection.JAVA_SERIALIZATION },
+				{ LocalConnection.NO_SERIALIZATION }, });
+	}
+
+	public NestedCayenneContextIT(int serializationPolicy) {
+		super.serializationPolicy = serializationPolicy;
+	}
+
+	@Override
+	public void setUpAfterInjection() throws Exception {
+		super.setUpAfterInjection();
+
+		dbHelper.deleteAll("MT_TABLE2");
+		dbHelper.deleteAll("MT_TABLE1");
+	}
+
+	@Test
+	public void testChannels() {
+		ObjectContext child = runtime.newContext(clientContext);
+
+		assertNotNull(child);
+		assertSame(clientContext, child.getChannel());
+
+		// second level of nesting
+		ObjectContext grandchild = runtime.newContext((DataChannel) child);
+
+		assertNotNull(grandchild);
+		assertSame(child, grandchild.getChannel());
+	}
+
+	@Test
+	public void testSelect() throws Exception {
+		ObjectContext child = runtime.newContext(clientContext);
+
+		ClientMtTable1 committed = clientContext
+				.newObject(ClientMtTable1.class);
+		ClientMtTable1 deleted = clientContext.newObject(ClientMtTable1.class);
+		ClientMtTable1 modified = clientContext.newObject(ClientMtTable1.class);
+
+		clientContext.commitChanges();
+		int modifiedid = Cayenne.intPKForObject(modified);
+
+		// test how different object states appear in the child on select
+
+		clientContext.deleteObjects(deleted);
+		modified.setGlobalAttribute1("a");
+
+		ClientMtTable1 _new = clientContext.newObject(ClientMtTable1.class);
 
-    @Inject
-    private DataChannelInterceptor queryInterceptor;
+		assertEquals(PersistenceState.COMMITTED,
+				committed.getPersistenceState());
+		assertEquals(PersistenceState.MODIFIED, modified.getPersistenceState());
+		assertEquals(PersistenceState.DELETED, deleted.getPersistenceState());
+		assertEquals(PersistenceState.NEW, _new.getPersistenceState());
 
-    @Parameters
-    public static Collection<Object[]> data() {
-        return Arrays.asList(new Object[][]{
-                {LocalConnection.HESSIAN_SERIALIZATION},
-                {LocalConnection.JAVA_SERIALIZATION},
-                {LocalConnection.NO_SERIALIZATION},
-        });
-    }
+		List<ClientMtTable1> objects = child
+				.select(new SelectQuery<ClientMtTable1>(ClientMtTable1.class));
+		assertEquals("All but NEW object must have been included", 3,
+				objects.size());
 
-    public NestedCayenneContextIT(int serializationPolicy) {
-        super.serializationPolicy = serializationPolicy;
-    }
+		for (ClientMtTable1 next : objects) {
+			assertEquals(PersistenceState.COMMITTED, next.getPersistenceState());
 
-    @Override
-    public void setUpAfterInjection() throws Exception {
-        super.setUpAfterInjection();
+			int id = Cayenne.intPKForObject(next);
+			if (id == modifiedid) {
+				assertEquals("a", next.getGlobalAttribute1());
+			}
+		}
+	}
 
-        dbHelper.deleteAll("MT_TABLE2");
-        dbHelper.deleteAll("MT_TABLE1");
-    }
+	@Test
+	public void testPrefetchingToOne() throws Exception {
+		final ClientMtTable1 mt11 = clientContext
+				.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		ClientMtTable2 mt21 = clientContext.newObject(ClientMtTable2.class);
+		ClientMtTable2 mt22 = clientContext.newObject(ClientMtTable2.class);
 
-    @Test
-    public void testChannels() {
-        ObjectContext child = runtime.newContext(clientContext);
+		mt21.setTable1(mt11);
+		mt22.setTable1(mt11);
 
-        assertNotNull(child);
-        assertSame(clientContext, child.getChannel());
+		clientContext.commitChanges();
 
-        // second level of nesting
-        ObjectContext grandchild = runtime.newContext((DataChannel) child);
+		final ObjectContext child = runtime.newContext(clientContext);
 
-        assertNotNull(grandchild);
-        assertSame(child, grandchild.getChannel());
-    }
+		SelectQuery<ClientMtTable2> q = new SelectQuery<ClientMtTable2>(
+				ClientMtTable2.class);
+		q.addPrefetch(ClientMtTable2.TABLE1_PROPERTY);
 
-    @Test
-    public void testSelect() throws Exception {
-        ObjectContext child = runtime.newContext(clientContext);
+		final List<ClientMtTable2> results = child.select(q);
 
-        ClientMtTable1 committed = clientContext.newObject(ClientMtTable1.class);
-        ClientMtTable1 deleted = clientContext.newObject(ClientMtTable1.class);
-        ClientMtTable1 modified = clientContext.newObject(ClientMtTable1.class);
+		queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
 
-        clientContext.commitChanges();
-        int modifiedid = Cayenne.intPKForObject(modified);
+			public void execute() {
+				assertEquals(2, results.size());
+				Iterator<?> it = results.iterator();
+				while (it.hasNext()) {
+					ClientMtTable2 o = (ClientMtTable2) it.next();
+					assertEquals(PersistenceState.COMMITTED,
+							o.getPersistenceState());
+					assertSame(child, o.getObjectContext());
 
-        // test how different object states appear in the child on select
+					ClientMtTable1 o1 = o.getTable1();
+					assertNotNull(o1);
+					assertEquals(PersistenceState.COMMITTED,
+							o1.getPersistenceState());
+					assertSame(child, o1.getObjectContext());
+					assertEquals(mt11.getObjectId(), o1.getObjectId());
+				}
+			}
+		});
+	}
 
-        clientContext.deleteObjects(deleted);
-        modified.setGlobalAttribute1("a");
+	@Test
+	public void testPrefetchingToMany() throws Exception {
+		ClientMtTable1 mt11 = clientContext.newObject(ClientMtTable1.class);
+		mt11.setGlobalAttribute1("1");
 
-        ClientMtTable1 _new = clientContext.newObject(ClientMtTable1.class);
+		ClientMtTable1 mt12 = clientContext.newObject(ClientMtTable1.class);
+		mt12.setGlobalAttribute1("2");
 
-        assertEquals(PersistenceState.COMMITTED, committed.getPersistenceState());
-        assertEquals(PersistenceState.MODIFIED, modified.getPersistenceState());
-        assertEquals(PersistenceState.DELETED, deleted.getPersistenceState());
-        assertEquals(PersistenceState.NEW, _new.getPersistenceState());
+		ClientMtTable2 mt21 = clientContext.newObject(ClientMtTable2.class);
+		ClientMtTable2 mt22 = clientContext.newObject(ClientMtTable2.class);
 
-        List<?> objects = child.performQuery(new SelectQuery(ClientMtTable1.class));
-        assertEquals("All but NEW object must have been included", 3, objects.size());
+		mt21.setTable1(mt11);
+		mt22.setTable1(mt11);
 
-        Iterator<?> it = objects.iterator();
-        while (it.hasNext()) {
-            ClientMtTable1 next = (ClientMtTable1) it.next();
-            assertEquals(PersistenceState.COMMITTED, next.getPersistenceState());
+		clientContext.commitChanges();
 
-            int id = Cayenne.intPKForObject(next);
-            if (id == modifiedid) {
-                assertEquals("a", next.getGlobalAttribute1());
-            }
-        }
-    }
+		final ObjectContext child = runtime.newContext(clientContext);
 
-    @Test
-    public void testPrefetchingToOne() throws Exception {
-        final ClientMtTable1 mt11 = clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        ClientMtTable2 mt21 = clientContext.newObject(ClientMtTable2.class);
-        ClientMtTable2 mt22 = clientContext.newObject(ClientMtTable2.class);
+		SelectQuery<ClientMtTable1> q = new SelectQuery<ClientMtTable1>(
+				ClientMtTable1.class);
+		q.addOrdering("globalAttribute1", SortOrder.ASCENDING);
+		q.addPrefetch(ClientMtTable1.TABLE2ARRAY_PROPERTY);
 
-        mt21.setTable1(mt11);
-        mt22.setTable1(mt11);
+		final List<ClientMtTable1> results = child.select(q);
 
-        clientContext.commitChanges();
+		queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
 
-        final ObjectContext child = runtime.newContext(clientContext);
+			public void execute() {
+				ClientMtTable1 o1 = results.get(0);
+				assertEquals(PersistenceState.COMMITTED,
+						o1.getPersistenceState());
+				assertSame(child, o1.getObjectContext());
 
-        SelectQuery q = new SelectQuery(ClientMtTable2.class);
-        q.addPrefetch(ClientMtTable2.TABLE1_PROPERTY);
+				List<ClientMtTable2> children1 = o1.getTable2Array();
 
-        final List<?> results = child.performQuery(q);
+				assertEquals(2, children1.size());
+				Iterator<ClientMtTable2> it = children1.iterator();
+				while (it.hasNext()) {
+					ClientMtTable2 o = it.next();
+					assertEquals(PersistenceState.COMMITTED,
+							o.getPersistenceState());
+					assertSame(child, o.getObjectContext());
 
-        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
+					assertEquals(o1, o.getTable1());
+				}
 
-            public void execute() {
-                assertEquals(2, results.size());
-                Iterator<?> it = results.iterator();
-                while (it.hasNext()) {
-                    ClientMtTable2 o = (ClientMtTable2) it.next();
-                    assertEquals(PersistenceState.COMMITTED, o.getPersistenceState());
-                    assertSame(child, o.getObjectContext());
+				ClientMtTable1 o2 = results.get(1);
+				assertEquals(PersistenceState.COMMITTED,
+						o2.getPersistenceState());
+				assertSame(child, o2.getObjectContext());
 
-                    ClientMtTable1 o1 = o.getTable1();
-                    assertNotNull(o1);
-                    assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
-                    assertSame(child, o1.getObjectContext());
-                    assertEquals(mt11.getObjectId(), o1.getObjectId());
-                }
-            }
-        });
-    }
+				List<?> children2 = o2.getTable2Array();
 
-    @Test
-    public void testPrefetchingToMany() throws Exception {
-        ClientMtTable1 mt11 = clientContext.newObject(ClientMtTable1.class);
-        mt11.setGlobalAttribute1("1");
+				assertEquals(0, children2.size());
+			}
+		});
+	}
 
-        ClientMtTable1 mt12 = clientContext.newObject(ClientMtTable1.class);
-        mt12.setGlobalAttribute1("2");
+	@Test
+	public void testDeleteNew() throws Exception {
+		ObjectContext child = runtime.newContext(clientContext);
 
-        ClientMtTable2 mt21 = clientContext.newObject(ClientMtTable2.class);
-        ClientMtTable2 mt22 = clientContext.newObject(ClientMtTable2.class);
+		ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
+		clientContext.commitChanges();
 
-        mt21.setTable1(mt11);
-        mt22.setTable1(mt11);
+		ClientMtTable2 p = child.newObject(ClientMtTable2.class);
+		ClientMtTable1 aChild = (ClientMtTable1) Cayenne.objectForPK(child,
+				a.getObjectId());
+		p.setGlobalAttribute("X");
+		aChild.addToTable2Array(p);
 
-        clientContext.commitChanges();
+		child.commitChangesToParent();
 
-        final ObjectContext child = runtime.newContext(clientContext);
+		child.deleteObjects(p);
+		aChild.removeFromTable2Array(p);
 
-        SelectQuery q = new SelectQuery(ClientMtTable1.class);
-        q.addOrdering("globalAttribute1", SortOrder.ASCENDING);
-        q.addPrefetch(ClientMtTable1.TABLE2ARRAY_PROPERTY);
+		child.commitChangesToParent();
+	}
 
-        final List<?> results = child.performQuery(q);
+	/**
+	 * A test case for CAY-698 bug.
+	 */
+	@Test
+	public void testNullifyToOne() throws Exception {
+		ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
+		ClientMtTable2 b = clientContext.newObject(ClientMtTable2.class);
+		a.addToTable2Array(b);
 
-        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
+		clientContext.commitChanges();
 
-            public void execute() {
-                ClientMtTable1 o1 = (ClientMtTable1) results.get(0);
-                assertEquals(PersistenceState.COMMITTED, o1.getPersistenceState());
-                assertSame(child, o1.getObjectContext());
+		final ObjectContext child = runtime.newContext(clientContext);
+		ObjectContext childPeer = runtime.newContext(clientContext);
 
-                List<ClientMtTable2> children1 = o1.getTable2Array();
+		final ClientMtTable2 childP1 = (ClientMtTable2) Cayenne.objectForPK(
+				child, b.getObjectId());
 
-                assertEquals(2, children1.size());
-                Iterator<ClientMtTable2> it = children1.iterator();
-                while (it.hasNext()) {
-                    ClientMtTable2 o = it.next();
-                    assertEquals(PersistenceState.COMMITTED, o.getPersistenceState());
-                    assertSame(child, o.getObjectContext());
+		// trigger object creation in the peer nested DC
+		Cayenne.objectForPK(childPeer, b.getObjectId());
+		childP1.setTable1(null);
 
-                    assertEquals(o1, o.getTable1());
-                }
+		queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
 
-                ClientMtTable1 o2 = (ClientMtTable1) results.get(1);
-                assertEquals(PersistenceState.COMMITTED, o2.getPersistenceState());
-                assertSame(child, o2.getObjectContext());
+			public void execute() {
+				child.commitChangesToParent();
+				assertEquals(PersistenceState.COMMITTED,
+						childP1.getPersistenceState());
 
-                List<?> children2 = o2.getTable2Array();
+				ClientMtTable2 parentP1 = (ClientMtTable2) clientContext
+						.getGraphManager().getNode(childP1.getObjectId());
 
-                assertEquals(0, children2.size());
-            }
-        });
-    }
+				assertNotNull(parentP1);
+				assertEquals(PersistenceState.MODIFIED,
+						parentP1.getPersistenceState());
+				assertNull(parentP1.getTable1());
 
-    @Test
-    public void testDeleteNew() throws Exception {
-        ObjectContext child = runtime.newContext(clientContext);
+				// check that arc changes got recorded in the parent context
+				GraphDiff diffs = clientContext.internalGraphManager()
+						.getDiffs();
+				final int[] arcDiffs = new int[1];
 
-        ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
-        clientContext.commitChanges();
+				diffs.apply(new GraphChangeHandler() {
 
-        ClientMtTable2 p = child.newObject(ClientMtTable2.class);
-        ClientMtTable1 aChild = (ClientMtTable1) Cayenne.objectForPK(
-                child,
-                a.getObjectId());
-        p.setGlobalAttribute("X");
-        aChild.addToTable2Array(p);
+					public void arcCreated(Object nodeId, Object targetNodeId,
+							Object arcId) {
+						arcDiffs[0]++;
+					}
 
-        child.commitChangesToParent();
+					public void arcDeleted(Object nodeId, Object targetNodeId,
+							Object arcId) {
+						arcDiffs[0]--;
+					}
 
-        child.deleteObjects(p);
-        aChild.removeFromTable2Array(p);
+					public void nodeCreated(Object nodeId) {
 
-        child.commitChangesToParent();
-    }
+					}
 
-    /**
-     * A test case for CAY-698 bug.
-     */
-    @Test
-    public void testNullifyToOne() throws Exception {
-        ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
-        ClientMtTable2 b = clientContext.newObject(ClientMtTable2.class);
-        a.addToTable2Array(b);
+					public void nodeIdChanged(Object nodeId, Object newId) {
+					}
 
-        clientContext.commitChanges();
+					public void nodePropertyChanged(Object nodeId,
+							String property, Object oldValue, Object newValue) {
+					}
 
-        final ObjectContext child = runtime.newContext(clientContext);
-        ObjectContext childPeer = runtime.newContext(clientContext);
+					public void nodeRemoved(Object nodeId) {
 
-        final ClientMtTable2 childP1 = (ClientMtTable2) Cayenne.objectForPK(
-                child,
-                b.getObjectId());
+					}
+				});
 
-        // trigger object creation in the peer nested DC
-        Cayenne.objectForPK(childPeer, b.getObjectId());
-        childP1.setTable1(null);
+				assertEquals(-2, arcDiffs[0]);
+			}
+		});
+	}
 
-        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
+	@Test
+	public void testCommitChangesToParent() throws Exception {
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.commitChanges();
 
-            public void execute() {
-                child.commitChangesToParent();
-                assertEquals(PersistenceState.COMMITTED, childP1.getPersistenceState());
+		final ObjectContext child = runtime.newContext(clientContext);
 
-                ClientMtTable2 parentP1 = (ClientMtTable2) clientContext
-                        .getGraphManager()
-                        .getNode(childP1.getObjectId());
+		SelectQuery<ClientMtTable1> query = new SelectQuery<ClientMtTable1>(
+				ClientMtTable1.class);
+		List<ClientMtTable1> objects = child.select(query);
 
-                assertNotNull(parentP1);
-                assertEquals(PersistenceState.MODIFIED, parentP1.getPersistenceState());
-                assertNull(parentP1.getTable1());
+		assertEquals(4, objects.size());
 
-                // check that arc changes got recorded in the parent context
-                GraphDiff diffs = clientContext.internalGraphManager().getDiffs();
-                final int[] arcDiffs = new int[1];
+		final ClientMtTable1 childNew = child.newObject(ClientMtTable1.class);
+		childNew.setGlobalAttribute1("NNN");
 
-                diffs.apply(new GraphChangeHandler() {
+		final ClientMtTable1 childModified = objects.get(0);
+		childModified.setGlobalAttribute1("MMM");
 
-                    public void arcCreated(
-                            Object nodeId,
-                            Object targetNodeId,
-                            Object arcId) {
-                        arcDiffs[0]++;
-                    }
-
-                    public void arcDeleted(
-                            Object nodeId,
-                            Object targetNodeId,
-                            Object arcId) {
-                        arcDiffs[0]--;
-                    }
-
-                    public void nodeCreated(Object nodeId) {
-
-                    }
+		final ClientMtTable1 childCommitted = objects.get(1);
 
-                    public void nodeIdChanged(Object nodeId, Object newId) {
-                    }
+		final ClientMtTable1 childHollow = objects.get(3);
+		child.invalidateObjects(childHollow);
 
-                    public void nodePropertyChanged(
-                            Object nodeId,
-                            String property,
-                            Object oldValue,
-                            Object newValue) {
-                    }
+		queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
 
-                    public void nodeRemoved(Object nodeId) {
+			public void execute() {
+				child.commitChangesToParent();
 
-                    }
-                });
+				// * all modified child objects must be in committed state now
+				// * all modifications should be propagated to the parent
+				// * no actual commit should occur.
 
-                assertEquals(-2, arcDiffs[0]);
-            }
-        });
-    }
+				assertEquals(PersistenceState.COMMITTED,
+						childNew.getPersistenceState());
+				assertEquals(PersistenceState.COMMITTED,
+						childModified.getPersistenceState());
+				assertEquals(PersistenceState.COMMITTED,
+						childCommitted.getPersistenceState());
+				assertEquals(PersistenceState.HOLLOW,
+						childHollow.getPersistenceState());
 
-    @Test
-    public void testCommitChangesToParent() throws Exception {
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.commitChanges();
+				ClientMtTable1 parentNew = (ClientMtTable1) clientContext
+						.getGraphManager().getNode(childNew.getObjectId());
+				final ClientMtTable1 parentModified = (ClientMtTable1) clientContext
+						.getGraphManager().getNode(childModified.getObjectId());
+				ClientMtTable1 parentCommitted = (ClientMtTable1) clientContext
+						.getGraphManager()
+						.getNode(childCommitted.getObjectId());
+				ClientMtTable1 parentHollow = (ClientMtTable1) clientContext
+						.getGraphManager().getNode(childHollow.getObjectId());
 
-        final ObjectContext child = runtime.newContext(clientContext);
+				assertNotNull(parentNew);
+				assertEquals(PersistenceState.NEW,
+						parentNew.getPersistenceState());
+				assertEquals("NNN", parentNew.getGlobalAttribute1());
 
-        SelectQuery query = new SelectQuery(ClientMtTable1.class);
-        List<?> objects = child.performQuery(query);
+				assertNotNull(parentModified);
+				assertEquals(PersistenceState.MODIFIED,
+						parentModified.getPersistenceState());
+				assertEquals("MMM", parentModified.getGlobalAttribute1());
 
-        assertEquals(4, objects.size());
+				assertNotNull(parentCommitted);
+				assertEquals(PersistenceState.COMMITTED,
+						parentCommitted.getPersistenceState());
 
-        final ClientMtTable1 childNew = child.newObject(ClientMtTable1.class);
-        childNew.setGlobalAttribute1("NNN");
+				assertNotNull(parentHollow);
 
-        final ClientMtTable1 childModified = (ClientMtTable1) objects.get(0);
-        childModified.setGlobalAttribute1("MMM");
+				// check that arc changes got recorded in the parent context
+				GraphDiff diffs = clientContext.internalGraphManager()
+						.getDiffs();
 
-        final ClientMtTable1 childCommitted = (ClientMtTable1) objects.get(1);
+				final int[] modifiedProperties = new int[1];
 
-        final ClientMtTable1 childHollow = (ClientMtTable1) objects.get(3);
-        child.invalidateObjects(childHollow);
+				diffs.apply(new GraphChangeHandler() {
 
-        queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
+					@Override
+					public void arcCreated(Object nodeId, Object targetNodeId,
+							Object arcId) {
 
-            public void execute() {
-                child.commitChangesToParent();
+					}
 
-                // * all modified child objects must be in committed state now
-                // * all modifications should be propagated to the parent
-                // * no actual commit should occur.
+					@Override
+					public void arcDeleted(Object nodeId, Object targetNodeId,
+							Object arcId) {
 
-                assertEquals(PersistenceState.COMMITTED, childNew.getPersistenceState());
-                assertEquals(
-                        PersistenceState.COMMITTED,
-                        childModified.getPersistenceState());
-                assertEquals(
-                        PersistenceState.COMMITTED,
-                        childCommitted.getPersistenceState());
-                assertEquals(PersistenceState.HOLLOW, childHollow.getPersistenceState());
+					}
 
-                ClientMtTable1 parentNew = (ClientMtTable1) clientContext
-                        .getGraphManager()
-                        .getNode(childNew.getObjectId());
-                final ClientMtTable1 parentModified = (ClientMtTable1) clientContext
-                        .getGraphManager()
-                        .getNode(childModified.getObjectId());
-                ClientMtTable1 parentCommitted = (ClientMtTable1) clientContext
-                        .getGraphManager()
-                        .getNode(childCommitted.getObjectId());
-                ClientMtTable1 parentHollow = (ClientMtTable1) clientContext
-                        .getGraphManager()
-                        .getNode(childHollow.getObjectId());
+					@Override
+					public void nodeCreated(Object nodeId) {
 
-                assertNotNull(parentNew);
-                assertEquals(PersistenceState.NEW, parentNew.getPersistenceState());
-                assertEquals("NNN", parentNew.getGlobalAttribute1());
+					}
 
-                assertNotNull(parentModified);
-                assertEquals(
-                        PersistenceState.MODIFIED,
-                        parentModified.getPersistenceState());
-                assertEquals("MMM", parentModified.getGlobalAttribute1());
+					@Override
+					public void nodeIdChanged(Object nodeId, Object newId) {
+					}
 
-                assertNotNull(parentCommitted);
-                assertEquals(
-                        PersistenceState.COMMITTED,
-                        parentCommitted.getPersistenceState());
+					@Override
+					public void nodePropertyChanged(Object nodeId,
+							String property, Object oldValue, Object newValue) {
 
-                assertNotNull(parentHollow);
+						if (nodeId.equals(parentModified.getObjectId())) {
+							modifiedProperties[0]++;
+						}
+					}
 
-                // check that arc changes got recorded in the parent context
-                GraphDiff diffs = clientContext.internalGraphManager().getDiffs();
+					@Override
+					public void nodeRemoved(Object nodeId) {
 
-                final int[] modifiedProperties = new int[1];
+					}
+				});
 
-                diffs.apply(new GraphChangeHandler() {
+				assertEquals(1, modifiedProperties[0]);
+			}
+		});
+	}
 
-                    public void arcCreated(
-                            Object nodeId,
-                            Object targetNodeId,
-                            Object arcId) {
+	@Test
+	public void testCommitChangesToParentDeleted() throws Exception {
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.commitChanges();
 
-                    }
+		ObjectContext child = runtime.newContext(clientContext);
 
-                    public void arcDeleted(
-                            Object nodeId,
-                            Object targetNodeId,
-                            Object arcId) {
+		// make sure we fetch in predictable order
+		SelectQuery<ClientMtTable1> query = new SelectQuery<ClientMtTable1>(
+				ClientMtTable1.class);
+		List<ClientMtTable1> objects = child.select(query);
 
-                    }
+		assertEquals(4, objects.size());
 
-                    public void nodeCreated(Object nodeId) {
+		// delete AND modify
+		ClientMtTable1 childDeleted = objects.get(2);
+		child.deleteObjects(childDeleted);
+		childDeleted.setGlobalAttribute1("DDD");
 
-                    }
+		// don't block queries - on delete Cayenne may need to resolve delete
+		// rules via fetch
+		child.commitChangesToParent();
 
-                    public void nodeIdChanged(Object nodeId, Object newId) {
-                    }
+		// * all modified child objects must be in committed state now
+		// * all modifications should be propagated to the parent
+		// * no actual commit should occur.
 
-                    public void nodePropertyChanged(
-                            Object nodeId,
-                            String property,
-                            Object oldValue,
-                            Object newValue) {
+		assertEquals(PersistenceState.TRANSIENT,
+				childDeleted.getPersistenceState());
 
-                        if (nodeId.equals(parentModified.getObjectId())) {
-                            modifiedProperties[0]++;
-                        }
-                    }
+		ClientMtTable1 parentDeleted = (ClientMtTable1) clientContext
+				.getGraphManager().getNode(childDeleted.getObjectId());
 
-                    public void nodeRemoved(Object nodeId) {
+		assertNotNull(parentDeleted);
+		assertEquals(PersistenceState.DELETED,
+				parentDeleted.getPersistenceState());
+		assertEquals("DDD", parentDeleted.getGlobalAttribute1());
+	}
 
-                    }
-                });
+	/*
+	 * was added for CAY-1636
+	 */
+	@Test
+	public void testCAY1636() throws Exception {
 
-                assertEquals(1, modifiedProperties[0]);
-            }
-        });
-    }
+		ClientMtTooneMaster A = clientContext
+				.newObject(ClientMtTooneMaster.class);
+		clientContext.commitChanges();
 
-    @Test
-    public void testCommitChangesToParentDeleted() throws Exception {
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.commitChanges();
+		ClientMtTooneDep B = clientContext.newObject(ClientMtTooneDep.class);
+		A.setToDependent(B);
+		clientContext.commitChanges();
 
-        ObjectContext child = runtime.newContext(clientContext);
+		ObjectContext child = runtime.newContext(clientContext);
 
-        // make sure we fetch in predictable order
-        SelectQuery query = new SelectQuery(ClientMtTable1.class);
-        List<?> objects = child.performQuery(query);
+		SelectQuery<ClientMtTooneMaster> query = new SelectQuery<ClientMtTooneMaster>(
+				ClientMtTooneMaster.class);
+		List<ClientMtTooneMaster> objects = child.select(query);
 
-        assertEquals(4, objects.size());
+		assertEquals(1, objects.size());
 
-        // delete AND modify
-        ClientMtTable1 childDeleted = (ClientMtTable1) objects.get(2);
-        child.deleteObjects(childDeleted);
-        childDeleted.setGlobalAttribute1("DDD");
+		ClientMtTooneMaster childDeleted = (ClientMtTooneMaster) objects.get(0);
 
-        // don't block queries - on delete Cayenne may need to resolve delete rules via
-        // fetch
-        child.commitChangesToParent();
+		child.deleteObjects(childDeleted);
 
-        // * all modified child objects must be in committed state now
-        // * all modifications should be propagated to the parent
-        // * no actual commit should occur.
+		child.commitChangesToParent();
 
-        assertEquals(PersistenceState.TRANSIENT, childDeleted.getPersistenceState());
+		ClientMtTooneMaster parentDeleted = (ClientMtTooneMaster) clientContext
+				.getGraphManager().getNode(childDeleted.getObjectId());
 
-        ClientMtTable1 parentDeleted = (ClientMtTable1) clientContext
-                .getGraphManager()
-                .getNode(childDeleted.getObjectId());
+		assertNotNull(parentDeleted);
+		assertEquals(PersistenceState.DELETED,
+				parentDeleted.getPersistenceState());
 
-        assertNotNull(parentDeleted);
-        assertEquals(PersistenceState.DELETED, parentDeleted.getPersistenceState());
-        assertEquals("DDD", parentDeleted.getGlobalAttribute1());
-    }
+		clientContext.commitChanges();
 
-    /*
-     * was added for CAY-1636
-     */
-    @Test
-    public void testCAY1636() throws Exception {
+		SelectQuery<ClientMtTooneMaster> query2 = new SelectQuery<ClientMtTooneMaster>(
+				ClientMtTooneMaster.class);
+		List<ClientMtTooneMaster> objects2 = child.select(query2);
 
-        ClientMtTooneMaster A = clientContext.newObject(ClientMtTooneMaster.class);
-        clientContext.commitChanges();
+		assertEquals(0, objects2.size());
 
-        ClientMtTooneDep B = clientContext.newObject(ClientMtTooneDep.class);
-        A.setToDependent(B);
-        clientContext.commitChanges();
+	}
 
-        ObjectContext child = runtime.newContext(clientContext);
+	@Test
+	public void testCAY1636_2() throws Exception {
 
-        SelectQuery query = new SelectQuery(ClientMtTooneMaster.class);
-        List<?> objects = child.performQuery(query);
+		ClientMtTooneMaster A = clientContext
+				.newObject(ClientMtTooneMaster.class);
+		clientContext.commitChanges();
 
-        assertEquals(1, objects.size());
+		ClientMtTooneDep B = clientContext.newObject(ClientMtTooneDep.class);
+		A.setToDependent(B);
+		clientContext.commitChanges();
 
-        ClientMtTooneMaster childDeleted = (ClientMtTooneMaster) objects.get(0);
+		ObjectContext child = runtime.newContext(clientContext);
 
-        child.deleteObjects(childDeleted);
+		SelectQuery<ClientMtTooneDep> queryB = new SelectQuery<ClientMtTooneDep>(
+				ClientMtTooneDep.class);
+		List<?> objectsB = child.performQuery(queryB);
 
-        child.commitChangesToParent();
+		assertEquals(1, objectsB.size());
 
-        ClientMtTooneMaster parentDeleted = (ClientMtTooneMaster) clientContext
-                .getGraphManager()
-                .getNode(childDeleted.getObjectId());
+		ClientMtTooneDep childBDeleted = (ClientMtTooneDep) objectsB.get(0);
+		child.deleteObjects(childBDeleted);
 
-        assertNotNull(parentDeleted);
-        assertEquals(PersistenceState.DELETED, parentDeleted.getPersistenceState());
+		SelectQuery<ClientMtTooneMaster> query = new SelectQuery<ClientMtTooneMaster>(
+				ClientMtTooneMaster.class);
+		List<ClientMtTooneMaster> objects = child.select(query);
 
-        clientContext.commitChanges();
+		assertEquals(1, objects.size());
 
-        SelectQuery query2 = new SelectQuery(ClientMtTooneMaster.class);
-        List<?> objects2 = child.performQuery(query2);
+		ClientMtTooneMaster childDeleted = objects.get(0);
 
-        assertEquals(0, objects2.size());
+		child.deleteObjects(childDeleted);
 
-    }
+		child.commitChangesToParent();
 
-    @Test
-    public void testCAY1636_2() throws Exception {
+		ClientMtTooneMaster parentDeleted = (ClientMtTooneMaster) clientContext
+				.getGraphManager().getNode(childDeleted.getObjectId());
 
-        ClientMtTooneMaster A = clientContext.newObject(ClientMtTooneMaster.class);
-        clientContext.commitChanges();
+		assertNotNull(parentDeleted);
+		assertEquals(PersistenceState.DELETED,
+				parentDeleted.getPersistenceState());
 
-        ClientMtTooneDep B = clientContext.newObject(ClientMtTooneDep.class);
-        A.setToDependent(B);
-        clientContext.commitChanges();
+		clientContext.commitChanges();
 
-        ObjectContext child = runtime.newContext(clientContext);
+		SelectQuery<ClientMtTooneMaster> query2 = new SelectQuery<ClientMtTooneMaster>(
+				ClientMtTooneMaster.class);
+		List<ClientMtTooneMaster> objects2 = child.select(query2);
 
-        SelectQuery queryB = new SelectQuery(ClientMtTooneDep.class);
-        List<?> objectsB = child.performQuery(queryB);
+		assertEquals(0, objects2.size());
 
-        assertEquals(1, objectsB.size());
+	}
 
-        ClientMtTooneDep childBDeleted = (ClientMtTooneDep) objectsB.get(0);
-        child.deleteObjects(childBDeleted);
+	@Test
+	public void testCommitChanges() throws Exception {
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.newObject(ClientMtTable1.class);
+		clientContext.commitChanges();
 
-        SelectQuery query = new SelectQuery(ClientMtTooneMaster.class);
-        List<?> objects = child.performQuery(query);
+		ObjectContext child = runtime.newContext(clientContext);
 
-        assertEquals(1, objects.size());
+		// make sure we fetch in predictable order
+		SelectQuery<ClientMtTable1> query = new SelectQuery<ClientMtTable1>(
+				ClientMtTable1.class);
+		List<ClientMtTable1> objects = child.select(query);
 
-        ClientMtTooneMaster childDeleted = (ClientMtTooneMaster) objects.get(0);
+		assertEquals(4, objects.size());
 
-        child.deleteObjects(childDeleted);
+		ClientMtTable1 childNew = child.newObject(ClientMtTable1.class);
+		childNew.setGlobalAttribute1("NNN");
 
-        child.commitChangesToParent();
+		ClientMtTable1 childModified = objects.get(0);
+		childModified.setGlobalAttribute1("MMM");
 
-        ClientMtTooneMaster parentDeleted = (ClientMtTooneMaster) clientContext
-                .getGraphManager()
-                .getNode(childDeleted.getObjectId());
+		ClientMtTable1 childCommitted = objects.get(1);
 
-        assertNotNull(parentDeleted);
-        assertEquals(PersistenceState.DELETED, parentDeleted.getPersistenceState());
+		// delete AND modify
+		ClientMtTable1 childDeleted = objects.get(2);
+		child.deleteObjects(childDeleted);
+		childDeleted.setGlobalAttribute1("DDD");
 
-        clientContext.commitChanges();
+		ClientMtTable1 childHollow = objects.get(3);
+		child.invalidateObjects(childHollow);
 
-        SelectQuery query2 = new SelectQuery(ClientMtTooneMaster.class);
-        List<?> objects2 = child.performQuery(query2);
+		child.commitChanges();
 
-        assertEquals(0, objects2.size());
+		assertEquals(PersistenceState.COMMITTED, childNew.getPersistenceState());
+		assertEquals(PersistenceState.COMMITTED,
+				childModified.getPersistenceState());
+		assertEquals(PersistenceState.COMMITTED,
+				childCommitted.getPersistenceState());
+		assertEquals(PersistenceState.TRANSIENT,
+				childDeleted.getPersistenceState());
+		assertEquals(PersistenceState.HOLLOW, childHollow.getPersistenceState());
 
-    }
+		ClientMtTable1 parentNew = (ClientMtTable1) clientContext
+				.getGraphManager().getNode(childNew.getObjectId());
+		ClientMtTable1 parentModified = (ClientMtTable1) clientContext
+				.getGraphManager().getNode(childModified.getObjectId());
+		ClientMtTable1 parentCommitted = (ClientMtTable1) clientContext
+				.getGraphManager().getNode(childCommitted.getObjectId());
+		ClientMtTable1 parentDeleted = (ClientMtTable1) clientContext
+				.getGraphManager().getNode(childDeleted.getObjectId());
+		ClientMtTable1 parentHollow = (ClientMtTable1) clientContext
+				.getGraphManager().getNode(childHollow.getObjectId());
 
-    @Test
-    public void testCommitChanges() throws Exception {
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.newObject(ClientMtTable1.class);
-        clientContext.commitChanges();
+		assertNotNull(parentNew);
+		assertEquals(PersistenceState.COMMITTED,
+				parentNew.getPersistenceState());
+		assertEquals("NNN", parentNew.getGlobalAttribute1());
 
-        ObjectContext child = runtime.newContext(clientContext);
+		assertNotNull(parentModified);
+		assertEquals(PersistenceState.COMMITTED,
+				parentModified.getPersistenceState());
+		assertEquals("MMM", parentModified.getGlobalAttribute1());
 
-        // make sure we fetch in predictable order
-        SelectQuery query = new SelectQuery(ClientMtTable1.class);
-        List<?> objects = child.performQuery(query);
+		assertNull("Deleted object should not be registered.", parentDeleted);
 
-        assertEquals(4, objects.size());
+		assertNotNull(parentCommitted);
+		assertEquals(PersistenceState.COMMITTED,
+				parentCommitted.getPersistenceState());
 
-        ClientMtTable1 childNew = child.newObject(ClientMtTable1.class);
-        childNew.setGlobalAttribute1("NNN");
+		assertNotNull(parentHollow);
+	}
 
-        ClientMtTable1 childModified = (ClientMtTable1) objects.get(0);
-        childModified.setGlobalAttribute1("MMM");
+	@Test
+	public void testAddRemove() throws Exception {
+		ObjectContext child = runtime.newContext(clientContext);
 
-        ClientMtTable1 childCommitted = (ClientMtTable1) objects.get(1);
+		ClientMtTable1 a = child.newObject(ClientMtTable1.class);
+		a.setGlobalAttribute1("X");
+		child.commitChanges();
 
-        // delete AND modify
-        ClientMtTable1 childDeleted = (ClientMtTable1) objects.get(2);
-        child.deleteObjects(childDeleted);
-        childDeleted.setGlobalAttribute1("DDD");
+		ClientMtTable2 p1 = child.newObject(ClientMtTable2.class);
+		p1.setGlobalAttribute("P1");
+		a.addToTable2Array(p1);
 
-        ClientMtTable1 childHollow = (ClientMtTable1) objects.get(3);
-        child.invalidateObjects(childHollow);
+		ClientMtTable2 p2 = child.newObject(ClientMtTable2.class);
+		p2.setGlobalAttribute("P2");
+		a.addToTable2Array(p2);
 
-        child.commitChanges();
+		a.removeFromTable2Array(p2);
 
-        assertEquals(PersistenceState.COMMITTED, childNew.getPersistenceState());
-        assertEquals(PersistenceState.COMMITTED, childModified.getPersistenceState());
-        assertEquals(PersistenceState.COMMITTED, childCommitted.getPersistenceState());
-        assertEquals(PersistenceState.TRANSIENT, childDeleted.getPersistenceState());
-        assertEquals(PersistenceState.HOLLOW, childHollow.getPersistenceState());
+		// this causes an error on commit
+		child.deleteObjects(p2);
 
-        ClientMtTable1 parentNew = (ClientMtTable1) clientContext
-                .getGraphManager()
-                .getNode(childNew.getObjectId());
-        ClientMtTable1 parentModified = (ClientMtTable1) clientContext
-                .getGraphManager()
-                .getNode(childModified.getObjectId());
-        ClientMtTable1 parentCommitted = (ClientMtTable1) clientContext
-                .getGraphManager()
-                .getNode(childCommitted.getObjectId());
-        ClientMtTable1 parentDeleted = (ClientMtTable1) clientContext
-                .getGraphManager()
-                .getNode(childDeleted.getObjectId());
-        ClientMtTable1 parentHollow = (ClientMtTable1) clientContext
-                .getGraphManager()
-                .getNode(childHollow.getObjectId());
+		child.commitChangesToParent();
+
+	}
+
+	@Test
+	public void testChangeRel() throws Exception {
+		ObjectContext child = runtime.newContext(clientContext);
+
+		ClientMtTable1 a = child.newObject(ClientMtTable1.class);
+		ClientMtTable2 b = child.newObject(ClientMtTable2.class);
+		child.commitChanges();
 
-        assertNotNull(parentNew);
-        assertEquals(PersistenceState.COMMITTED, parentNew.getPersistenceState());
-        assertEquals("NNN", parentNew.getGlobalAttribute1());
+		assertEquals(PersistenceState.COMMITTED, a.getPersistenceState());
 
-        assertNotNull(parentModified);
-        assertEquals(PersistenceState.COMMITTED, parentModified.getPersistenceState());
-        assertEquals("MMM", parentModified.getGlobalAttribute1());
+		a.addToTable2Array(b);
+		assertEquals(PersistenceState.MODIFIED, a.getPersistenceState());
+
+		child.commitChangesToParent();
+		ClientMtTable1 parentA = (ClientMtTable1) clientContext
+				.getGraphManager().getNode(a.getObjectId());
+		assertEquals(PersistenceState.COMMITTED, a.getPersistenceState());
+		assertEquals(PersistenceState.MODIFIED, parentA.getPersistenceState());
+		assertEquals(1, parentA.getTable2Array().size());
+
+		clientContext.commitChanges();
+		assertEquals(PersistenceState.COMMITTED, parentA.getPersistenceState());
+
+		a.removeFromTable2Array(b);
+		assertEquals(PersistenceState.MODIFIED, a.getPersistenceState());
+
+		child.commitChangesToParent();
+		assertEquals(PersistenceState.COMMITTED, a.getPersistenceState());
+		assertEquals(PersistenceState.MODIFIED, parentA.getPersistenceState());
+		assertEquals(0, parentA.getTable2Array().size());
+	}
+
+	@Test
+	public void testCAY1183() throws Exception {
+		ClientMtTable1 parentMt = clientContext.newObject(ClientMtTable1.class);
+		clientContext.commitChanges();
+
+		ObjectContext child = runtime.newContext(clientContext);
+		ClientMtTable1 childMt = (ClientMtTable1) Cayenne.objectForPK(child,
+				parentMt.getObjectId());
+		childMt.setGlobalAttribute1("1183");
+		ClientMtTable2 childMt2 = child.newObject(ClientMtTable2.class);
+		childMt2.setGlobalAttribute("1183");
+		childMt2.setTable1(childMt);
 
-        assertNull("Deleted object should not be registered.", parentDeleted);
+		child.commitChangesToParent();
 
-        assertNotNull(parentCommitted);
-        assertEquals(PersistenceState.COMMITTED, parentCommitted.getPersistenceState());
+		// fetching other relationship... this fails per CAY-1183
+		childMt2.getTable3();
+	}
 
-        assertNotNull(parentHollow);
-    }
+	/**
+	 * CAY1714
+	 */
+	@Test
+	public void testQueriesOnTemporaryObject() throws Exception {
+		ObjectContext clientContext = runtime
+				.newContext((DataChannel) this.clientContext);
+		ClientMtTable1 parentMt = clientContext.newObject(ClientMtTable1.class);
 
-    @Test
-    public void testAddRemove() throws Exception {
-        ObjectContext child = runtime.newContext(clientContext);
+		ObjectContext childContext = runtime
+				.newContext((DataChannel) clientContext);
+		ClientMtTable1 childMt = (ClientMtTable1) Cayenne.objectForPK(
+				childContext, parentMt.getObjectId());
+		childMt.setGlobalAttribute1("1183");
+		ClientMtTable2 childMt2 = childContext.newObject(ClientMtTable2.class);
+		childMt2.setGlobalAttribute("1183");
+		childMt2.setTable1(childMt);
 
-        ClientMtTable1 a = child.newObject(ClientMtTable1.class);
-        a.setGlobalAttribute1("X");
-        child.commitChanges();
+		childContext.commitChangesToParent();
 
-        ClientMtTable2 p1 = child.newObject(ClientMtTable2.class);
-        p1.setGlobalAttribute("P1");
-        a.addToTable2Array(p1);
+		assertNull(childMt2.getTable3());
+	}
 
-        ClientMtTable2 p2 = child.newObject(ClientMtTable2.class);
-        p2.setGlobalAttribute("P2");
-        a.addToTable2Array(p2);
+	@Test
+	public void testCAY1194() throws Exception {
+		ClientMtTable1 parentMt = clientContext.newObject(ClientMtTable1.class);
+		ObjectContext child = runtime.newContext(clientContext);
 
-        a.removeFromTable2Array(p2);
+		ClientMtTable2 childMt2 = child.newObject(ClientMtTable2.class);
+		childMt2.setGlobalAttribute("222");
 
-        // this causes an error on commit
-        child.deleteObjects(p2);
+		ClientMtTable1 localParentMt = child.localObject(parentMt);
+		assertEquals(0, parentMt.getTable2Array().size());
+		assertEquals(0, localParentMt.getTable2Array().size());
 
-        child.commitChangesToParent();
+		childMt2.setTable1(localParentMt);
 
-    }
-
-    @Test
-    public void testChangeRel() throws Exception {
-        ObjectContext child = runtime.newContext(clientContext);
-
-        ClientMtTable1 a = child.newObject(ClientMtTable1.class);
-        ClientMtTable2 b = child.newObject(ClientMtTable2.class);
-        child.commitChanges();
+		assertEquals(0, parentMt.getTable2Array().size());
+		assertEquals(1, localParentMt.getTable2Array().size());
 
-        assertEquals(PersistenceState.COMMITTED, a.getPersistenceState());
+		assertEquals(localParentMt.getTable2Array().get(0).getObjectContext(),
+				child);
 
-        a.addToTable2Array(b);
-        assertEquals(PersistenceState.MODIFIED, a.getPersistenceState());
-
-        child.commitChangesToParent();
-        ClientMtTable1 parentA = (ClientMtTable1) clientContext
-                .getGraphManager()
-                .getNode(a.getObjectId());
-        assertEquals(PersistenceState.COMMITTED, a.getPersistenceState());
-        assertEquals(PersistenceState.MODIFIED, parentA.getPersistenceState());
-        assertEquals(1, parentA.getTable2Array().size());
-
-        clientContext.commitChanges();
-        assertEquals(PersistenceState.COMMITTED, parentA.getPersistenceState());
-
-        a.removeFromTable2Array(b);
-        assertEquals(PersistenceState.MODIFIED, a.getPersistenceState());
-
-        child.commitChangesToParent();
-        assertEquals(PersistenceState.COMMITTED, a.getPersistenceState());
-        assertEquals(PersistenceState.MODIFIED, parentA.getPersistenceState());
-        assertEquals(0, parentA.getTable2Array().size());
-    }
-
-    @Test
-    public void testCAY1183() throws Exception {
-        ClientMtTable1 parentMt = clientContext.newObject(ClientMtTable1.class);
-        clientContext.commitChanges();
-
-        ObjectContext child = runtime.newContext(clientContext);
-        ClientMtTable1 childMt = (ClientMtTable1) Cayenne.objectForPK(
-                child,
-                parentMt.getObjectId());
-        childMt.setGlobalAttribute1("1183");
-        ClientMtTable2 childMt2 = child.newObject(ClientMtTable2.class);
-        childMt2.setGlobalAttribute("1183");
-        childMt2.setTable1(childMt);
-
-        child.commitChangesToParent();
-
-        // fetching other relationship... this fails per CAY-1183
-        childMt2.getTable3();
-    }
-    
-    /**
-     * CAY1714
-     */
-    @Test
-    public void testQueriesOnTemporaryObject() throws Exception {
-        ObjectContext clientContext = runtime.newContext((DataChannel) this.clientContext);
-        ClientMtTable1 parentMt = clientContext.newObject(ClientMtTable1.class);
+		child.commitChangesToParent();
+		assertEquals(1, parentMt.getTable2Array().size());
+		assertEquals(parentMt.getTable2Array().get(0).getObjectContext(),
+				clientContext);
+	}
 
-        ObjectContext childContext = runtime.newContext((DataChannel) clientContext);
-        ClientMtTable1 childMt = (ClientMtTable1) Cayenne.objectForPK(childContext, parentMt.getObjectId());
-        childMt.setGlobalAttribute1("1183");
-        ClientMtTable2 childMt2 = childContext.newObject(ClientMtTable2.class);
-        childMt2.setGlobalAttribute("1183");
-        childMt2.setTable1(childMt);
+	@Test
+	public void testCommitChangesToParentOneToMany() throws Exception {
+		ObjectContext child = runtime.newContext(clientContext);
 
-        childContext.commitChangesToParent();
+		ClientMtTable1 master = child.newObject(ClientMtTable1.class);
+		ClientMtTable2 dep = child.newObject(ClientMtTable2.class);
+		master.addToTable2Array(dep);
 
-        assertNull(childMt2.getTable3());
-    }
+		child.commitChangesToParent();
 
-    @Test
-    public void testCAY1194() throws Exception {
-        ClientMtTable1 parentMt = clientContext.newObject(ClientMtTable1.class);
-        ObjectContext child = runtime.newContext(clientContext);
+		ClientMtTable1 masterParent = (ClientMtTable1) clientContext
+				.getGraphManager().getNode(master.getObjectId());
+		ClientMtTable2 depParent = (ClientMtTable2) clientContext
+				.getGraphManager().getNode(dep.getObjectId());
 
-        ClientMtTable2 childMt2 = child.newObject(ClientMtTable2.class);
-        childMt2.setGlobalAttribute("222");
+		assertNotNull(masterParent);
+		assertNotNull(depParent);
 
-        ClientMtTable1 localParentMt = child.localObject(parentMt);
-        assertEquals(0, parentMt.getTable2Array().size());
-        assertEquals(0, localParentMt.getTable2Array().size());
+		assertSame(masterParent, depParent.getTable1());
+		assertTrue(masterParent.getTable2Array().contains(depParent));
 
-        childMt2.setTable1(localParentMt);
+		// check that arc changes got recorded in the parent context
+		GraphDiff diffs = clientContext.internalGraphManager().getDiffs();
 
-        assertEquals(0, parentMt.getTable2Array().size());
-        assertEquals(1, localParentMt.getTable2Array().size());
+		final int[] arcDiffs = new int[1];
+		final int[] newNodes = new int[1];
 
-        assertEquals(localParentMt.getTable2Array().get(0).getObjectContext(), child);
+		diffs.apply(new GraphChangeHandler() {
 
-        child.commitChangesToParent();
-        assertEquals(1, parentMt.getTable2Array().size());
-        assertEquals(parentMt.getTable2Array().get(0).getObjectContext(), clientContext);
-    }
+			public void arcCreated(Object nodeId, Object targetNodeId,
+					Object arcId) {
+				arcDiffs[0]++;
+			}
 
-    @Test
-    public void testCommitChangesToParentOneToMany() throws Exception {
-        ObjectContext child = runtime.newContext(clientContext);
-
-        ClientMtTable1 master = child.newObject(ClientMtTable1.class);
-        ClientMtTable2 dep = child.newObject(ClientMtTable2.class);
-        master.addToTable2Array(dep);
+			public void arcDeleted(Object nodeId, Object targetNodeId,
+					Object arcId) {
+				arcDiffs[0]--;
+			}
 
-        child.commitChangesToParent();
+			public void nodeCreated(Object nodeId) {
+				newNodes[0]++;
+			}
 
-        ClientMtTable1 masterParent = (ClientMtTable1) clientContext
-                .getGraphManager()
-                .getNode(master.getObjectId());
-        ClientMtTable2 depParent = (ClientMtTable2) clientContext
-                .getGraphManager()
-                .getNode(dep.getObjectId());
-
-        assertNotNull(masterParent);
-        assertNotNull(depParent);
-
-        assertSame(masterParent, depParent.getTable1());
-        assertTrue(masterParent.getTable2Array().contains(depParent));
-
-        // check that arc changes got recorded in the parent context
-        GraphDiff diffs = clientContext.internalGraphManager().getDiffs();
-
-        final int[] arcDiffs = new int[1];
-        final int[] newNodes = new int[1];
-
-        diffs.apply(new GraphChangeHandler() {
-
-            public void arcCreated(Object nodeId, Object targetNodeId, Object arcId) {
-                arcDiffs[0]++;
-            }
-
-            public void arcDeleted(Object nodeId, Object targetNodeId, Object arcId) {
-                arcDiffs[0]--;
-            }
-
-            public void nodeCreated(Object nodeId) {
-                newNodes[0]++;
-            }
-
-            public void nodeIdChanged(Object nodeId, Object newId) {
-            }
+			public void nodeIdChanged(Object nodeId, Object newId) {
+			}
 
-            public void nodePropertyChanged(
-                    Object nodeId,
-                    String property,
-                    Object oldValue,
-                    Object newValue) {
-            }
+			public void nodePropertyChanged(Object nodeId, String property,
+					Object oldValue, Object newValue) {
+			}
 
-            public void nodeRemoved(Object nodeId) {
-                newNodes[0]--;
-            }
-        });
+			public void nodeRemoved(Object nodeId) {
+				newNodes[0]--;
+			}
+		});
 
-        assertEquals(2, newNodes[0]);
-        assertEquals(2, arcDiffs[0]);
-    }
+		assertEquals(2, newNodes[0]);
+		assertEquals(2, arcDiffs[0]);
+	}
 
-    @Test
-    public void testCommitChangesToParentOneToOne() throws Exception {
-        ObjectContext child = runtime.newContext(clientContext);
+	@Test
+	public void testCommitChangesToParentOneToOne() throws Exception {
+		ObjectContext child = runtime.newContext(clientContext);
 
-        ClientMtTooneMaster master = child.newObject(ClientMtTooneMaster.class);
-        ClientMtTooneDep dep = child.newObject(ClientMtTooneDep.class);
-        master.setToDependent(dep);
+		ClientMtTooneMaster master = child.newObject(ClientMtTooneMaster.class);
+		ClientMtTooneDep dep = child.newObject(ClientMtTooneDep.class);
+		master.setToDependent(dep);
 
-        child.commitChangesToParent();
+		child.commitChangesToParent();
 
-        ClientMtTooneMaster masterParent = (ClientMtTooneMaster) clientContext
-                .getGraphManager()
-                .getNode(master.getObjectId());
-        ClientMtTooneDep depParent = (ClientMtTooneDep) clientContext
-                .getGraphManager()
-                .getNode(dep.getObjectId());
+		ClientMtTooneMaster masterParent = (ClientMtTooneMaster) clientContext
+				.getGraphManager().getNode(master.getObjectId());
+		ClientMtTooneDep depParent = (ClientMtTooneDep) clientContext
+				.getGraphManager().getNode(dep.getObjectId());
 
-        assertNotNull(masterParent);
-        assertNotNull(depParent);
+		assertNotNull(masterParent);
+		assertNotNull(depParent);
 
-        assertSame(masterParent, depParent.getToMaster());
-        assertSame(depParent, masterParent.getToDependent());
+		assertSame(masterParent, depParent.getToMaster());
+		assertSame(depParent, masterParent.getToDependent());
 
-        // check that arc changes got recorded in the parent context
-        GraphDiff diffs = clientContext.internalGraphManager().getDiffs();
+		// check that arc changes got recorded in the parent context
+		GraphDiff diffs = clientContext.internalGraphManager().getDiffs();
 
-        final int[] arcDiffs = new int[1];
-        final int[] newNodes = new int[1];
+		final int[] arcDiffs = new int[1];
+		final int[] newNodes = new int[1];
 
-        diffs.apply(new GraphChangeHandler() {
+		diffs.apply(new GraphChangeHandler() {
 
-            public void arcCreated(Object nodeId, Object targetNodeId, Object arcId) {
-                arcDiffs[0]++;
-            }
+			public void arcCreated(Object nodeId, Object targetNodeId,
+					Object arcId) {
+				arcDiffs[0]++;
+			}
 
-            public void arcDeleted(Object nodeId, Object targetNodeId, Object arcId) {
-                arcDiffs[0]--;
-            }
+			public void arcDeleted(Object nodeId, Object targetNodeId,
+					Object arcId) {
+				arcDiffs[0]--;
+			}
 
-            public void nodeCreated(Object nodeId) {
-                newNodes[0]++;
-            }
+			public void nodeCreated(Object nodeId) {
+				newNodes[0]++;
+			}
 
-            public void nodeIdChanged(Object nodeId, Object newId) {
-            }
+			public void nodeIdChanged(Object nodeId, Object newId) {
+			}
 
-            public void nodePropertyChanged(
-                    Object nodeId,
-                    String property,
-                    Object oldValue,
-                    Object newValue) {
-            }
+			public void nodePropertyChanged(Object nodeId, String property,
+					Object oldValue, Object newValue) {
+			}
 
-            public void nodeRemoved(Object nodeId) {
-                newNodes[0]--;
-            }
-        });
+			public void nodeRemoved(Object nodeId) {
+				newNodes[0]--;
+			}
+		});
 
-        assertEquals(2, newNodes[0]);
-        assertEquals(2, arcDiffs[0]);
-    }
+		assertEquals(2, newNodes[0]);
+		assertEquals(2, arcDiffs[0]);
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8990e655/cayenne-client/src/test/java/org/apache/cayenne/remote/MockMessage.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/MockMessage.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/MockMessage.java
deleted file mode 100644
index 0ed1de9..0000000
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/MockMessage.java
+++ /dev/null
@@ -1,50 +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.remote;
-
-import org.apache.cayenne.DataChannel;
-import org.apache.cayenne.remote.ClientMessage;
-
-public class MockMessage implements ClientMessage {
-
-    DataChannel lastChannel;
-
-    public MockMessage() {
-
-    }
-
-    public Object dispatch(DataChannel channel) {
-        this.lastChannel = channel;
-        return null;
-    }
-    
-    public DataChannel getLastChannel() {
-        return lastChannel;
-    }
-    
-    /**
-     * Returns a description of the type of message. In this case always "Mock message".
-     */
-    @Override
-    public String toString() {
-        return "Mock message";
-    }
-} 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8990e655/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
index 29eaf61..418841a 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
@@ -59,7 +59,7 @@ public class NestedObjectContextLocalIT extends RemoteCayenneCase {
     @Test
     public void testLocalCacheStaysLocal() {
 
-        SelectQuery query = new SelectQuery(ClientMtTable1.class);
+        SelectQuery<ClientMtTable1> query = new SelectQuery<ClientMtTable1>(ClientMtTable1.class);
         query.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE);
 
         BaseContext child1 = (BaseContext) runtime.newContext(clientContext);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8990e655/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
index 0eb0226..07cefec 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
@@ -78,7 +78,7 @@ public class ROPPrefetchToManyMapIT extends RemoteCayenneCase {
         
         context.performQuery(new RefreshQuery());
         
-        SelectQuery query = new SelectQuery(ClientMtMapToMany.class);
+        SelectQuery<ClientMtMapToMany> query = new SelectQuery<ClientMtMapToMany>(ClientMtMapToMany.class);
         query.addPrefetch("targets");
         
         final ClientMtMapToMany mapToMany = (ClientMtMapToMany) Cayenne.objectForQuery(context, query);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8990e655/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
index c0faac4..77f15f4 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteIncrementalFaultListIT.java
@@ -19,6 +19,10 @@
 
 package org.apache.cayenne.remote;
 
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+
 import org.apache.cayenne.CayenneContext;
 import org.apache.cayenne.Persistent;
 import org.apache.cayenne.di.Inject;
@@ -34,247 +38,246 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class RemoteIncrementalFaultListIT extends ClientCase {
 
-    private static final int COUNT = 25;
-
-    @Inject
-    private CayenneContext clientContext;
-
-    @Inject
-    private DBHelper dbHelper;
-
-    private TableHelper tMTTable;
-
-    private RemoteIncrementalFaultList list;
-    private SelectQuery query;
-
-    @Override
-    protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("MT_TABLE2");
-        dbHelper.deleteAll("MT_TABLE1");
-
-        tMTTable = new TableHelper(dbHelper, "MT_TABLE1");
-        tMTTable.setColumns("TABLE1_ID", "GLOBAL_ATTRIBUTE1", "SERVER_ATTRIBUTE1");
-    }
-
-    protected void createObjectsDataSet() throws Exception {
-        tMTTable.insert(1, "g1", "s1");
-        tMTTable.insert(2, "g2", "s2");
-        tMTTable.insert(3, "g3", "s3");
-        tMTTable.insert(4, "g4", "s4");
-        tMTTable.insert(5, "g5", "s5");
-        tMTTable.insert(6, "g6", "s6");
-        tMTTable.insert(7, "g7", "s7");
-        tMTTable.insert(8, "g8", "s8");
-        tMTTable.insert(9, "g9", "s9");
-        tMTTable.insert(10, "g10", "s10");
-        tMTTable.insert(11, "g11", "s11");
-        tMTTable.insert(12, "g12", "s12");
-        tMTTable.insert(13, "g13", "s13");
-        tMTTable.insert(14, "g14", "s14");
-        tMTTable.insert(15, "g15", "s15");
-        tMTTable.insert(16, "g16", "s16");
-        tMTTable.insert(17, "g17", "s17");
-        tMTTable.insert(18, "g18", "s18");
-        tMTTable.insert(19, "g19", "s19");
-        tMTTable.insert(20, "g20", "s20");
-        tMTTable.insert(21, "g21", "s21");
-        tMTTable.insert(22, "g22", "s22");
-        tMTTable.insert(23, "g23", "s23");
-        tMTTable.insert(24, "g24", "s24");
-        tMTTable.insert(25, "g25", "s25");
-    }
-
-    private void prepareList(int pageSize) throws Exception {
-
-        createObjectsDataSet();
-
-        query = new SelectQuery(ClientMtTable1.class);
-
-        // make sure total number of objects is not divisable
-        // by the page size, to test the last smaller page
-        query.setPageSize(pageSize);
-        query.addOrdering("db:" + MtTable1.TABLE1_ID_PK_COLUMN, SortOrder.ASCENDING);
-
-        list = new RemoteIncrementalFaultList(clientContext, query);
-    }
-
-    @Test
-    public void testSize() throws Exception {
-        prepareList(6);
-        assertEquals(COUNT, list.size());
-    }
-
-    @Test
-    public void testIteratorPageSize1() throws Exception {
-        doTestIterator(1);
-    }
-
-    @Test
-    public void testIteratorPageSize5() throws Exception {
-        // size divisiable by page size
-        doTestIterator(5);
-    }
-
-    @Test
-    public void testIteratorPageSize6() throws Exception {
-        // size not divisable by page size
-        doTestIterator(6);
-    }
-
-    @Test
-    public void testIteratorPageSize25() throws Exception {
-        // size equals to page size
-        doTestIterator(COUNT);
-    }
-
-    @Test
-    public void testIteratorPageSize26() throws Exception {
-        // size exceeding page size
-        doTestIterator(COUNT + 1);
-    }
-
-    @Test
-    public void testListIterator() throws Exception {
-        prepareList(6);
-        ListIterator<?> it = list.listIterator();
-
-        assertTrue(it.hasNext());
-
-        int counter = 0;
-        while (it.hasNext()) {
-            Object obj = it.next();
-            assertNotNull(obj);
-            assertTrue(obj instanceof Persistent);
-
-            // iterator must be resolved page by page
-            int expectedResolved = list.pageIndex(counter)
-                    * list.getPageSize()
-                    + list.getPageSize();
-            if (expectedResolved > list.size()) {
-                expectedResolved = list.size();
-            }
-
-            assertEquals(list.size() - expectedResolved, list.getUnfetchedObjects());
-
-            counter++;
-        }
-    }
-
-    @Test
-    public void testUnfetchedObjects() throws Exception {
-        prepareList(6);
-        assertEquals(COUNT - 6, list.getUnfetchedObjects());
-        list.get(7);
-        assertEquals(COUNT - 12, list.getUnfetchedObjects());
-        list.resolveAll();
-        assertEquals(0, list.getUnfetchedObjects());
-    }
-
-    @Test
-    public void testPageIndex() throws Exception {
-        prepareList(6);
-        assertEquals(0, list.pageIndex(0));
-        assertEquals(0, list.pageIndex(1));
-        assertEquals(1, list.pageIndex(6));
-
-        try {
-            assertEquals(13, list.pageIndex(82));
-            fail("Element index beyound array size must throw an IndexOutOfBoundsException.");
-        }
-        catch (IndexOutOfBoundsException ex) {
-            // exception expercted
-        }
-    }
-
-    @Test
-    public void testPagesRead1() throws Exception {
-        prepareList(6);
-        assertTrue(list.elements.get(0) instanceof ClientMtTable1);
-        assertSame(RemoteIncrementalFaultList.PLACEHOLDER, list.elements.get(8));
-
-        list.resolveInterval(5, 10);
-        assertTrue(list.elements.get(7) instanceof ClientMtTable1);
-
-        list.resolveAll();
-        assertTrue((list.elements.get(list.size() - 1)) instanceof ClientMtTable1);
-    }
-
-    @Test
-    public void testGet1() throws Exception {
-        prepareList(6);
-        assertTrue(list.elements.get(0) instanceof ClientMtTable1);
-        assertSame(RemoteIncrementalFaultList.PLACEHOLDER, list.elements.get(8));
-
-        Object a = list.get(8);
-
-        assertNotNull(a);
-        assertTrue(a instanceof ClientMtTable1);
-        assertTrue(list.elements.get(8) instanceof ClientMtTable1);
-    }
-
-    @Test
-    public void testIndexOf() throws Exception {
-        prepareList(6);
-
-        Expression qual = ExpressionFactory.matchExp(
-                ClientMtTable1.GLOBAL_ATTRIBUTE1_PROPERTY,
-                "g20");
-        SelectQuery query = new SelectQuery(ClientMtTable1.class, qual);
-        List<?> artists = list.context.performQuery(query);
-
-        assertEquals(1, artists.size());
-
-        ClientMtTable1 row = (ClientMtTable1) artists.get(0);
-        assertEquals(19, list.indexOf(row));
-        assertEquals(-1, list.indexOf(list.context.newObject(ClientMtTable1.class)));
-    }
-
-    @Test
-    public void testLastIndexOf() throws Exception {
-        prepareList(6);
-        Expression qual = ExpressionFactory.matchExp(
-                ClientMtTable1.GLOBAL_ATTRIBUTE1_PROPERTY,
-                "g20");
-        SelectQuery query = new SelectQuery(ClientMtTable1.class, qual);
-        List<?> objects = list.context.performQuery(query);
-
-        assertEquals(1, objects.size());
-
-        ClientMtTable1 row = (ClientMtTable1) objects.get(0);
-        assertEquals(19, list.lastIndexOf(row));
-        assertEquals(-1, list.lastIndexOf(list.context.newObject(ClientMtTable1.class)));
-    }
-
-    private void doTestIterator(int size) throws Exception {
-        prepareList(size);
-        Iterator<?> it = list.iterator();
-
-        assertTrue(it.hasNext());
-
-        int counter = 0;
-        while (it.hasNext()) {
-            Object obj = it.next();
-            assertNotNull(obj);
-            assertTrue(obj instanceof Persistent);
-
-            // iterator must be resolved page by page
-            int expectedResolved = list.pageIndex(counter)
-                    * list.getPageSize()
-                    + list.getPageSize();
-            if (expectedResolved > list.size()) {
-                expectedResolved = list.size();
-            }
-
-            assertEquals(list.size() - expectedResolved, list.getUnfetchedObjects());
-
-            counter++;
-        }
-    }
+	private static final int COUNT = 25;
+
+	@Inject
+	private CayenneContext clientContext;
+
+	@Inject
+	private DBHelper dbHelper;
+
+	private TableHelper tMTTable;
+
+	private RemoteIncrementalFaultList list;
+
+	@Override
+	protected void setUpAfterInjection() throws Exception {
+		dbHelper.deleteAll("MT_TABLE2");
+		dbHelper.deleteAll("MT_TABLE1");
+
+		tMTTable = new TableHelper(dbHelper, "MT_TABLE1");
+		tMTTable.setColumns("TABLE1_ID", "GLOBAL_ATTRIBUTE1",
+				"SERVER_ATTRIBUTE1");
+	}
+
+	protected void createObjectsDataSet() throws Exception {
+		tMTTable.insert(1, "g1", "s1");
+		tMTTable.insert(2, "g2", "s2");
+		tMTTable.insert(3, "g3", "s3");
+		tMTTable.insert(4, "g4", "s4");
+		tMTTable.insert(5, "g5", "s5");
+		tMTTable.insert(6, "g6", "s6");
+		tMTTable.insert(7, "g7", "s7");
+		tMTTable.insert(8, "g8", "s8");
+		tMTTable.insert(9, "g9", "s9");
+		tMTTable.insert(10, "g10", "s10");
+		tMTTable.insert(11, "g11", "s11");
+		tMTTable.insert(12, "g12", "s12");
+		tMTTable.insert(13, "g13", "s13");
+		tMTTable.insert(14, "g14", "s14");
+		tMTTable.insert(15, "g15", "s15");
+		tMTTable.insert(16, "g16", "s16");
+		tMTTable.insert(17, "g17", "s17");
+		tMTTable.insert(18, "g18", "s18");
+		tMTTable.insert(19, "g19", "s19");
+		tMTTable.insert(20, "g20", "s20");
+		tMTTable.insert(21, "g21", "s21");
+		tMTTable.insert(22, "g22", "s22");
+		tMTTable.insert(23, "g23", "s23");
+		tMTTable.insert(24, "g24", "s24");
+		tMTTable.insert(25, "g25", "s25");
+	}
+
+	private void prepareList(int pageSize) throws Exception {
+
+		createObjectsDataSet();
+
+		SelectQuery<ClientMtTable1> query = new SelectQuery<ClientMtTable1>(
+				ClientMtTable1.class);
+
+		// make sure total number of objects is not divisable
+		// by the page size, to test the last smaller page
+		query.setPageSize(pageSize);
+		query.addOrdering("db:" + MtTable1.TABLE1_ID_PK_COLUMN,
+				SortOrder.ASCENDING);
+
+		list = new RemoteIncrementalFaultList(clientContext, query);
+	}
+
+	@Test
+	public void testSize() throws Exception {
+		prepareList(6);
+		assertEquals(COUNT, list.size());
+	}
+
+	@Test
+	public void testIteratorPageSize1() throws Exception {
+		doTestIterator(1);
+	}
+
+	@Test
+	public void testIteratorPageSize5() throws Exception {
+		// size divisiable by page size
+		doTestIterator(5);
+	}
+
+	@Test
+	public void testIteratorPageSize6() throws Exception {
+		// size not divisable by page size
+		doTestIterator(6);
+	}
+
+	@Test
+	public void testIteratorPageSize25() throws Exception {
+		// size equals to page size
+		doTestIterator(COUNT);
+	}
+
+	@Test
+	public void testIteratorPageSize26() throws Exception {
+		// size exceeding page size
+		doTestIterator(COUNT + 1);
+	}
+
+	@Test
+	public void testListIterator() throws Exception {
+		prepareList(6);
+		ListIterator<?> it = list.listIterator();
+
+		assertTrue(it.hasNext());
+
+		int counter = 0;
+		while (it.hasNext()) {
+			Object obj = it.next();
+			assertNotNull(obj);
+			assertTrue(obj instanceof Persistent);
+
+			// iterator must be resolved page by page
+			int expectedResolved = list.pageIndex(counter) * list.getPageSize()
+					+ list.getPageSize();
+			if (expectedResolved > list.size()) {
+				expectedResolved = list.size();
+			}
+
+			assertEquals(list.size() - expectedResolved,
+					list.getUnfetchedObjects());
+
+			counter++;
+		}
+	}
+
+	@Test
+	public void testUnfetchedObjects() throws Exception {
+		prepareList(6);
+		assertEquals(COUNT - 6, list.getUnfetchedObjects());
+		list.get(7);
+		assertEquals(COUNT - 12, list.getUnfetchedObjects());
+		list.resolveAll();
+		assertEquals(0, list.getUnfetchedObjects());
+	}
+
+	@Test
+	public void testPageIndex() throws Exception {
+		prepareList(6);
+		assertEquals(0, list.pageIndex(0));
+		assertEquals(0, list.pageIndex(1));
+		assertEquals(1, list.pageIndex(6));
+
+		try {
+			assertEquals(13, list.pageIndex(82));
+			fail("Element index beyound array size must throw an IndexOutOfBoundsException.");
+		} catch (IndexOutOfBoundsException ex) {
+			// exception expercted
+		}
+	}
+
+	@Test
+	public void testPagesRead1() throws Exception {
+		prepareList(6);
+		assertTrue(list.elements.get(0) instanceof ClientMtTable1);
+		assertSame(RemoteIncrementalFaultList.PLACEHOLDER, list.elements.get(8));
+
+		list.resolveInterval(5, 10);
+		assertTrue(list.elements.get(7) instanceof ClientMtTable1);
+
+		list.resolveAll();
+		assertTrue((list.elements.get(list.size() - 1)) instanceof ClientMtTable1);
+	}
+
+	@Test
+	public void testGet1() throws Exception {
+		prepareList(6);
+		assertTrue(list.elements.get(0) instanceof ClientMtTable1);
+		assertSame(RemoteIncrementalFaultList.PLACEHOLDER, list.elements.get(8));
+
+		Object a = list.get(8);
+
+		assertNotNull(a);
+		assertTrue(a instanceof ClientMtTable1);
+		assertTrue(list.elements.get(8) instanceof ClientMtTable1);
+	}
+
+	@Test
+	public void testIndexOf() throws Exception {
+		prepareList(6);
+
+		Expression qual = ExpressionFactory.matchExp(
+				ClientMtTable1.GLOBAL_ATTRIBUTE1_PROPERTY, "g20");
+		SelectQuery<ClientMtTable1> query = new SelectQuery<ClientMtTable1>(
+				ClientMtTable1.class, qual);
+		List<?> artists = list.context.performQuery(query);
+
+		assertEquals(1, artists.size());
+
+		ClientMtTable1 row = (ClientMtTable1) artists.get(0);
+		assertEquals(19, list.indexOf(row));
+		assertEquals(-1,
+				list.indexOf(list.context.newObject(ClientMtTable1.class)));
+	}
+
+	@Test
+	public void testLastIndexOf() throws Exception {
+		prepareList(6);
+		Expression qual = ExpressionFactory.matchExp(
+				ClientMtTable1.GLOBAL_ATTRIBUTE1_PROPERTY, "g20");
+		SelectQuery<ClientMtTable1> query = new SelectQuery<ClientMtTable1>(
+				ClientMtTable1.class, qual);
+		List<?> objects = list.context.performQuery(query);
+
+		assertEquals(1, objects.size());
+
+		ClientMtTable1 row = (ClientMtTable1) objects.get(0);
+		assertEquals(19, list.lastIndexOf(row));
+		assertEquals(-1,
+				list.lastIndexOf(list.context.newObject(ClientMtTable1.class)));
+	}
+
+	private void doTestIterator(int size) throws Exception {
+		prepareList(size);
+		Iterator<?> it = list.iterator();
+
+		assertTrue(it.hasNext());
+
+		int counter = 0;
+		while (it.hasNext()) {
+			Object obj = it.next();
+			assertNotNull(obj);
+			assertTrue(obj instanceof Persistent);
+
+			// iterator must be resolved page by page
+			int expectedResolved = list.pageIndex(counter) * list.getPageSize()
+					+ list.getPageSize();
+			if (expectedResolved > list.size()) {
+				expectedResolved = list.size();
+			}
+
+			assertEquals(list.size() - expectedResolved,
+					list.getUnfetchedObjects());
+
+			counter++;
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/8990e655/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
index a86b12e..0503ffc 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
@@ -22,6 +22,7 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
+import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.testdo.mt.ClientMtTable1Subclass1;
@@ -66,7 +67,7 @@ public class ValueInjectorIT extends RemoteCayenneCase {
             assertEquals(ee.getGlobalAttribute1(), "sub1");
 
             // check AND
-            entity.setDeclaredQualifier(qualifier.andExp(Expression.fromString("serverAttribute1 = 'sa'")));
+            entity.setDeclaredQualifier(qualifier.andExp(ExpressionFactory.exp("serverAttribute1 = 'sa'")));
             ee = serverContext.newObject(MtTable1Subclass1.class);
             assertEquals(ee.getGlobalAttribute1(), "sub1");
             assertEquals(ee.getServerAttribute1(), "sa");
@@ -86,7 +87,7 @@ public class ValueInjectorIT extends RemoteCayenneCase {
             assertEquals(ee.getGlobalAttribute1(), "sub1");
 
             // check AND
-            entity.setDeclaredQualifier(qualifier.andExp(Expression.fromString("serverAttribute1 = 'sa'")));
+            entity.setDeclaredQualifier(qualifier.andExp(ExpressionFactory.exp("serverAttribute1 = 'sa'")));
             ee = context.newObject(ClientMtTable1Subclass1.class);
             assertEquals(ee.getGlobalAttribute1(), "sub1");
             assertEquals(ee.getServerAttribute1(), "sa");


[04/50] [abbrv] cayenne git commit: javadocs errors that are failing Java 8 build

Posted by aa...@apache.org.
javadocs errors that are failing Java 8 build


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0c7ba3f1
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0c7ba3f1
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0c7ba3f1

Branch: refs/heads/CAY-1946
Commit: 0c7ba3f1cbfb8380a10df122e2f7655c13e6d2b9
Parents: 8f16b60
Author: aadamchik <aa...@apache.org>
Authored: Sun Nov 2 23:31:57 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Nov 2 23:31:57 2014 +0300

----------------------------------------------------------------------
 .../cayenne/exp/parser/PatternMatchNode.java    |   4 +-
 .../org/apache/cayenne/log/JdbcEventLogger.java | 100 +++++++++----------
 2 files changed, 52 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/0c7ba3f1/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java
index a5181a8..c9e5cae 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java
@@ -53,7 +53,7 @@ public abstract class PatternMatchNode extends ConditionNode {
     /**
      * <p>This method will return an escape character for the like
      * clause.  The escape character will eventually end up in the
-     * query as <code>...(t0.foo LIKE ? {escape '|'})</code> where the
+     * query as <code>...(t0.foo LIKE ? &#123;escape '|'&#125;)</code> where the
      * pipe symbol is the escape character.</p>
      * <p/>
      * <p>Note that having no escape character is represented as
@@ -68,7 +68,7 @@ public abstract class PatternMatchNode extends ConditionNode {
      * <p>This method allows the setting of the escape character.
      * The escape character can be used in a LIKE clause.  The
      * character 0 signifies no escape character.  The escape
-     * characyer '?' is disallowed.</p>
+     * character '?' is disallowed.</p>
      */
 
     public void setEscapeChar(char value) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0c7ba3f1/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java
index adbc8eb..59e3f1e 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/log/JdbcEventLogger.java
@@ -31,72 +31,72 @@ import org.apache.cayenne.map.DbAttribute;
  */
 public interface JdbcEventLogger {
 
-    /**
-     * Logs an arbitrary message.
-     */
-    void log(String message);
+	/**
+	 * Logs an arbitrary message.
+	 */
+	void log(String message);
 
-    /**
-     * Logs database connection event using container data source.
-     */
-    void logConnect(String dataSource);
+	/**
+	 * Logs database connection event using container data source.
+	 */
+	void logConnect(String dataSource);
 
-    void logConnect(String url, String userName, String password);
+	void logConnect(String url, String userName, String password);
 
-    /**
-     * Logs database connection event.
-     */
-    void logPoolCreated(DataSourceInfo dsi);
+	/**
+	 * Logs database connection event.
+	 */
+	void logPoolCreated(DataSourceInfo dsi);
 
-    void logConnectSuccess();
+	void logConnectSuccess();
 
-    void logConnectFailure(Throwable th);
+	void logConnectFailure(Throwable th);
 
-    void logGeneratedKey(DbAttribute attribute, Object value);
+	void logGeneratedKey(DbAttribute attribute, Object value);
 
-    void logQuery(String sql, List<?> params);
+	void logQuery(String sql, List<?> params);
 
-    void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time);
+	void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time);
 
-    /**
-     * @since 4.0
-     */
-    void logQueryParameters(String label, BatchParameterBinding[] bindings);
+	/**
+	 * @since 4.0
+	 */
+	void logQueryParameters(String label, BatchParameterBinding[] bindings);
 
-    /**
-     * @deprecated since 4.0 in favor of
-     *             {@link #logQueryParameters(String, List)}
-     */
-    @Deprecated
-    void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting);
+	/**
+	 * @deprecated since 4.0 in favor of
+	 *             {@link #logQueryParameters(String, BatchParameterBinding[])}
+	 */
+	@Deprecated
+	void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting);
 
-    void logSelectCount(int count, long time);
+	void logSelectCount(int count, long time);
 
-    /**
-     * 
-     * @param count
-     * @param time
-     *            (milliseconds) time query took to run
-     * @param sql
-     *            SQL that was executed, printed when time exceeds timeThreshold
-     * 
-     * @since 4.0
-     */
-    void logSelectCount(int count, long time, String sql);
+	/**
+	 * 
+	 * @param count
+	 * @param time
+	 *            (milliseconds) time query took to run
+	 * @param sql
+	 *            SQL that was executed, printed when time exceeds timeThreshold
+	 * 
+	 * @since 4.0
+	 */
+	void logSelectCount(int count, long time, String sql);
 
-    void logUpdateCount(int count);
+	void logUpdateCount(int count);
 
-    void logBeginTransaction(String transactionLabel);
+	void logBeginTransaction(String transactionLabel);
 
-    void logCommitTransaction(String transactionLabel);
+	void logCommitTransaction(String transactionLabel);
 
-    void logRollbackTransaction(String transactionLabel);
+	void logRollbackTransaction(String transactionLabel);
 
-    void logQueryError(Throwable th);
+	void logQueryError(Throwable th);
 
-    /**
-     * Returns true if current thread default log level is high enough to
-     * generate output.
-     */
-    boolean isLoggable();
+	/**
+	 * Returns true if current thread default log level is high enough to
+	 * generate output.
+	 */
+	boolean isLoggable();
 }


[24/50] [abbrv] cayenne git commit: Refactor Multi Tier Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteDeny.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteDeny.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteDeny.java
new file mode 100644
index 0000000..4b5069c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteDeny.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.deleterules.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.deleterules.DeleteRule;
+
+/**
+ * Class _DeleteDeny was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DeleteDeny extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String DENY_PROPERTY = "deny";
+
+    public static final String DELETE_DENY_ID_PK_COLUMN = "DELETE_DENY_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void setDeny(DeleteRule deny) {
+        setToOneTarget(DENY_PROPERTY, deny, true);
+    }
+
+    public DeleteRule getDeny() {
+        return (DeleteRule)readProperty(DENY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteNullify.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteNullify.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteNullify.java
new file mode 100644
index 0000000..10906cb
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteNullify.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.deleterules.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.deleterules.DeleteRule;
+
+/**
+ * Class _DeleteNullify was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DeleteNullify extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String NULLIFY_PROPERTY = "nullify";
+
+    public static final String DELETE_NULLIFY_ID_PK_COLUMN = "DELETE_NULLIFY_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void setNullify(DeleteRule nullify) {
+        setToOneTarget(NULLIFY_PROPERTY, nullify, true);
+    }
+
+    public DeleteRule getNullify() {
+        return (DeleteRule)readProperty(NULLIFY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteRule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteRule.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteRule.java
new file mode 100644
index 0000000..6dedf75
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/deleterules/auto/_DeleteRule.java
@@ -0,0 +1,68 @@
+package org.apache.cayenne.testdo.deleterules.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.deleterules.DeleteCascade;
+import org.apache.cayenne.testdo.deleterules.DeleteDeny;
+import org.apache.cayenne.testdo.deleterules.DeleteNullify;
+
+import java.util.List;
+
+/**
+ * Class _DeleteRule was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DeleteRule extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String FROM_CASCADE_PROPERTY = "fromCascade";
+    public static final String FROM_DENY_PROPERTY = "fromDeny";
+    public static final String FROM_NULLIFY_PROPERTY = "fromNullify";
+
+    public static final String DELETE_RULE_ID_PK_COLUMN = "DELETE_RULE_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToFromCascade(DeleteCascade obj) {
+        addToManyTarget(FROM_CASCADE_PROPERTY, obj, true);
+    }
+    public void removeFromFromCascade(DeleteCascade obj) {
+        removeToManyTarget(FROM_CASCADE_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<DeleteCascade> getFromCascade() {
+        return (List<DeleteCascade>)readProperty(FROM_CASCADE_PROPERTY);
+    }
+
+
+    public void addToFromDeny(DeleteDeny obj) {
+        addToManyTarget(FROM_DENY_PROPERTY, obj, true);
+    }
+    public void removeFromFromDeny(DeleteDeny obj) {
+        removeToManyTarget(FROM_DENY_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<DeleteDeny> getFromDeny() {
+        return (List<DeleteDeny>)readProperty(FROM_DENY_PROPERTY);
+    }
+
+
+    public void addToFromNullify(DeleteNullify obj) {
+        addToManyTarget(FROM_NULLIFY_PROPERTY, obj, true);
+    }
+    public void removeFromFromNullify(DeleteNullify obj) {
+        removeToManyTarget(FROM_NULLIFY_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<DeleteNullify> getFromNullify() {
+        return (List<DeleteNullify>)readProperty(FROM_NULLIFY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/ClientLifecycles.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/ClientLifecycles.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/ClientLifecycles.java
new file mode 100644
index 0000000..766cdc6
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/ClientLifecycles.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.lifecycles;
+
+import org.apache.cayenne.testdo.lifecycles.auto._ClientLifecycles;
+
+/**
+ * A persistent class mapped as "Lifecycles" Cayenne entity.
+ */
+public class ClientLifecycles extends _ClientLifecycles {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/Lifecycles.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/Lifecycles.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/Lifecycles.java
new file mode 100644
index 0000000..23d34d4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/Lifecycles.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.lifecycles;
+
+import org.apache.cayenne.testdo.lifecycles.auto._Lifecycles;
+
+public class Lifecycles extends _Lifecycles {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_ClientLifecycles.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_ClientLifecycles.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_ClientLifecycles.java
new file mode 100644
index 0000000..fa9ccd2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_ClientLifecycles.java
@@ -0,0 +1,37 @@
+package org.apache.cayenne.testdo.lifecycles.auto;
+
+import org.apache.cayenne.PersistentObject;
+
+/**
+ * A generated persistent class mapped as "Lifecycles" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientLifecycles extends PersistentObject {
+
+    public static final String NAME_PROPERTY = "name";
+
+    protected String name;
+
+    public String getName() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        return name;
+    }
+    public void setName(String name) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        Object oldValue = this.name;
+        this.name = name;
+
+        // notify objectContext about simple property change
+        if(objectContext != null) {
+            objectContext.propertyChanged(this, "name", oldValue, name);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_Lifecycles.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_Lifecycles.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_Lifecycles.java
new file mode 100644
index 0000000..a101cd9
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/lifecycles/auto/_Lifecycles.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.lifecycles.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _Lifecycles was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Lifecycles extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/ClientIdMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/ClientIdMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/ClientIdMapToMany.java
new file mode 100644
index 0000000..c52355e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/ClientIdMapToMany.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.map_to_many;
+
+import org.apache.cayenne.testdo.map_to_many.auto._ClientIdMapToMany;
+
+/**
+ * A persistent class mapped as "IdMapToMany" Cayenne entity.
+ */
+public class ClientIdMapToMany extends _ClientIdMapToMany {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/ClientIdMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/ClientIdMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/ClientIdMapToManyTarget.java
new file mode 100644
index 0000000..2c93399
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/ClientIdMapToManyTarget.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.map_to_many;
+
+import org.apache.cayenne.testdo.map_to_many.auto._ClientIdMapToManyTarget;
+
+/**
+ * A persistent class mapped as "IdMapToManyTarget" Cayenne entity.
+ */
+public class ClientIdMapToManyTarget extends _ClientIdMapToManyTarget {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/IdMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/IdMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/IdMapToMany.java
new file mode 100644
index 0000000..6552782
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/IdMapToMany.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.map_to_many;
+
+import org.apache.cayenne.testdo.map_to_many.auto._IdMapToMany;
+
+public class IdMapToMany extends _IdMapToMany {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/IdMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/IdMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/IdMapToManyTarget.java
new file mode 100644
index 0000000..9feabdf
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/IdMapToManyTarget.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.map_to_many;
+
+import org.apache.cayenne.testdo.map_to_many.auto._IdMapToManyTarget;
+
+public class IdMapToManyTarget extends _IdMapToManyTarget {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/MapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/MapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/MapToMany.java
new file mode 100644
index 0000000..5fdca59
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/MapToMany.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.map_to_many;
+
+import org.apache.cayenne.testdo.map_to_many.auto._MapToMany;
+
+public class MapToMany extends _MapToMany {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/MapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/MapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/MapToManyTarget.java
new file mode 100644
index 0000000..2834513
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/MapToManyTarget.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.map_to_many;
+
+import org.apache.cayenne.testdo.map_to_many.auto._MapToManyTarget;
+
+public class MapToManyTarget extends _MapToManyTarget {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_ClientIdMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_ClientIdMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_ClientIdMapToMany.java
new file mode 100644
index 0000000..43ca171
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_ClientIdMapToMany.java
@@ -0,0 +1,41 @@
+package org.apache.cayenne.testdo.map_to_many.auto;
+
+import org.apache.cayenne.PersistentObject;
+import org.apache.cayenne.testdo.map_to_many.ClientIdMapToManyTarget;
+
+import java.util.Map;
+
+/**
+ * A generated persistent class mapped as "IdMapToMany" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientIdMapToMany extends PersistentObject {
+
+    public static final String TARGETS_PROPERTY = "targets";
+
+    protected Map<Object, ClientIdMapToManyTarget> targets;
+
+    public Map<Object, ClientIdMapToManyTarget> getTargets() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "targets", true);
+        }
+
+        return targets;
+    }
+	public void addToTargets(ClientIdMapToManyTarget object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "targets", true);
+        }
+
+        this.targets.put(getMapKey("targets", object), object);
+    }
+    public void removeFromTargets(ClientIdMapToManyTarget object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "targets", true);
+        }
+
+        this.targets.remove(getMapKey("targets", object));
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_ClientIdMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_ClientIdMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_ClientIdMapToManyTarget.java
new file mode 100644
index 0000000..e194447
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_ClientIdMapToManyTarget.java
@@ -0,0 +1,33 @@
+package org.apache.cayenne.testdo.map_to_many.auto;
+
+import org.apache.cayenne.PersistentObject;
+import org.apache.cayenne.ValueHolder;
+import org.apache.cayenne.testdo.map_to_many.ClientIdMapToMany;
+
+/**
+ * A generated persistent class mapped as "IdMapToManyTarget" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientIdMapToManyTarget extends PersistentObject {
+
+    public static final String MAP_TO_MANY_PROPERTY = "mapToMany";
+
+    protected ValueHolder mapToMany;
+
+    public ClientIdMapToMany getMapToMany() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "mapToMany", true);
+        }
+
+        return (ClientIdMapToMany) mapToMany.getValue();
+    }
+    public void setMapToMany(ClientIdMapToMany mapToMany) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "mapToMany", true);
+        }
+
+        this.mapToMany.setValue(mapToMany);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToMany.java
new file mode 100644
index 0000000..bbe1040
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToMany.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.map_to_many.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.map_to_many.IdMapToManyTarget;
+
+import java.util.Map;
+
+/**
+ * Class _IdMapToMany was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _IdMapToMany extends CayenneDataObject {
+
+    public static final String TARGETS_PROPERTY = "targets";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void addToTargets(IdMapToManyTarget obj) {
+        addToManyTarget(TARGETS_PROPERTY, obj, true);
+    }
+    public void removeFromTargets(IdMapToManyTarget obj) {
+        removeToManyTarget(TARGETS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public Map<Object, IdMapToManyTarget> getTargets() {
+        return (Map<Object, IdMapToManyTarget>)readProperty(TARGETS_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToManyTarget.java
new file mode 100644
index 0000000..b03e6c0
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_IdMapToManyTarget.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.map_to_many.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.map_to_many.IdMapToMany;
+
+/**
+ * Class _IdMapToManyTarget was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _IdMapToManyTarget extends CayenneDataObject {
+
+    public static final String MAP_TO_MANY_PROPERTY = "mapToMany";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setMapToMany(IdMapToMany idMapToMany) {
+        setToOneTarget(MAP_TO_MANY_PROPERTY, idMapToMany, true);
+    }
+
+    public IdMapToMany getMapToMany() {
+        return (IdMapToMany)readProperty(MAP_TO_MANY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToMany.java
new file mode 100644
index 0000000..063c365
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToMany.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.map_to_many.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.map_to_many.MapToManyTarget;
+
+import java.util.Map;
+
+/**
+ * Class _MapToMany was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _MapToMany extends CayenneDataObject {
+
+    public static final String TARGETS_PROPERTY = "targets";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void addToTargets(MapToManyTarget obj) {
+        addToManyTarget(TARGETS_PROPERTY, obj, true);
+    }
+    public void removeFromTargets(MapToManyTarget obj) {
+        removeToManyTarget(TARGETS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public Map<String, MapToManyTarget> getTargets() {
+        return (Map<String, MapToManyTarget>)readProperty(TARGETS_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToManyTarget.java
new file mode 100644
index 0000000..66c8e90
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/map_to_many/auto/_MapToManyTarget.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.map_to_many.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.map_to_many.MapToMany;
+
+/**
+ * Class _MapToManyTarget was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _MapToManyTarget extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String MAP_TO_MANY_PROPERTY = "mapToMany";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void setMapToMany(MapToMany mapToMany) {
+        setToOneTarget(MAP_TO_MANY_PROPERTY, mapToMany, true);
+    }
+
+    public MapToMany getMapToMany() {
+        return (MapToMany)readProperty(MAP_TO_MANY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/ClientMeaningfulPk.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/ClientMeaningfulPk.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/ClientMeaningfulPk.java
new file mode 100644
index 0000000..4ff76ee
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/ClientMeaningfulPk.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.meaningful_pk;
+
+import org.apache.cayenne.testdo.meaningful_pk.auto._ClientMeaningfulPk;
+
+/**
+ * A persistent class mapped as "MeaningfulPk" Cayenne entity.
+ */
+public class ClientMeaningfulPk extends _ClientMeaningfulPk {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPk.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPk.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPk.java
new file mode 100644
index 0000000..01f7006
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/MeaningfulPk.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.meaningful_pk;
+
+import org.apache.cayenne.testdo.meaningful_pk.auto._MeaningfulPk;
+
+public class MeaningfulPk extends _MeaningfulPk {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_ClientMeaningfulPk.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_ClientMeaningfulPk.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_ClientMeaningfulPk.java
new file mode 100644
index 0000000..6c9be4b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_ClientMeaningfulPk.java
@@ -0,0 +1,37 @@
+package org.apache.cayenne.testdo.meaningful_pk.auto;
+
+import org.apache.cayenne.PersistentObject;
+
+/**
+ * A generated persistent class mapped as "MeaningfulPk" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientMeaningfulPk extends PersistentObject {
+
+    public static final String PK_PROPERTY = "pk";
+
+    protected String pk;
+
+    public String getPk() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "pk", false);
+        }
+
+        return pk;
+    }
+    public void setPk(String pk) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "pk", false);
+        }
+
+        Object oldValue = this.pk;
+        this.pk = pk;
+
+        // notify objectContext about simple property change
+        if(objectContext != null) {
+            objectContext.propertyChanged(this, "pk", oldValue, pk);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPk.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPk.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPk.java
new file mode 100644
index 0000000..8e53c38
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/meaningful_pk/auto/_MeaningfulPk.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.meaningful_pk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _MeaningfulPk was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _MeaningfulPk extends CayenneDataObject {
+
+    public static final String PK_PROPERTY = "pk";
+
+    public static final String PK_PK_COLUMN = "PK";
+
+    public void setPk(String pk) {
+        writeProperty(PK_PROPERTY, pk);
+    }
+    public String getPk() {
+        return (String)readProperty(PK_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteCascade.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteCascade.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteCascade.java
deleted file mode 100644
index 65f9ce1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteCascade.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtDeleteCascade;
-
-/**
- * A persistent class mapped as "MtDeleteCascade" Cayenne entity.
- */
-public class ClientMtDeleteCascade extends _ClientMtDeleteCascade {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteDeny.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteDeny.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteDeny.java
deleted file mode 100644
index 099070d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteDeny.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtDeleteDeny;
-
-/**
- * A persistent class mapped as "MtDeleteDeny" Cayenne entity.
- */
-public class ClientMtDeleteDeny extends _ClientMtDeleteDeny {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteNullify.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteNullify.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteNullify.java
deleted file mode 100644
index 6a8ffa2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteNullify.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtDeleteNullify;
-
-/**
- * A persistent class mapped as "MtDeleteNullify" Cayenne entity.
- */
-public class ClientMtDeleteNullify extends _ClientMtDeleteNullify {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteRule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteRule.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteRule.java
deleted file mode 100644
index 975f56a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtDeleteRule.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtDeleteRule;
-
-/**
- * A persistent class mapped as "MtDeleteRule" Cayenne entity.
- */
-public class ClientMtDeleteRule extends _ClientMtDeleteRule {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtLifecycles.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtLifecycles.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtLifecycles.java
deleted file mode 100644
index 2c708a0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtLifecycles.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtLifecycles;
-
-/**
- * A persistent class mapped as "MtLifecycles" Cayenne entity.
- */
-public class ClientMtLifecycles extends _ClientMtLifecycles {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMapToMany.java
deleted file mode 100644
index cafec31..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMapToMany.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtMapToMany;
-
-/**
- * A persistent class mapped as "MtMapToMany" Cayenne entity.
- */
-public class ClientMtMapToMany extends _ClientMtMapToMany {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMapToManyTarget.java
deleted file mode 100644
index 46bd1a9..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMapToManyTarget.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtMapToManyTarget;
-
-/**
- * A persistent class mapped as "MtMapToManyTarget" Cayenne entity.
- */
-public class ClientMtMapToManyTarget extends _ClientMtMapToManyTarget {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMeaningfulPk.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMeaningfulPk.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMeaningfulPk.java
deleted file mode 100644
index ef45003..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtMeaningfulPk.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtMeaningfulPk;
-
-/**
- * A persistent class mapped as "MtMeaningfulPk" Cayenne entity.
- */
-public class ClientMtMeaningfulPk extends _ClientMtMeaningfulPk {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtReflexive.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtReflexive.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtReflexive.java
deleted file mode 100644
index 5c42b96..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtReflexive.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtReflexive;
-
-/**
- * A persistent class mapped as "MtReflexive" Cayenne entity.
- */
-public class ClientMtReflexive extends _ClientMtReflexive {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTablePrimitives.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTablePrimitives.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTablePrimitives.java
deleted file mode 100644
index 3cb4e60..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTablePrimitives.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtTablePrimitives;
-
-/**
- * A persistent class mapped as "MtTablePrimitives" Cayenne entity.
- */
-public class ClientMtTablePrimitives extends _ClientMtTablePrimitives {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTooneDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTooneDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTooneDep.java
deleted file mode 100644
index ae671e4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTooneDep.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtTooneDep;
-
-/**
- * A persistent class mapped as "MtTooneDep" Cayenne entity.
- */
-public class ClientMtTooneDep extends _ClientMtTooneDep {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTooneMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTooneMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTooneMaster.java
deleted file mode 100644
index 4a1baba..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMtTooneMaster.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMtTooneMaster;
-
-/**
- * A persistent class mapped as "MtTooneMaster" Cayenne entity.
- */
-public class ClientMtTooneMaster extends _ClientMtTooneMaster {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteCascade.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteCascade.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteCascade.java
deleted file mode 100644
index c5485bf..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteCascade.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtDeleteCascade;
-
-public class MtDeleteCascade extends _MtDeleteCascade {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteDeny.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteDeny.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteDeny.java
deleted file mode 100644
index 61bd550..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteDeny.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtDeleteDeny;
-
-public class MtDeleteDeny extends _MtDeleteDeny {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteNullify.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteNullify.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteNullify.java
deleted file mode 100644
index ac97d66..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteNullify.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtDeleteNullify;
-
-public class MtDeleteNullify extends _MtDeleteNullify {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteRule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteRule.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteRule.java
deleted file mode 100644
index da98680..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtDeleteRule.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtDeleteRule;
-
-public class MtDeleteRule extends _MtDeleteRule {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtLifecycles.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtLifecycles.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtLifecycles.java
deleted file mode 100644
index d694496..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtLifecycles.java
+++ /dev/null
@@ -1,25 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtLifecycles;
-
-public class MtLifecycles extends _MtLifecycles {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMapToMany.java
deleted file mode 100644
index a53bdc9..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMapToMany.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtMapToMany;
-
-public class MtMapToMany extends _MtMapToMany {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMapToManyTarget.java
deleted file mode 100644
index 1f6a4ed..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMapToManyTarget.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtMapToManyTarget;
-
-public class MtMapToManyTarget extends _MtMapToManyTarget {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMeaningfulPk.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMeaningfulPk.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMeaningfulPk.java
deleted file mode 100644
index 3e56dc2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtMeaningfulPk.java
+++ /dev/null
@@ -1,25 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtMeaningfulPk;
-
-public class MtMeaningfulPk extends _MtMeaningfulPk {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtReflexive.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtReflexive.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtReflexive.java
deleted file mode 100644
index ed94c9c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtReflexive.java
+++ /dev/null
@@ -1,28 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtReflexive;
-
-public class MtReflexive extends _MtReflexive {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTablePrimitives.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTablePrimitives.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTablePrimitives.java
deleted file mode 100644
index 0ca23c1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTablePrimitives.java
+++ /dev/null
@@ -1,25 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtTablePrimitives;
-
-public class MtTablePrimitives extends _MtTablePrimitives {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTooneDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTooneDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTooneDep.java
deleted file mode 100644
index 4b1dbd0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTooneDep.java
+++ /dev/null
@@ -1,25 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtTooneDep;
-
-public class MtTooneDep extends _MtTooneDep {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTooneMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTooneMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTooneMaster.java
deleted file mode 100644
index 885ab76..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MtTooneMaster.java
+++ /dev/null
@@ -1,25 +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.testdo.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MtTooneMaster;
-
-public class MtTooneMaster extends _MtTooneMaster {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteCascade.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteCascade.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteCascade.java
deleted file mode 100644
index 20d10b5..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteCascade.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.PersistentObject;
-import org.apache.cayenne.ValueHolder;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteRule;
-
-/**
- * A generated persistent class mapped as "MtDeleteCascade" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtDeleteCascade extends PersistentObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String CASCADE_PROPERTY = "cascade";
-
-    protected String name;
-    protected ValueHolder cascade;
-
-    public String getName() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        return name;
-    }
-    public void setName(String name) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        Object oldValue = this.name;
-        this.name = name;
-
-        // notify objectContext about simple property change
-        if(objectContext != null) {
-            objectContext.propertyChanged(this, "name", oldValue, name);
-        }
-    }
-
-    public ClientMtDeleteRule getCascade() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "cascade", true);
-        }
-
-        return (ClientMtDeleteRule) cascade.getValue();
-    }
-    public void setCascade(ClientMtDeleteRule cascade) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "cascade", true);
-        }
-
-        this.cascade.setValue(cascade);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteDeny.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteDeny.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteDeny.java
deleted file mode 100644
index 97119d0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteDeny.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.PersistentObject;
-import org.apache.cayenne.ValueHolder;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteRule;
-
-/**
- * A generated persistent class mapped as "MtDeleteDeny" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtDeleteDeny extends PersistentObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String DENY_PROPERTY = "deny";
-
-    protected String name;
-    protected ValueHolder deny;
-
-    public String getName() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        return name;
-    }
-    public void setName(String name) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        Object oldValue = this.name;
-        this.name = name;
-
-        // notify objectContext about simple property change
-        if(objectContext != null) {
-            objectContext.propertyChanged(this, "name", oldValue, name);
-        }
-    }
-
-    public ClientMtDeleteRule getDeny() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "deny", true);
-        }
-
-        return (ClientMtDeleteRule) deny.getValue();
-    }
-    public void setDeny(ClientMtDeleteRule deny) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "deny", true);
-        }
-
-        this.deny.setValue(deny);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteNullify.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteNullify.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteNullify.java
deleted file mode 100644
index a0a3fbc..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteNullify.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.PersistentObject;
-import org.apache.cayenne.ValueHolder;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteRule;
-
-/**
- * A generated persistent class mapped as "MtDeleteNullify" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtDeleteNullify extends PersistentObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String NULLIFY_PROPERTY = "nullify";
-
-    protected String name;
-    protected ValueHolder nullify;
-
-    public String getName() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        return name;
-    }
-    public void setName(String name) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        Object oldValue = this.name;
-        this.name = name;
-
-        // notify objectContext about simple property change
-        if(objectContext != null) {
-            objectContext.propertyChanged(this, "name", oldValue, name);
-        }
-    }
-
-    public ClientMtDeleteRule getNullify() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "nullify", true);
-        }
-
-        return (ClientMtDeleteRule) nullify.getValue();
-    }
-    public void setNullify(ClientMtDeleteRule nullify) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "nullify", true);
-        }
-
-        this.nullify.setValue(nullify);
-    }
-
-}


[30/50] [abbrv] cayenne git commit: Refactor People Project & Inheritance Projects

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Root.java
deleted file mode 100644
index 54e70b2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Root.java
+++ /dev/null
@@ -1,25 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv1Root;
-
-public class Iv1Root extends _Iv1Root {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Sub1.java
deleted file mode 100644
index e208c7a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv1Sub1.java
+++ /dev/null
@@ -1,25 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv1Sub1;
-
-public class Iv1Sub1 extends _Iv1Sub1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Root.java
deleted file mode 100644
index d08b329..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Root.java
+++ /dev/null
@@ -1,25 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv2Root;
-
-public class Iv2Root extends _Iv2Root {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Sub1.java
deleted file mode 100644
index 93a2a96..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2Sub1.java
+++ /dev/null
@@ -1,25 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv2Sub1;
-
-public class Iv2Sub1 extends _Iv2Sub1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2X.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2X.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2X.java
deleted file mode 100644
index 0fb8697..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/Iv2X.java
+++ /dev/null
@@ -1,25 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._Iv2X;
-
-public class Iv2X extends _Iv2X {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvRoot.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvRoot.java
deleted file mode 100644
index a12a476..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvRoot.java
+++ /dev/null
@@ -1,25 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._IvRoot;
-
-public class IvRoot extends _IvRoot {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1.java
deleted file mode 100644
index 6dd4c59..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1.java
+++ /dev/null
@@ -1,25 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._IvSub1;
-
-public class IvSub1 extends _IvSub1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1Sub1.java
deleted file mode 100644
index 4571c10..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub1Sub1.java
+++ /dev/null
@@ -1,25 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._IvSub1Sub1;
-
-public class IvSub1Sub1 extends _IvSub1Sub1 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub2.java
deleted file mode 100644
index 7b95092..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/IvSub2.java
+++ /dev/null
@@ -1,25 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._IvSub2;
-
-public class IvSub2 extends _IvSub2 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_InheritanceVertical.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_InheritanceVertical.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_InheritanceVertical.java
deleted file mode 100644
index d3a806c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_InheritanceVertical.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-
-
-/**
- * This class was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public class _InheritanceVertical {
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Root.java
deleted file mode 100644
index c52760a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Root.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _Iv1Root was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Iv1Root extends CayenneDataObject {
-
-    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setDiscriminator(String discriminator) {
-        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
-    }
-    public String getDiscriminator() {
-        return (String)readProperty(DISCRIMINATOR_PROPERTY);
-    }
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Sub1.java
deleted file mode 100644
index 2afda29..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv1Sub1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.testdo.inheritance.vertical.Iv1Root;
-
-/**
- * Class _Iv1Sub1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Iv1Sub1 extends Iv1Root {
-
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Root.java
deleted file mode 100644
index c4dbb12..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Root.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _Iv2Root was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Iv2Root extends CayenneDataObject {
-
-    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setDiscriminator(String discriminator) {
-        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
-    }
-    public String getDiscriminator() {
-        return (String)readProperty(DISCRIMINATOR_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Sub1.java
deleted file mode 100644
index 2967334..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2Sub1.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.testdo.inheritance.vertical.Iv2Root;
-import org.apache.cayenne.testdo.inheritance.vertical.Iv2X;
-
-/**
- * Class _Iv2Sub1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Iv2Sub1 extends Iv2Root {
-
-    public static final String X_PROPERTY = "x";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setX(Iv2X x) {
-        setToOneTarget(X_PROPERTY, x, true);
-    }
-
-    public Iv2X getX() {
-        return (Iv2X)readProperty(X_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2X.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2X.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2X.java
deleted file mode 100644
index 8e228b4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_Iv2X.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _Iv2X was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Iv2X extends CayenneDataObject {
-
-
-    public static final String ID_PK_COLUMN = "ID";
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvRoot.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvRoot.java
deleted file mode 100644
index 872b68e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvRoot.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _IvRoot was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _IvRoot extends CayenneDataObject {
-
-    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setDiscriminator(String discriminator) {
-        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
-    }
-    public String getDiscriminator() {
-        return (String)readProperty(DISCRIMINATOR_PROPERTY);
-    }
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1.java
deleted file mode 100644
index ea5e172..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.testdo.inheritance.vertical.IvRoot;
-
-/**
- * Class _IvSub1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _IvSub1 extends IvRoot {
-
-    public static final String SUB1NAME_PROPERTY = "sub1Name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setSub1Name(String sub1Name) {
-        writeProperty(SUB1NAME_PROPERTY, sub1Name);
-    }
-    public String getSub1Name() {
-        return (String)readProperty(SUB1NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1Sub1.java
deleted file mode 100644
index a9e8af6..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub1Sub1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.testdo.inheritance.vertical.IvSub1;
-
-/**
- * Class _IvSub1Sub1 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _IvSub1Sub1 extends IvSub1 {
-
-    public static final String SUB1SUB1NAME_PROPERTY = "sub1Sub1Name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setSub1Sub1Name(String sub1Sub1Name) {
-        writeProperty(SUB1SUB1NAME_PROPERTY, sub1Sub1Name);
-    }
-    public String getSub1Sub1Name() {
-        return (String)readProperty(SUB1SUB1NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub2.java
deleted file mode 100644
index ba5541d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/auto/_IvSub2.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.inheritance.vertical.auto;
-
-import org.apache.cayenne.testdo.inheritance.vertical.IvRoot;
-
-/**
- * Class _IvSub2 was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _IvSub2 extends IvRoot {
-
-    public static final String SUB2ATTR_PROPERTY = "sub2Attr";
-    public static final String SUB2NAME_PROPERTY = "sub2Name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setSub2Attr(String sub2Attr) {
-        writeProperty(SUB2ATTR_PROPERTY, sub2Attr);
-    }
-    public String getSub2Attr() {
-        return (String)readProperty(SUB2ATTR_PROPERTY);
-    }
-
-    public void setSub2Name(String sub2Name) {
-        writeProperty(SUB2NAME_PROPERTY, sub2Name);
-    }
-    public String getSub2Name() {
-        return (String)readProperty(SUB2NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/AbstractPerson.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/AbstractPerson.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/AbstractPerson.java
new file mode 100644
index 0000000..dde4d35
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/AbstractPerson.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.inheritance_people;
+
+public abstract class AbstractPerson extends org.apache.cayenne.testdo.inheritance_people.auto._AbstractPerson {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Address.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Address.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Address.java
new file mode 100644
index 0000000..4a91926
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Address.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.inheritance_people;
+
+public class Address extends org.apache.cayenne.testdo.inheritance_people.auto._Address {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/ClientCompany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/ClientCompany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/ClientCompany.java
new file mode 100644
index 0000000..9892764
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/ClientCompany.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.inheritance_people;
+
+public class ClientCompany extends org.apache.cayenne.testdo.inheritance_people.auto._ClientCompany {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/CustomerRepresentative.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/CustomerRepresentative.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/CustomerRepresentative.java
new file mode 100644
index 0000000..eaf68bb
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/CustomerRepresentative.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.inheritance_people;
+
+public class CustomerRepresentative extends org.apache.cayenne.testdo.inheritance_people.auto._CustomerRepresentative {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Department.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Department.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Department.java
new file mode 100644
index 0000000..ada1010
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Department.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.inheritance_people;
+
+public class Department extends org.apache.cayenne.testdo.inheritance_people.auto._Department {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Employee.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Employee.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Employee.java
new file mode 100644
index 0000000..05f61cc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Employee.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.inheritance_people;
+
+public class Employee extends org.apache.cayenne.testdo.inheritance_people.auto._Employee {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Manager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Manager.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Manager.java
new file mode 100644
index 0000000..4b63c57
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/Manager.java
@@ -0,0 +1,26 @@
+/*****************************************************************
+ *   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.testdo.inheritance_people;
+
+public class Manager extends org.apache.cayenne.testdo.inheritance_people.auto._Manager {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/People.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/People.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/People.java
new file mode 100644
index 0000000..f63c423
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/People.java
@@ -0,0 +1,36 @@
+/*****************************************************************
+ *   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.testdo.inheritance_people;
+
+import org.apache.cayenne.testdo.inheritance_people.auto._People;
+
+public class People extends _People {
+
+    private static People instance;
+
+    private People() {}
+
+    public static People getInstance() {
+        if(instance == null) {
+            instance = new People();
+        }
+
+        return instance;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/PersonNotes.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/PersonNotes.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/PersonNotes.java
new file mode 100644
index 0000000..66e8191
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/PersonNotes.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_people;
+
+import org.apache.cayenne.testdo.inheritance_people.auto._PersonNotes;
+
+public class PersonNotes extends _PersonNotes {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
new file mode 100644
index 0000000..6dd1f1b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_AbstractPerson.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.PersonNotes;
+
+/**
+ * Class _AbstractPerson was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _AbstractPerson extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String PERSON_TYPE_PROPERTY = "personType";
+    public static final String NOTES_PROPERTY = "notes";
+
+    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void setPersonType(String personType) {
+        writeProperty(PERSON_TYPE_PROPERTY, personType);
+    }
+    public String getPersonType() {
+        return (String)readProperty(PERSON_TYPE_PROPERTY);
+    }
+
+    public void addToNotes(PersonNotes obj) {
+        addToManyTarget(NOTES_PROPERTY, obj, true);
+    }
+    public void removeFromNotes(PersonNotes obj) {
+        removeToManyTarget(NOTES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<PersonNotes> getNotes() {
+        return (List<PersonNotes>)readProperty(NOTES_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
new file mode 100644
index 0000000..f7856da
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Address.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+
+/**
+ * Class _Address was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Address extends CayenneDataObject {
+
+    public static final String CITY_PROPERTY = "city";
+    public static final String TO_EMPLOYEE_PROPERTY = "toEmployee";
+
+    public static final String ADDRESS_ID_PK_COLUMN = "ADDRESS_ID";
+
+    public void setCity(String city) {
+        writeProperty(CITY_PROPERTY, city);
+    }
+    public String getCity() {
+        return (String)readProperty(CITY_PROPERTY);
+    }
+
+    public void setToEmployee(Employee toEmployee) {
+        setToOneTarget(TO_EMPLOYEE_PROPERTY, toEmployee, true);
+    }
+
+    public Employee getToEmployee() {
+        return (Employee)readProperty(TO_EMPLOYEE_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
new file mode 100644
index 0000000..ae9a6be
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_ClientCompany.java
@@ -0,0 +1,40 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.CustomerRepresentative;
+
+/**
+ * Class _ClientCompany was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ClientCompany extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String REPRESENTATIVES_PROPERTY = "representatives";
+
+    public static final String CLIENT_COMPANY_ID_PK_COLUMN = "CLIENT_COMPANY_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToRepresentatives(CustomerRepresentative obj) {
+        addToManyTarget(REPRESENTATIVES_PROPERTY, obj, true);
+    }
+    public void removeFromRepresentatives(CustomerRepresentative obj) {
+        removeToManyTarget(REPRESENTATIVES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<CustomerRepresentative> getRepresentatives() {
+        return (List<CustomerRepresentative>)readProperty(REPRESENTATIVES_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
new file mode 100644
index 0000000..e7c17a9
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_CustomerRepresentative.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import org.apache.cayenne.testdo.inheritance_people.AbstractPerson;
+import org.apache.cayenne.testdo.inheritance_people.ClientCompany;
+
+/**
+ * Class _CustomerRepresentative was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _CustomerRepresentative extends AbstractPerson {
+
+    public static final String CLIENT_CONTACT_TYPE_PROPERTY = "clientContactType";
+    public static final String TO_CLIENT_COMPANY_PROPERTY = "toClientCompany";
+
+    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
+
+    public void setClientContactType(String clientContactType) {
+        writeProperty(CLIENT_CONTACT_TYPE_PROPERTY, clientContactType);
+    }
+    public String getClientContactType() {
+        return (String)readProperty(CLIENT_CONTACT_TYPE_PROPERTY);
+    }
+
+    public void setToClientCompany(ClientCompany toClientCompany) {
+        setToOneTarget(TO_CLIENT_COMPANY_PROPERTY, toClientCompany, true);
+    }
+
+    public ClientCompany getToClientCompany() {
+        return (ClientCompany)readProperty(TO_CLIENT_COMPANY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
new file mode 100644
index 0000000..d76ca1c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Department.java
@@ -0,0 +1,51 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+import org.apache.cayenne.testdo.inheritance_people.Manager;
+
+/**
+ * Class _Department was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Department extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String EMPLOYEES_PROPERTY = "employees";
+    public static final String TO_MANAGER_PROPERTY = "toManager";
+
+    public static final String DEPARTMENT_ID_PK_COLUMN = "DEPARTMENT_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToEmployees(Employee obj) {
+        addToManyTarget(EMPLOYEES_PROPERTY, obj, true);
+    }
+    public void removeFromEmployees(Employee obj) {
+        removeToManyTarget(EMPLOYEES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Employee> getEmployees() {
+        return (List<Employee>)readProperty(EMPLOYEES_PROPERTY);
+    }
+
+
+    public void setToManager(Manager toManager) {
+        setToOneTarget(TO_MANAGER_PROPERTY, toManager, true);
+    }
+
+    public Manager getToManager() {
+        return (Manager)readProperty(TO_MANAGER_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
new file mode 100644
index 0000000..a1533c3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Employee.java
@@ -0,0 +1,51 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.testdo.inheritance_people.AbstractPerson;
+import org.apache.cayenne.testdo.inheritance_people.Address;
+import org.apache.cayenne.testdo.inheritance_people.Department;
+
+/**
+ * Class _Employee was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Employee extends AbstractPerson {
+
+    public static final String SALARY_PROPERTY = "salary";
+    public static final String ADDRESSES_PROPERTY = "addresses";
+    public static final String TO_DEPARTMENT_PROPERTY = "toDepartment";
+
+    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
+
+    public void setSalary(Float salary) {
+        writeProperty(SALARY_PROPERTY, salary);
+    }
+    public Float getSalary() {
+        return (Float)readProperty(SALARY_PROPERTY);
+    }
+
+    public void addToAddresses(Address obj) {
+        addToManyTarget(ADDRESSES_PROPERTY, obj, true);
+    }
+    public void removeFromAddresses(Address obj) {
+        removeToManyTarget(ADDRESSES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Address> getAddresses() {
+        return (List<Address>)readProperty(ADDRESSES_PROPERTY);
+    }
+
+
+    public void setToDepartment(Department toDepartment) {
+        setToOneTarget(TO_DEPARTMENT_PROPERTY, toDepartment, true);
+    }
+
+    public Department getToDepartment() {
+        return (Department)readProperty(TO_DEPARTMENT_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
new file mode 100644
index 0000000..eaec130
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_Manager.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.testdo.inheritance_people.Department;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+
+/**
+ * Class _Manager was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Manager extends Employee {
+
+    public static final String MANAGED_DEPARTMENTS_PROPERTY = "managedDepartments";
+
+    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
+
+    public void addToManagedDepartments(Department obj) {
+        addToManyTarget(MANAGED_DEPARTMENTS_PROPERTY, obj, true);
+    }
+    public void removeFromManagedDepartments(Department obj) {
+        removeToManyTarget(MANAGED_DEPARTMENTS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Department> getManagedDepartments() {
+        return (List<Department>)readProperty(MANAGED_DEPARTMENTS_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_People.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_People.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_People.java
new file mode 100644
index 0000000..21211b7
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_People.java
@@ -0,0 +1,12 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+
+
+/**
+ * This class was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public class _People {
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
new file mode 100644
index 0000000..67e6711
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_people/auto/_PersonNotes.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.inheritance_people.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance_people.AbstractPerson;
+
+/**
+ * Class _PersonNotes was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _PersonNotes extends CayenneDataObject {
+
+    public static final String NOTES_PROPERTY = "notes";
+    public static final String PERSON_PROPERTY = "person";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setNotes(String notes) {
+        writeProperty(NOTES_PROPERTY, notes);
+    }
+    public String getNotes() {
+        return (String)readProperty(NOTES_PROPERTY);
+    }
+
+    public void setPerson(AbstractPerson person) {
+        setToOneTarget(PERSON_PROPERTY, person, true);
+    }
+
+    public AbstractPerson getPerson() {
+        return (AbstractPerson)readProperty(PERSON_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/InheritanceVertical.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/InheritanceVertical.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/InheritanceVertical.java
new file mode 100644
index 0000000..160a84e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/InheritanceVertical.java
@@ -0,0 +1,36 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._InheritanceVertical;
+
+public class InheritanceVertical extends _InheritanceVertical {
+
+    private static InheritanceVertical instance;
+
+    private InheritanceVertical() {}
+
+    public static InheritanceVertical getInstance() {
+        if(instance == null) {
+            instance = new InheritanceVertical();
+        }
+
+        return instance;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Root.java
new file mode 100644
index 0000000..8073283
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Root.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv1Root;
+
+public class Iv1Root extends _Iv1Root {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Sub1.java
new file mode 100644
index 0000000..0948627
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv1Sub1.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv1Sub1;
+
+public class Iv1Sub1 extends _Iv1Sub1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Root.java
new file mode 100644
index 0000000..23ce2af
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Root.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv2Root;
+
+public class Iv2Root extends _Iv2Root {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Sub1.java
new file mode 100644
index 0000000..fbea488
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2Sub1.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv2Sub1;
+
+public class Iv2Sub1 extends _Iv2Sub1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2X.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2X.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2X.java
new file mode 100644
index 0000000..834924e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/Iv2X.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._Iv2X;
+
+public class Iv2X extends _Iv2X {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvRoot.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvRoot.java
new file mode 100644
index 0000000..d150d4d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvRoot.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._IvRoot;
+
+public class IvRoot extends _IvRoot {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1.java
new file mode 100644
index 0000000..b2b8bd1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._IvSub1;
+
+public class IvSub1 extends _IvSub1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1Sub1.java
new file mode 100644
index 0000000..5e35a54
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub1Sub1.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._IvSub1Sub1;
+
+public class IvSub1Sub1 extends _IvSub1Sub1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub2.java
new file mode 100644
index 0000000..19f2309
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/IvSub2.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance_vertical;
+
+import org.apache.cayenne.testdo.inheritance_vertical.auto._IvSub2;
+
+public class IvSub2 extends _IvSub2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_InheritanceVertical.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_InheritanceVertical.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_InheritanceVertical.java
new file mode 100644
index 0000000..884c0a7
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_InheritanceVertical.java
@@ -0,0 +1,12 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+
+
+/**
+ * This class was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public class _InheritanceVertical {
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
new file mode 100644
index 0000000..9c1a0ae
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Root.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _Iv1Root was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Iv1Root extends CayenneDataObject {
+
+    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setDiscriminator(String discriminator) {
+        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
+    }
+    public String getDiscriminator() {
+        return (String)readProperty(DISCRIMINATOR_PROPERTY);
+    }
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
new file mode 100644
index 0000000..5775ef1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv1Sub1.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.testdo.inheritance_vertical.Iv1Root;
+
+/**
+ * Class _Iv1Sub1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Iv1Sub1 extends Iv1Root {
+
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
new file mode 100644
index 0000000..b343c22
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Root.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _Iv2Root was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Iv2Root extends CayenneDataObject {
+
+    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setDiscriminator(String discriminator) {
+        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
+    }
+    public String getDiscriminator() {
+        return (String)readProperty(DISCRIMINATOR_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
new file mode 100644
index 0000000..69f7930
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2Sub1.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.testdo.inheritance_vertical.Iv2Root;
+import org.apache.cayenne.testdo.inheritance_vertical.Iv2X;
+
+/**
+ * Class _Iv2Sub1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Iv2Sub1 extends Iv2Root {
+
+    public static final String X_PROPERTY = "x";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setX(Iv2X x) {
+        setToOneTarget(X_PROPERTY, x, true);
+    }
+
+    public Iv2X getX() {
+        return (Iv2X)readProperty(X_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2X.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2X.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2X.java
new file mode 100644
index 0000000..1bcbe84
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_Iv2X.java
@@ -0,0 +1,16 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _Iv2X was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Iv2X extends CayenneDataObject {
+
+
+    public static final String ID_PK_COLUMN = "ID";
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
new file mode 100644
index 0000000..96cdf07
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvRoot.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _IvRoot was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _IvRoot extends CayenneDataObject {
+
+    public static final String DISCRIMINATOR_PROPERTY = "discriminator";
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setDiscriminator(String discriminator) {
+        writeProperty(DISCRIMINATOR_PROPERTY, discriminator);
+    }
+    public String getDiscriminator() {
+        return (String)readProperty(DISCRIMINATOR_PROPERTY);
+    }
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+}


[16/50] [abbrv] cayenne git commit: adding generics spec to the new parameterized tests

Posted by aa...@apache.org.
adding generics spec to the new parameterized tests


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/2430e941
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/2430e941
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/2430e941

Branch: refs/heads/CAY-1946
Commit: 2430e941dead66cbe8c8f8ed7508d48d098e84dd
Parents: e2a965f
Author: aadamchik <aa...@apache.org>
Authored: Tue Nov 4 20:13:09 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Tue Nov 4 20:14:00 2014 +0300

----------------------------------------------------------------------
 .../src/test/java/org/apache/cayenne/NestedCayenneContextIT.java   | 2 +-
 .../java/org/apache/cayenne/remote/CayenneContextDeletionIT.java   | 2 +-
 .../src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java | 2 +-
 .../java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java | 2 +-
 .../apache/cayenne/remote/NestedObjectContextParentEventsIT.java   | 2 +-
 .../org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java | 2 +-
 .../org/apache/cayenne/remote/NestedObjectContextRollbackIT.java   | 2 +-
 .../java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java     | 2 +-
 .../test/java/org/apache/cayenne/remote/RelationshipChangeIT.java  | 2 +-
 .../src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java | 2 +-
 .../src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java  | 2 +-
 .../src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java   | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
index 7affd25..8420770 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
@@ -62,7 +62,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
     private DataChannelInterceptor queryInterceptor;
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
index c153b79..686b9ae 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
@@ -35,7 +35,7 @@ import java.util.Collection;
 public class CayenneContextDeletionIT extends RemoteCayenneCase {
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
index 8f4f6ca..b0b600d 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
@@ -49,7 +49,7 @@ public class LightSuperClassIT extends RemoteCayenneCase {
     private boolean server;
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION, true},
                 {LocalConnection.JAVA_SERIALIZATION, true},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
index 7347063..29eaf61 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextLocalIT.java
@@ -41,7 +41,7 @@ import java.util.List;
 public class NestedObjectContextLocalIT extends RemoteCayenneCase {
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
index d36f07f..53ed7ac 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextParentEventsIT.java
@@ -46,7 +46,7 @@ public class NestedObjectContextParentEventsIT extends RemoteCayenneCase {
     private ClientRuntime runtime;
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
index e9139e6..bc86734 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextPeerEventsIT.java
@@ -48,7 +48,7 @@ public class NestedObjectContextPeerEventsIT extends RemoteCayenneCase {
     private DBHelper dbHelper;
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
index 931be97..9f7df82 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/NestedObjectContextRollbackIT.java
@@ -41,7 +41,7 @@ public class NestedObjectContextRollbackIT extends RemoteCayenneCase {
     private ClientRuntime runtime;
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
index 299bb3d..0eb0226 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ROPPrefetchToManyMapIT.java
@@ -49,7 +49,7 @@ public class ROPPrefetchToManyMapIT extends RemoteCayenneCase {
     private DataChannelInterceptor queryInterceptor;
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
index 26877de..ad88348 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RelationshipChangeIT.java
@@ -39,7 +39,7 @@ import java.util.Collection;
 public class RelationshipChangeIT extends RemoteCayenneCase {
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
index 87d2be5..17c3973 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteCallbacksIT.java
@@ -38,7 +38,7 @@ public class RemoteCallbacksIT extends RemoteCayenneCase implements LifecycleLis
     private int added, loaded, prePersisted, postPersisted, preRemoved, postRemoved, preUpdated, postUpdated;
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
index a200247..aeff54a 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/RemoteRollbackIT.java
@@ -40,7 +40,7 @@ import java.util.Collection;
 public class RemoteRollbackIT extends RemoteCayenneCase {
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2430e941/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
index a289a42..a86b12e 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ValueInjectorIT.java
@@ -44,7 +44,7 @@ public class ValueInjectorIT extends RemoteCayenneCase {
     protected DataContext serverContext;
 
     @Parameters
-    public static Collection data() {
+    public static Collection<Object[]> data() {
         return Arrays.asList(new Object[][]{
                 {LocalConnection.HESSIAN_SERIALIZATION},
                 {LocalConnection.JAVA_SERIALIZATION},


[20/50] [abbrv] cayenne git commit: Organize Assert Imports

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
index d0510a1..2e9a795 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
@@ -30,6 +30,12 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextCommitIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
index c1d8496..c9f4262 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
@@ -32,6 +32,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  * Testing relationships with compound keys.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
index ca04495..6a74e2e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
@@ -32,6 +32,9 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.EventUtil;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests that DataContext sends DataChannel events.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
index 0c6c807..969a54c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
@@ -39,6 +39,10 @@ import org.junit.Test;
 
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextDecoratedStackIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
index 38cc1c6..46d1231 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
@@ -33,6 +33,11 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests various DataContextDelegate methods invocation and consequences on DataContext
  * behavior.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
index 5f4fc80..18b07e4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
@@ -31,6 +31,12 @@ import org.junit.Test;
 
 import java.util.Date;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextDelegateSharedCacheIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
index e870521..3ae0c34 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
@@ -37,6 +37,12 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 // TODO: redefine all test cases in terms of entities in "relationships" map
 // and merge this test case with DeleteRulesTst that inherits
 // from RelationshipTestCase.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
index cebf478..272e61f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
@@ -40,6 +40,11 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextDisjointByIdPrefetchIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
index c46197c..9b84973 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
@@ -45,6 +45,10 @@ import java.util.Collection;
 import java.util.List;
 
 import static org.apache.cayenne.exp.ExpressionFactory.matchExp;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
index fbd80c2..d0955c9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
@@ -32,6 +32,9 @@ import java.math.BigDecimal;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLArrayResultIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
index 09e35fd..b283614 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
@@ -40,6 +40,12 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLConditionsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
index b1b59ef..7c62217 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
@@ -36,6 +36,9 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)
 public class DataContextEJBQLConditionsPeopleIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
index 1b21506..b364ea7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
@@ -34,6 +34,10 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLDeleteIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
index 8141130..1ed6d89 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
@@ -42,6 +42,11 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLFetchJoinIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
index 1e48da4..7260cf1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
@@ -35,6 +35,11 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
index 60ffb8f..9c4ae2e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
@@ -40,6 +40,9 @@ import java.math.BigInteger;
 import java.util.Calendar;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 // TODO: renamed as it fails on DB's like Derby. See CAY-1480. 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLFunctionalExpressions extends ServerCase {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
index 268fb1e..30fc0db 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
@@ -37,6 +37,11 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLGroupByHavingIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
index fd9ab47..f67632b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
@@ -33,6 +33,8 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)
 public class DataContextEJBQLInheritanceIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
index 8df591f..24ca818 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
@@ -33,6 +33,8 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLIsNullIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
index 59acfd6..4f587de 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
@@ -35,6 +35,9 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLJoinsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
index 3450b71..133aa10 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
@@ -32,6 +32,8 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLOrderByIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
index 7c7d812..6e32995 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryIT.java
@@ -46,6 +46,10 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLQueryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
index 7b42a27..3b4ccbe 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLSubqueryIT.java
@@ -37,6 +37,9 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLSubqueryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
index d16eb51..3de1db8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateIT.java
@@ -36,6 +36,9 @@ import java.sql.Types;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEJBQLUpdateIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
index 6ee1311..7b8483d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKIT.java
@@ -36,6 +36,11 @@ import org.junit.Test;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextEntityWithMeaningfulPKIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
index 05a8ece..24fa4e4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtendedTypeOperationsIT.java
@@ -34,6 +34,8 @@ import org.junit.Test;
 
 import java.util.Arrays;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextExtendedTypeOperationsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
index f8b2ba4..f5f32c4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextExtrasIT.java
@@ -47,6 +47,15 @@ import java.sql.Types;
 import java.util.Date;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextExtrasIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
index 3357d28..0837d07 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextFlattenedAttributesIT.java
@@ -41,6 +41,11 @@ import java.sql.Types;
 import java.util.Iterator;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextFlattenedAttributesIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java
index fcc66db..ee63afa 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextIT.java
@@ -65,6 +65,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Matchers.isNull;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
index a3ec14f..911b42b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextJoinAliasesIT.java
@@ -34,6 +34,8 @@ import org.junit.Test;
 import java.sql.Timestamp;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextJoinAliasesIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
index 5bccd04..4102669 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextLocalObjectIT.java
@@ -33,6 +33,12 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextLocalObjectIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
index 3719e69..9da593e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextNoPkIT.java
@@ -33,6 +33,11 @@ import org.junit.Test;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextNoPkIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
index fbbec3c..cdace4b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectIdQueryIT.java
@@ -32,6 +32,10 @@ import org.junit.Test;
 import java.util.Collections;
 import java.util.Date;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextObjectIdQueryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
index 8b5b1c0..15ea9b7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextObjectTrackingIT.java
@@ -37,6 +37,11 @@ import java.sql.Types;
 import java.util.Collections;
 import java.util.Date;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 /**
  * Tests objects registration in DataContext, transferring objects between contexts and
  * such.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
index 9d9471e..1134f4d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOrderingIT.java
@@ -33,6 +33,9 @@ import java.math.BigDecimal;
 import java.util.Calendar;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextOrderingIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
index 0b8fd4e..a322082 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java
@@ -36,6 +36,8 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextOuterJoinsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
index cd22677..5178517 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPaginatedQueryIT.java
@@ -30,6 +30,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextPaginatedQueryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
index ac06353..20f0f58 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPerformQueryAPIIT.java
@@ -44,6 +44,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextPerformQueryAPIIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
index 0534635..9995660 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtras1IT.java
@@ -32,6 +32,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 /**
  * A test case for CAY-788.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
index 524251d..12454bb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchExtrasIT.java
@@ -41,6 +41,12 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Test prefetching of various obscure cases.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
index ec04fb0..315bd8a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchIT.java
@@ -52,6 +52,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextPrefetchIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
index 82dfb55..2bcd1d6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchMultistepIT.java
@@ -44,6 +44,12 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextPrefetchMultistepIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
index 7c3915e..401af58 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextPrefetchQualifierOverlapIT.java
@@ -32,6 +32,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextPrefetchQualifierOverlapIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
index 8660d20..75eb08e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextProcedureQueryIT.java
@@ -43,6 +43,11 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextProcedureQueryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
index 7f692f5..7e7c16e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
@@ -35,6 +35,8 @@ import org.junit.Test;
 import java.sql.Types;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 /**
  */
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
index 54137ac..e82441f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingIT.java
@@ -37,6 +37,11 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextQueryCachingIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
index 4e190f9..db95860 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryChainIT.java
@@ -31,6 +31,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextQueryChainIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
index cdac918..7ca4d20 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshQueryIT.java
@@ -38,6 +38,13 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextRefreshQueryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
index 620507d..6086b6c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRefreshingIT.java
@@ -37,6 +37,11 @@ import java.sql.Types;
 import java.util.Date;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+
 /**
  * Test suite covering possible scenarios of refreshing updated objects. This includes
  * refreshing relationships and attributes changed outside of Cayenne with and without

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
index 68067b3..e5c9dc8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRelationshipQueryIT.java
@@ -31,6 +31,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextRelationshipQueryIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
index 1ba7e74..0c67109 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
@@ -34,6 +34,10 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextRollbackIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
index 04c253f..a88f2d4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
@@ -48,6 +48,10 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextSQLTemplateIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java
index 763e28e..a71bcb0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java
@@ -30,6 +30,8 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextSelectQuerySplitAliasesIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
index bb6970e..e677d04 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
@@ -39,6 +39,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextSerializationIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
index 3103f9c..9f98d4f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
@@ -36,6 +36,10 @@ import org.junit.Test;
 import java.util.Collections;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextSharedCacheEmpiricIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
index b29e55d..7b69abe 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
@@ -42,6 +42,14 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Test suite for testing behavior of multiple DataContexts that share the same underlying
  * DataDomain.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
index d208844..6005077 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
@@ -30,6 +30,10 @@ import org.apache.cayenne.unit.util.ValidationDelegate;
 import org.apache.cayenne.validation.ValidationResult;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 /**
  */
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
index f0fdb46..c670b5a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
@@ -35,6 +35,12 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataDomainCallbacksIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
index a0be7ac..8e8a877 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
@@ -37,6 +37,10 @@ import org.junit.Test;
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataDomainFiltersIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java
index 0e7779b..5607bb1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java
@@ -42,6 +42,14 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataDomainIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
index 4e4323e..373dcc5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
@@ -36,6 +36,8 @@ import org.junit.Test;
 import java.io.Serializable;
 import java.util.List;
 
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataDomainQueryActionIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java
index f41af3d..9584e22 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java
@@ -26,6 +26,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataNodeIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
index f6e70ba..99ccb2c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
@@ -37,6 +37,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataNodeQueriesIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
index 0496f5c..f5470bd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
@@ -31,6 +31,11 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataRowStoreIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
index e61a4c7..3d942b3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
@@ -36,6 +36,11 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataRowUtilsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
index f5f8dc4..f6a5ba2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
@@ -34,6 +34,10 @@ import java.sql.Time;
 import java.util.Calendar;
 import java.util.Date;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests Date handling in Cayenne.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
index ab177f3..9a003c3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
@@ -29,6 +29,11 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DbGeneratorIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
index 8ca7676..8bad0d2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
@@ -39,6 +39,12 @@ import java.sql.Types;
 import java.util.Collection;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DbLoaderIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
index 18ce6d5..4b0a9cd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
@@ -31,6 +31,9 @@ import org.junit.Test;
 
 import java.util.Collection;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DbLoaderPartialIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
index bddf3bf..6bb7cd3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
@@ -37,6 +37,9 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DeleteObjectIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
index 8dda83f..3b27c80 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
@@ -41,6 +41,12 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class DeleteRulesIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
index 8f8be6d..4b9422d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
@@ -35,6 +35,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.DEFAULT_PROJECT)
 public class EmbeddingIT extends ServerCase {
     

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
index c2a3b9f..b25267c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
@@ -33,6 +33,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EnumIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
index 3d60f01..9b655f2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
@@ -29,6 +29,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class FlattenedArcKeyIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
index aa4d9ff..ce8dd83 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
@@ -41,6 +41,11 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class FlattenedPrefetchIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
index 7f81b24..9745581 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
@@ -34,6 +34,10 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class FlattenedRelationshipInContextIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
index 22adb11..bbd3787 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
@@ -43,6 +43,11 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class IdentityColumnsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
index 6c954b2..5faf72b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
@@ -26,6 +26,9 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.Util;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class IncrementalFaultListIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
index c4a0216..8779b3f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
@@ -54,6 +54,12 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
 /**
  * Tests joint prefetch handling by Cayenne access stack.
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
index 731d8c8..d1da777 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
@@ -33,6 +33,10 @@ import org.junit.Test;
 
 import java.lang.reflect.Array;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class MiscTypesIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
index c492165..74c2b41 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
@@ -32,6 +32,9 @@ import org.junit.Test;
 
 import java.util.List;
 
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextLocalCacheIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
index 6665160..f3309db 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
@@ -28,6 +28,11 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextParentEventsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
index 5273235..9f8a866 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
@@ -29,6 +29,12 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class NestedDataContextParentPeerEventsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
index 3da5090..2b3c306 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
@@ -30,6 +30,11 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextPeerEventsIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
index 73d564a..6f87de4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextReadIT.java
@@ -46,6 +46,14 @@ import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextReadIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
index 63b5ea0..5adc512 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextRollbackIT.java
@@ -26,6 +26,9 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextRollbackIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
index 2ac6652..af65367 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextValidationIT.java
@@ -29,6 +29,10 @@ import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.validation.ValidationException;
 import org.junit.Test;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextValidationIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
index ed319c8..1f46ecb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextWriteIT.java
@@ -46,6 +46,12 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
 @UseServerRuntime("cayenne-small-testmap.xml")
 public class NestedDataContextWriteIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
index 2d05ff3..c19a875 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContext_DeadlockIT.java
@@ -33,6 +33,8 @@ import org.junit.Test;
 import java.util.List;
 import java.util.Random;
 
+import static org.junit.Assert.assertFalse;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContext_DeadlockIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
index 2ce5d42..e18f218 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NumericTypesIT.java
@@ -44,6 +44,11 @@ import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+
 /**
  */
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
index 67eeb7a..cf60725 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreDiffRetainingIT.java
@@ -31,6 +31,9 @@ import org.junit.Test;
 
 import java.sql.Types;
 
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ObjectStoreDiffRetainingIT extends ServerCase {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/49dd1041/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
index 81abf7f..d5ccbc6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/ObjectStoreGCIT.java
@@ -29,6 +29,8 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
+
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ObjectStoreGCIT extends ServerCase {
 


[31/50] [abbrv] cayenne git commit: Refactor People Project & Inheritance Projects

Posted by aa...@apache.org.
Refactor People Project & Inheritance Projects


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0b6a4240
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0b6a4240
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0b6a4240

Branch: refs/heads/CAY-1946
Commit: 0b6a42405d96ec44c718fc088999a309628f32fc
Parents: 4baf598
Author: Savva Kolbechev <s....@gmail.com>
Authored: Mon Nov 10 14:59:19 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Mon Nov 10 14:59:19 2014 +0300

----------------------------------------------------------------------
 .../DataContextEJBQLConditionsPeopleIT.java     |  6 +-
 .../access/DataContextEJBQLInheritanceIT.java   |  6 +-
 .../access/DataContextQualifiedEntityIT.java    |  8 +-
 .../cayenne/access/EntityInheritanceIT.java     | 77 ++++++++++++++++++++
 .../access/SingleTableInheritance1IT.java       |  2 +-
 .../access/SingleTableInheritanceIT.java        | 77 ++------------------
 .../cayenne/access/VerticalInheritanceIT.java   | 18 ++---
 .../apache/cayenne/map/ObjRelationshipIT.java   |  2 +-
 ...ryPrefetchRouterActionQualifiedEntityIT.java |  6 +-
 ...LifecycleCallbackRegistry_InheritanceIT.java |  2 +-
 ...jectDescriptorFactory_InheritanceMapsIT.java |  2 +-
 .../cayenne/testdo/inherit/AbstractPerson.java  | 26 -------
 .../apache/cayenne/testdo/inherit/Address.java  | 26 -------
 .../cayenne/testdo/inherit/BaseEntity.java      | 25 -------
 .../cayenne/testdo/inherit/ClientCompany.java   | 26 -------
 .../testdo/inherit/CustomerRepresentative.java  | 26 -------
 .../cayenne/testdo/inherit/Department.java      | 26 -------
 .../testdo/inherit/DirectToSubEntity.java       | 25 -------
 .../apache/cayenne/testdo/inherit/Employee.java | 26 -------
 .../apache/cayenne/testdo/inherit/Manager.java  | 26 -------
 .../apache/cayenne/testdo/inherit/People.java   | 36 ---------
 .../cayenne/testdo/inherit/PersonNotes.java     | 25 -------
 .../cayenne/testdo/inherit/RelatedEntity.java   | 25 -------
 .../cayenne/testdo/inherit/SubEntity.java       | 25 -------
 .../testdo/inherit/auto/_AbstractPerson.java    | 48 ------------
 .../cayenne/testdo/inherit/auto/_Address.java   | 35 ---------
 .../testdo/inherit/auto/_BaseEntity.java        | 46 ------------
 .../testdo/inherit/auto/_ClientCompany.java     | 40 ----------
 .../inherit/auto/_CustomerRepresentative.java   | 35 ---------
 .../testdo/inherit/auto/_Department.java        | 51 -------------
 .../testdo/inherit/auto/_DirectToSubEntity.java | 32 --------
 .../cayenne/testdo/inherit/auto/_Employee.java  | 51 -------------
 .../cayenne/testdo/inherit/auto/_Manager.java   | 32 --------
 .../cayenne/testdo/inherit/auto/_People.java    | 12 ---
 .../testdo/inherit/auto/_PersonNotes.java       | 35 ---------
 .../testdo/inherit/auto/_RelatedEntity.java     | 46 ------------
 .../cayenne/testdo/inherit/auto/_SubEntity.java | 16 ----
 .../cayenne/testdo/inheritance/BaseEntity.java  | 25 +++++++
 .../testdo/inheritance/DirectToSubEntity.java   | 25 +++++++
 .../testdo/inheritance/RelatedEntity.java       | 25 +++++++
 .../cayenne/testdo/inheritance/SubEntity.java   | 25 +++++++
 .../testdo/inheritance/auto/_BaseEntity.java    | 46 ++++++++++++
 .../inheritance/auto/_DirectToSubEntity.java    | 32 ++++++++
 .../testdo/inheritance/auto/_RelatedEntity.java | 46 ++++++++++++
 .../testdo/inheritance/auto/_SubEntity.java     | 16 ++++
 .../vertical/InheritanceVertical.java           | 36 ---------
 .../testdo/inheritance/vertical/Iv1Root.java    | 25 -------
 .../testdo/inheritance/vertical/Iv1Sub1.java    | 25 -------
 .../testdo/inheritance/vertical/Iv2Root.java    | 25 -------
 .../testdo/inheritance/vertical/Iv2Sub1.java    | 25 -------
 .../testdo/inheritance/vertical/Iv2X.java       | 25 -------
 .../testdo/inheritance/vertical/IvRoot.java     | 25 -------
 .../testdo/inheritance/vertical/IvSub1.java     | 25 -------
 .../testdo/inheritance/vertical/IvSub1Sub1.java | 25 -------
 .../testdo/inheritance/vertical/IvSub2.java     | 25 -------
 .../vertical/auto/_InheritanceVertical.java     | 12 ---
 .../inheritance/vertical/auto/_Iv1Root.java     | 32 --------
 .../inheritance/vertical/auto/_Iv1Sub1.java     | 24 ------
 .../inheritance/vertical/auto/_Iv2Root.java     | 24 ------
 .../inheritance/vertical/auto/_Iv2Sub1.java     | 27 -------
 .../testdo/inheritance/vertical/auto/_Iv2X.java | 16 ----
 .../inheritance/vertical/auto/_IvRoot.java      | 32 --------
 .../inheritance/vertical/auto/_IvSub1.java      | 24 ------
 .../inheritance/vertical/auto/_IvSub1Sub1.java  | 24 ------
 .../inheritance/vertical/auto/_IvSub2.java      | 32 --------
 .../inheritance_people/AbstractPerson.java      | 26 +++++++
 .../testdo/inheritance_people/Address.java      | 26 +++++++
 .../inheritance_people/ClientCompany.java       | 26 +++++++
 .../CustomerRepresentative.java                 | 26 +++++++
 .../testdo/inheritance_people/Department.java   | 26 +++++++
 .../testdo/inheritance_people/Employee.java     | 26 +++++++
 .../testdo/inheritance_people/Manager.java      | 26 +++++++
 .../testdo/inheritance_people/People.java       | 36 +++++++++
 .../testdo/inheritance_people/PersonNotes.java  | 25 +++++++
 .../auto/_AbstractPerson.java                   | 48 ++++++++++++
 .../inheritance_people/auto/_Address.java       | 35 +++++++++
 .../inheritance_people/auto/_ClientCompany.java | 40 ++++++++++
 .../auto/_CustomerRepresentative.java           | 35 +++++++++
 .../inheritance_people/auto/_Department.java    | 51 +++++++++++++
 .../inheritance_people/auto/_Employee.java      | 51 +++++++++++++
 .../inheritance_people/auto/_Manager.java       | 32 ++++++++
 .../testdo/inheritance_people/auto/_People.java | 12 +++
 .../inheritance_people/auto/_PersonNotes.java   | 35 +++++++++
 .../InheritanceVertical.java                    | 36 +++++++++
 .../testdo/inheritance_vertical/Iv1Root.java    | 25 +++++++
 .../testdo/inheritance_vertical/Iv1Sub1.java    | 25 +++++++
 .../testdo/inheritance_vertical/Iv2Root.java    | 25 +++++++
 .../testdo/inheritance_vertical/Iv2Sub1.java    | 25 +++++++
 .../testdo/inheritance_vertical/Iv2X.java       | 25 +++++++
 .../testdo/inheritance_vertical/IvRoot.java     | 25 +++++++
 .../testdo/inheritance_vertical/IvSub1.java     | 25 +++++++
 .../testdo/inheritance_vertical/IvSub1Sub1.java | 25 +++++++
 .../testdo/inheritance_vertical/IvSub2.java     | 25 +++++++
 .../auto/_InheritanceVertical.java              | 12 +++
 .../inheritance_vertical/auto/_Iv1Root.java     | 32 ++++++++
 .../inheritance_vertical/auto/_Iv1Sub1.java     | 24 ++++++
 .../inheritance_vertical/auto/_Iv2Root.java     | 24 ++++++
 .../inheritance_vertical/auto/_Iv2Sub1.java     | 27 +++++++
 .../testdo/inheritance_vertical/auto/_Iv2X.java | 16 ++++
 .../inheritance_vertical/auto/_IvRoot.java      | 32 ++++++++
 .../inheritance_vertical/auto/_IvSub1.java      | 24 ++++++
 .../inheritance_vertical/auto/_IvSub1Sub1.java  | 24 ++++++
 .../inheritance_vertical/auto/_IvSub2.java      | 32 ++++++++
 .../cayenne/unit/di/server/SchemaBuilder.java   |  2 +-
 .../cayenne/unit/di/server/ServerCase.java      |  5 +-
 .../cayenne/unit/jira/CAY_207Manager1.java      |  2 +-
 .../cayenne/unit/jira/CAY_207Manager2.java      |  2 +-
 .../util/DeepMergeOperationInheritanceIT.java   |  6 +-
 .../src/test/resources/cayenne-inheritance.xml  |  4 +
 .../test/resources/inheritance-vertical.map.xml | 18 ++---
 .../src/test/resources/inheritance.map.xml      | 46 ++++++++++++
 .../src/test/resources/people.map.xml           | 57 +++------------
 112 files changed, 1518 insertions(+), 1490 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
index 7c62217..2dd5dde 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.inherit.Address;
-import org.apache.cayenne.testdo.inherit.Department;
-import org.apache.cayenne.testdo.inherit.Manager;
+import org.apache.cayenne.testdo.inheritance_people.Address;
+import org.apache.cayenne.testdo.inheritance_people.Department;
+import org.apache.cayenne.testdo.inheritance_people.Manager;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
index f67632b..ca5f763 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.inherit.CustomerRepresentative;
-import org.apache.cayenne.testdo.inherit.Employee;
-import org.apache.cayenne.testdo.inherit.Manager;
+import org.apache.cayenne.testdo.inheritance_people.CustomerRepresentative;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+import org.apache.cayenne.testdo.inheritance_people.Manager;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
index 7e7c16e..ab8ac03 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQualifiedEntityIT.java
@@ -24,10 +24,10 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.inherit.AbstractPerson;
-import org.apache.cayenne.testdo.inherit.CustomerRepresentative;
-import org.apache.cayenne.testdo.inherit.Employee;
-import org.apache.cayenne.testdo.inherit.Manager;
+import org.apache.cayenne.testdo.inheritance_people.AbstractPerson;
+import org.apache.cayenne.testdo.inheritance_people.CustomerRepresentative;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+import org.apache.cayenne.testdo.inheritance_people.Manager;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
new file mode 100644
index 0000000..e17295e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
@@ -0,0 +1,77 @@
+package org.apache.cayenne.access;
+
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.testdo.inheritance.BaseEntity;
+import org.apache.cayenne.testdo.inheritance.RelatedEntity;
+import org.apache.cayenne.testdo.inheritance.SubEntity;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.INHERITANCE_PROJECT)
+public class EntityInheritanceIT extends ServerCase {
+
+    @Inject
+    private DataContext context;
+
+    /**
+     * Test for CAY-1008: Reverse relationships may not be correctly set if inheritance is
+     * used.
+     */
+    @Test
+    public void testCAY1008() {
+        RelatedEntity related = context.newObject(RelatedEntity.class);
+
+        BaseEntity base = context.newObject(BaseEntity.class);
+        base.setToRelatedEntity(related);
+
+        assertEquals(1, related.getBaseEntities().size());
+        assertEquals(0, related.getSubEntities().size());
+
+        SubEntity sub = context.newObject(SubEntity.class);
+        sub.setToRelatedEntity(related);
+
+        assertEquals(2, related.getBaseEntities().size());
+
+        // TODO: andrus 2008/03/28 - this fails...
+        // assertEquals(1, related.getSubEntities().size());
+    }
+
+    /**
+     * Test for CAY-1009: Bogus runtime relationships can mess up commit.
+     */
+    @Test
+    public void testCAY1009() {
+
+        // We should have only one relationship. DirectToSubEntity -> SubEntity.
+
+        // this fails as a result of 'EntityResolver().applyObjectLayerDefaults()'
+        // creating incorrect relationships
+        // assertEquals(1, context
+        // .getEntityResolver()
+        // .getObjEntity("DirectToSubEntity")
+        // .getRelationships()
+        // .size());
+
+        // We should still just have the one mapped relationship, but we in fact now have
+        // two:
+        // DirectToSubEntity -> BaseEntity and DirectToSubEntity -> SubEntity.
+
+        // TODO: andrus 2008/03/28 - this fails...
+        // assertEquals(1, context.getEntityResolver().getObjEntity("DirectToSubEntity")
+        // .getRelationships().size());
+        //
+        // DirectToSubEntity direct = context.newObject(DirectToSubEntity.class);
+        //
+        // SubEntity sub = context.newObject(SubEntity.class);
+        // sub.setToDirectToSubEntity(direct);
+        //
+        // assertEquals(1, direct.getSubEntities().size());
+        //
+        // context.deleteObject(sub);
+        // assertEquals(0, direct.getSubEntities().size());
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
index 02b2c41..c9dd4aa 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritance1IT.java
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Special test cases per CAY-1378, CAY-1379.
  */
-@UseServerRuntime(ServerCase.INHERTITANCE_SINGLE_TABLE1_PROJECT)
+@UseServerRuntime(ServerCase.INHERITANCE_SINGLE_TABLE1_PROJECT)
 public class SingleTableInheritance1IT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
index 8f8cd39..c2ce9c3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/SingleTableInheritanceIT.java
@@ -28,17 +28,14 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.query.SortOrder;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.inherit.AbstractPerson;
-import org.apache.cayenne.testdo.inherit.Address;
-import org.apache.cayenne.testdo.inherit.BaseEntity;
-import org.apache.cayenne.testdo.inherit.ClientCompany;
-import org.apache.cayenne.testdo.inherit.CustomerRepresentative;
-import org.apache.cayenne.testdo.inherit.Department;
-import org.apache.cayenne.testdo.inherit.Employee;
-import org.apache.cayenne.testdo.inherit.Manager;
-import org.apache.cayenne.testdo.inherit.PersonNotes;
-import org.apache.cayenne.testdo.inherit.RelatedEntity;
-import org.apache.cayenne.testdo.inherit.SubEntity;
+import org.apache.cayenne.testdo.inheritance_people.AbstractPerson;
+import org.apache.cayenne.testdo.inheritance_people.Address;
+import org.apache.cayenne.testdo.inheritance_people.ClientCompany;
+import org.apache.cayenne.testdo.inheritance_people.CustomerRepresentative;
+import org.apache.cayenne.testdo.inheritance_people.Department;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+import org.apache.cayenne.testdo.inheritance_people.Manager;
+import org.apache.cayenne.testdo.inheritance_people.PersonNotes;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
@@ -483,64 +480,6 @@ public class SingleTableInheritanceIT extends ServerCase {
     }
 
     /**
-     * Test for CAY-1008: Reverse relationships may not be correctly set if inheritance is
-     * used.
-     */
-    @Test
-    public void testCAY1008() {
-        RelatedEntity related = context.newObject(RelatedEntity.class);
-
-        BaseEntity base = context.newObject(BaseEntity.class);
-        base.setToRelatedEntity(related);
-
-        assertEquals(1, related.getBaseEntities().size());
-        assertEquals(0, related.getSubEntities().size());
-
-        SubEntity sub = context.newObject(SubEntity.class);
-        sub.setToRelatedEntity(related);
-
-        assertEquals(2, related.getBaseEntities().size());
-
-        // TODO: andrus 2008/03/28 - this fails...
-        // assertEquals(1, related.getSubEntities().size());
-    }
-
-    /**
-     * Test for CAY-1009: Bogus runtime relationships can mess up commit.
-     */
-    @Test
-    public void testCAY1009() {
-
-        // We should have only one relationship. DirectToSubEntity -> SubEntity.
-
-        // this fails as a result of 'EntityResolver().applyObjectLayerDefaults()'
-        // creating incorrect relationships
-        // assertEquals(1, context
-        // .getEntityResolver()
-        // .getObjEntity("DirectToSubEntity")
-        // .getRelationships()
-        // .size());
-
-        // We should still just have the one mapped relationship, but we in fact now have
-        // two:
-        // DirectToSubEntity -> BaseEntity and DirectToSubEntity -> SubEntity.
-
-        // TODO: andrus 2008/03/28 - this fails...
-        // assertEquals(1, context.getEntityResolver().getObjEntity("DirectToSubEntity")
-        // .getRelationships().size());
-        //
-        // DirectToSubEntity direct = context.newObject(DirectToSubEntity.class);
-        //
-        // SubEntity sub = context.newObject(SubEntity.class);
-        // sub.setToDirectToSubEntity(direct);
-        //
-        // assertEquals(1, direct.getSubEntities().size());
-        //
-        // context.deleteObject(sub);
-        // assertEquals(0, direct.getSubEntities().size());
-    }
-
-    /**
      * Returns a number of objects of a particular class and subclasses in the list.
      */
     private int countObjectOfClass(List<?> objects, Class<?> aClass) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
index f93f140..a1669d1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java
@@ -23,14 +23,14 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.inheritance.vertical.Iv1Root;
-import org.apache.cayenne.testdo.inheritance.vertical.Iv1Sub1;
-import org.apache.cayenne.testdo.inheritance.vertical.Iv2Sub1;
-import org.apache.cayenne.testdo.inheritance.vertical.Iv2X;
-import org.apache.cayenne.testdo.inheritance.vertical.IvRoot;
-import org.apache.cayenne.testdo.inheritance.vertical.IvSub1;
-import org.apache.cayenne.testdo.inheritance.vertical.IvSub1Sub1;
-import org.apache.cayenne.testdo.inheritance.vertical.IvSub2;
+import org.apache.cayenne.testdo.inheritance_vertical.Iv1Root;
+import org.apache.cayenne.testdo.inheritance_vertical.Iv1Sub1;
+import org.apache.cayenne.testdo.inheritance_vertical.Iv2Sub1;
+import org.apache.cayenne.testdo.inheritance_vertical.Iv2X;
+import org.apache.cayenne.testdo.inheritance_vertical.IvRoot;
+import org.apache.cayenne.testdo.inheritance_vertical.IvSub1;
+import org.apache.cayenne.testdo.inheritance_vertical.IvSub1Sub1;
+import org.apache.cayenne.testdo.inheritance_vertical.IvSub2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -46,7 +46,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.INHERTITANCE_VERTICAL_PROJECT)
+@UseServerRuntime(ServerCase.INHERITANCE_VERTICAL_PROJECT)
 public class VerticalInheritanceIT extends ServerCase {
 
 	@Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
index ce66e0c..354de81 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.ExpressionException;
 import org.apache.cayenne.resource.URLResource;
-import org.apache.cayenne.testdo.inheritance.vertical.Iv2Sub1;
+import org.apache.cayenne.testdo.inheritance_vertical.Iv2Sub1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.Util;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
index fa9010e..09a9c83 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
@@ -24,9 +24,9 @@ import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.testdo.inherit.Department;
-import org.apache.cayenne.testdo.inherit.Employee;
-import org.apache.cayenne.testdo.inherit.Manager;
+import org.apache.cayenne.testdo.inheritance_people.Department;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+import org.apache.cayenne.testdo.inheritance_people.Manager;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
index 8f5fa32..b4f4792 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
@@ -34,7 +34,7 @@ import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
-@UseServerRuntime(ServerCase.INHERTITANCE_SINGLE_TABLE1_PROJECT)
+@UseServerRuntime(ServerCase.INHERITANCE_SINGLE_TABLE1_PROJECT)
 public class LifecycleCallbackRegistry_InheritanceIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
index 22f2d06..f30511f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
@@ -32,7 +32,7 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
-@UseServerRuntime(ServerCase.INHERTITANCE_SINGLE_TABLE1_PROJECT)
+@UseServerRuntime(ServerCase.INHERITANCE_SINGLE_TABLE1_PROJECT)
 public class DataObjectDescriptorFactory_InheritanceMapsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/AbstractPerson.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/AbstractPerson.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/AbstractPerson.java
deleted file mode 100644
index 6968553..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/AbstractPerson.java
+++ /dev/null
@@ -1,26 +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.testdo.inherit;
-
-public abstract class AbstractPerson extends org.apache.cayenne.testdo.inherit.auto._AbstractPerson {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Address.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Address.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Address.java
deleted file mode 100644
index ce30ffc..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Address.java
+++ /dev/null
@@ -1,26 +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.testdo.inherit;
-
-public class Address extends org.apache.cayenne.testdo.inherit.auto._Address {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/BaseEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/BaseEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/BaseEntity.java
deleted file mode 100644
index 7d96cb3..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/BaseEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.inherit;
-
-import org.apache.cayenne.testdo.inherit.auto._BaseEntity;
-
-public class BaseEntity extends _BaseEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/ClientCompany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/ClientCompany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/ClientCompany.java
deleted file mode 100644
index 1df2cfa..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/ClientCompany.java
+++ /dev/null
@@ -1,26 +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.testdo.inherit;
-
-public class ClientCompany extends org.apache.cayenne.testdo.inherit.auto._ClientCompany {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/CustomerRepresentative.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/CustomerRepresentative.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/CustomerRepresentative.java
deleted file mode 100644
index 5fd137d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/CustomerRepresentative.java
+++ /dev/null
@@ -1,26 +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.testdo.inherit;
-
-public class CustomerRepresentative extends org.apache.cayenne.testdo.inherit.auto._CustomerRepresentative {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Department.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Department.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Department.java
deleted file mode 100644
index 547f5f2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Department.java
+++ /dev/null
@@ -1,26 +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.testdo.inherit;
-
-public class Department extends org.apache.cayenne.testdo.inherit.auto._Department {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/DirectToSubEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/DirectToSubEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/DirectToSubEntity.java
deleted file mode 100644
index fa5d4f8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/DirectToSubEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.inherit;
-
-import org.apache.cayenne.testdo.inherit.auto._DirectToSubEntity;
-
-public class DirectToSubEntity extends _DirectToSubEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Employee.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Employee.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Employee.java
deleted file mode 100644
index d9b15b7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Employee.java
+++ /dev/null
@@ -1,26 +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.testdo.inherit;
-
-public class Employee extends org.apache.cayenne.testdo.inherit.auto._Employee {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Manager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Manager.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Manager.java
deleted file mode 100644
index a6ed92d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/Manager.java
+++ /dev/null
@@ -1,26 +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.testdo.inherit;
-
-public class Manager extends org.apache.cayenne.testdo.inherit.auto._Manager {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/People.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/People.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/People.java
deleted file mode 100644
index e73f3e0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/People.java
+++ /dev/null
@@ -1,36 +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.testdo.inherit;
-
-import org.apache.cayenne.testdo.inherit.auto._People;
-
-public class People extends _People {
-
-    private static People instance;
-
-    private People() {}
-
-    public static People getInstance() {
-        if(instance == null) {
-            instance = new People();
-        }
-
-        return instance;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/PersonNotes.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/PersonNotes.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/PersonNotes.java
deleted file mode 100644
index 3b8cfe3..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/PersonNotes.java
+++ /dev/null
@@ -1,25 +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.testdo.inherit;
-
-import org.apache.cayenne.testdo.inherit.auto._PersonNotes;
-
-public class PersonNotes extends _PersonNotes {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/RelatedEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/RelatedEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/RelatedEntity.java
deleted file mode 100644
index 49427dc..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/RelatedEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.inherit;
-
-import org.apache.cayenne.testdo.inherit.auto._RelatedEntity;
-
-public class RelatedEntity extends _RelatedEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/SubEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/SubEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/SubEntity.java
deleted file mode 100644
index b55fb35..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/SubEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.inherit;
-
-import org.apache.cayenne.testdo.inherit.auto._SubEntity;
-
-public class SubEntity extends _SubEntity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractPerson.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractPerson.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractPerson.java
deleted file mode 100644
index 65fae97..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_AbstractPerson.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.inherit.PersonNotes;
-
-/**
- * Class _AbstractPerson was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _AbstractPerson extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String PERSON_TYPE_PROPERTY = "personType";
-    public static final String NOTES_PROPERTY = "notes";
-
-    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void setPersonType(String personType) {
-        writeProperty(PERSON_TYPE_PROPERTY, personType);
-    }
-    public String getPersonType() {
-        return (String)readProperty(PERSON_TYPE_PROPERTY);
-    }
-
-    public void addToNotes(PersonNotes obj) {
-        addToManyTarget(NOTES_PROPERTY, obj, true);
-    }
-    public void removeFromNotes(PersonNotes obj) {
-        removeToManyTarget(NOTES_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<PersonNotes> getNotes() {
-        return (List<PersonNotes>)readProperty(NOTES_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Address.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Address.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Address.java
deleted file mode 100644
index a8f3017..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Address.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.inherit.Employee;
-
-/**
- * Class _Address was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Address extends CayenneDataObject {
-
-    public static final String CITY_PROPERTY = "city";
-    public static final String TO_EMPLOYEE_PROPERTY = "toEmployee";
-
-    public static final String ADDRESS_ID_PK_COLUMN = "ADDRESS_ID";
-
-    public void setCity(String city) {
-        writeProperty(CITY_PROPERTY, city);
-    }
-    public String getCity() {
-        return (String)readProperty(CITY_PROPERTY);
-    }
-
-    public void setToEmployee(Employee toEmployee) {
-        setToOneTarget(TO_EMPLOYEE_PROPERTY, toEmployee, true);
-    }
-
-    public Employee getToEmployee() {
-        return (Employee)readProperty(TO_EMPLOYEE_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_BaseEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_BaseEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_BaseEntity.java
deleted file mode 100644
index 606860c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_BaseEntity.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.inherit.DirectToSubEntity;
-import org.apache.cayenne.testdo.inherit.RelatedEntity;
-
-/**
- * Class _BaseEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _BaseEntity extends CayenneDataObject {
-
-    public static final String ENTITY_TYPE_PROPERTY = "entityType";
-    public static final String TO_DIRECT_TO_SUB_ENTITY_PROPERTY = "toDirectToSubEntity";
-    public static final String TO_RELATED_ENTITY_PROPERTY = "toRelatedEntity";
-
-    public static final String BASE_ENTITY_ID_PK_COLUMN = "BASE_ENTITY_ID";
-
-    public void setEntityType(String entityType) {
-        writeProperty(ENTITY_TYPE_PROPERTY, entityType);
-    }
-    public String getEntityType() {
-        return (String)readProperty(ENTITY_TYPE_PROPERTY);
-    }
-
-    public void setToDirectToSubEntity(DirectToSubEntity toDirectToSubEntity) {
-        setToOneTarget(TO_DIRECT_TO_SUB_ENTITY_PROPERTY, toDirectToSubEntity, true);
-    }
-
-    public DirectToSubEntity getToDirectToSubEntity() {
-        return (DirectToSubEntity)readProperty(TO_DIRECT_TO_SUB_ENTITY_PROPERTY);
-    }
-
-
-    public void setToRelatedEntity(RelatedEntity toRelatedEntity) {
-        setToOneTarget(TO_RELATED_ENTITY_PROPERTY, toRelatedEntity, true);
-    }
-
-    public RelatedEntity getToRelatedEntity() {
-        return (RelatedEntity)readProperty(TO_RELATED_ENTITY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_ClientCompany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_ClientCompany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_ClientCompany.java
deleted file mode 100644
index 4112ad8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_ClientCompany.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.inherit.CustomerRepresentative;
-
-/**
- * Class _ClientCompany was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ClientCompany extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String REPRESENTATIVES_PROPERTY = "representatives";
-
-    public static final String CLIENT_COMPANY_ID_PK_COLUMN = "CLIENT_COMPANY_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToRepresentatives(CustomerRepresentative obj) {
-        addToManyTarget(REPRESENTATIVES_PROPERTY, obj, true);
-    }
-    public void removeFromRepresentatives(CustomerRepresentative obj) {
-        removeToManyTarget(REPRESENTATIVES_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<CustomerRepresentative> getRepresentatives() {
-        return (List<CustomerRepresentative>)readProperty(REPRESENTATIVES_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_CustomerRepresentative.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_CustomerRepresentative.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_CustomerRepresentative.java
deleted file mode 100644
index f09dddd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_CustomerRepresentative.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import org.apache.cayenne.testdo.inherit.AbstractPerson;
-import org.apache.cayenne.testdo.inherit.ClientCompany;
-
-/**
- * Class _CustomerRepresentative was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _CustomerRepresentative extends AbstractPerson {
-
-    public static final String CLIENT_CONTACT_TYPE_PROPERTY = "clientContactType";
-    public static final String TO_CLIENT_COMPANY_PROPERTY = "toClientCompany";
-
-    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
-
-    public void setClientContactType(String clientContactType) {
-        writeProperty(CLIENT_CONTACT_TYPE_PROPERTY, clientContactType);
-    }
-    public String getClientContactType() {
-        return (String)readProperty(CLIENT_CONTACT_TYPE_PROPERTY);
-    }
-
-    public void setToClientCompany(ClientCompany toClientCompany) {
-        setToOneTarget(TO_CLIENT_COMPANY_PROPERTY, toClientCompany, true);
-    }
-
-    public ClientCompany getToClientCompany() {
-        return (ClientCompany)readProperty(TO_CLIENT_COMPANY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Department.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Department.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Department.java
deleted file mode 100644
index 985b5fa..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Department.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.inherit.Employee;
-import org.apache.cayenne.testdo.inherit.Manager;
-
-/**
- * Class _Department was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Department extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String EMPLOYEES_PROPERTY = "employees";
-    public static final String TO_MANAGER_PROPERTY = "toManager";
-
-    public static final String DEPARTMENT_ID_PK_COLUMN = "DEPARTMENT_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToEmployees(Employee obj) {
-        addToManyTarget(EMPLOYEES_PROPERTY, obj, true);
-    }
-    public void removeFromEmployees(Employee obj) {
-        removeToManyTarget(EMPLOYEES_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<Employee> getEmployees() {
-        return (List<Employee>)readProperty(EMPLOYEES_PROPERTY);
-    }
-
-
-    public void setToManager(Manager toManager) {
-        setToOneTarget(TO_MANAGER_PROPERTY, toManager, true);
-    }
-
-    public Manager getToManager() {
-        return (Manager)readProperty(TO_MANAGER_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_DirectToSubEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_DirectToSubEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_DirectToSubEntity.java
deleted file mode 100644
index 462b457..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_DirectToSubEntity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.inherit.SubEntity;
-
-/**
- * Class _DirectToSubEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _DirectToSubEntity extends CayenneDataObject {
-
-    public static final String SUB_ENTITIES_PROPERTY = "subEntities";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void addToSubEntities(SubEntity obj) {
-        addToManyTarget(SUB_ENTITIES_PROPERTY, obj, true);
-    }
-    public void removeFromSubEntities(SubEntity obj) {
-        removeToManyTarget(SUB_ENTITIES_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<SubEntity> getSubEntities() {
-        return (List<SubEntity>)readProperty(SUB_ENTITIES_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Employee.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Employee.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Employee.java
deleted file mode 100644
index ffc5d33..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Employee.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.testdo.inherit.AbstractPerson;
-import org.apache.cayenne.testdo.inherit.Address;
-import org.apache.cayenne.testdo.inherit.Department;
-
-/**
- * Class _Employee was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Employee extends AbstractPerson {
-
-    public static final String SALARY_PROPERTY = "salary";
-    public static final String ADDRESSES_PROPERTY = "addresses";
-    public static final String TO_DEPARTMENT_PROPERTY = "toDepartment";
-
-    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
-
-    public void setSalary(Float salary) {
-        writeProperty(SALARY_PROPERTY, salary);
-    }
-    public Float getSalary() {
-        return (Float)readProperty(SALARY_PROPERTY);
-    }
-
-    public void addToAddresses(Address obj) {
-        addToManyTarget(ADDRESSES_PROPERTY, obj, true);
-    }
-    public void removeFromAddresses(Address obj) {
-        removeToManyTarget(ADDRESSES_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<Address> getAddresses() {
-        return (List<Address>)readProperty(ADDRESSES_PROPERTY);
-    }
-
-
-    public void setToDepartment(Department toDepartment) {
-        setToOneTarget(TO_DEPARTMENT_PROPERTY, toDepartment, true);
-    }
-
-    public Department getToDepartment() {
-        return (Department)readProperty(TO_DEPARTMENT_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Manager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Manager.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Manager.java
deleted file mode 100644
index 071fe66..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_Manager.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.testdo.inherit.Department;
-import org.apache.cayenne.testdo.inherit.Employee;
-
-/**
- * Class _Manager was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Manager extends Employee {
-
-    public static final String MANAGED_DEPARTMENTS_PROPERTY = "managedDepartments";
-
-    public static final String PERSON_ID_PK_COLUMN = "PERSON_ID";
-
-    public void addToManagedDepartments(Department obj) {
-        addToManyTarget(MANAGED_DEPARTMENTS_PROPERTY, obj, true);
-    }
-    public void removeFromManagedDepartments(Department obj) {
-        removeToManyTarget(MANAGED_DEPARTMENTS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<Department> getManagedDepartments() {
-        return (List<Department>)readProperty(MANAGED_DEPARTMENTS_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_People.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_People.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_People.java
deleted file mode 100644
index 25fb3f6..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_People.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-
-
-/**
- * This class was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public class _People {
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_PersonNotes.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_PersonNotes.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_PersonNotes.java
deleted file mode 100644
index 2cb9e5b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_PersonNotes.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.inherit.AbstractPerson;
-
-/**
- * Class _PersonNotes was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _PersonNotes extends CayenneDataObject {
-
-    public static final String NOTES_PROPERTY = "notes";
-    public static final String PERSON_PROPERTY = "person";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setNotes(String notes) {
-        writeProperty(NOTES_PROPERTY, notes);
-    }
-    public String getNotes() {
-        return (String)readProperty(NOTES_PROPERTY);
-    }
-
-    public void setPerson(AbstractPerson person) {
-        setToOneTarget(PERSON_PROPERTY, person, true);
-    }
-
-    public AbstractPerson getPerson() {
-        return (AbstractPerson)readProperty(PERSON_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_RelatedEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_RelatedEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_RelatedEntity.java
deleted file mode 100644
index b85b741..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_RelatedEntity.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.inherit.BaseEntity;
-import org.apache.cayenne.testdo.inherit.SubEntity;
-
-/**
- * Class _RelatedEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _RelatedEntity extends CayenneDataObject {
-
-    public static final String BASE_ENTITIES_PROPERTY = "baseEntities";
-    public static final String SUB_ENTITIES_PROPERTY = "subEntities";
-
-    public static final String RELATED_ENTITY_ID_PK_COLUMN = "RELATED_ENTITY_ID";
-
-    public void addToBaseEntities(BaseEntity obj) {
-        addToManyTarget(BASE_ENTITIES_PROPERTY, obj, true);
-    }
-    public void removeFromBaseEntities(BaseEntity obj) {
-        removeToManyTarget(BASE_ENTITIES_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<BaseEntity> getBaseEntities() {
-        return (List<BaseEntity>)readProperty(BASE_ENTITIES_PROPERTY);
-    }
-
-
-    public void addToSubEntities(SubEntity obj) {
-        addToManyTarget(SUB_ENTITIES_PROPERTY, obj, true);
-    }
-    public void removeFromSubEntities(SubEntity obj) {
-        removeToManyTarget(SUB_ENTITIES_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<SubEntity> getSubEntities() {
-        return (List<SubEntity>)readProperty(SUB_ENTITIES_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_SubEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_SubEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_SubEntity.java
deleted file mode 100644
index aad546e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inherit/auto/_SubEntity.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.apache.cayenne.testdo.inherit.auto;
-
-import org.apache.cayenne.testdo.inherit.BaseEntity;
-
-/**
- * Class _SubEntity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _SubEntity extends BaseEntity {
-
-
-    public static final String BASE_ENTITY_ID_PK_COLUMN = "BASE_ENTITY_ID";
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/BaseEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/BaseEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/BaseEntity.java
new file mode 100644
index 0000000..41bdae1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/BaseEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance;
+
+import org.apache.cayenne.testdo.inheritance.auto._BaseEntity;
+
+public class BaseEntity extends _BaseEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/DirectToSubEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/DirectToSubEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/DirectToSubEntity.java
new file mode 100644
index 0000000..64ef4bb
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/DirectToSubEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance;
+
+import org.apache.cayenne.testdo.inheritance.auto._DirectToSubEntity;
+
+public class DirectToSubEntity extends _DirectToSubEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/RelatedEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/RelatedEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/RelatedEntity.java
new file mode 100644
index 0000000..13e56e4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/RelatedEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance;
+
+import org.apache.cayenne.testdo.inheritance.auto._RelatedEntity;
+
+public class RelatedEntity extends _RelatedEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/SubEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/SubEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/SubEntity.java
new file mode 100644
index 0000000..84c48d0
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/SubEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.inheritance;
+
+import org.apache.cayenne.testdo.inheritance.auto._SubEntity;
+
+public class SubEntity extends _SubEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_BaseEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_BaseEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_BaseEntity.java
new file mode 100644
index 0000000..50f239c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_BaseEntity.java
@@ -0,0 +1,46 @@
+package org.apache.cayenne.testdo.inheritance.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance.DirectToSubEntity;
+import org.apache.cayenne.testdo.inheritance.RelatedEntity;
+
+/**
+ * Class _BaseEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BaseEntity extends CayenneDataObject {
+
+    public static final String ENTITY_TYPE_PROPERTY = "entityType";
+    public static final String TO_DIRECT_TO_SUB_ENTITY_PROPERTY = "toDirectToSubEntity";
+    public static final String TO_RELATED_ENTITY_PROPERTY = "toRelatedEntity";
+
+    public static final String BASE_ENTITY_ID_PK_COLUMN = "BASE_ENTITY_ID";
+
+    public void setEntityType(String entityType) {
+        writeProperty(ENTITY_TYPE_PROPERTY, entityType);
+    }
+    public String getEntityType() {
+        return (String)readProperty(ENTITY_TYPE_PROPERTY);
+    }
+
+    public void setToDirectToSubEntity(DirectToSubEntity toDirectToSubEntity) {
+        setToOneTarget(TO_DIRECT_TO_SUB_ENTITY_PROPERTY, toDirectToSubEntity, true);
+    }
+
+    public DirectToSubEntity getToDirectToSubEntity() {
+        return (DirectToSubEntity)readProperty(TO_DIRECT_TO_SUB_ENTITY_PROPERTY);
+    }
+
+
+    public void setToRelatedEntity(RelatedEntity toRelatedEntity) {
+        setToOneTarget(TO_RELATED_ENTITY_PROPERTY, toRelatedEntity, true);
+    }
+
+    public RelatedEntity getToRelatedEntity() {
+        return (RelatedEntity)readProperty(TO_RELATED_ENTITY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_DirectToSubEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_DirectToSubEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_DirectToSubEntity.java
new file mode 100644
index 0000000..d731b06
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_DirectToSubEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance.SubEntity;
+
+import java.util.List;
+
+/**
+ * Class _DirectToSubEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DirectToSubEntity extends CayenneDataObject {
+
+    public static final String SUB_ENTITIES_PROPERTY = "subEntities";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void addToSubEntities(SubEntity obj) {
+        addToManyTarget(SUB_ENTITIES_PROPERTY, obj, true);
+    }
+    public void removeFromSubEntities(SubEntity obj) {
+        removeToManyTarget(SUB_ENTITIES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<SubEntity> getSubEntities() {
+        return (List<SubEntity>)readProperty(SUB_ENTITIES_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_RelatedEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_RelatedEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_RelatedEntity.java
new file mode 100644
index 0000000..4cd2462
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_RelatedEntity.java
@@ -0,0 +1,46 @@
+package org.apache.cayenne.testdo.inheritance.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.inheritance.BaseEntity;
+import org.apache.cayenne.testdo.inheritance.SubEntity;
+
+import java.util.List;
+
+/**
+ * Class _RelatedEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _RelatedEntity extends CayenneDataObject {
+
+    public static final String BASE_ENTITIES_PROPERTY = "baseEntities";
+    public static final String SUB_ENTITIES_PROPERTY = "subEntities";
+
+    public static final String RELATED_ENTITY_ID_PK_COLUMN = "RELATED_ENTITY_ID";
+
+    public void addToBaseEntities(BaseEntity obj) {
+        addToManyTarget(BASE_ENTITIES_PROPERTY, obj, true);
+    }
+    public void removeFromBaseEntities(BaseEntity obj) {
+        removeToManyTarget(BASE_ENTITIES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<BaseEntity> getBaseEntities() {
+        return (List<BaseEntity>)readProperty(BASE_ENTITIES_PROPERTY);
+    }
+
+
+    public void addToSubEntities(SubEntity obj) {
+        addToManyTarget(SUB_ENTITIES_PROPERTY, obj, true);
+    }
+    public void removeFromSubEntities(SubEntity obj) {
+        removeToManyTarget(SUB_ENTITIES_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<SubEntity> getSubEntities() {
+        return (List<SubEntity>)readProperty(SUB_ENTITIES_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_SubEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_SubEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_SubEntity.java
new file mode 100644
index 0000000..8ede368
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/auto/_SubEntity.java
@@ -0,0 +1,16 @@
+package org.apache.cayenne.testdo.inheritance.auto;
+
+import org.apache.cayenne.testdo.inheritance.BaseEntity;
+
+/**
+ * Class _SubEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _SubEntity extends BaseEntity {
+
+
+    public static final String BASE_ENTITY_ID_PK_COLUMN = "BASE_ENTITY_ID";
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/InheritanceVertical.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/InheritanceVertical.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/InheritanceVertical.java
deleted file mode 100644
index b22fbc2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance/vertical/InheritanceVertical.java
+++ /dev/null
@@ -1,36 +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.testdo.inheritance.vertical;
-
-import org.apache.cayenne.testdo.inheritance.vertical.auto._InheritanceVertical;
-
-public class InheritanceVertical extends _InheritanceVertical {
-
-    private static InheritanceVertical instance;
-
-    private InheritanceVertical() {}
-
-    public static InheritanceVertical getInstance() {
-        if(instance == null) {
-            instance = new InheritanceVertical();
-        }
-
-        return instance;
-    }
-}


[35/50] [abbrv] cayenne git commit: Refactor Relationships Project

Posted by aa...@apache.org.
Refactor Relationships Project


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/d7178a8b
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/d7178a8b
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/d7178a8b

Branch: refs/heads/CAY-1946
Commit: d7178a8b45629cec8a360374e7ba04b2c03e9e81
Parents: 0b6a424
Author: Savva Kolbechev <s....@gmail.com>
Authored: Mon Nov 10 17:39:00 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Mon Nov 10 17:39:00 2014 +0300

----------------------------------------------------------------------
 .../cayenne/CDOCollectionRelationshipIT.java    |   6 +-
 .../org/apache/cayenne/CDOOneToManyFKIT.java    |  13 +-
 .../org/apache/cayenne/CDOOneToOneFKIT.java     |  10 +-
 .../apache/cayenne/CDOSetRelationshipIT.java    |   6 +-
 .../cayenne/FlattenedRelationshipsIT.java       |  10 +-
 .../org/apache/cayenne/ManyToManyNoJoinIT.java  |   6 +-
 .../java/org/apache/cayenne/MeaningfulFKIT.java |   4 +-
 ...ataContextEJBQLFlattenedRelationshipsIT.java |   4 +-
 .../apache/cayenne/access/DeleteRulesIT.java    |  12 +-
 .../cayenne/access/FlattenedArcKeyIT.java       |   6 +-
 .../FlattenedRelationshipInContextIT.java       |   4 +-
 .../NestedDataContextParentPeerEventsIT.java    |   6 +-
 .../cayenne/ashwood/AshwoodEntitySorterIT.java  |   2 +-
 .../org/apache/cayenne/testdo/r1/Activity.java  |  25 --
 .../cayenne/testdo/r1/ActivityResult.java       |  25 --
 .../cayenne/testdo/r1/Relationships1.java       |  36 ---
 .../cayenne/testdo/r1/auto/_Activity.java       |  58 ----
 .../cayenne/testdo/r1/auto/_ActivityResult.java |  53 ----
 .../cayenne/testdo/r1/auto/_Relationships1.java |  12 -
 .../cayenne/testdo/relationship/Child.java      |  25 --
 .../cayenne/testdo/relationship/ClobDetail.java |  28 --
 .../cayenne/testdo/relationship/ClobMaster.java |  28 --
 .../testdo/relationship/CollectionToMany.java   |  28 --
 .../relationship/CollectionToManyTarget.java    |  28 --
 .../testdo/relationship/CyclicChild.java        |  26 --
 .../testdo/relationship/CyclicParent.java       |  26 --
 .../testdo/relationship/DeleteRuleFlatA.java    |  28 --
 .../testdo/relationship/DeleteRuleFlatB.java    |  28 --
 .../testdo/relationship/DeleteRuleTest1.java    |  26 --
 .../testdo/relationship/DeleteRuleTest2.java    |  26 --
 .../testdo/relationship/DeleteRuleTest3.java    |  26 --
 .../testdo/relationship/FkOfDifferentType.java  |  28 --
 .../testdo/relationship/FlattenedCircular.java  |  25 --
 .../testdo/relationship/FlattenedTest1.java     |  26 --
 .../testdo/relationship/FlattenedTest2.java     |  26 --
 .../testdo/relationship/FlattenedTest3.java     |  26 --
 .../testdo/relationship/FlattenedTest4.java     |  25 --
 .../cayenne/testdo/relationship/Master.java     |  25 --
 .../testdo/relationship/MeaningfulFK.java       |  28 --
 .../testdo/relationship/ReflexiveAndToOne.java  |  26 --
 .../testdo/relationship/RelationshipHelper.java |  26 --
 .../testdo/relationship/Relationships.java      |  36 ---
 .../cayenne/testdo/relationship/SetToMany.java  |  28 --
 .../testdo/relationship/SetToManyTarget.java    |  28 --
 .../testdo/relationship/ToManyFkDep.java        |  28 --
 .../testdo/relationship/ToManyFkRoot.java       |  28 --
 .../testdo/relationship/ToManyRoot2.java        |  28 --
 .../cayenne/testdo/relationship/ToOneFK1.java   |  26 --
 .../cayenne/testdo/relationship/ToOneFK2.java   |  26 --
 .../testdo/relationship/auto/_Child.java        |  27 --
 .../testdo/relationship/auto/_ClobDetail.java   |  35 --
 .../testdo/relationship/auto/_ClobMaster.java   |  48 ---
 .../relationship/auto/_CollectionToMany.java    |  32 --
 .../auto/_CollectionToManyTarget.java           |  27 --
 .../testdo/relationship/auto/_CyclicChild.java  |  50 ---
 .../testdo/relationship/auto/_CyclicParent.java |  50 ---
 .../relationship/auto/_DeleteRuleFlatA.java     |  32 --
 .../relationship/auto/_DeleteRuleFlatB.java     |  32 --
 .../relationship/auto/_DeleteRuleTest1.java     |  27 --
 .../relationship/auto/_DeleteRuleTest2.java     |  46 ---
 .../relationship/auto/_DeleteRuleTest3.java     |  27 --
 .../relationship/auto/_FkOfDifferentType.java   |  27 --
 .../relationship/auto/_FlattenedCircular.java   |  45 ---
 .../relationship/auto/_FlattenedTest1.java      |  69 ----
 .../relationship/auto/_FlattenedTest2.java      |  51 ---
 .../relationship/auto/_FlattenedTest3.java      |  59 ----
 .../relationship/auto/_FlattenedTest4.java      |  35 --
 .../testdo/relationship/auto/_Master.java       |  40 ---
 .../testdo/relationship/auto/_MeaningfulFK.java |  35 --
 .../relationship/auto/_ReflexiveAndToOne.java   |  61 ----
 .../relationship/auto/_RelationshipHelper.java  |  68 ----
 .../relationship/auto/_Relationships.java       |  12 -
 .../testdo/relationship/auto/_SetToMany.java    |  32 --
 .../relationship/auto/_SetToManyTarget.java     |  27 --
 .../testdo/relationship/auto/_ToManyFkDep.java  |  55 ----
 .../testdo/relationship/auto/_ToManyFkRoot.java |  48 ---
 .../testdo/relationship/auto/_ToManyRoot2.java  |  40 ---
 .../testdo/relationship/auto/_ToOneFK1.java     |  27 --
 .../testdo/relationship/auto/_ToOneFK2.java     |  27 --
 .../testdo/relationships/FkOfDifferentType.java |  28 ++
 .../testdo/relationships/MeaningfulFK.java      |  28 ++
 .../testdo/relationships/ReflexiveAndToOne.java |  26 ++
 .../relationships/RelationshipHelper.java       |  26 ++
 .../testdo/relationships/Relationships.java     |  36 +++
 .../relationships/auto/_FkOfDifferentType.java  |  27 ++
 .../relationships/auto/_MeaningfulFK.java       |  35 ++
 .../relationships/auto/_ReflexiveAndToOne.java  |  61 ++++
 .../relationships/auto/_RelationshipHelper.java |  68 ++++
 .../relationships/auto/_Relationships.java      |  12 +
 .../testdo/relationships_activity/Activity.java |  25 ++
 .../relationships_activity/ActivityResult.java  |  25 ++
 .../relationships_activity/Relationships1.java  |  36 +++
 .../relationships_activity/auto/_Activity.java  |  58 ++++
 .../auto/_ActivityResult.java                   |  53 ++++
 .../auto/_Relationships1.java                   |  12 +
 .../relationships_child_master/Child.java       |  25 ++
 .../relationships_child_master/Master.java      |  25 ++
 .../relationships_child_master/auto/_Child.java |  27 ++
 .../auto/_Master.java                           |  40 +++
 .../testdo/relationships_clob/ClobDetail.java   |  28 ++
 .../testdo/relationships_clob/ClobMaster.java   |  28 ++
 .../relationships_clob/auto/_ClobDetail.java    |  35 ++
 .../relationships_clob/auto/_ClobMaster.java    |  48 +++
 .../CollectionToMany.java                       |  28 ++
 .../CollectionToManyTarget.java                 |  28 ++
 .../auto/_CollectionToMany.java                 |  32 ++
 .../auto/_CollectionToManyTarget.java           |  27 ++
 .../DeleteRuleFlatA.java                        |  28 ++
 .../DeleteRuleFlatB.java                        |  28 ++
 .../DeleteRuleTest1.java                        |  28 ++
 .../DeleteRuleTest2.java                        |  28 ++
 .../DeleteRuleTest3.java                        |  28 ++
 .../auto/_DeleteRuleFlatA.java                  |  32 ++
 .../auto/_DeleteRuleFlatB.java                  |  32 ++
 .../auto/_DeleteRuleTest1.java                  |  27 ++
 .../auto/_DeleteRuleTest2.java                  |  46 +++
 .../auto/_DeleteRuleTest3.java                  |  27 ++
 .../FlattenedCircular.java                      |  25 ++
 .../relationships_flattened/FlattenedTest1.java |  28 ++
 .../relationships_flattened/FlattenedTest2.java |  28 ++
 .../relationships_flattened/FlattenedTest3.java |  28 ++
 .../relationships_flattened/FlattenedTest4.java |  25 ++
 .../auto/_FlattenedCircular.java                |  45 +++
 .../auto/_FlattenedTest1.java                   |  69 ++++
 .../auto/_FlattenedTest2.java                   |  51 +++
 .../auto/_FlattenedTest3.java                   |  59 ++++
 .../auto/_FlattenedTest4.java                   |  35 ++
 .../relationships_set_to_many/SetToMany.java    |  28 ++
 .../SetToManyTarget.java                        |  28 ++
 .../auto/_SetToMany.java                        |  32 ++
 .../auto/_SetToManyTarget.java                  |  27 ++
 .../relationships_to_many_fk/ToManyFkDep.java   |  28 ++
 .../relationships_to_many_fk/ToManyFkRoot.java  |  28 ++
 .../relationships_to_many_fk/ToManyRoot2.java   |  28 ++
 .../auto/_ToManyFkDep.java                      |  55 ++++
 .../auto/_ToManyFkRoot.java                     |  48 +++
 .../auto/_ToManyRoot2.java                      |  40 +++
 .../relationships_to_one_fk/ToOneFK1.java       |  28 ++
 .../relationships_to_one_fk/ToOneFK2.java       |  28 ++
 .../relationships_to_one_fk/auto/_ToOneFK1.java |  27 ++
 .../relationships_to_one_fk/auto/_ToOneFK2.java |  27 ++
 .../cayenne/unit/di/server/SchemaBuilder.java   |   6 +-
 .../cayenne/unit/di/server/ServerCase.java      |   9 +
 .../org/apache/cayenne/unit/jira/CAY_115IT.java |   4 +-
 .../org/apache/cayenne/unit/jira/CAY_191IT.java |   2 +-
 .../org/apache/cayenne/unit/jira/CAY_194IT.java |   3 +-
 .../cayenne-relationships-activity.xml          |   4 +
 .../cayenne-relationships-child-master.xml      |   4 +
 .../resources/cayenne-relationships-clob.xml    |   4 +
 ...cayenne-relationships-collection-to-many.xml |   4 +
 .../cayenne-relationships-delete-rules.xml      |   4 +
 .../cayenne-relationships-flattened.xml         |   4 +
 .../cayenne-relationships-set-to-many.xml       |   4 +
 .../cayenne-relationships-to-many-fk.xml        |   4 +
 .../cayenne-relationships-to-one-fk.xml         |   4 +
 .../test/resources/cayenne-relationships.xml    |   1 -
 .../resources/relationships-activity.map.xml    |  35 ++
 .../relationships-child-master.map.xml          |  29 ++
 .../test/resources/relationships-clob.map.xml   |  32 ++
 .../relationships-collection-to-many.map.xml    |  26 ++
 .../relationships-delete-rules.map.xml          |  71 +++++
 .../resources/relationships-flattened.map.xml   | 107 +++++++
 .../resources/relationships-set-to-many.map.xml |  26 ++
 .../resources/relationships-to-many-fk.map.xml  |  48 +++
 .../resources/relationships-to-one-fk.map.xml   |  26 ++
 .../src/test/resources/relationships.map.xml    | 318 +------------------
 .../src/test/resources/relationships1.map.xml   |  35 --
 167 files changed, 2579 insertions(+), 2612 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
index 8983e01..cdb5ff9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOCollectionRelationshipIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.query.RefreshQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.CollectionToMany;
-import org.apache.cayenne.testdo.relationship.CollectionToManyTarget;
+import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToMany;
+import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToManyTarget;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_COLLECTION_TO_MANY_PROJECT)
 public class CDOCollectionRelationshipIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
index a3270bf..6d85e10 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToManyFKIT.java
@@ -22,9 +22,9 @@ package org.apache.cayenne;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.relationship.ToManyFkDep;
-import org.apache.cayenne.testdo.relationship.ToManyFkRoot;
-import org.apache.cayenne.testdo.relationship.ToManyRoot2;
+import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyFkDep;
+import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyFkRoot;
+import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyRoot2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertSame;
 
 // TODO: this mapping scenario is really unsupported ... this is just an attempt at
 // partial solution
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_TO_MANY_FK_PROJECT)
 public class CDOOneToManyFKIT extends ServerCase {
 
     @Inject
@@ -46,8 +46,9 @@ public class CDOOneToManyFKIT extends ServerCase {
 
     @Override
     protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("TO_ONEFK2");
-        dbHelper.deleteAll("TO_ONEFK1");
+        dbHelper.deleteAll("TO_MANY_FKDEP");
+        dbHelper.deleteAll("TO_MANY_FKROOT");
+        dbHelper.deleteAll("TO_MANY_ROOT2");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
index ff61bab..371b523 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOOneToOneFKIT.java
@@ -23,8 +23,8 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.ObjectIdQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.relationship.ToOneFK1;
-import org.apache.cayenne.testdo.relationship.ToOneFK2;
+import org.apache.cayenne.testdo.relationships_to_one_fk.ToOneFK1;
+import org.apache.cayenne.testdo.relationships_to_one_fk.ToOneFK2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Tests the behavior of one-to-one relationship where to-one is pointing to an FK.
  */
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_TO_ONE_FK_PROJECT)
 public class CDOOneToOneFKIT extends ServerCase {
 
     @Inject
@@ -52,8 +52,8 @@ public class CDOOneToOneFKIT extends ServerCase {
 
     @Override
     protected void setUpAfterInjection() throws Exception {
-        dbHelper.deleteAll("TO_ONEFK1");
-        dbHelper.deleteAll("TO_ONEFK2");
+        dbHelper.deleteAll("TO_ONE_FK1");
+        dbHelper.deleteAll("TO_ONE_FK2");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
index ed688e7..97d643b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CDOSetRelationshipIT.java
@@ -24,8 +24,8 @@ import org.apache.cayenne.query.RefreshQuery;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.SetToMany;
-import org.apache.cayenne.testdo.relationship.SetToManyTarget;
+import org.apache.cayenne.testdo.relationships_set_to_many.SetToMany;
+import org.apache.cayenne.testdo.relationships_set_to_many.SetToManyTarget;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_SET_TO_MANY_PROJECT)
 public class CDOSetRelationshipIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
index b6af41a..e285420 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
@@ -27,10 +27,10 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.FlattenedCircular;
-import org.apache.cayenne.testdo.relationship.FlattenedTest1;
-import org.apache.cayenne.testdo.relationship.FlattenedTest2;
-import org.apache.cayenne.testdo.relationship.FlattenedTest3;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedCircular;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest1;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest2;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest3;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -46,7 +46,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Test case for objects with flattened relationships.
  */
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_FLATTENED_PROJECT)
 public class FlattenedRelationshipsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java b/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
index 9703962..50e0c3f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
@@ -20,15 +20,15 @@ package org.apache.cayenne;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.r1.Activity;
-import org.apache.cayenne.testdo.r1.ActivityResult;
+import org.apache.cayenne.testdo.relationships_activity.Activity;
+import org.apache.cayenne.testdo.relationships_activity.ActivityResult;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
 
 import java.sql.Date;
 
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_ACTIVITY_PROJECT)
 public class ManyToManyNoJoinIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
index 2cc7ef9..4e31c2c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
@@ -21,8 +21,8 @@ package org.apache.cayenne;
 
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.relationship.MeaningfulFK;
-import org.apache.cayenne.testdo.relationship.RelationshipHelper;
+import org.apache.cayenne.testdo.relationships.MeaningfulFK;
+import org.apache.cayenne.testdo.relationships.RelationshipHelper;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.validation.ValidationResult;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
index 7260cf1..bac7b4b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.FlattenedTest1;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -40,7 +40,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_FLATTENED_PROJECT)
 public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
index 3b27c80..6fbd8da 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
@@ -28,11 +28,11 @@ import org.apache.cayenne.map.DeleteRule;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.testdo.relationship.DeleteRuleFlatA;
-import org.apache.cayenne.testdo.relationship.DeleteRuleFlatB;
-import org.apache.cayenne.testdo.relationship.DeleteRuleTest1;
-import org.apache.cayenne.testdo.relationship.DeleteRuleTest2;
-import org.apache.cayenne.testdo.relationship.DeleteRuleTest3;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatA;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatB;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest1;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest2;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest3;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -47,7 +47,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_DELETE_RULES_PROJECT)
 public class DeleteRulesIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
index 9b655f2..397c8ac 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
@@ -23,8 +23,8 @@ import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjRelationship;
-import org.apache.cayenne.testdo.relationship.FlattenedTest1;
-import org.apache.cayenne.testdo.relationship.FlattenedTest3;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest1;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest3;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -33,7 +33,7 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_FLATTENED_PROJECT)
 public class FlattenedArcKeyIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
index 9745581..9f4e7b0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
@@ -27,7 +27,7 @@ import org.apache.cayenne.reflect.ArcProperty;
 import org.apache.cayenne.reflect.ClassDescriptor;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.FlattenedTest3;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest3;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_FLATTENED_PROJECT)
 public class FlattenedRelationshipInContextIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
index 9f8a866..e653f68 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
@@ -23,8 +23,8 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.parallel.ParallelTestContainer;
-import org.apache.cayenne.testdo.relationship.Child;
-import org.apache.cayenne.testdo.relationship.Master;
+import org.apache.cayenne.testdo.relationships_child_master.Child;
+import org.apache.cayenne.testdo.relationships_child_master.Master;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -35,7 +35,7 @@ import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-@UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
+@UseServerRuntime(ServerCase.RELATIONSHIPS_CHILD_MASTER_PROJECT)
 public class NestedDataContextParentPeerEventsIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
index e7eff63..1443c4b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
@@ -25,7 +25,7 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.relationship.ReflexiveAndToOne;
+import org.apache.cayenne.testdo.relationships.ReflexiveAndToOne;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/Activity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/Activity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/Activity.java
deleted file mode 100644
index 326dc8c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/Activity.java
+++ /dev/null
@@ -1,25 +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.testdo.r1;
-
-import org.apache.cayenne.testdo.r1.auto._Activity;
-
-public class Activity extends _Activity {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/ActivityResult.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/ActivityResult.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/ActivityResult.java
deleted file mode 100644
index 825989d..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/ActivityResult.java
+++ /dev/null
@@ -1,25 +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.testdo.r1;
-
-import org.apache.cayenne.testdo.r1.auto._ActivityResult;
-
-public class ActivityResult extends _ActivityResult {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/Relationships1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/Relationships1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/Relationships1.java
deleted file mode 100644
index 1a98fc6..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/Relationships1.java
+++ /dev/null
@@ -1,36 +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.testdo.r1;
-
-import org.apache.cayenne.testdo.r1.auto._Relationships1;
-
-public class Relationships1 extends _Relationships1 {
-
-    private static Relationships1 instance;
-
-    private Relationships1() {}
-
-    public static Relationships1 getInstance() {
-        if(instance == null) {
-            instance = new Relationships1();
-        }
-
-        return instance;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_Activity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_Activity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_Activity.java
deleted file mode 100644
index 52484f4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_Activity.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.apache.cayenne.testdo.r1.auto;
-
-import java.sql.Date;
-import java.util.Map;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.testdo.r1.ActivityResult;
-
-/**
- * Class _Activity was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _Activity extends CayenneDataObject {
-
-    @Deprecated
-    public static final String APPOINTMENT_DATE_PROPERTY = "appointmentDate";
-    @Deprecated
-    public static final String APPOINTMENT_NO_PROPERTY = "appointmentNo";
-    @Deprecated
-    public static final String RESULTS_PROPERTY = "results";
-
-    public static final String ACTIVITY_ID_PK_COLUMN = "ACTIVITY_ID";
-
-    public static final Property<Date> APPOINTMENT_DATE = new Property<Date>("appointmentDate");
-    public static final Property<Integer> APPOINTMENT_NO = new Property<Integer>("appointmentNo");
-    public static final Property<Map<String, ActivityResult>> RESULTS = new Property<Map<String, ActivityResult>>("results");
-
-    public void setAppointmentDate(Date appointmentDate) {
-        writeProperty("appointmentDate", appointmentDate);
-    }
-    public Date getAppointmentDate() {
-        return (Date)readProperty("appointmentDate");
-    }
-
-    public void setAppointmentNo(int appointmentNo) {
-        writeProperty("appointmentNo", appointmentNo);
-    }
-    public int getAppointmentNo() {
-        Object value = readProperty("appointmentNo");
-        return (value != null) ? (Integer) value : 0;
-    }
-
-    public void addToResults(ActivityResult obj) {
-        addToManyTarget("results", obj, true);
-    }
-    public void removeFromResults(ActivityResult obj) {
-        removeToManyTarget("results", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public Map<String, ActivityResult> getResults() {
-        return (Map<String, ActivityResult>)readProperty("results");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_ActivityResult.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_ActivityResult.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_ActivityResult.java
deleted file mode 100644
index 01c2f1b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_ActivityResult.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.apache.cayenne.testdo.r1.auto;
-
-import java.sql.Date;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _ActivityResult was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _ActivityResult extends CayenneDataObject {
-
-    @Deprecated
-    public static final String APPOINT_DATE_PROPERTY = "appointDate";
-    @Deprecated
-    public static final String APPOINT_NO_PROPERTY = "appointNo";
-    @Deprecated
-    public static final String FIELD_PROPERTY = "field";
-
-    public static final String APPOINT_DATE_PK_COLUMN = "APPOINT_DATE";
-    public static final String APPOINT_NO_PK_COLUMN = "APPOINT_NO";
-    public static final String RESULTNAME_PK_COLUMN = "RESULTNAME";
-
-    public static final Property<Date> APPOINT_DATE = new Property<Date>("appointDate");
-    public static final Property<Integer> APPOINT_NO = new Property<Integer>("appointNo");
-    public static final Property<String> FIELD = new Property<String>("field");
-
-    public void setAppointDate(Date appointDate) {
-        writeProperty("appointDate", appointDate);
-    }
-    public Date getAppointDate() {
-        return (Date)readProperty("appointDate");
-    }
-
-    public void setAppointNo(int appointNo) {
-        writeProperty("appointNo", appointNo);
-    }
-    public int getAppointNo() {
-        Object value = readProperty("appointNo");
-        return (value != null) ? (Integer) value : 0;
-    }
-
-    public void setField(String field) {
-        writeProperty("field", field);
-    }
-    public String getField() {
-        return (String)readProperty("field");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_Relationships1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_Relationships1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_Relationships1.java
deleted file mode 100644
index 1a718b5..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/r1/auto/_Relationships1.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.apache.cayenne.testdo.r1.auto;
-
-
-
-/**
- * This class was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public class _Relationships1 {
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Child.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Child.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Child.java
deleted file mode 100644
index 9212f4b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Child.java
+++ /dev/null
@@ -1,25 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._Child;
-
-public class Child extends _Child {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ClobDetail.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ClobDetail.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ClobDetail.java
deleted file mode 100644
index 2432e67..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ClobDetail.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._ClobDetail;
-
-public class ClobDetail extends _ClobDetail {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ClobMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ClobMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ClobMaster.java
deleted file mode 100644
index 8a3ea28..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ClobMaster.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._ClobMaster;
-
-public class ClobMaster extends _ClobMaster {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CollectionToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CollectionToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CollectionToMany.java
deleted file mode 100644
index f7abc62..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CollectionToMany.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._CollectionToMany;
-
-public class CollectionToMany extends _CollectionToMany {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CollectionToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CollectionToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CollectionToManyTarget.java
deleted file mode 100644
index bee72d4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CollectionToManyTarget.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._CollectionToManyTarget;
-
-public class CollectionToManyTarget extends _CollectionToManyTarget {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CyclicChild.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CyclicChild.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CyclicChild.java
deleted file mode 100644
index c7665e2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CyclicChild.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._CyclicChild;
-
-public class CyclicChild extends _CyclicChild {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CyclicParent.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CyclicParent.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CyclicParent.java
deleted file mode 100644
index ebe61e1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/CyclicParent.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._CyclicParent;
-
-public class CyclicParent extends _CyclicParent {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleFlatA.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleFlatA.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleFlatA.java
deleted file mode 100644
index 3bd8bbd..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleFlatA.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._DeleteRuleFlatA;
-
-public class DeleteRuleFlatA extends _DeleteRuleFlatA {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleFlatB.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleFlatB.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleFlatB.java
deleted file mode 100644
index 3564b24..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleFlatB.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._DeleteRuleFlatB;
-
-public class DeleteRuleFlatB extends _DeleteRuleFlatB {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest1.java
deleted file mode 100644
index d8d8759..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest1.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class DeleteRuleTest1 extends org.apache.cayenne.testdo.relationship.auto._DeleteRuleTest1 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest2.java
deleted file mode 100644
index 7f9d8f4..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest2.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class DeleteRuleTest2 extends org.apache.cayenne.testdo.relationship.auto._DeleteRuleTest2 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest3.java
deleted file mode 100644
index 688e54a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/DeleteRuleTest3.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class DeleteRuleTest3 extends org.apache.cayenne.testdo.relationship.auto._DeleteRuleTest3 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FkOfDifferentType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FkOfDifferentType.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FkOfDifferentType.java
deleted file mode 100644
index 822836c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FkOfDifferentType.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._FkOfDifferentType;
-
-public class FkOfDifferentType extends _FkOfDifferentType {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedCircular.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedCircular.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedCircular.java
deleted file mode 100644
index 6eab2bf..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedCircular.java
+++ /dev/null
@@ -1,25 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._FlattenedCircular;
-
-public class FlattenedCircular extends _FlattenedCircular {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest1.java
deleted file mode 100644
index 44c4041..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest1.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class FlattenedTest1 extends org.apache.cayenne.testdo.relationship.auto._FlattenedTest1 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest2.java
deleted file mode 100644
index ddbb2e1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest2.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class FlattenedTest2 extends org.apache.cayenne.testdo.relationship.auto._FlattenedTest2 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest3.java
deleted file mode 100644
index 2216499..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest3.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class FlattenedTest3 extends org.apache.cayenne.testdo.relationship.auto._FlattenedTest3 {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest4.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest4.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest4.java
deleted file mode 100644
index 4cbc505..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/FlattenedTest4.java
+++ /dev/null
@@ -1,25 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._FlattenedTest4;
-
-public class FlattenedTest4 extends _FlattenedTest4 {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Master.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Master.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Master.java
deleted file mode 100644
index d731261..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Master.java
+++ /dev/null
@@ -1,25 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._Master;
-
-public class Master extends _Master {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MeaningfulFK.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MeaningfulFK.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MeaningfulFK.java
deleted file mode 100644
index bce8274..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MeaningfulFK.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._MeaningfulFK;
-
-public class MeaningfulFK extends _MeaningfulFK {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ReflexiveAndToOne.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ReflexiveAndToOne.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ReflexiveAndToOne.java
deleted file mode 100644
index dc4a5df..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ReflexiveAndToOne.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class ReflexiveAndToOne extends org.apache.cayenne.testdo.relationship.auto._ReflexiveAndToOne {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/RelationshipHelper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/RelationshipHelper.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/RelationshipHelper.java
deleted file mode 100644
index f9d1348..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/RelationshipHelper.java
+++ /dev/null
@@ -1,26 +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.testdo.relationship;
-
-public class RelationshipHelper extends org.apache.cayenne.testdo.relationship.auto._RelationshipHelper {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Relationships.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Relationships.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Relationships.java
deleted file mode 100644
index d2ee3f7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/Relationships.java
+++ /dev/null
@@ -1,36 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._Relationships;
-
-public class Relationships extends _Relationships {
-
-    private static Relationships instance;
-
-    private Relationships() {}
-
-    public static Relationships getInstance() {
-        if(instance == null) {
-            instance = new Relationships();
-        }
-
-        return instance;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/SetToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/SetToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/SetToMany.java
deleted file mode 100644
index fd250a8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/SetToMany.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._SetToMany;
-
-public class SetToMany extends _SetToMany {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/SetToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/SetToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/SetToManyTarget.java
deleted file mode 100644
index 288a2d5..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/SetToManyTarget.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._SetToManyTarget;
-
-public class SetToManyTarget extends _SetToManyTarget {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyFkDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyFkDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyFkDep.java
deleted file mode 100644
index 0720945..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyFkDep.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._ToManyFkDep;
-
-public class ToManyFkDep extends _ToManyFkDep {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyFkRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyFkRoot.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyFkRoot.java
deleted file mode 100644
index 57914d9..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/ToManyFkRoot.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._ToManyFkRoot;
-
-public class ToManyFkRoot extends _ToManyFkRoot {
-
-}
-
-
-


[29/50] [abbrv] cayenne git commit: Refactor People Project & Inheritance Projects

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java
new file mode 100644
index 0000000..17e1222
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.testdo.inheritance_vertical.IvRoot;
+
+/**
+ * Class _IvSub1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _IvSub1 extends IvRoot {
+
+    public static final String SUB1NAME_PROPERTY = "sub1Name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setSub1Name(String sub1Name) {
+        writeProperty(SUB1NAME_PROPERTY, sub1Name);
+    }
+    public String getSub1Name() {
+        return (String)readProperty(SUB1NAME_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java
new file mode 100644
index 0000000..9dffcfc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub1Sub1.java
@@ -0,0 +1,24 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.testdo.inheritance_vertical.IvSub1;
+
+/**
+ * Class _IvSub1Sub1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _IvSub1Sub1 extends IvSub1 {
+
+    public static final String SUB1SUB1NAME_PROPERTY = "sub1Sub1Name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setSub1Sub1Name(String sub1Sub1Name) {
+        writeProperty(SUB1SUB1NAME_PROPERTY, sub1Sub1Name);
+    }
+    public String getSub1Sub1Name() {
+        return (String)readProperty(SUB1SUB1NAME_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java
new file mode 100644
index 0000000..b222715
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/inheritance_vertical/auto/_IvSub2.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.inheritance_vertical.auto;
+
+import org.apache.cayenne.testdo.inheritance_vertical.IvRoot;
+
+/**
+ * Class _IvSub2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _IvSub2 extends IvRoot {
+
+    public static final String SUB2ATTR_PROPERTY = "sub2Attr";
+    public static final String SUB2NAME_PROPERTY = "sub2Name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setSub2Attr(String sub2Attr) {
+        writeProperty(SUB2ATTR_PROPERTY, sub2Attr);
+    }
+    public String getSub2Attr() {
+        return (String)readProperty(SUB2ATTR_PROPERTY);
+    }
+
+    public void setSub2Name(String sub2Name) {
+        writeProperty(SUB2NAME_PROPERTY, sub2Name);
+    }
+    public String getSub2Name() {
+        return (String)readProperty(SUB2NAME_PROPERTY);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
index 1c20b72..4677151 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
@@ -68,7 +68,7 @@ public class SchemaBuilder {
 
     public static final String SKIP_SCHEMA_KEY = "cayenne.test.schema.skip";
 
-    private static String[] MAPS_REQUIRING_SCHEMA_SETUP = { "tstmap.map.xml", "people.map.xml",
+    private static String[] MAPS_REQUIRING_SCHEMA_SETUP = { "tstmap.map.xml", "people.map.xml", "inheritance.map.xml",
             "locking.map.xml", "soft-delete.map.xml", "relationships.map.xml", "relationships1.map.xml", "multi-tier.map.xml",
             "persistent.map.xml", "reflexive.map.xml", "delete-rules.map.xml", "lifecycles.map.xml",
             "map-to-many.map.xml", "toone.map.xml", "meaningful-pk.map.xml", "table-primitives.map.xml",

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
index 9e2f648..4cd2e2e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
@@ -30,8 +30,9 @@ public class ServerCase extends DICase {
 	// can define their own on the fly (TODO: how would that work with the
 	// global schema
 	// setup?)
-	public static final String INHERTITANCE_SINGLE_TABLE1_PROJECT = "cayenne-inheritance-single-table1.xml";
-	public static final String INHERTITANCE_VERTICAL_PROJECT = "cayenne-inheritance-vertical.xml";
+	public static final String INHERITANCE_SINGLE_TABLE1_PROJECT = "cayenne-inheritance-single-table1.xml";
+	public static final String INHERITANCE_VERTICAL_PROJECT = "cayenne-inheritance-vertical.xml";
+	public static final String INHERITANCE_PROJECT = "cayenne-inheritance.xml";
 	public static final String LOCKING_PROJECT = "cayenne-locking.xml";
 	public static final String SOFT_DELETE_PROJECT = "cayenne-soft-delete.xml";
 	public static final String QUOTED_IDENTIFIERS_PROJECT = "cayenne-quoted-identifiers.xml";

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java
index e64261a..5e05024 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager1.java
@@ -19,7 +19,7 @@
 
 package org.apache.cayenne.unit.jira;
 
-import org.apache.cayenne.testdo.inherit.Manager;
+import org.apache.cayenne.testdo.inheritance_people.Manager;
 
 /**
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java
index f3dac5a..a76ec07 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_207Manager2.java
@@ -19,7 +19,7 @@
 
 package org.apache.cayenne.unit.jira;
 
-import org.apache.cayenne.testdo.inherit.Manager;
+import org.apache.cayenne.testdo.inheritance_people.Manager;
 
 /**
  */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
index d6d9a30..bf95dab 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
@@ -23,9 +23,9 @@ import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.SelectQuery;
-import org.apache.cayenne.testdo.inherit.Department;
-import org.apache.cayenne.testdo.inherit.Employee;
-import org.apache.cayenne.testdo.inherit.Manager;
+import org.apache.cayenne.testdo.inheritance_people.Department;
+import org.apache.cayenne.testdo.inheritance_people.Employee;
+import org.apache.cayenne.testdo.inheritance_people.Manager;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/resources/cayenne-inheritance.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-inheritance.xml b/cayenne-server/src/test/resources/cayenne-inheritance.xml
new file mode 100644
index 0000000..a76c22c
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-inheritance.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="inheritance"/>
+</domain>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/resources/inheritance-vertical.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/inheritance-vertical.map.xml b/cayenne-server/src/test/resources/inheritance-vertical.map.xml
index 09bb96d..7bacee6 100644
--- a/cayenne-server/src/test/resources/inheritance-vertical.map.xml
+++ b/cayenne-server/src/test/resources/inheritance-vertical.map.xml
@@ -42,40 +42,40 @@
 		<db-attribute name="SUB2_ATTR" type="VARCHAR" length="100"/>
 		<db-attribute name="SUB2_NAME" type="VARCHAR" length="100"/>
 	</db-entity>
-	<obj-entity name="Iv1Root" className="org.apache.cayenne.testdo.inheritance.vertical.Iv1Root" dbEntityName="IV1_ROOT">
+	<obj-entity name="Iv1Root" className="org.apache.cayenne.testdo.inheritance_vertical.Iv1Root" dbEntityName="IV1_ROOT">
 		<obj-attribute name="discriminator" type="java.lang.String" db-attribute-path="DISCRIMINATOR"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="Iv1Sub1" superEntityName="Iv1Root" className="org.apache.cayenne.testdo.inheritance.vertical.Iv1Sub1">
+	<obj-entity name="Iv1Sub1" superEntityName="Iv1Root" className="org.apache.cayenne.testdo.inheritance_vertical.Iv1Sub1">
 		<qualifier><![CDATA[discriminator = "Iv1Sub1"]]></qualifier>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="sub1.SUB1_NAME"/>
 		<attribute-override name="name" db-attribute-path="sub1.SUB1_NAME"/>
 	</obj-entity>
-	<obj-entity name="Iv2Root" abstract="true" className="org.apache.cayenne.testdo.inheritance.vertical.Iv2Root" dbEntityName="IV2_ROOT">
+	<obj-entity name="Iv2Root" abstract="true" className="org.apache.cayenne.testdo.inheritance_vertical.Iv2Root" dbEntityName="IV2_ROOT">
 		<obj-attribute name="discriminator" type="java.lang.String" db-attribute-path="DISCRIMINATOR"/>
 	</obj-entity>
-	<obj-entity name="Iv2Sub1" superEntityName="Iv2Root" className="org.apache.cayenne.testdo.inheritance.vertical.Iv2Sub1">
+	<obj-entity name="Iv2Sub1" superEntityName="Iv2Root" className="org.apache.cayenne.testdo.inheritance_vertical.Iv2Sub1">
 		<qualifier><![CDATA[discriminator = "Iv2Sub1"]]></qualifier>
 	</obj-entity>
-	<obj-entity name="Iv2X" className="org.apache.cayenne.testdo.inheritance.vertical.Iv2X" dbEntityName="IV2_X">
+	<obj-entity name="Iv2X" className="org.apache.cayenne.testdo.inheritance_vertical.Iv2X" dbEntityName="IV2_X">
 	</obj-entity>
-	<obj-entity name="IvRoot" className="org.apache.cayenne.testdo.inheritance.vertical.IvRoot" dbEntityName="IV_ROOT">
+	<obj-entity name="IvRoot" className="org.apache.cayenne.testdo.inheritance_vertical.IvRoot" dbEntityName="IV_ROOT">
 		<obj-attribute name="discriminator" type="java.lang.String" db-attribute-path="DISCRIMINATOR"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="IvSub1" superEntityName="IvRoot" className="org.apache.cayenne.testdo.inheritance.vertical.IvSub1">
+	<obj-entity name="IvSub1" superEntityName="IvRoot" className="org.apache.cayenne.testdo.inheritance_vertical.IvSub1">
 		<qualifier><![CDATA[discriminator = "IvSub1"]]></qualifier>
 		<obj-attribute name="sub1Name" type="java.lang.String" db-attribute-path="sub1.SUB1_NAME"/>
 		<attribute-override name="discrimiantor" db-attribute-path="DISCRIMINATOR"/>
 		<attribute-override name="discriminator" db-attribute-path="DISCRIMINATOR"/>
 		<attribute-override name="name" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="IvSub1Sub1" superEntityName="IvSub1" className="org.apache.cayenne.testdo.inheritance.vertical.IvSub1Sub1">
+	<obj-entity name="IvSub1Sub1" superEntityName="IvSub1" className="org.apache.cayenne.testdo.inheritance_vertical.IvSub1Sub1">
 		<qualifier><![CDATA[discriminator = "IvSub1Sub1"]]></qualifier>
 		<obj-attribute name="sub1Sub1Name" type="java.lang.String" db-attribute-path="sub1.sub1Sub1.SUB1_SUB1_NAME"/>
 		<attribute-override name="sub1Name" db-attribute-path="sub1.SUB1_NAME"/>
 	</obj-entity>
-	<obj-entity name="IvSub2" superEntityName="IvRoot" className="org.apache.cayenne.testdo.inheritance.vertical.IvSub2">
+	<obj-entity name="IvSub2" superEntityName="IvRoot" className="org.apache.cayenne.testdo.inheritance_vertical.IvSub2">
 		<qualifier><![CDATA[discriminator = "IvSub2"]]></qualifier>
 		<obj-attribute name="sub2Attr" type="java.lang.String" db-attribute-path="sub2.SUB2_ATTR"/>
 		<obj-attribute name="sub2Name" type="java.lang.String" db-attribute-path="sub2.SUB2_NAME"/>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/resources/inheritance.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/inheritance.map.xml b/cayenne-server/src/test/resources/inheritance.map.xml
new file mode 100644
index 0000000..b74a97f
--- /dev/null
+++ b/cayenne-server/src/test/resources/inheritance.map.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+          project-version="7">
+    <property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance"/>
+    <db-entity name="BASE_ENTITY">
+        <db-attribute name="BASE_ENTITY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+        <db-attribute name="DIRECT_TO_SUB_ENTITY_ID" type="INTEGER"/>
+        <db-attribute name="ENTITY_TYPE" type="VARCHAR" length="255"/>
+        <db-attribute name="RELATED_ENTITY_ID" type="INTEGER" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="DIRECT_TO_SUB_ENTITY">
+        <db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <db-entity name="RELATED_ENTITY">
+        <db-attribute name="RELATED_ENTITY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
+    </db-entity>
+    <obj-entity name="BaseEntity" className="org.apache.cayenne.testdo.inheritance.BaseEntity" dbEntityName="BASE_ENTITY">
+        <obj-attribute name="entityType" type="java.lang.String" db-attribute-path="ENTITY_TYPE"/>
+    </obj-entity>
+    <obj-entity name="DirectToSubEntity" className="org.apache.cayenne.testdo.inheritance.DirectToSubEntity" dbEntityName="DIRECT_TO_SUB_ENTITY">
+    </obj-entity>
+    <obj-entity name="RelatedEntity" className="org.apache.cayenne.testdo.inheritance.RelatedEntity" dbEntityName="RELATED_ENTITY">
+    </obj-entity>
+    <obj-entity name="SubEntity" superEntityName="BaseEntity" className="org.apache.cayenne.testdo.inheritance.SubEntity">
+        <qualifier><![CDATA[entityType = "sub"]]></qualifier>
+    </obj-entity>
+    <db-relationship name="directToSubEntities" source="BASE_ENTITY" target="DIRECT_TO_SUB_ENTITY" toMany="false">
+        <db-attribute-pair source="DIRECT_TO_SUB_ENTITY_ID" target="ID"/>
+    </db-relationship>
+    <db-relationship name="relatedEntities" source="BASE_ENTITY" target="RELATED_ENTITY" toMany="false">
+        <db-attribute-pair source="RELATED_ENTITY_ID" target="RELATED_ENTITY_ID"/>
+    </db-relationship>
+    <db-relationship name="subEntity" source="DIRECT_TO_SUB_ENTITY" target="BASE_ENTITY" toMany="true">
+        <db-attribute-pair source="ID" target="DIRECT_TO_SUB_ENTITY_ID"/>
+    </db-relationship>
+    <db-relationship name="entities" source="RELATED_ENTITY" target="BASE_ENTITY" toMany="true">
+        <db-attribute-pair source="RELATED_ENTITY_ID" target="RELATED_ENTITY_ID"/>
+    </db-relationship>
+    <obj-relationship name="toDirectToSubEntity" source="BaseEntity" target="DirectToSubEntity" deleteRule="Nullify" db-relationship-path="directToSubEntities"/>
+    <obj-relationship name="toRelatedEntity" source="BaseEntity" target="RelatedEntity" deleteRule="Nullify" db-relationship-path="relatedEntities"/>
+    <obj-relationship name="subEntities" source="DirectToSubEntity" target="SubEntity" db-relationship-path="subEntity"/>
+    <obj-relationship name="baseEntities" source="RelatedEntity" target="BaseEntity" db-relationship-path="entities"/>
+    <obj-relationship name="subEntities" source="RelatedEntity" target="SubEntity" db-relationship-path="entities"/>
+</data-map>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0b6a4240/cayenne-server/src/test/resources/people.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/people.map.xml b/cayenne-server/src/test/resources/people.map.xml
index 8af0258..861eb9f 100644
--- a/cayenne-server/src/test/resources/people.map.xml
+++ b/cayenne-server/src/test/resources/people.map.xml
@@ -3,18 +3,12 @@
 	 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	 xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
 	 project-version="7">
-	<property name="defaultPackage" value="org.apache.cayenne.testdo.inherit"/>
+	<property name="defaultPackage" value="org.apache.cayenne.testdo.inheritance_people"/>
 	<db-entity name="ADDRESS">
 		<db-attribute name="ADDRESS_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="CITY" type="VARCHAR" length="100"/>
 		<db-attribute name="PERSON_ID" type="INTEGER" isMandatory="true"/>
 	</db-entity>
-	<db-entity name="BASE_ENTITY">
-		<db-attribute name="BASE_ENTITY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="DIRECT_TO_SUB_ENTITY_ID" type="INTEGER"/>
-		<db-attribute name="ENTITY_TYPE" type="VARCHAR" length="255"/>
-		<db-attribute name="RELATED_ENTITY_ID" type="INTEGER" isMandatory="true"/>
-	</db-entity>
 	<db-entity name="CLIENT_COMPANY">
 		<db-attribute name="CLIENT_COMPANY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="NAME" type="VARCHAR" length="100"/>
@@ -24,9 +18,6 @@
 		<db-attribute name="MANAGER_ID" type="INTEGER"/>
 		<db-attribute name="NAME" type="VARCHAR" isMandatory="true" length="100"/>
 	</db-entity>
-	<db-entity name="DIRECT_TO_SUB_ENTITY">
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
 	<db-entity name="PERSON">
 		<db-attribute name="CLIENT_COMPANY_ID" type="INTEGER"/>
 		<db-attribute name="CLIENT_CONTACT_TYPE" type="VARCHAR" length="50"/>
@@ -41,57 +32,38 @@
 		<db-attribute name="NOTES" type="VARCHAR" length="255"/>
 		<db-attribute name="PERSON_ID" type="INTEGER"/>
 	</db-entity>
-	<db-entity name="RELATED_ENTITY">
-		<db-attribute name="RELATED_ENTITY_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<obj-entity name="AbstractPerson" abstract="true" className="org.apache.cayenne.testdo.inherit.AbstractPerson" dbEntityName="PERSON">
+	<obj-entity name="AbstractPerson" abstract="true" className="org.apache.cayenne.testdo.inheritance_people.AbstractPerson" dbEntityName="PERSON">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 		<obj-attribute name="personType" type="java.lang.String" db-attribute-path="PERSON_TYPE"/>
 	</obj-entity>
-	<obj-entity name="Address" className="org.apache.cayenne.testdo.inherit.Address" dbEntityName="ADDRESS">
+	<obj-entity name="Address" className="org.apache.cayenne.testdo.inheritance_people.Address" dbEntityName="ADDRESS">
 		<obj-attribute name="city" type="java.lang.String" db-attribute-path="CITY"/>
 	</obj-entity>
-	<obj-entity name="BaseEntity" className="org.apache.cayenne.testdo.inherit.BaseEntity" dbEntityName="BASE_ENTITY">
-		<obj-attribute name="entityType" type="java.lang.String" db-attribute-path="ENTITY_TYPE"/>
-	</obj-entity>
-	<obj-entity name="ClientCompany" className="org.apache.cayenne.testdo.inherit.ClientCompany" dbEntityName="CLIENT_COMPANY">
+	<obj-entity name="ClientCompany" className="org.apache.cayenne.testdo.inheritance_people.ClientCompany" dbEntityName="CLIENT_COMPANY">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="CustomerRepresentative" superEntityName="AbstractPerson" className="org.apache.cayenne.testdo.inherit.CustomerRepresentative">
+	<obj-entity name="CustomerRepresentative" superEntityName="AbstractPerson" className="org.apache.cayenne.testdo.inheritance_people.CustomerRepresentative">
 		<qualifier><![CDATA[personType = "C"]]></qualifier>
 		<obj-attribute name="clientContactType" type="java.lang.String" db-attribute-path="CLIENT_CONTACT_TYPE"/>
 	</obj-entity>
-	<obj-entity name="Department" className="org.apache.cayenne.testdo.inherit.Department" dbEntityName="DEPARTMENT">
+	<obj-entity name="Department" className="org.apache.cayenne.testdo.inheritance_people.Department" dbEntityName="DEPARTMENT">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DirectToSubEntity" className="org.apache.cayenne.testdo.inherit.DirectToSubEntity" dbEntityName="DIRECT_TO_SUB_ENTITY">
-	</obj-entity>
-	<obj-entity name="Employee" superEntityName="AbstractPerson" className="org.apache.cayenne.testdo.inherit.Employee">
+	<obj-entity name="Employee" superEntityName="AbstractPerson" className="org.apache.cayenne.testdo.inheritance_people.Employee">
 		<qualifier><![CDATA[personType = "EE"]]></qualifier>
 		<obj-attribute name="salary" type="java.lang.Float" db-attribute-path="SALARY"/>
 		<attribute-override name="name" db-attribute-path="NAME"/>
 		<attribute-override name="personType" db-attribute-path="PERSON_TYPE"/>
 	</obj-entity>
-	<obj-entity name="Manager" superEntityName="Employee" className="org.apache.cayenne.testdo.inherit.Manager">
+	<obj-entity name="Manager" superEntityName="Employee" className="org.apache.cayenne.testdo.inheritance_people.Manager">
 		<qualifier><![CDATA[personType = "EM"]]></qualifier>
 	</obj-entity>
-	<obj-entity name="PersonNotes" className="org.apache.cayenne.testdo.inherit.PersonNotes" dbEntityName="PERSON_NOTES">
+	<obj-entity name="PersonNotes" className="org.apache.cayenne.testdo.inheritance_people.PersonNotes" dbEntityName="PERSON_NOTES">
 		<obj-attribute name="notes" type="java.lang.String" db-attribute-path="NOTES"/>
 	</obj-entity>
-	<obj-entity name="RelatedEntity" className="org.apache.cayenne.testdo.inherit.RelatedEntity" dbEntityName="RELATED_ENTITY">
-	</obj-entity>
-	<obj-entity name="SubEntity" superEntityName="BaseEntity" className="org.apache.cayenne.testdo.inherit.SubEntity">
-		<qualifier><![CDATA[entityType = "sub"]]></qualifier>
-	</obj-entity>
 	<db-relationship name="toPerson" source="ADDRESS" target="PERSON" toMany="false">
 		<db-attribute-pair source="PERSON_ID" target="PERSON_ID"/>
 	</db-relationship>
-	<db-relationship name="directToSubEntities" source="BASE_ENTITY" target="DIRECT_TO_SUB_ENTITY" toMany="false">
-		<db-attribute-pair source="DIRECT_TO_SUB_ENTITY_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="relatedEntities" source="BASE_ENTITY" target="RELATED_ENTITY" toMany="false">
-		<db-attribute-pair source="RELATED_ENTITY_ID" target="RELATED_ENTITY_ID"/>
-	</db-relationship>
 	<db-relationship name="representatives" source="CLIENT_COMPANY" target="PERSON" toMany="true">
 		<db-attribute-pair source="CLIENT_COMPANY_ID" target="CLIENT_COMPANY_ID"/>
 	</db-relationship>
@@ -101,9 +73,6 @@
 	<db-relationship name="toManager" source="DEPARTMENT" target="PERSON" toMany="false">
 		<db-attribute-pair source="MANAGER_ID" target="PERSON_ID"/>
 	</db-relationship>
-	<db-relationship name="subEntity" source="DIRECT_TO_SUB_ENTITY" target="BASE_ENTITY" toMany="true">
-		<db-attribute-pair source="ID" target="DIRECT_TO_SUB_ENTITY_ID"/>
-	</db-relationship>
 	<db-relationship name="employeeAddresses" source="PERSON" target="ADDRESS" toMany="true">
 		<db-attribute-pair source="PERSON_ID" target="PERSON_ID"/>
 	</db-relationship>
@@ -122,22 +91,14 @@
 	<db-relationship name="person" source="PERSON_NOTES" target="PERSON" toMany="false">
 		<db-attribute-pair source="PERSON_ID" target="PERSON_ID"/>
 	</db-relationship>
-	<db-relationship name="entities" source="RELATED_ENTITY" target="BASE_ENTITY" toMany="true">
-		<db-attribute-pair source="RELATED_ENTITY_ID" target="RELATED_ENTITY_ID"/>
-	</db-relationship>
 	<obj-relationship name="notes" source="AbstractPerson" target="PersonNotes" deleteRule="Nullify" db-relationship-path="notes"/>
 	<obj-relationship name="toEmployee" source="Address" target="Employee" db-relationship-path="toPerson"/>
-	<obj-relationship name="toDirectToSubEntity" source="BaseEntity" target="DirectToSubEntity" deleteRule="Nullify" db-relationship-path="directToSubEntities"/>
-	<obj-relationship name="toRelatedEntity" source="BaseEntity" target="RelatedEntity" deleteRule="Nullify" db-relationship-path="relatedEntities"/>
 	<obj-relationship name="representatives" source="ClientCompany" target="CustomerRepresentative" db-relationship-path="representatives"/>
 	<obj-relationship name="toClientCompany" source="CustomerRepresentative" target="ClientCompany" db-relationship-path="toClientCompany"/>
 	<obj-relationship name="employees" source="Department" target="Employee" db-relationship-path="employees"/>
 	<obj-relationship name="toManager" source="Department" target="Manager" db-relationship-path="toManager"/>
-	<obj-relationship name="subEntities" source="DirectToSubEntity" target="SubEntity" db-relationship-path="subEntity"/>
 	<obj-relationship name="addresses" source="Employee" target="Address" db-relationship-path="employeeAddresses"/>
 	<obj-relationship name="toDepartment" source="Employee" target="Department" db-relationship-path="toDepartment"/>
 	<obj-relationship name="managedDepartments" source="Manager" target="Department" db-relationship-path="managedDepartments"/>
 	<obj-relationship name="person" source="PersonNotes" target="AbstractPerson" deleteRule="Nullify" db-relationship-path="person"/>
-	<obj-relationship name="baseEntities" source="RelatedEntity" target="BaseEntity" db-relationship-path="entities"/>
-	<obj-relationship name="subEntities" source="RelatedEntity" target="SubEntity" db-relationship-path="entities"/>
 </data-map>


[06/50] [abbrv] cayenne git commit: Apply JUnit4 instead of JUnit3 in IT

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java
index e81a513..efeaed1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectByIdIT.java
@@ -18,9 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import static java.util.Collections.singletonMap;
-import static org.junit.Assert.assertNotEquals;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.ObjectId;
@@ -33,6 +30,9 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static java.util.Collections.singletonMap;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectByIdIT extends ServerCase {
@@ -68,6 +68,7 @@ public class SelectByIdIT extends ServerCase {
 		tArtist.insert(3, "artist3");
 	}
 
+    @Test
 	public void testIntPk() throws Exception {
 		createTwoArtists();
 
@@ -80,6 +81,7 @@ public class SelectByIdIT extends ServerCase {
 		assertEquals("artist2", a2.getArtistName());
 	}
 
+    @Test
 	public void testMapPk() throws Exception {
 		createTwoArtists();
 
@@ -92,6 +94,7 @@ public class SelectByIdIT extends ServerCase {
 		assertEquals("artist2", a2.getArtistName());
 	}
 
+    @Test
 	public void testObjectIdPk() throws Exception {
 		createTwoArtists();
 
@@ -106,6 +109,7 @@ public class SelectByIdIT extends ServerCase {
 		assertEquals("artist2", a2.getArtistName());
 	}
 
+    @Test
 	public void testDataRowIntPk() throws Exception {
 		createTwoArtists();
 
@@ -118,6 +122,7 @@ public class SelectByIdIT extends ServerCase {
 		assertEquals("artist2", a2.get("ARTIST_NAME"));
 	}
 
+    @Test
 	public void testMetadataCacheKey() throws Exception {
 		SelectById<Painting> q1 = SelectById.query(Painting.class, 4);
 		QueryMetadata md1 = q1.getMetaData(context.getEntityResolver());
@@ -156,6 +161,7 @@ public class SelectByIdIT extends ServerCase {
 		assertEquals(md1.getCacheKey(), md5.getCacheKey());
 	}
 
+    @Test
 	public void testLocalCache() throws Exception {
 		createTwoArtists();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java
index 8cbf07b..664b67e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryCacheKeyIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectQueryCacheKeyIT extends ServerCase {
@@ -32,6 +33,7 @@ public class SelectQueryCacheKeyIT extends ServerCase {
     @Inject
     private EntityResolver resolver;
 
+    @Test
     public void testNoCache() {
 
         SelectQuery query = new SelectQuery(Artist.class);
@@ -46,6 +48,7 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertNull(md2.getCacheKey());
     }
 
+    @Test
     public void testLocalCache() {
 
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -57,6 +60,7 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertNotNull(md1.getCacheKey());
     }
 
+    @Test
     public void testUseLocalCache() {
 
         SelectQuery<Artist> q1 = new SelectQuery<Artist>(Artist.class);
@@ -76,6 +80,7 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertEquals(2, md2.getCacheGroups().length);
     }
 
+    @Test
     public void testSharedCache() {
 
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -86,7 +91,8 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertEquals(QueryCacheStrategy.SHARED_CACHE, md1.getCacheStrategy());
         assertNotNull(md1.getCacheKey());
     }
-    
+
+    @Test
     public void testUseSharedCache() {
 
         SelectQuery<Artist> q1 = new SelectQuery<Artist>(Artist.class);
@@ -106,6 +112,7 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertEquals(2, md2.getCacheGroups().length);
     }
 
+    @Test
     public void testNamedQuery() {
 
         SelectQuery query = new SelectQuery(Artist.class);
@@ -118,6 +125,7 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertFalse("XYZ".equals(md1.getCacheKey()));
     }
 
+    @Test
     public void testUniqueKeyEntity() {
 
         SelectQuery q1 = new SelectQuery(Artist.class);
@@ -135,6 +143,7 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertFalse(q1.getMetaData(resolver).getCacheKey().equals(q3.getMetaData(resolver).getCacheKey()));
     }
 
+    @Test
     public void testUniqueKeyEntityQualifier() {
 
         SelectQuery q1 = new SelectQuery(Artist.class);
@@ -155,6 +164,7 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertFalse(q1.getMetaData(resolver).getCacheKey().equals(q3.getMetaData(resolver).getCacheKey()));
     }
 
+    @Test
     public void testUniqueKeyEntityFetchLimit() {
 
         SelectQuery q1 = new SelectQuery(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java
index a251137..cb25202 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryFetchLimitOrderingIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -61,6 +62,7 @@ public class SelectQueryFetchLimitOrderingIT extends ServerCase {
         tArtist.insert(33006, "e");
     }
 
+    @Test
     public void testOrdering() throws Exception {
 
         creatArtistsDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
index 6f5527f..c78f522 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
@@ -49,6 +49,7 @@ import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.Collections;
@@ -120,7 +121,8 @@ public class SelectQueryIT extends ServerCase {
         tNumerics.insert(4, 3);
         tNumerics.insert(5, 4);
     }
-    
+
+    @Test
     public void testSetQualifier() {
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
         assertNull(query.getQualifier());
@@ -131,6 +133,7 @@ public class SelectQueryIT extends ServerCase {
         assertSame(qual, query.getQualifier());
     }
 
+    @Test
     public void testAndQualifier() {
     	SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
         assertNull(query.getQualifier());
@@ -144,6 +147,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(Expression.AND, query.getQualifier().getType());
     }
 
+    @Test
     public void testOrQualifier() {
     	SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
         assertNull(query.getQualifier());
@@ -157,6 +161,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(Expression.OR, query.getQualifier().getType());
     }
 
+    @Test
     public void testFetchLimit() throws Exception {
         createArtistsDataSet();
 
@@ -168,6 +173,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(7, objects.size());
     }
 
+    @Test
     public void testFetchOffset() throws Exception {
 
         createArtistsDataSet();
@@ -183,6 +189,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals("artist6", results.get(0).getArtistName());
     }
 
+    @Test
     public void testDbEntityRoot() throws Exception {
 
         createArtistsDataSet();
@@ -195,6 +202,7 @@ public class SelectQueryIT extends ServerCase {
         assertTrue(results.get(0) instanceof DataRow);
     }
 
+    @Test
     public void testFetchLimitWithOffset() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -207,6 +215,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals("artist16", results.get(0).getArtistName());
     }
 
+    @Test
     public void testFetchOffsetWithQualifier() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -223,6 +232,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(size, sizeAll - 5);
     }
 
+    @Test
     public void testFetchLimitWithQualifier() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -232,6 +242,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(7, objects.size());
     }
 
+    @Test
     public void testSelectAllObjectsRootEntityName() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>("Artist");
@@ -239,6 +250,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(20, objects.size());
     }
 
+    @Test
     public void testSelectAllObjectsRootClass() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -246,6 +258,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(20, objects.size());
     }
 
+    @Test
     public void testSelectAllObjectsRootObjEntity() throws Exception {
         createArtistsDataSet();
         ObjEntity artistEntity = context.getEntityResolver().getObjEntity(Artist.class);
@@ -255,6 +268,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(20, objects.size());
     }
 
+    @Test
     public void testSelectLikeExactMatch() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -264,6 +278,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(1, objects.size());
     }
 
+    @Test
     public void testSelectNotLikeSingleWildcardMatch() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -273,6 +288,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(19, objects.size());
     }
 
+    @Test
     public void testSelectNotLikeIgnoreCaseSingleWildcardMatch() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -282,6 +298,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(19, objects.size());
     }
 
+    @Test
     public void testSelectLikeCaseSensitive() throws Exception {
         if (!accessStackAdapter.supportsCaseSensitiveLike()) {
             return;
@@ -295,6 +312,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(0, objects.size());
     }
 
+    @Test
     public void testSelectLikeSingleWildcardMatch() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -304,6 +322,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(1, objects.size());
     }
 
+    @Test
     public void testSelectLikeSingleWildcardMatchAndEscape() throws Exception {
 
         createArtistsWildcardDataSet();
@@ -315,6 +334,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(1, objects.size());
     }
 
+    @Test
     public void testSelectLikeMultipleWildcardMatch() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -327,6 +347,7 @@ public class SelectQueryIT extends ServerCase {
     /**
      * Test how "like ignore case" works when using uppercase parameter.
      */
+    @Test
     public void testSelectLikeIgnoreCaseObjects1() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -337,6 +358,7 @@ public class SelectQueryIT extends ServerCase {
     }
 
     /** Test how "like ignore case" works when using lowercase parameter. */
+    @Test
     public void testSelectLikeIgnoreCaseObjects2() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -347,6 +369,7 @@ public class SelectQueryIT extends ServerCase {
     }
 
     /** Test how "like ignore case" works when using uppercase parameter. */
+    @Test
     public void testSelectLikeIgnoreCaseClob() throws Exception {
         if (accessStackAdapter.supportsLobs()) {
             createClobDataSet();
@@ -358,6 +381,7 @@ public class SelectQueryIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectFetchLimit_Offset_DistinctClob() throws Exception {
         if (accessStackAdapter.supportsLobs()) {
             createClobDataSet();
@@ -376,6 +400,7 @@ public class SelectQueryIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectEqualsClob() throws Exception {
         if (accessStackAdapter.supportsLobComparisons()) {
             createClobDataSet();
@@ -387,6 +412,7 @@ public class SelectQueryIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectNotEqualsClob() throws Exception {
         if (accessStackAdapter.supportsLobComparisons()) {
             createClobDataSet();
@@ -398,6 +424,7 @@ public class SelectQueryIT extends ServerCase {
         }
     }
 
+    @Test
     public void testSelectIn() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -407,6 +434,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(2, objects.size());
     }
 
+    @Test
     public void testSelectParameterizedIn() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -417,6 +445,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(2, objects.size());
     }
 
+    @Test
     public void testSelectParameterizedEmptyIn() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -427,6 +456,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(0, objects.size());
     }
 
+    @Test
     public void testSelectParameterizedEmptyNotIn() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -437,6 +467,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(20, objects.size());
     }
 
+    @Test
     public void testSelectEmptyIn() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -446,6 +477,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(0, objects.size());
     }
 
+    @Test
     public void testSelectEmptyNotIn() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -455,6 +487,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(20, objects.size());
     }
 
+    @Test
     public void testSelectBooleanTrue() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -465,6 +498,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(1, objects.size());
     }
 
+    @Test
     public void testSelectBitwiseNot() throws Exception {
 
         if (!accessStackAdapter.supportsBitwiseOps()) {
@@ -487,6 +521,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(2, objects.size());
     }
 
+    @Test
     public void testSelectBitwiseOr() throws Exception {
 
         if (!accessStackAdapter.supportsBitwiseOps()) {
@@ -510,6 +545,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(2, objects.size());
     }
 
+    @Test
     public void testSelectBitwiseAnd() throws Exception {
 
         if (!accessStackAdapter.supportsBitwiseOps()) {
@@ -533,6 +569,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(3, objects.size());
     }
 
+    @Test
     public void testSelectBitwiseXor() throws Exception {
 
         if (!accessStackAdapter.supportsBitwiseOps()) {
@@ -557,6 +594,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(4, objects.get(0).getIntegerColumn().intValue());
     }
 
+    @Test
     public void testSelectBooleanNotTrueOr() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -568,6 +606,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(1, objects.size());
     }
 
+    @Test
     public void testSelectBooleanFalse() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -578,6 +617,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(0, objects.size());
     }
 
+    @Test
     public void testSelectBooleanFalseOr() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);
@@ -592,6 +632,7 @@ public class SelectQueryIT extends ServerCase {
      * Tests that all queries specified in prefetch are executed in a more
      * complex prefetch scenario.
      */
+    @Test
     public void testRouteWithPrefetches() {
         EntityResolver resolver = context.getEntityResolver();
         MockQueryRouter router = new MockQueryRouter();
@@ -626,6 +667,7 @@ public class SelectQueryIT extends ServerCase {
      * Tests that all queries specified in prefetch are executed in a more
      * complex prefetch scenario with no reverse obj relationships.
      */
+    @Test
     public void testRouteQueryWithPrefetchesNoReverse() {
 
         EntityResolver resolver = context.getEntityResolver();
@@ -667,6 +709,7 @@ public class SelectQueryIT extends ServerCase {
      * Test prefetching with qualifier on the root query being the path to the
      * prefetch.
      */
+    @Test
     public void testRouteQueryWithPrefetchesPrefetchExpressionPath() {
 
         // find the painting not matching the artist (this is the case where
@@ -686,6 +729,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(2, router.getQueryCount());
     }
 
+    @Test
     public void testLeftJoinAndPrefetchToMany() throws Exception {
         createArtistsDataSet();
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class, ExpressionFactory.matchExp(
@@ -694,6 +738,7 @@ public class SelectQueryIT extends ServerCase {
         context.performQuery(query);
     }
 
+    @Test
     public void testLeftJoinAndPrefetchToOne() throws Exception {
         createArtistsDataSet();
         SelectQuery<Painting> query = new SelectQuery<Painting>(Painting.class, ExpressionFactory.matchExp(
@@ -702,6 +747,7 @@ public class SelectQueryIT extends ServerCase {
         context.select(query);
     }
 
+    @Test
     public void testSelect_MatchObject() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -732,6 +778,7 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(query.getQualifier(), ExpressionFactory.matchAnyExp(Arrays.asList(a1, a3)));
     }
 
+    @Test
     public void testSelect_WithOrdering() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -755,6 +802,7 @@ public class SelectQueryIT extends ServerCase {
     /**
      * Tests INs with more than 1000 elements
      */
+    @Test
     public void testSelectLongIn() {
         // not all adapters strip INs, so we just make sure query with such
         // qualifier
@@ -769,6 +817,7 @@ public class SelectQueryIT extends ServerCase {
         context.performQuery(query);
     }
 
+    @Test
     public void testCacheOffsetAndLimit() throws Exception {
         createArtistsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java
index df2b2f1..0189800 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SelectQueryPrefetchRouterActionIT extends ServerCase {
@@ -36,6 +37,7 @@ public class SelectQueryPrefetchRouterActionIT extends ServerCase {
     @Inject
     private EntityResolver resolver;
 
+    @Test
     public void testPaintings1() {
         ObjEntity paintingEntity = resolver.getObjEntity(Painting.class);
         SelectQuery q = new SelectQuery(Artist.class, ExpressionFactory.matchExp("artistName", "abc"));
@@ -53,6 +55,7 @@ public class SelectQueryPrefetchRouterActionIT extends ServerCase {
         assertEquals(Expression.fromString("db:toArtist.ARTIST_NAME = 'abc'"), prefetch.getQualifier());
     }
 
+    @Test
     public void testPrefetchPaintings2() {
         ObjEntity paintingEntity = resolver.getObjEntity(Painting.class);
 
@@ -71,6 +74,7 @@ public class SelectQueryPrefetchRouterActionIT extends ServerCase {
                 prefetch.getQualifier());
     }
 
+    @Test
     public void testGalleries() {
         ObjEntity galleryEntity = resolver.getObjEntity(Gallery.class);
         SelectQuery q = new SelectQuery(Artist.class, ExpressionFactory.matchExp("artistName", "abc"));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
index 60361ca..ce42359 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryPrefetchRouterActionQualifiedEntityIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.inherit.Employee;
 import org.apache.cayenne.testdo.inherit.Manager;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)
 public class SelectQueryPrefetchRouterActionQualifiedEntityIT extends ServerCase {
@@ -36,6 +37,7 @@ public class SelectQueryPrefetchRouterActionQualifiedEntityIT extends ServerCase
     @Inject
     private EntityResolver resolver;
 
+    @Test
     public void testPrefetchEmployee() throws Exception {
         ObjEntity departmentEntity = resolver.getObjEntity(Department.class);
         SelectQuery q = new SelectQuery(Employee.class, ExpressionFactory.matchExp("name", "abc"));
@@ -55,6 +57,7 @@ public class SelectQueryPrefetchRouterActionQualifiedEntityIT extends ServerCase
                 + "or db:employees.PERSON_TYPE = 'EM')"), prefetch.getQualifier());
     }
 
+    @Test
     public void testPrefetchManager() throws Exception {
         ObjEntity departmentEntity = resolver.getObjEntity(Department.class);
         SelectQuery q = new SelectQuery(Manager.class, ExpressionFactory.matchExp("name", "abc"));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
index 0a45df8..22bd81f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/StatementFetchSizeIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class StatementFetchSizeIT extends ServerCase {
@@ -31,6 +32,7 @@ public class StatementFetchSizeIT extends ServerCase {
     @Inject
     private ObjectContext context;
 
+    @Test
     public void test() {
         SelectQuery query = new SelectQuery(Artist.class);
         query.setStatementFetchSize(10);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
index 0f61530..ffbe753 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistryIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.annotations.Tag1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class LifecycleCallbackRegistryIT extends ServerCase {
@@ -37,6 +38,7 @@ public class LifecycleCallbackRegistryIT extends ServerCase {
     @Inject
     private ObjectContext context;
 
+    @Test
     public void testAddListener_PostAdd() {
         LifecycleCallbackRegistry registry = new LifecycleCallbackRegistry(context
                 .getEntityResolver());
@@ -61,6 +63,7 @@ public class LifecycleCallbackRegistryIT extends ServerCase {
         assertEquals("e:Painting;", listener.getAndReset());
     }
 
+    @Test
     public void testAddListener_PostAdd_InheritedListenerMethods() {
         LifecycleCallbackRegistry registry = new LifecycleCallbackRegistry(context
                 .getEntityResolver());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
index f246bcd..53531c4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry_InheritanceIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.inheritance_flat.UserProperties;
 import org.apache.cayenne.testdo.testmap.annotations.Tag2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.INHERTITANCE_SINGLE_TABLE1_PROJECT)
 public class LifecycleCallbackRegistry_InheritanceIT extends ServerCase {
@@ -37,6 +38,7 @@ public class LifecycleCallbackRegistry_InheritanceIT extends ServerCase {
     @Inject
     private ObjectContext context;
 
+    @Test
     public void testAddListener_PostAdd_EntityInheritance() {
         LifecycleCallbackRegistry registry = new LifecycleCallbackRegistry(context
                 .getEntityResolver());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
index e9d8497..e320095 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy;
 import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 /**
  * Tests conflicts between field and map-based persistence.
@@ -67,6 +68,7 @@ public class MixedPersistenceStrategyIT extends ServerCase {
         tMixedPersistenceStrategy2.insert(2, 1, "dn2");
     }
 
+    @Test
     public void testConflictingField1() throws Exception {
 
         createConflictingFieldDataSet();
@@ -83,6 +85,7 @@ public class MixedPersistenceStrategyIT extends ServerCase {
     /**
      * This test case reproduces CAY-582 bug.
      */
+    @Test
     public void testConflictingField2() throws Exception {
 
         createConflictingFieldDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
index d420ba5..a1cf9f2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactoryIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.reflect.ToManyProperty;
 import org.apache.cayenne.reflect.ToOneProperty;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataObjectDescriptorFactoryIT extends ServerCase {
@@ -38,6 +39,7 @@ public class DataObjectDescriptorFactoryIT extends ServerCase {
     @Inject
     private EntityResolver resolver;
 
+    @Test
     public void testVisitDeclaredProperties_IterationOrder() {
 
         DataObjectDescriptorFactory factory = new DataObjectDescriptorFactory(
@@ -74,6 +76,7 @@ public class DataObjectDescriptorFactoryIT extends ServerCase {
 
     }
 
+    @Test
     public void testVisitProperties_IterationOrder() {
 
         DataObjectDescriptorFactory factory = new DataObjectDescriptorFactory(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
index aba4a61..22f2d06 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/generic/DataObjectDescriptorFactory_InheritanceMapsIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.reflect.ToManyProperty;
 import org.apache.cayenne.reflect.ToOneProperty;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.INHERTITANCE_SINGLE_TABLE1_PROJECT)
 public class DataObjectDescriptorFactory_InheritanceMapsIT extends ServerCase {
@@ -37,6 +38,7 @@ public class DataObjectDescriptorFactory_InheritanceMapsIT extends ServerCase {
     @Inject
     private EntityResolver resolver;
 
+    @Test
     public void testVisitProperties_IterationOrder() {
 
         DataObjectDescriptorFactory factory = new DataObjectDescriptorFactory(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java b/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java
index 126a498..57f0739 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/tx/DefaultTransactionManagerIT.java
@@ -21,6 +21,7 @@ package org.apache.cayenne.tx;
 import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -28,6 +29,7 @@ import static org.mockito.Mockito.when;
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DefaultTransactionManagerIT extends ServerCase {
 
+    @Test
     public void testPerformInTransaction_NoTx() {
 
         final BaseTransaction tx = mock(BaseTransaction.class);
@@ -47,6 +49,7 @@ public class DefaultTransactionManagerIT extends ServerCase {
         assertSame(expectedResult, result);
     }
 
+    @Test
     public void testPerformInTransaction_ExistingTx() {
 
         final BaseTransaction tx1 = mock(BaseTransaction.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java
index 0a472cb..f01f957 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICase.java
@@ -18,22 +18,22 @@
  ****************************************************************/
 package org.apache.cayenne.unit.di;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.di.Injector;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
 
 /**
  * A unit test superclass that supports injection of members based on the standard unit
  * test container.
  */
-public abstract class DICase extends TestCase {
+public abstract class DICase extends Assert {
 
     protected abstract Injector getUnitTestInjector();
 
-    @Override
-    protected final void setUp() throws Exception {
+    @Before
+    public final void setUp() throws Exception {
         getUnitTestInjector().getInstance(UnitTestLifecycleManager.class).setUp(this);
-
         try {
             setUpAfterInjection();
         }
@@ -56,8 +56,8 @@ public abstract class DICase extends TestCase {
         }
     }
 
-    @Override
-    protected final void tearDown() throws Exception {
+    @After
+    public final void tearDown() throws Exception {
 
         try {
             tearDownBeforeInjection();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java
index 605ba17..d6fe535 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DICaseSelfIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Key;
 import org.apache.cayenne.di.Module;
 import org.apache.cayenne.di.spi.DefaultScope;
+import org.junit.Test;
 
 public class DICaseSelfIT extends DICase {
 
@@ -62,6 +63,7 @@ public class DICaseSelfIT extends DICase {
         return injector;
     }
 
+    @Test
     public void testInjection() throws Exception {
 
         Object testScoped = this.testScoped;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DefaultUnitTestLifecycleManager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DefaultUnitTestLifecycleManager.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DefaultUnitTestLifecycleManager.java
index 1c73a06..0cca948 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DefaultUnitTestLifecycleManager.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/DefaultUnitTestLifecycleManager.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.unit.di;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.di.BeforeScopeEnd;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Injector;
@@ -36,12 +34,12 @@ public class DefaultUnitTestLifecycleManager implements UnitTestLifecycleManager
         this.scope = scope;
     }
 
-    public <T extends TestCase> void setUp(T testCase) {
+    public <T> void setUp(T testCase) {
         injector.injectMembers(testCase);
     }
 
     @BeforeScopeEnd
-    public <T extends TestCase> void tearDown(T testCase) {
+    public <T> void tearDown(T testCase) {
         scope.shutdown();
     }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/unit/di/UnitTestLifecycleManager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/UnitTestLifecycleManager.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/UnitTestLifecycleManager.java
index a2f7434..eec5a5f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/UnitTestLifecycleManager.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/UnitTestLifecycleManager.java
@@ -18,11 +18,9 @@
  ****************************************************************/
 package org.apache.cayenne.unit.di;
 
-import junit.framework.TestCase;
-
 public interface UnitTestLifecycleManager {
 
-    <T extends TestCase> void setUp(T testCase);
+    <T> void setUp(T testCase);
 
-    <T extends TestCase> void tearDown(T testCase);
+    <T> void tearDown(T testCase);
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
index 7677248..9a8764d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.unit.di.server;
 
-import junit.framework.TestCase;
-
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
 import org.apache.cayenne.di.spi.DefaultScope;
@@ -35,7 +33,7 @@ public class ServerCaseLifecycleManager extends DefaultUnitTestLifecycleManager
     }
 
     @Override
-    public <T extends TestCase> void setUp(T testCase) {
+    public <T> void setUp(T testCase) {
 
         // init current runtime
         UseServerRuntime runtimeName = testCase.getClass().getAnnotation(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
index bd72025..2c60da2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseSelfIT.java
@@ -21,6 +21,7 @@ package org.apache.cayenne.unit.di.server;
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.di.Provider;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ServerCaseSelfIT extends ServerCase {
@@ -34,6 +35,7 @@ public class ServerCaseSelfIT extends ServerCase {
     @Inject
     protected ServerCaseProperties properties;
 
+    @Test
     public void testSetup_TearDown_Runtime() throws Exception {
 
         assertNotNull(properties);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
index 024f5e9..2e47ceb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_115IT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.relationship.ClobMaster;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -78,6 +79,7 @@ public class CAY_115IT extends ServerCase {
         tClobDetail.insert(4, 3, "cd31");
     }
 
+    @Test
     public void testDistinctClobFetch() throws Exception {
         if (!accessStackAdapter.supportsLobInsertsAsStrings()) {
             return;
@@ -99,6 +101,7 @@ public class CAY_115IT extends ServerCase {
         assertEquals(noDistinctResult, distinctResult);
     }
 
+    @Test
     public void testDistinctClobFetchWithToManyJoin() throws Exception {
         if (!accessStackAdapter.supportsLobInsertsAsStrings()) {
             return;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
index eaf446e..bc5acbe 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_191IT.java
@@ -19,8 +19,6 @@
 
 package org.apache.cayenne.unit.jira;
 
-import java.sql.Types;
-
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
@@ -29,6 +27,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationship.FkOfDifferentType;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Types;
 
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class CAY_191IT extends ServerCase {
@@ -61,6 +62,7 @@ public class CAY_191IT extends ServerCase {
         tFkOfDifferentType.insert(1, 1);
     }
 
+    @Test
     public void testResolveToOneOverFKOfDifferentNumType() throws Exception {
         // this is mostly for legacy schemas, as on many dbs you won;t be able to even
         // create the FK constraint...

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
index 5ebfd81..51f1dd1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationship.ReflexiveAndToOne;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -58,6 +59,7 @@ public class CAY_194IT extends ServerCase {
         dbHelper.deleteAll("TO_ONEFK1");
     }
 
+    @Test
     public void testQualifyOnToMany() {
 
         ReflexiveAndToOne ox = context.newObject(ReflexiveAndToOne.class);
@@ -84,6 +86,7 @@ public class CAY_194IT extends ServerCase {
         assertEquals(0, parents.size());
     }
 
+    @Test
     public void testQualifyOnToOne() {
 
         ReflexiveAndToOne ox = context.newObject(ReflexiveAndToOne.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
index f106204..c58ed54 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DeepMergeOperationIT extends ServerCase {
@@ -41,6 +42,7 @@ public class DeepMergeOperationIT extends ServerCase {
     @Inject
     private DataContext context1;
 
+    @Test
     public void testDeepMergeNonExistent() {
 
         final Artist a = context.newObject(Artist.class);
@@ -60,6 +62,7 @@ public class DeepMergeOperationIT extends ServerCase {
         });
     }
 
+    @Test
     public void testDeepMergeModified() {
 
         final Artist a = context.newObject(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
index ba64dec..04813da 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/util/DeepMergeOperationInheritanceIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)
 public class DeepMergeOperationInheritanceIT extends ServerCase {
@@ -43,6 +44,7 @@ public class DeepMergeOperationInheritanceIT extends ServerCase {
     @Inject
     protected DataChannelInterceptor queryInterceptor;
 
+    @Test
     public void testDeepMergeExistingSubclass() {
 
         final Department d1 = context.newObject(Department.class);
@@ -93,6 +95,7 @@ public class DeepMergeOperationInheritanceIT extends ServerCase {
 
     }
 
+    @Test
     public void testDeepMergeNonExistentSubclass() {
 
         final Department d1 = context.newObject(Department.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java
index d5239fd..c5e59f9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/util/EntityMergeSupportIT.java
@@ -18,9 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.util;
 
-import java.sql.Types;
-import java.util.Arrays;
-
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbJoin;
@@ -30,10 +27,15 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.merge.MergeCase;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Types;
+import java.util.Arrays;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EntityMergeSupportIT extends MergeCase {
 
+    @Test
     public void testMerging() {
         DbEntity dbEntity1 = new DbEntity("NEW_TABLE");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
index 6faa4a8..fe4623b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/util/ShallowMergeOperationIT.java
@@ -35,6 +35,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ShallowMergeOperationIT extends ServerCase {
@@ -73,6 +74,7 @@ public class ShallowMergeOperationIT extends ServerCase {
         tArtist.insert(33004, "artist4");
     }
 
+    @Test
     public void testMerge_Relationship() throws Exception {
 
         ObjectContext childContext = runtime.newContext(context);
@@ -96,6 +98,7 @@ public class ShallowMergeOperationIT extends ServerCase {
         });
     }
 
+    @Test
     public void testMerge_NoOverride() throws Exception {
         createArtistsDataSet();
 
@@ -136,6 +139,7 @@ public class ShallowMergeOperationIT extends ServerCase {
         });
     }
 
+    @Test
     public void testMerge_PersistenceStates() throws Exception {
         createArtistsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java b/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java
index 60f23d6..d94fa17 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/velocity/BindDirectiveIT.java
@@ -18,17 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.velocity;
 
-import java.sql.Connection;
-import java.sql.Timestamp;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.access.DataNode;
@@ -46,6 +35,18 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Connection;
+import java.sql.Timestamp;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * Tests BindDirective for passed null parameters and for not passed parameters
@@ -80,6 +81,7 @@ public class BindDirectiveIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testBindTimestamp() throws Exception {
         Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Integer(1));
@@ -97,6 +99,7 @@ public class BindDirectiveIT extends ServerCase {
         assertEquals(Date.class, row.get("DATE_OF_BIRTH").getClass());
     }
 
+    @Test
     public void testBindSQLDate() throws Exception {
         Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Integer(1));
@@ -114,6 +117,7 @@ public class BindDirectiveIT extends ServerCase {
         assertEquals(Date.class, row.get("DATE_OF_BIRTH").getClass());
     }
 
+    @Test
     public void testBindUtilDate() throws Exception {
         Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Integer(1));
@@ -131,6 +135,7 @@ public class BindDirectiveIT extends ServerCase {
         assertEquals(Date.class, row.get("DATE_OF_BIRTH").getClass());
     }
 
+    @Test
     public void testBindingForCollection() throws Exception {
 
         // insert 3 artists
@@ -157,6 +162,7 @@ public class BindDirectiveIT extends ServerCase {
         assertEquals(2, result.size());
     }
 
+    @Test
     public void testBindForPassedNullParam() throws Exception {
         Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Long(1));
@@ -172,6 +178,7 @@ public class BindDirectiveIT extends ServerCase {
         assertNull(row.get("DATE_OF_BIRTH"));
     }
 
+    @Test
     public void testBindWithJDBCForPassedNullParam() throws Exception {
         Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Long(1));
@@ -187,6 +194,7 @@ public class BindDirectiveIT extends ServerCase {
         assertNull(row.get("DATE_OF_BIRTH"));
     }
 
+    @Test
     public void testBindForNotPassedParam() throws Exception {
         Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Long(1));
@@ -201,6 +209,7 @@ public class BindDirectiveIT extends ServerCase {
         assertNull(row.get("DATE_OF_BIRTH"));
     }
 
+    @Test
     public void testBindWithJDBCForNotPassedParam() throws Exception {
         Map<String, Object> parameters = new HashMap<String, Object>();
         parameters.put("id", new Long(1));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
index 2e7049b..5c40bc9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/velocity/ResultDirectiveIT.java
@@ -18,12 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.velocity;
 
-import java.sql.Connection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.MockOperationObserver;
@@ -38,6 +32,13 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Connection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Test for Result directive to check if we could use ResultDitrective
@@ -70,6 +71,7 @@ public class ResultDirectiveIT extends ServerCase {
 		dbHelper.deleteAll("GALLERY");
 	}
 
+    @Test
 	public void testWithoutResultDirective() throws Exception {
 		String sql = "SELECT ARTIST_ID, ARTIST_NAME FROM ARTIST";
 		Map<String, Object> artist = insertArtist();
@@ -79,6 +81,7 @@ public class ResultDirectiveIT extends ServerCase {
 		assertEquals(artist.get("ARTIST_NAME"), selectResult.get("ARTIST_NAME"));
 	}
 
+    @Test
 	public void testWithOnlyResultDirective() throws Exception {
 		String sql = "SELECT #result('ARTIST_ID' 'java.lang.Integer')," + " #result('ARTIST_NAME' 'java.lang.String')"
 				+ " FROM ARTIST";
@@ -89,6 +92,7 @@ public class ResultDirectiveIT extends ServerCase {
 		assertEquals(artist.get("ARTIST_NAME"), selectResult.get("ARTIST_NAME").toString().trim());
 	}
 
+    @Test
 	public void testWithMixedDirectiveUse1() throws Exception {
 		String sql = "SELECT ARTIST_ID," + " #result('ARTIST_NAME' 'java.lang.String')" + " FROM ARTIST";
 		Map<String, Object> artist = insertArtist();
@@ -98,6 +102,7 @@ public class ResultDirectiveIT extends ServerCase {
 		assertEquals(artist.get("ARTIST_NAME"), selectResult.get("ARTIST_NAME").toString().trim());
 	}
 
+    @Test
 	public void testWithMixedDirectiveUse2() throws Exception {
 		String sql = "SELECT #result('ARTIST_ID' 'java.lang.Integer')," + " ARTIST_NAME " + " FROM ARTIST";
 		Map<String, Object> artist = insertArtist();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/itests/cayenne-tools-itest/src/test/java/org/apache/cayenne/tools/CayenneGeneratorIntegrationTest.java
----------------------------------------------------------------------
diff --git a/itests/cayenne-tools-itest/src/test/java/org/apache/cayenne/tools/CayenneGeneratorIntegrationTest.java b/itests/cayenne-tools-itest/src/test/java/org/apache/cayenne/tools/CayenneGeneratorIntegrationTest.java
index 35ae3d8..c58d3d0 100644
--- a/itests/cayenne-tools-itest/src/test/java/org/apache/cayenne/tools/CayenneGeneratorIntegrationTest.java
+++ b/itests/cayenne-tools-itest/src/test/java/org/apache/cayenne/tools/CayenneGeneratorIntegrationTest.java
@@ -18,15 +18,19 @@
  ****************************************************************/
 package org.apache.cayenne.tools;
 
+import org.junit.Test;
+
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStreamReader;
 import java.util.regex.Pattern;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
-public class CayenneGeneratorIntegrationTest extends TestCase {
+public class CayenneGeneratorIntegrationTest {
 
     private File testDir;
 
@@ -38,6 +42,7 @@ public class CayenneGeneratorIntegrationTest extends TestCase {
     /**
      * Test single classes with a non-standard template.
      */
+    @Test
     public void testSingleClassesCustTemplate() throws Exception {
         startTest("single-classes-cust-template");
 
@@ -47,6 +52,7 @@ public class CayenneGeneratorIntegrationTest extends TestCase {
     }
 
     /** Test single classes generation including full package path. */
+    @Test
     public void testSingleClasses1() throws Exception {
         startTest("single-classes1");
 
@@ -56,6 +62,7 @@ public class CayenneGeneratorIntegrationTest extends TestCase {
     }
 
     /** Test single classes generation ignoring package path. */
+    @Test
     public void testSingleClasses2() throws Exception {
         startTest("single-classes2");
 
@@ -65,6 +72,7 @@ public class CayenneGeneratorIntegrationTest extends TestCase {
     }
 
     /** Test pairs generation including full package path. */
+    @Test
     public void testPairs1() throws Exception {
         startTest("pairs1");
 
@@ -75,6 +83,7 @@ public class CayenneGeneratorIntegrationTest extends TestCase {
     }
 
     /** Test pairs generation in the same directory. */
+    @Test
     public void testPairs2() throws Exception {
         startTest("pairs2");
 
@@ -87,6 +96,7 @@ public class CayenneGeneratorIntegrationTest extends TestCase {
      * Test pairs generation including full package path with superclass and
      * subclass in different packages.
      */
+    @Test
     public void testPairs3() throws Exception {
         startTest("pairs3");
 
@@ -95,7 +105,8 @@ public class CayenneGeneratorIntegrationTest extends TestCase {
         assertContents("org/apache/cayenne/testdo/testmap/superart/_Artist.java", "_Artist",
                 "org.apache.cayenne.testdo.testmap.superart", "CayenneDataObject");
     }
-    
+
+    @Test
     public void testPairs1_client() throws Exception {
         startTest("pairs1-client");
 
@@ -105,6 +116,7 @@ public class CayenneGeneratorIntegrationTest extends TestCase {
                 "org.apache.cayenne.testdo.testmap.client.superart", "PersistentObject");
     }
 
+    @Test
     public void testPairsEmbeddable3() throws Exception {
         startTest("pairs-embeddables3");
 


[23/50] [abbrv] cayenne git commit: Refactor Multi Tier Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteRule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteRule.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteRule.java
deleted file mode 100644
index 351b127..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtDeleteRule.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.PersistentObject;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteCascade;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteDeny;
-import org.apache.cayenne.testdo.mt.ClientMtDeleteNullify;
-
-/**
- * A generated persistent class mapped as "MtDeleteRule" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtDeleteRule extends PersistentObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String FROM_CASCADE_PROPERTY = "fromCascade";
-    public static final String FROM_DENY_PROPERTY = "fromDeny";
-    public static final String FROM_NULLIFY_PROPERTY = "fromNullify";
-
-    protected String name;
-    protected List<ClientMtDeleteCascade> fromCascade;
-    protected List<ClientMtDeleteDeny> fromDeny;
-    protected List<ClientMtDeleteNullify> fromNullify;
-
-    public String getName() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        return name;
-    }
-    public void setName(String name) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        Object oldValue = this.name;
-        this.name = name;
-
-        // notify objectContext about simple property change
-        if(objectContext != null) {
-            objectContext.propertyChanged(this, "name", oldValue, name);
-        }
-    }
-
-    public List<ClientMtDeleteCascade> getFromCascade() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "fromCascade", true);
-        }
-
-        return fromCascade;
-    }
-    public void addToFromCascade(ClientMtDeleteCascade object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "fromCascade", true);
-        }
-
-        this.fromCascade.add(object);
-    }
-    public void removeFromFromCascade(ClientMtDeleteCascade object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "fromCascade", true);
-        }
-
-        this.fromCascade.remove(object);
-    }
-
-    public List<ClientMtDeleteDeny> getFromDeny() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "fromDeny", true);
-        }
-
-        return fromDeny;
-    }
-    public void addToFromDeny(ClientMtDeleteDeny object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "fromDeny", true);
-        }
-
-        this.fromDeny.add(object);
-    }
-    public void removeFromFromDeny(ClientMtDeleteDeny object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "fromDeny", true);
-        }
-
-        this.fromDeny.remove(object);
-    }
-
-    public List<ClientMtDeleteNullify> getFromNullify() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "fromNullify", true);
-        }
-
-        return fromNullify;
-    }
-    public void addToFromNullify(ClientMtDeleteNullify object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "fromNullify", true);
-        }
-
-        this.fromNullify.add(object);
-    }
-    public void removeFromFromNullify(ClientMtDeleteNullify object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "fromNullify", true);
-        }
-
-        this.fromNullify.remove(object);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtLifecycles.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtLifecycles.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtLifecycles.java
deleted file mode 100644
index 94ea3d7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtLifecycles.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.PersistentObject;
-
-/**
- * A generated persistent class mapped as "MtLifecycles" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtLifecycles extends PersistentObject {
-
-    public static final String NAME_PROPERTY = "name";
-
-    protected String name;
-
-    public String getName() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        return name;
-    }
-    public void setName(String name) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        Object oldValue = this.name;
-        this.name = name;
-
-        // notify objectContext about simple property change
-        if(objectContext != null) {
-            objectContext.propertyChanged(this, "name", oldValue, name);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMapToMany.java
deleted file mode 100644
index 007d502..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMapToMany.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import java.util.Map;
-
-import org.apache.cayenne.PersistentObject;
-import org.apache.cayenne.testdo.mt.ClientMtMapToManyTarget;
-
-/**
- * A generated persistent class mapped as "MtMapToMany" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtMapToMany extends PersistentObject {
-
-    public static final String TARGETS_PROPERTY = "targets";
-
-    protected Map<Object, ClientMtMapToManyTarget> targets;
-
-    public Map<Object, ClientMtMapToManyTarget> getTargets() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "targets", true);
-        }
-
-        return targets;
-    }
-	public void addToTargets(ClientMtMapToManyTarget object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "targets", true);
-        }
-
-        this.targets.put(getMapKey("targets", object), object);
-    }
-    public void removeFromTargets(ClientMtMapToManyTarget object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "targets", true);
-        }
-
-        this.targets.remove(getMapKey("targets", object));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMapToManyTarget.java
deleted file mode 100644
index db48fdc..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMapToManyTarget.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.PersistentObject;
-import org.apache.cayenne.ValueHolder;
-import org.apache.cayenne.testdo.mt.ClientMtMapToMany;
-
-/**
- * A generated persistent class mapped as "MtMapToManyTarget" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtMapToManyTarget extends PersistentObject {
-
-    public static final String MAP_TO_MANY_PROPERTY = "mapToMany";
-
-    protected ValueHolder mapToMany;
-
-    public ClientMtMapToMany getMapToMany() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "mapToMany", true);
-        }
-
-        return (ClientMtMapToMany) mapToMany.getValue();
-    }
-    public void setMapToMany(ClientMtMapToMany mapToMany) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "mapToMany", true);
-        }
-
-        this.mapToMany.setValue(mapToMany);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMeaningfulPk.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMeaningfulPk.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMeaningfulPk.java
deleted file mode 100644
index a950f8c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtMeaningfulPk.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.PersistentObject;
-
-/**
- * A generated persistent class mapped as "MtMeaningfulPk" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtMeaningfulPk extends PersistentObject {
-
-    public static final String PK_PROPERTY = "pk";
-
-    protected String pk;
-
-    public String getPk() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "pk", false);
-        }
-
-        return pk;
-    }
-    public void setPk(String pk) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "pk", false);
-        }
-
-        Object oldValue = this.pk;
-        this.pk = pk;
-
-        // notify objectContext about simple property change
-        if(objectContext != null) {
-            objectContext.propertyChanged(this, "pk", oldValue, pk);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtReflexive.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtReflexive.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtReflexive.java
deleted file mode 100644
index 1a764f8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtReflexive.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.PersistentObject;
-import org.apache.cayenne.ValueHolder;
-import org.apache.cayenne.testdo.mt.ClientMtReflexive;
-
-/**
- * A generated persistent class mapped as "MtReflexive" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtReflexive extends PersistentObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String CHILDREN_PROPERTY = "children";
-    public static final String TO_PARENT_PROPERTY = "toParent";
-
-    protected String name;
-    protected List<ClientMtReflexive> children;
-    protected ValueHolder toParent;
-
-    public String getName() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        return name;
-    }
-    public void setName(String name) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "name", false);
-        }
-
-        Object oldValue = this.name;
-        this.name = name;
-
-        // notify objectContext about simple property change
-        if(objectContext != null) {
-            objectContext.propertyChanged(this, "name", oldValue, name);
-        }
-    }
-
-    public List<ClientMtReflexive> getChildren() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "children", true);
-        }
-
-        return children;
-    }
-    public void addToChildren(ClientMtReflexive object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "children", true);
-        }
-
-        this.children.add(object);
-    }
-    public void removeFromChildren(ClientMtReflexive object) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "children", true);
-        }
-
-        this.children.remove(object);
-    }
-
-    public ClientMtReflexive getToParent() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "toParent", true);
-        }
-
-        return (ClientMtReflexive) toParent.getValue();
-    }
-    public void setToParent(ClientMtReflexive toParent) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "toParent", true);
-        }
-
-        this.toParent.setValue(toParent);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTablePrimitives.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTablePrimitives.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTablePrimitives.java
deleted file mode 100644
index d7189d8..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTablePrimitives.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.PersistentObject;
-
-/**
- * A generated persistent class mapped as "MtTablePrimitives" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtTablePrimitives extends PersistentObject {
-
-    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
-    public static final String INT_COLUMN_PROPERTY = "intColumn";
-
-    protected boolean booleanColumn;
-    protected int intColumn;
-
-    public boolean isBooleanColumn() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "booleanColumn", false);
-        }
-
-        return booleanColumn;
-    }
-    public void setBooleanColumn(boolean booleanColumn) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "booleanColumn", false);
-        }
-
-        Object oldValue = this.booleanColumn;
-        this.booleanColumn = booleanColumn;
-
-        // notify objectContext about simple property change
-        if(objectContext != null) {
-            objectContext.propertyChanged(this, "booleanColumn", oldValue, booleanColumn);
-        }
-    }
-
-    public int getIntColumn() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "intColumn", false);
-        }
-
-        return intColumn;
-    }
-    public void setIntColumn(int intColumn) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "intColumn", false);
-        }
-
-        Object oldValue = this.intColumn;
-        this.intColumn = intColumn;
-
-        // notify objectContext about simple property change
-        if(objectContext != null) {
-            objectContext.propertyChanged(this, "intColumn", oldValue, intColumn);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTooneDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTooneDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTooneDep.java
deleted file mode 100644
index cdc5f74..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTooneDep.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.PersistentObject;
-import org.apache.cayenne.ValueHolder;
-import org.apache.cayenne.testdo.mt.ClientMtTooneMaster;
-
-/**
- * A generated persistent class mapped as "MtTooneDep" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtTooneDep extends PersistentObject {
-
-    public static final String TO_MASTER_PROPERTY = "toMaster";
-
-    protected ValueHolder toMaster;
-
-    public ClientMtTooneMaster getToMaster() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "toMaster", true);
-        }
-
-        return (ClientMtTooneMaster) toMaster.getValue();
-    }
-    public void setToMaster(ClientMtTooneMaster toMaster) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "toMaster", true);
-        }
-
-        this.toMaster.setValue(toMaster);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTooneMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTooneMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTooneMaster.java
deleted file mode 100644
index 71e466a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMtTooneMaster.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.PersistentObject;
-import org.apache.cayenne.ValueHolder;
-import org.apache.cayenne.testdo.mt.ClientMtTooneDep;
-
-/**
- * A generated persistent class mapped as "MtTooneMaster" Cayenne entity. It is a good idea to
- * avoid changing this class manually, since it will be overwritten next time code is
- * regenerated. If you need to make any customizations, put them in a subclass.
- */
-public abstract class _ClientMtTooneMaster extends PersistentObject {
-
-    public static final String TO_DEPENDENT_PROPERTY = "toDependent";
-
-    protected ValueHolder toDependent;
-
-    public ClientMtTooneDep getToDependent() {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "toDependent", true);
-        }
-
-        return (ClientMtTooneDep) toDependent.getValue();
-    }
-    public void setToDependent(ClientMtTooneDep toDependent) {
-        if(objectContext != null) {
-            objectContext.prepareForAccess(this, "toDependent", true);
-        }
-
-        this.toDependent.setValue(toDependent);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteCascade.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteCascade.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteCascade.java
deleted file mode 100644
index c6a7fc7..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteCascade.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.mt.MtDeleteRule;
-
-/**
- * Class _MtDeleteCascade was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtDeleteCascade extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String CASCADE_PROPERTY = "cascade";
-
-    public static final String DELETE_CASCADE_ID_PK_COLUMN = "DELETE_CASCADE_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void setCascade(MtDeleteRule cascade) {
-        setToOneTarget(CASCADE_PROPERTY, cascade, true);
-    }
-
-    public MtDeleteRule getCascade() {
-        return (MtDeleteRule)readProperty(CASCADE_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteDeny.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteDeny.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteDeny.java
deleted file mode 100644
index 5f75e99..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteDeny.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.mt.MtDeleteRule;
-
-/**
- * Class _MtDeleteDeny was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtDeleteDeny extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String DENY_PROPERTY = "deny";
-
-    public static final String DELETE_DENY_ID_PK_COLUMN = "DELETE_DENY_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void setDeny(MtDeleteRule deny) {
-        setToOneTarget(DENY_PROPERTY, deny, true);
-    }
-
-    public MtDeleteRule getDeny() {
-        return (MtDeleteRule)readProperty(DENY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteNullify.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteNullify.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteNullify.java
deleted file mode 100644
index 00f089f..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteNullify.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.mt.MtDeleteRule;
-
-/**
- * Class _MtDeleteNullify was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtDeleteNullify extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String NULLIFY_PROPERTY = "nullify";
-
-    public static final String DELETE_NULLIFY_ID_PK_COLUMN = "DELETE_NULLIFY_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void setNullify(MtDeleteRule nullify) {
-        setToOneTarget(NULLIFY_PROPERTY, nullify, true);
-    }
-
-    public MtDeleteRule getNullify() {
-        return (MtDeleteRule)readProperty(NULLIFY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteRule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteRule.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteRule.java
deleted file mode 100644
index 0d7f9e1..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtDeleteRule.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.mt.MtDeleteCascade;
-import org.apache.cayenne.testdo.mt.MtDeleteDeny;
-import org.apache.cayenne.testdo.mt.MtDeleteNullify;
-
-/**
- * Class _MtDeleteRule was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtDeleteRule extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String FROM_CASCADE_PROPERTY = "fromCascade";
-    public static final String FROM_DENY_PROPERTY = "fromDeny";
-    public static final String FROM_NULLIFY_PROPERTY = "fromNullify";
-
-    public static final String DELETE_RULE_ID_PK_COLUMN = "DELETE_RULE_ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToFromCascade(MtDeleteCascade obj) {
-        addToManyTarget(FROM_CASCADE_PROPERTY, obj, true);
-    }
-    public void removeFromFromCascade(MtDeleteCascade obj) {
-        removeToManyTarget(FROM_CASCADE_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<MtDeleteCascade> getFromCascade() {
-        return (List<MtDeleteCascade>)readProperty(FROM_CASCADE_PROPERTY);
-    }
-
-
-    public void addToFromDeny(MtDeleteDeny obj) {
-        addToManyTarget(FROM_DENY_PROPERTY, obj, true);
-    }
-    public void removeFromFromDeny(MtDeleteDeny obj) {
-        removeToManyTarget(FROM_DENY_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<MtDeleteDeny> getFromDeny() {
-        return (List<MtDeleteDeny>)readProperty(FROM_DENY_PROPERTY);
-    }
-
-
-    public void addToFromNullify(MtDeleteNullify obj) {
-        addToManyTarget(FROM_NULLIFY_PROPERTY, obj, true);
-    }
-    public void removeFromFromNullify(MtDeleteNullify obj) {
-        removeToManyTarget(FROM_NULLIFY_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<MtDeleteNullify> getFromNullify() {
-        return (List<MtDeleteNullify>)readProperty(FROM_NULLIFY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtLifecycles.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtLifecycles.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtLifecycles.java
deleted file mode 100644
index 3f98a35..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtLifecycles.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _MtLifecycles was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtLifecycles extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMapToMany.java
deleted file mode 100644
index aa60306..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMapToMany.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import java.util.Map;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.mt.MtMapToManyTarget;
-
-/**
- * Class _MtMapToMany was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtMapToMany extends CayenneDataObject {
-
-    public static final String TARGETS_PROPERTY = "targets";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void addToTargets(MtMapToManyTarget obj) {
-        addToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    public void removeFromTargets(MtMapToManyTarget obj) {
-        removeToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public Map<Object, MtMapToManyTarget> getTargets() {
-        return (Map<Object, MtMapToManyTarget>)readProperty(TARGETS_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMapToManyTarget.java
deleted file mode 100644
index eece442..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMapToManyTarget.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.mt.MtMapToMany;
-
-/**
- * Class _MtMapToManyTarget was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtMapToManyTarget extends CayenneDataObject {
-
-    public static final String MAP_TO_MANY_PROPERTY = "mapToMany";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setMapToMany(MtMapToMany mapToMany) {
-        setToOneTarget(MAP_TO_MANY_PROPERTY, mapToMany, true);
-    }
-
-    public MtMapToMany getMapToMany() {
-        return (MtMapToMany)readProperty(MAP_TO_MANY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMeaningfulPk.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMeaningfulPk.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMeaningfulPk.java
deleted file mode 100644
index 84e0757..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtMeaningfulPk.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _MtMeaningfulPk was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtMeaningfulPk extends CayenneDataObject {
-
-    public static final String PK_PROPERTY = "pk";
-
-    public static final String PK_PK_COLUMN = "PK";
-
-    public void setPk(String pk) {
-        writeProperty(PK_PROPERTY, pk);
-    }
-    public String getPk() {
-        return (String)readProperty(PK_PROPERTY);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtReflexive.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtReflexive.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtReflexive.java
deleted file mode 100644
index 7add12e..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtReflexive.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.mt.MtReflexive;
-
-/**
- * Class _MtReflexive was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtReflexive extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String CHILDREN_PROPERTY = "children";
-    public static final String TO_PARENT_PROPERTY = "toParent";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void addToChildren(MtReflexive obj) {
-        addToManyTarget(CHILDREN_PROPERTY, obj, true);
-    }
-    public void removeFromChildren(MtReflexive obj) {
-        removeToManyTarget(CHILDREN_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<MtReflexive> getChildren() {
-        return (List<MtReflexive>)readProperty(CHILDREN_PROPERTY);
-    }
-
-
-    public void setToParent(MtReflexive toParent) {
-        setToOneTarget(TO_PARENT_PROPERTY, toParent, true);
-    }
-
-    public MtReflexive getToParent() {
-        return (MtReflexive)readProperty(TO_PARENT_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTablePrimitives.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTablePrimitives.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTablePrimitives.java
deleted file mode 100644
index a87b8e2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTablePrimitives.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-
-/**
- * Class _MtTablePrimitives was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtTablePrimitives extends CayenneDataObject {
-
-    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
-    public static final String INT_COLUMN_PROPERTY = "intColumn";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setBooleanColumn(boolean booleanColumn) {
-        writeProperty(BOOLEAN_COLUMN_PROPERTY, booleanColumn);
-    }
-	public boolean isBooleanColumn() {
-        Boolean value = (Boolean)readProperty(BOOLEAN_COLUMN_PROPERTY);
-        return (value != null) ? value.booleanValue() : false;
-    }
-
-    public void setIntColumn(int intColumn) {
-        writeProperty(INT_COLUMN_PROPERTY, intColumn);
-    }
-    public int getIntColumn() {
-        Object value = readProperty(INT_COLUMN_PROPERTY);
-        return (value != null) ? (Integer) value : 0;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTooneDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTooneDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTooneDep.java
deleted file mode 100644
index fafc7c3..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTooneDep.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.mt.MtTooneMaster;
-
-/**
- * Class _MtTooneDep was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtTooneDep extends CayenneDataObject {
-
-    public static final String TO_MASTER_PROPERTY = "toMaster";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setToMaster(MtTooneMaster toMaster) {
-        setToOneTarget(TO_MASTER_PROPERTY, toMaster, true);
-    }
-
-    public MtTooneMaster getToMaster() {
-        return (MtTooneMaster)readProperty(TO_MASTER_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTooneMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTooneMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTooneMaster.java
deleted file mode 100644
index 4c69773..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MtTooneMaster.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.mt.MtTooneDep;
-
-/**
- * Class _MtTooneMaster was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MtTooneMaster extends CayenneDataObject {
-
-    public static final String TO_DEPENDENT_PROPERTY = "toDependent";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setToDependent(MtTooneDep toDependent) {
-        setToOneTarget(TO_DEPENDENT_PROPERTY, toDependent, true);
-    }
-
-    public MtTooneDep getToDependent() {
-        return (MtTooneDep)readProperty(TO_DEPENDENT_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/ClientReflexive.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/ClientReflexive.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/ClientReflexive.java
new file mode 100644
index 0000000..9e92cbc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/ClientReflexive.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.reflexive;
+
+import org.apache.cayenne.testdo.reflexive.auto._ClientReflexive;
+
+/**
+ * A persistent class mapped as "Reflexive" Cayenne entity.
+ */
+public class ClientReflexive extends _ClientReflexive {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/Reflexive.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/Reflexive.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/Reflexive.java
new file mode 100644
index 0000000..75b805f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/Reflexive.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.reflexive;
+
+import org.apache.cayenne.testdo.reflexive.auto._Reflexive;
+
+public class Reflexive extends _Reflexive {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_ClientReflexive.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_ClientReflexive.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_ClientReflexive.java
new file mode 100644
index 0000000..b2601aa
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_ClientReflexive.java
@@ -0,0 +1,82 @@
+package org.apache.cayenne.testdo.reflexive.auto;
+
+import org.apache.cayenne.PersistentObject;
+import org.apache.cayenne.ValueHolder;
+import org.apache.cayenne.testdo.reflexive.ClientReflexive;
+
+import java.util.List;
+
+/**
+ * A generated persistent class mapped as "Reflexive" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientReflexive extends PersistentObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String CHILDREN_PROPERTY = "children";
+    public static final String TO_PARENT_PROPERTY = "toParent";
+
+    protected String name;
+    protected List<ClientReflexive> children;
+    protected ValueHolder toParent;
+
+    public String getName() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        return name;
+    }
+    public void setName(String name) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "name", false);
+        }
+
+        Object oldValue = this.name;
+        this.name = name;
+
+        // notify objectContext about simple property change
+        if(objectContext != null) {
+            objectContext.propertyChanged(this, "name", oldValue, name);
+        }
+    }
+
+    public List<ClientReflexive> getChildren() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "children", true);
+        }
+
+        return children;
+    }
+    public void addToChildren(ClientReflexive object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "children", true);
+        }
+
+        this.children.add(object);
+    }
+    public void removeFromChildren(ClientReflexive object) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "children", true);
+        }
+
+        this.children.remove(object);
+    }
+
+    public ClientReflexive getToParent() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "toParent", true);
+        }
+
+        return (ClientReflexive) toParent.getValue();
+    }
+    public void setToParent(ClientReflexive toParent) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "toParent", true);
+        }
+
+        this.toParent.setValue(toParent);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_Reflexive.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_Reflexive.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_Reflexive.java
new file mode 100644
index 0000000..e8d57b3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/reflexive/auto/_Reflexive.java
@@ -0,0 +1,50 @@
+package org.apache.cayenne.testdo.reflexive.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.reflexive.Reflexive;
+
+import java.util.List;
+
+/**
+ * Class _Reflexive was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Reflexive extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String CHILDREN_PROPERTY = "children";
+    public static final String TO_PARENT_PROPERTY = "toParent";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToChildren(Reflexive obj) {
+        addToManyTarget(CHILDREN_PROPERTY, obj, true);
+    }
+    public void removeFromChildren(Reflexive obj) {
+        removeToManyTarget(CHILDREN_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Reflexive> getChildren() {
+        return (List<Reflexive>)readProperty(CHILDREN_PROPERTY);
+    }
+
+
+    public void setToParent(Reflexive toParent) {
+        setToOneTarget(TO_PARENT_PROPERTY, toParent, true);
+    }
+
+    public Reflexive getToParent() {
+        return (Reflexive)readProperty(TO_PARENT_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/IdMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/IdMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/IdMapToMany.java
deleted file mode 100644
index 6c90077..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/IdMapToMany.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._IdMapToMany;
-
-public class IdMapToMany extends _IdMapToMany {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/IdMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/IdMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/IdMapToManyTarget.java
deleted file mode 100644
index 6cf4f7b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/IdMapToManyTarget.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._IdMapToManyTarget;
-
-public class IdMapToManyTarget extends _IdMapToManyTarget {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MapToMany.java
deleted file mode 100644
index 223120a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MapToMany.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._MapToMany;
-
-public class MapToMany extends _MapToMany {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MapToManyTarget.java
deleted file mode 100644
index e093387..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/MapToManyTarget.java
+++ /dev/null
@@ -1,28 +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.testdo.relationship;
-
-import org.apache.cayenne.testdo.relationship.auto._MapToManyTarget;
-
-public class MapToManyTarget extends _MapToManyTarget {
-
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_IdMapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_IdMapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_IdMapToMany.java
deleted file mode 100644
index 7ee7989..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_IdMapToMany.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.Map;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.IdMapToManyTarget;
-
-/**
- * Class _IdMapToMany was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _IdMapToMany extends CayenneDataObject {
-
-    public static final String TARGETS_PROPERTY = "targets";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void addToTargets(IdMapToManyTarget obj) {
-        addToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    public void removeFromTargets(IdMapToManyTarget obj) {
-        removeToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public Map<Object, IdMapToManyTarget> getTargets() {
-        return (Map<Object, IdMapToManyTarget>)readProperty(TARGETS_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_IdMapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_IdMapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_IdMapToManyTarget.java
deleted file mode 100644
index 0067a9b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_IdMapToManyTarget.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.IdMapToMany;
-
-/**
- * Class _IdMapToManyTarget was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _IdMapToManyTarget extends CayenneDataObject {
-
-    public static final String MAP_TO_MANY_PROPERTY = "mapToMany";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setMapToMany(IdMapToMany mapToMany) {
-        setToOneTarget(MAP_TO_MANY_PROPERTY, mapToMany, true);
-    }
-
-    public IdMapToMany getMapToMany() {
-        return (IdMapToMany)readProperty(MAP_TO_MANY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MapToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MapToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MapToMany.java
deleted file mode 100644
index 957d29c..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MapToMany.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import java.util.Map;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.MapToManyTarget;
-
-/**
- * Class _MapToMany was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MapToMany extends CayenneDataObject {
-
-    public static final String TARGETS_PROPERTY = "targets";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void addToTargets(MapToManyTarget obj) {
-        addToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    public void removeFromTargets(MapToManyTarget obj) {
-        removeToManyTarget(TARGETS_PROPERTY, obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public Map<String, MapToManyTarget> getTargets() {
-        return (Map<String, MapToManyTarget>)readProperty(TARGETS_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MapToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MapToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MapToManyTarget.java
deleted file mode 100644
index c4d847a..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationship/auto/_MapToManyTarget.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.cayenne.testdo.relationship.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.testdo.relationship.MapToMany;
-
-/**
- * Class _MapToManyTarget was generated by Cayenne.
- * It is probably a good idea to avoid changing this class manually,
- * since it may be overwritten next time code is regenerated.
- * If you need to make any customizations, please use subclass.
- */
-public abstract class _MapToManyTarget extends CayenneDataObject {
-
-    public static final String NAME_PROPERTY = "name";
-    public static final String MAP_TO_MANY_PROPERTY = "mapToMany";
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public void setName(String name) {
-        writeProperty(NAME_PROPERTY, name);
-    }
-    public String getName() {
-        return (String)readProperty(NAME_PROPERTY);
-    }
-
-    public void setMapToMany(MapToMany mapToMany) {
-        setToOneTarget(MAP_TO_MANY_PROPERTY, mapToMany, true);
-    }
-
-    public MapToMany getMapToMany() {
-        return (MapToMany)readProperty(MAP_TO_MANY_PROPERTY);
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/ClientTablePrimitives.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/ClientTablePrimitives.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/ClientTablePrimitives.java
new file mode 100644
index 0000000..79b0fd5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/ClientTablePrimitives.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.table_primitives;
+
+import org.apache.cayenne.testdo.table_primitives.auto._ClientTablePrimitives;
+
+/**
+ * A persistent class mapped as "TablePrimitives" Cayenne entity.
+ */
+public class ClientTablePrimitives extends _ClientTablePrimitives {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/TablePrimitives.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/TablePrimitives.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/TablePrimitives.java
new file mode 100644
index 0000000..f53d79a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/TablePrimitives.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.table_primitives;
+
+import org.apache.cayenne.testdo.table_primitives.auto._TablePrimitives;
+
+public class TablePrimitives extends _TablePrimitives {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_ClientTablePrimitives.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_ClientTablePrimitives.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_ClientTablePrimitives.java
new file mode 100644
index 0000000..73c0a4b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_ClientTablePrimitives.java
@@ -0,0 +1,60 @@
+package org.apache.cayenne.testdo.table_primitives.auto;
+
+import org.apache.cayenne.PersistentObject;
+
+/**
+ * A generated persistent class mapped as "TablePrimitives" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientTablePrimitives extends PersistentObject {
+
+    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
+    public static final String INT_COLUMN_PROPERTY = "intColumn";
+
+    protected boolean booleanColumn;
+    protected int intColumn;
+
+    public boolean isBooleanColumn() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "booleanColumn", false);
+        }
+
+        return booleanColumn;
+    }
+    public void setBooleanColumn(boolean booleanColumn) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "booleanColumn", false);
+        }
+
+        Object oldValue = this.booleanColumn;
+        this.booleanColumn = booleanColumn;
+
+        // notify objectContext about simple property change
+        if(objectContext != null) {
+            objectContext.propertyChanged(this, "booleanColumn", oldValue, booleanColumn);
+        }
+    }
+
+    public int getIntColumn() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "intColumn", false);
+        }
+
+        return intColumn;
+    }
+    public void setIntColumn(int intColumn) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "intColumn", false);
+        }
+
+        Object oldValue = this.intColumn;
+        this.intColumn = intColumn;
+
+        // notify objectContext about simple property change
+        if(objectContext != null) {
+            objectContext.propertyChanged(this, "intColumn", oldValue, intColumn);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_TablePrimitives.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_TablePrimitives.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_TablePrimitives.java
new file mode 100644
index 0000000..bed40fc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/table_primitives/auto/_TablePrimitives.java
@@ -0,0 +1,34 @@
+package org.apache.cayenne.testdo.table_primitives.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+
+/**
+ * Class _TablePrimitives was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _TablePrimitives extends CayenneDataObject {
+
+    public static final String BOOLEAN_COLUMN_PROPERTY = "booleanColumn";
+    public static final String INT_COLUMN_PROPERTY = "intColumn";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setBooleanColumn(boolean booleanColumn) {
+        writeProperty(BOOLEAN_COLUMN_PROPERTY, booleanColumn);
+    }
+	public boolean isBooleanColumn() {
+        Boolean value = (Boolean)readProperty(BOOLEAN_COLUMN_PROPERTY);
+        return (value != null) ? value.booleanValue() : false;
+    }
+
+    public void setIntColumn(int intColumn) {
+        writeProperty(INT_COLUMN_PROPERTY, intColumn);
+    }
+    public int getIntColumn() {
+        Object value = readProperty(INT_COLUMN_PROPERTY);
+        return (value != null) ? (Integer) value : 0;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/ClientTooneDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/ClientTooneDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/ClientTooneDep.java
new file mode 100644
index 0000000..0dbd9ff
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/ClientTooneDep.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.toone;
+
+import org.apache.cayenne.testdo.toone.auto._ClientTooneDep;
+
+/**
+ * A persistent class mapped as "TooneDep" Cayenne entity.
+ */
+public class ClientTooneDep extends _ClientTooneDep {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/ClientTooneMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/ClientTooneMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/ClientTooneMaster.java
new file mode 100644
index 0000000..176f1ae
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/ClientTooneMaster.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.toone;
+
+import org.apache.cayenne.testdo.toone.auto._ClientTooneMaster;
+
+/**
+ * A persistent class mapped as "TooneMaster" Cayenne entity.
+ */
+public class ClientTooneMaster extends _ClientTooneMaster {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/TooneDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/TooneDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/TooneDep.java
new file mode 100644
index 0000000..bdad9ad
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/TooneDep.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.toone;
+
+import org.apache.cayenne.testdo.toone.auto._TooneDep;
+
+public class TooneDep extends _TooneDep {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/TooneMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/TooneMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/TooneMaster.java
new file mode 100644
index 0000000..2c0bdb6
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/TooneMaster.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.toone;
+
+import org.apache.cayenne.testdo.toone.auto._TooneMaster;
+
+public class TooneMaster extends _TooneMaster {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_ClientTooneDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_ClientTooneDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_ClientTooneDep.java
new file mode 100644
index 0000000..f70c43e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_ClientTooneDep.java
@@ -0,0 +1,33 @@
+package org.apache.cayenne.testdo.toone.auto;
+
+import org.apache.cayenne.PersistentObject;
+import org.apache.cayenne.ValueHolder;
+import org.apache.cayenne.testdo.toone.ClientTooneMaster;
+
+/**
+ * A generated persistent class mapped as "TooneDep" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientTooneDep extends PersistentObject {
+
+    public static final String TO_MASTER_PROPERTY = "toMaster";
+
+    protected ValueHolder toMaster;
+
+    public ClientTooneMaster getToMaster() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "toMaster", true);
+        }
+
+        return (ClientTooneMaster) toMaster.getValue();
+    }
+    public void setToMaster(ClientTooneMaster toMaster) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "toMaster", true);
+        }
+
+        this.toMaster.setValue(toMaster);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_ClientTooneMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_ClientTooneMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_ClientTooneMaster.java
new file mode 100644
index 0000000..95cf161
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_ClientTooneMaster.java
@@ -0,0 +1,33 @@
+package org.apache.cayenne.testdo.toone.auto;
+
+import org.apache.cayenne.PersistentObject;
+import org.apache.cayenne.ValueHolder;
+import org.apache.cayenne.testdo.toone.ClientTooneDep;
+
+/**
+ * A generated persistent class mapped as "TooneMaster" Cayenne entity. It is a good idea to
+ * avoid changing this class manually, since it will be overwritten next time code is
+ * regenerated. If you need to make any customizations, put them in a subclass.
+ */
+public abstract class _ClientTooneMaster extends PersistentObject {
+
+    public static final String TO_DEPENDENT_PROPERTY = "toDependent";
+
+    protected ValueHolder toDependent;
+
+    public ClientTooneDep getToDependent() {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "toDependent", true);
+        }
+
+        return (ClientTooneDep) toDependent.getValue();
+    }
+    public void setToDependent(ClientTooneDep toDependent) {
+        if(objectContext != null) {
+            objectContext.prepareForAccess(this, "toDependent", true);
+        }
+
+        this.toDependent.setValue(toDependent);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_TooneDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_TooneDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_TooneDep.java
new file mode 100644
index 0000000..262d73f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_TooneDep.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.toone.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.toone.TooneMaster;
+
+/**
+ * Class _TooneDep was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _TooneDep extends CayenneDataObject {
+
+    public static final String TO_MASTER_PROPERTY = "toMaster";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setToMaster(TooneMaster toMaster) {
+        setToOneTarget(TO_MASTER_PROPERTY, toMaster, true);
+    }
+
+    public TooneMaster getToMaster() {
+        return (TooneMaster)readProperty(TO_MASTER_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_TooneMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_TooneMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_TooneMaster.java
new file mode 100644
index 0000000..788411f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/toone/auto/_TooneMaster.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.toone.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.toone.TooneDep;
+
+/**
+ * Class _TooneMaster was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _TooneMaster extends CayenneDataObject {
+
+    public static final String TO_DEPENDENT_PROPERTY = "toDependent";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setToDependent(TooneDep toDependent) {
+        setToOneTarget(TO_DEPENDENT_PROPERTY, toDependent, true);
+    }
+
+    public TooneDep getToDependent() {
+        return (TooneDep)readProperty(TO_DEPENDENT_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
index 73250d3..c598a8f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/SchemaBuilder.java
@@ -19,19 +19,6 @@
 
 package org.apache.cayenne.unit.di.server;
 
-import java.io.InputStream;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.sql.Types;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.ListIterator;
-
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.DbGenerator;
@@ -55,6 +42,19 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.xml.sax.InputSource;
 
+import java.io.InputStream;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.sql.Types;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.ListIterator;
+
 /**
  * Default implementation of the AccessStack that has a single DataNode per
  * DataMap.
@@ -70,6 +70,8 @@ public class SchemaBuilder {
 
     private static String[] MAPS_REQUIRING_SCHEMA_SETUP = { "tstmap.map.xml", "people.map.xml",
             "locking.map.xml", "relationships.map.xml", "relationships1.map.xml", "multi-tier.map.xml",
+            "persistent.map.xml", "reflexive.map.xml", "delete-rules.map.xml", "lifecycles.map.xml",
+            "map-to-many.map.xml", "toone.map.xml", "meaningful-pk.map.xml", "table-primitives.map.xml",
             "generic.map.xml", "map-db1.map.xml", "map-db2.map.xml", "embeddable.map.xml", "qualified.map.xml",
             "quoted-identifiers.map.xml", "inheritance-single-table1.map.xml", "inheritance-vertical.map.xml",
             "oneway-rels.map.xml" };

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
index 854f7cc..0ec0980 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCase.java
@@ -41,6 +41,7 @@ public class ServerCase extends DICase {
 	public static final String MULTINODE_PROJECT = "cayenne-multinode.xml";
 	public static final String ONEWAY_PROJECT = "cayenne-oneway-rels.xml";
 	public static final String MULTI_TIER_PROJECT = "cayenne-multi-tier.xml";
+    public static final String MAP_TO_MANY_PROJECT = "cayenne-map-to-many.xml";
 	public static final String SUS_PROJECT = "cayenne-sus.xml";
 
 	private static final Injector injector;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/cayenne-delete-rules.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-delete-rules.xml b/cayenne-server/src/test/resources/cayenne-delete-rules.xml
new file mode 100644
index 0000000..f6fa557
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-delete-rules.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="delete-rules"/>
+</domain>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/cayenne-lifecycles.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-lifecycles.xml b/cayenne-server/src/test/resources/cayenne-lifecycles.xml
new file mode 100644
index 0000000..0509c40
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-lifecycles.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="lifecycles"/>
+</domain>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/fb8660e7/cayenne-server/src/test/resources/cayenne-map-to-many.xml
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/resources/cayenne-map-to-many.xml b/cayenne-server/src/test/resources/cayenne-map-to-many.xml
new file mode 100644
index 0000000..abbb675
--- /dev/null
+++ b/cayenne-server/src/test/resources/cayenne-map-to-many.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<domain project-version="7">
+    <map name="map-to-many"/>
+</domain>
\ No newline at end of file


[05/50] [abbrv] cayenne git commit: javadocs errors that are failing Java 8 build

Posted by aa...@apache.org.
javadocs errors that are failing Java 8 build


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/e1ad29f9
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/e1ad29f9
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/e1ad29f9

Branch: refs/heads/CAY-1946
Commit: e1ad29f9029deb624348fae05c4db0a07bba3104
Parents: 0c7ba3f
Author: aadamchik <aa...@apache.org>
Authored: Sun Nov 2 23:31:57 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Nov 2 23:42:32 2014 +0300

----------------------------------------------------------------------
 .../main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java   | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/e1ad29f9/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java
index c9e5cae..b3ec972 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/PatternMatchNode.java
@@ -55,7 +55,6 @@ public abstract class PatternMatchNode extends ConditionNode {
      * clause.  The escape character will eventually end up in the
      * query as <code>...(t0.foo LIKE ? &#123;escape '|'&#125;)</code> where the
      * pipe symbol is the escape character.</p>
-     * <p/>
      * <p>Note that having no escape character is represented as
      * the character 0.</p>
      */


[07/50] [abbrv] cayenne git commit: Apply JUnit4 instead of JUnit3 in IT

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java
index 7c4f6c9..b99c369 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/parser/ExpressionEvaluateInMemoryIT.java
@@ -19,9 +19,6 @@
 
 package org.apache.cayenne.exp.parser;
 
-import java.math.BigDecimal;
-import java.sql.Types;
-
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.configuration.server.ServerRuntime;
@@ -38,6 +35,10 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.unit.util.TstBean;
+import org.junit.Test;
+
+import java.math.BigDecimal;
+import java.sql.Types;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ExpressionEvaluateInMemoryIT extends ServerCase {
@@ -80,6 +81,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         tPainting.insert(3, null, "P3", 3000);
     }
 
+    @Test
     public void testEvaluateOBJ_PATH_DataObject() throws Exception {
         ASTObjPath node = new ASTObjPath("artistName");
 
@@ -92,6 +94,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertEquals("123", node.evaluate(a2));
     }
 
+    @Test
     public void testEvaluateOBJ_PATH_JavaBean() throws Exception {
         ASTObjPath node = new ASTObjPath("property2");
 
@@ -104,6 +107,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertEquals(new Integer(-3), node.evaluate(b2));
     }
 
+    @Test
     public void testEvaluateOBJ_PATH_ObjEntity() throws Exception {
         ASTObjPath node = new ASTObjPath("paintingArray.paintingTitle");
 
@@ -113,6 +117,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertTrue(target instanceof ObjAttribute);
     }
 
+    @Test
     public void testEvaluateDB_PATH_DbEntity() throws Exception {
         Expression e = Expression.fromString("db:paintingArray.PAINTING_TITLE");
 
@@ -126,6 +131,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertTrue(dbTarget instanceof DbAttribute);
     }
 
+    @Test
     public void testEvaluateEQUAL_TOBigDecimal() throws Exception {
         BigDecimal bd1 = new BigDecimal("2.0");
         BigDecimal bd2 = new BigDecimal("2.0");
@@ -147,6 +153,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(equalTo.match(p));
     }
 
+    @Test
     public void testEvaluateEQUAL_TO() throws Exception {
         Expression equalTo = new ASTEqual(new ASTObjPath("artistName"), "abc");
         Expression notEqualTo = new ASTNotEqual(new ASTObjPath("artistName"), "abc");
@@ -162,6 +169,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertTrue("Failed: " + notEqualTo, notEqualTo.match(noMatch));
     }
 
+    @Test
     public void testEvaluateEQUAL_TO_Null() throws Exception {
         Expression equalToNull = new ASTEqual(new ASTObjPath("artistName"), null);
         Expression equalToNotNull = new ASTEqual(new ASTObjPath("artistName"), "abc");
@@ -175,6 +183,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(equalToNull.match(noMatch));
     }
 
+    @Test
     public void testEvaluateNOT_EQUAL_TONull() throws Exception {
         Expression notEqualToNull = new ASTNotEqual(new ASTObjPath("artistName"), null);
         Expression notEqualToNotNull = new ASTNotEqual(new ASTObjPath("artistName"), "abc");
@@ -188,6 +197,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertTrue("Failed: " + notEqualToNull, notEqualToNull.match(noMatch));
     }
 
+    @Test
     public void testEvaluateEQUAL_TODataObject() throws Exception {
         Artist a1 = (Artist) context.newObject("Artist");
         Artist a2 = (Artist) context.newObject("Artist");
@@ -213,6 +223,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(e.match(p3));
     }
 
+    @Test
     public void testEvaluateEQUAL_TO_Temp_ObjectId() throws Exception {
         Artist a1 = (Artist) context.newObject("Artist");
         Artist a2 = (Artist) context.newObject("Artist");
@@ -230,6 +241,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(e.match(p3));
     }
 
+    @Test
     public void testEvaluateEQUAL_TO_Id() throws Exception {
 
         createTwoArtistsThreePaintings();
@@ -246,6 +258,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(e.match(p3));
     }
 
+    @Test
     public void testEvaluateAND() throws Exception {
         Expression e1 = new ASTEqual(new ASTObjPath("artistName"), "abc");
         Expression e2 = new ASTEqual(new ASTObjPath("artistName"), "abc");
@@ -261,6 +274,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(e.match(noMatch));
     }
 
+    @Test
     public void testEvaluateOR() throws Exception {
         Expression e1 = new ASTEqual(new ASTObjPath("artistName"), "abc");
         Expression e2 = new ASTEqual(new ASTObjPath("artistName"), "xyz");
@@ -280,6 +294,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse("Failed: " + e, e.match(noMatch));
     }
 
+    @Test
     public void testEvaluateNOT() throws Exception {
         ASTNot e = new ASTNot(new ASTEqual(new ASTObjPath("artistName"), "abc"));
 
@@ -292,6 +307,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertTrue("Failed: " + e, e.match(match));
     }
 
+    @Test
     public void testEvaluateLESS_THAN() throws Exception {
         Expression e = new ASTLess(new ASTObjPath("estimatedPrice"), new BigDecimal(10000d));
 
@@ -307,7 +323,8 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         match.setEstimatedPrice(new BigDecimal(9999));
         assertTrue("Failed: " + e, e.match(match));
     }
-    
+
+    @Test
     public void testEvaluateLESS_THAN_Null() throws Exception {
         Expression ltNull = new ASTLess(new ASTObjPath("estimatedPrice"), null);
         Expression ltNotNull = new ASTLess(new ASTObjPath("estimatedPrice"), new BigDecimal(10000d));
@@ -317,6 +334,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(ltNotNull.match(noMatch));
     }
 
+    @Test
     public void testEvaluateLESS_THAN_EQUAL_TO() throws Exception {
         Expression e = new ASTLessOrEqual(new ASTObjPath("estimatedPrice"), new BigDecimal(10000d));
 
@@ -332,7 +350,8 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         match.setEstimatedPrice(new BigDecimal(9999));
         assertTrue("Failed: " + e, e.match(match));
     }
-    
+
+    @Test
     public void testEvaluateLESS_THAN_EQUAL_TO_Null() throws Exception {
         Expression ltNull = new ASTLessOrEqual(new ASTObjPath("estimatedPrice"), null);
         Expression ltNotNull = new ASTLessOrEqual(new ASTObjPath("estimatedPrice"), new BigDecimal(10000d));
@@ -342,6 +361,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(ltNotNull.match(noMatch));
     }
 
+    @Test
     public void testEvaluateGREATER_THAN() throws Exception {
         Expression e = new ASTGreater(new ASTObjPath("estimatedPrice"), new BigDecimal(10000d));
 
@@ -357,7 +377,8 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         match.setEstimatedPrice(new BigDecimal(10001));
         assertTrue("Failed: " + e, e.match(match));
     }
-    
+
+    @Test
     public void testEvaluateGREATER_THAN_Null() throws Exception {
         Expression gtNull = new ASTGreater(new ASTObjPath("estimatedPrice"), null);
         Expression gtNotNull = new ASTGreater(new ASTObjPath("estimatedPrice"), new BigDecimal(10000d));
@@ -367,6 +388,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(gtNotNull.match(noMatch));
     }
 
+    @Test
     public void testEvaluateGREATER_THAN_EQUAL_TO() throws Exception {
         Expression e = new ASTGreaterOrEqual(new ASTObjPath("estimatedPrice"), new BigDecimal(10000d));
 
@@ -382,7 +404,8 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         match.setEstimatedPrice(new BigDecimal(10001));
         assertTrue("Failed: " + e, e.match(match));
     }
-    
+
+    @Test
     public void testEvaluateGREATER_THAN_EQUAL_TO_Null() throws Exception {
         Expression gtNull = new ASTGreaterOrEqual(new ASTObjPath("estimatedPrice"), null);
         Expression gtNotNull = new ASTGreaterOrEqual(new ASTObjPath("estimatedPrice"), new BigDecimal(10000d));
@@ -392,6 +415,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(gtNotNull.match(noMatch));
     }
 
+    @Test
     public void testEvaluateBETWEEN() throws Exception {
         // evaluate both BETWEEN and NOT_BETWEEN
         Expression between = new ASTBetween(new ASTObjPath("estimatedPrice"), new BigDecimal(10d), new BigDecimal(20d));
@@ -418,7 +442,8 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertTrue("Failed: " + between, between.match(match3));
         assertFalse("Failed: " + notBetween, notBetween.match(match3));
     }
-    
+
+    @Test
     public void testEvaluateBETWEEN_Null() throws Exception {
         Expression btNull = new ASTBetween(new ASTObjPath("estimatedPrice"), new BigDecimal(10d), new BigDecimal(20d));
         Expression btNotNull = new ASTNotBetween(new ASTObjPath("estimatedPrice"), new BigDecimal(10d),
@@ -429,6 +454,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(btNotNull.match(noMatch));
     }
 
+    @Test
     public void testEvaluateIN() throws Exception {
         Expression in = new ASTIn(new ASTObjPath("estimatedPrice"), new ASTList(new Object[] { new BigDecimal("10"),
                 new BigDecimal("20") }));
@@ -456,7 +482,8 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertTrue("Failed: " + in, in.match(match2));
         assertFalse("Failed: " + notIn, notIn.match(match2));
     }
-    
+
+    @Test
     public void testEvaluateIN_Null() throws Exception {
         Expression in = new ASTIn(new ASTObjPath("estimatedPrice"), new ASTList(new Object[] {
                 new BigDecimal("10"), new BigDecimal("20") }));
@@ -468,6 +495,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse(notIn.match(noMatch));
     }
 
+    @Test
     public void testEvaluateLIKE1() throws Exception {
         Expression like = new ASTLike(new ASTObjPath("artistName"), "abc%d");
         Expression notLike = new ASTNotLike(new ASTObjPath("artistName"), "abc%d");
@@ -488,6 +516,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse("Failed: " + notLike, notLike.match(match2));
     }
 
+    @Test
     public void testEvaluateLIKE2() throws Exception {
         Expression like = new ASTLike(new ASTObjPath("artistName"), "abc?d");
         Expression notLike = new ASTNotLike(new ASTObjPath("artistName"), "abc?d");
@@ -508,6 +537,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse("Failed: " + notLike, notLike.match(match));
     }
 
+    @Test
     public void testEvaluateLIKE3() throws Exception {
         // test special chars
         Expression like = new ASTLike(new ASTObjPath("artistName"), "/./");
@@ -521,6 +551,7 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertTrue("Failed: " + like, like.match(match));
     }
 
+    @Test
     public void testEvaluateLIKE_IGNORE_CASE() throws Exception {
         Expression like = new ASTLikeIgnoreCase(new ASTObjPath("artistName"), "aBcD");
         Expression notLike = new ASTNotLikeIgnoreCase(new ASTObjPath("artistName"), "aBcD");
@@ -541,35 +572,42 @@ public class ExpressionEvaluateInMemoryIT extends ServerCase {
         assertFalse("Failed: " + notLike, notLike.match(match2));
     }
 
+    @Test
     public void testEvaluateADD() throws Exception {
         Expression add = new ASTAdd(new Object[] { new Integer(1), new Double(5.5) });
         assertEquals(6.5, ((Number) add.evaluate(null)).doubleValue(), 0.0001);
     }
 
+    @Test
     public void testEvaluateSubtract() throws Exception {
         Expression subtract = new ASTSubtract(new Object[] { new Integer(1), new Double(0.1), new Double(0.2) });
         assertEquals(0.7, ((Number) subtract.evaluate(null)).doubleValue(), 0.0001);
     }
 
+    @Test
     public void testEvaluateMultiply() throws Exception {
         Expression multiply = new ASTMultiply(new Object[] { new Integer(2), new Double(3.5) });
         assertEquals(7, ((Number) multiply.evaluate(null)).doubleValue(), 0.0001);
     }
 
+    @Test
     public void testEvaluateDivide() throws Exception {
         Expression divide = new ASTDivide(new Object[] { new BigDecimal("7.0"), new BigDecimal("2.0") });
         assertEquals(3.5, ((Number) divide.evaluate(null)).doubleValue(), 0.0001);
     }
 
+    @Test
     public void testEvaluateNegate() throws Exception {
         assertEquals(-3, ((Number) new ASTNegate(new Integer(3)).evaluate(null)).intValue());
         assertEquals(5, ((Number) new ASTNegate(new Integer(-5)).evaluate(null)).intValue());
     }
 
+    @Test
     public void testEvaluateTrue() throws Exception {
         assertEquals(Boolean.TRUE, new ASTTrue().evaluate(null));
     }
 
+    @Test
     public void testEvaluateFalse() throws Exception {
         assertEquals(Boolean.FALSE, new ASTFalse().evaluate(null));
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
index 68a4f33..df0466a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
@@ -19,15 +19,16 @@
 
 package org.apache.cayenne.map;
 
-import java.util.Collection;
-import java.util.Collections;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collection;
+import java.util.Collections;
 
 @UseServerRuntime(ServerCase.MULTI_TIER_PROJECT)
 public class ClientEntityResolverIT extends ServerCase {
@@ -35,6 +36,7 @@ public class ClientEntityResolverIT extends ServerCase {
     @Inject
     private EntityResolver serverResolver;
 
+    @Test
     public void testGetClientEntityResolver() {
 
         EntityResolver clientResolver = serverResolver.getClientEntityResolver();
@@ -52,6 +54,7 @@ public class ClientEntityResolverIT extends ServerCase {
         assertNull(clientResolver.getObjEntity(MtTable1.class));
     }
 
+    @Test
     public void testConstructor() {
         ObjEntity entity = new ObjEntity("test_entity");
         entity.setClassName("java.lang.String");
@@ -64,6 +67,7 @@ public class ClientEntityResolverIT extends ServerCase {
         assertNotNull(resolver.getObjEntity(entity.getName()));
     }
 
+    @Test
     public void testInheritance() {
         ObjEntity superEntity = new ObjEntity("super_entity");
         superEntity.setClassName("java.lang.Object");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java
index 9e40bf0..fc9b747 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/DbEntityIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.Util;
+import org.junit.Test;
 
 import java.util.Collection;
 
@@ -34,6 +35,7 @@ public class DbEntityIT extends ServerCase {
     @Inject
     private ServerRuntime runtime;
 
+    @Test
     public void testSerializability() throws Exception {
         DbEntity entity = new DbEntity("entity");
 
@@ -62,16 +64,19 @@ public class DbEntityIT extends ServerCase {
         assertTrue(d2.getGeneratedAttributes().contains(generated2));
     }
 
+    @Test
     public void testConstructor1() {
         DbEntity ent = new DbEntity();
         assertNull(ent.getName());
     }
 
+    @Test
     public void testConstructor2() {
         DbEntity ent = new DbEntity("abc");
         assertEquals("abc", ent.getName());
     }
 
+    @Test
     public void testCatalog() {
         String tstName = "tst_name";
         DbEntity ent = new DbEntity("abc");
@@ -79,6 +84,7 @@ public class DbEntityIT extends ServerCase {
         assertEquals(tstName, ent.getCatalog());
     }
 
+    @Test
     public void testSchema() {
         String tstName = "tst_name";
         DbEntity ent = new DbEntity("abc");
@@ -86,6 +92,7 @@ public class DbEntityIT extends ServerCase {
         assertEquals(tstName, ent.getSchema());
     }
 
+    @Test
     public void testFullyQualifiedName() {
 
         DbEntity e1 = new DbEntity("e1");
@@ -108,6 +115,7 @@ public class DbEntityIT extends ServerCase {
         assertEquals("c4.e4", e4.getFullyQualifiedName());
     }
 
+    @Test
     public void testGetPrimaryKey() {
         DbEntity ent = new DbEntity("abc");
 
@@ -127,6 +135,7 @@ public class DbEntityIT extends ServerCase {
         assertSame(a2, pk.iterator().next());
     }
 
+    @Test
     public void testAddPKAttribute() {
         DbEntity ent = new DbEntity("abc");
 
@@ -139,6 +148,7 @@ public class DbEntityIT extends ServerCase {
         assertTrue(ent.getPrimaryKeys().isEmpty());
     }
 
+    @Test
     public void testChangeAttributeToPK() {
         DbEntity ent = new DbEntity("abc");
 
@@ -152,6 +162,7 @@ public class DbEntityIT extends ServerCase {
         assertTrue(ent.getPrimaryKeys().contains(a1));
     }
 
+    @Test
     public void testChangePKAttribute() {
         DbEntity ent = new DbEntity("abc");
 
@@ -165,6 +176,7 @@ public class DbEntityIT extends ServerCase {
         assertFalse(ent.getPrimaryKeys().contains(a1));
     }
 
+    @Test
     public void testRemoveAttribute() {
         DbEntity ent = new DbEntity("abc");
 
@@ -207,6 +219,7 @@ public class DbEntityIT extends ServerCase {
         assertEquals(0, rel.getJoins().size());
     }
 
+    @Test
     public void testTranslateToRelatedEntityIndependentPath() {
         DbEntity artistE = runtime.getDataDomain().getEntityResolver().getDbEntity("ARTIST");
 
@@ -215,6 +228,7 @@ public class DbEntityIT extends ServerCase {
         assertEquals("failure: " + translated, Expression.fromString("db:toArtist.paintingArray"), translated);
     }
 
+    @Test
     public void testTranslateToRelatedEntityTrimmedPath() {
         DbEntity artistE = runtime.getDataDomain().getEntityResolver().getDbEntity("ARTIST");
 
@@ -224,6 +238,7 @@ public class DbEntityIT extends ServerCase {
                 translated);
     }
 
+    @Test
     public void testTranslateToRelatedEntitySplitHalfWay() {
         DbEntity artistE = runtime.getDataDomain().getEntityResolver().getDbEntity("ARTIST");
 
@@ -233,6 +248,7 @@ public class DbEntityIT extends ServerCase {
                 Expression.fromString("db:paintingArray.toArtist.paintingArray.toPaintingInfo.TEXT_REVIEW"), translated);
     }
 
+    @Test
     public void testTranslateToRelatedEntityMatchingPath() {
         DbEntity artistE = runtime.getDataDomain().getEntityResolver().getDbEntity("ARTIST");
 
@@ -243,6 +259,7 @@ public class DbEntityIT extends ServerCase {
                 Expression.fromString("db:artistExhibitArray.toArtist.artistExhibitArray.toExhibit"), translated);
     }
 
+    @Test
     public void testTranslateToRelatedEntityToOne() {
         DbEntity paintingE = runtime.getDataDomain().getEntityResolver().getDbEntity("PAINTING");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
index 71a192a..fbe1b24 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/DbRelationshipIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -44,6 +45,7 @@ public class DbRelationshipIT extends ServerCase {
         galleryEnt = runtime.getDataDomain().getEntityResolver().getDbEntity("GALLERY");
     }
 
+    @Test
     public void testSrcFkSnapshotWithTargetSnapshot() throws Exception {
         Map<String, Object> map = new HashMap<String, Object>();
         Integer id = new Integer(44);
@@ -54,6 +56,7 @@ public class DbRelationshipIT extends ServerCase {
         assertEquals(id, targetMap.get("GALLERY_ID"));
     }
 
+    @Test
     public void testGetReverseRelationship1() throws Exception {
         // start with "to many"
         DbRelationship r1 = artistEnt.getRelationship("paintingArray");
@@ -63,6 +66,7 @@ public class DbRelationshipIT extends ServerCase {
         assertSame(paintingEnt.getRelationship("toArtist"), r2);
     }
 
+    @Test
     public void testGetReverseRelationship2() throws Exception {
         // start with "to one"
         DbRelationship r1 = paintingEnt.getRelationship("toArtist");
@@ -72,6 +76,7 @@ public class DbRelationshipIT extends ServerCase {
         assertSame(artistEnt.getRelationship("paintingArray"), r2);
     }
 
+    @Test
     public void testGetReverseRelationshipToSelf() {
 
         // assemble mockup entity

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java
index b235267..7f9ab16 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityIT.java
@@ -19,9 +19,6 @@
 
 package org.apache.cayenne.map;
 
-import java.util.Collection;
-import java.util.Iterator;
-
 import org.apache.cayenne.configuration.server.ServerRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
@@ -30,6 +27,10 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.CayenneMapEntry;
 import org.apache.cayenne.util.Util;
+import org.junit.Test;
+
+import java.util.Collection;
+import java.util.Iterator;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EntityIT extends ServerCase {
@@ -37,6 +38,7 @@ public class EntityIT extends ServerCase {
     @Inject
     private ServerRuntime runtime;
 
+    @Test
     public void testSerializability() throws Exception {
         Entity entity = new MockEntity("entity");
 
@@ -66,6 +68,7 @@ public class EntityIT extends ServerCase {
         assertSame(d2.getRelationship("xyz"), d2.getRelationshipMap().get("xyz"));
     }
 
+    @Test
     public void testName() {
         Entity entity = new MockEntity();
         String tstName = "tst_name";
@@ -73,6 +76,7 @@ public class EntityIT extends ServerCase {
         assertEquals(tstName, entity.getName());
     }
 
+    @Test
     public void testAttribute() {
         Entity entity = new MockEntity();
         Attribute attribute = new MockAttribute("tst_name");
@@ -88,6 +92,7 @@ public class EntityIT extends ServerCase {
         assertNull(entity.getAttribute(attribute.getName()));
     }
 
+    @Test
     public void testRelationship() {
         Entity entity = new MockEntity();
         Relationship rel = new MockRelationship("tst_name");
@@ -103,6 +108,7 @@ public class EntityIT extends ServerCase {
         assertNull(entity.getRelationship(rel.getName()));
     }
 
+    @Test
     public void testAttributeClashWithRelationship() {
         Entity entity = new MockEntity();
         Relationship rel = new MockRelationship("tst_name");
@@ -119,6 +125,7 @@ public class EntityIT extends ServerCase {
         }
     }
 
+    @Test
     public void testRelationshipClashWithAttribute() {
         Entity entity = new MockEntity();
         Attribute attribute = new MockAttribute("tst_name");
@@ -135,6 +142,7 @@ public class EntityIT extends ServerCase {
         }
     }
 
+    @Test
     public void testResolveBadObjPath1() {
         // test invalid expression path
         Expression pathExpr = ExpressionFactory.expressionOfType(Expression.OBJ_PATH);
@@ -154,6 +162,7 @@ public class EntityIT extends ServerCase {
         }
     }
 
+    @Test
     public void testResolveBadObjPath2() {
         // test invalid expression type
         Expression badPathExpr = ExpressionFactory.expressionOfType(Expression.IN);
@@ -168,6 +177,7 @@ public class EntityIT extends ServerCase {
         }
     }
 
+    @Test
     public void testResolveObjPath1() {
         Expression pathExpr = ExpressionFactory.expressionOfType(Expression.OBJ_PATH);
         pathExpr.setOperand(0, "galleryName");
@@ -184,6 +194,7 @@ public class EntityIT extends ServerCase {
         assertSame(galleryEnt.getAttribute("galleryName"), next);
     }
 
+    @Test
     public void testRemoveAttribute() {
         Entity entity = new MockEntity();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
index 6cb3bcb..68f9df8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverClassDescriptorIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.testdo.mt.MtTable2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -40,6 +41,7 @@ public class EntityResolverClassDescriptorIT extends ServerCase {
     @Inject
     private ServerRuntime runtime;
 
+    @Test
     public void testServerDescriptorCaching() {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
         resolver.getClassDescriptorMap().clearDescriptors();
@@ -54,6 +56,7 @@ public class EntityResolverClassDescriptorIT extends ServerCase {
         assertNotSame(descriptor, descriptor1);
     }
 
+    @Test
     public void testServerDescriptorFactory() {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
         resolver.getClassDescriptorMap().clearDescriptors();
@@ -74,6 +77,7 @@ public class EntityResolverClassDescriptorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testArcProperties() {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
         resolver.getClassDescriptorMap().clearDescriptors();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
index 3497f47..69553ad 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverGenericStackIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collections;
 
@@ -32,6 +33,7 @@ public class EntityResolverGenericStackIT extends ServerCase {
     @Inject
     private EntityResolver resolver;
 
+    @Test
     public void testObjEntityLookupDuplicates() {
 
         DataMap generic = resolver.getDataMap("generic");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
index 910c10f..cd4bf49 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.query.Query;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -43,27 +44,32 @@ public class EntityResolverIT extends ServerCase {
     @Inject
     private DataContext context;
 
+    @Test
     public void testGetObjEntity() {
         EntityResolver resolver = new EntityResolver(runtime.getDataDomain().getDataMaps());
         assertIsArtistObjEntity(resolver.getObjEntity("Artist"));
     }
 
+    @Test
     public void testLookupObjEntityByClass() {
         EntityResolver resolver = new EntityResolver(runtime.getDataDomain().getDataMaps());
         assertIsArtistObjEntity(resolver.getObjEntity(Artist.class));
     }
 
+    @Test
     public void testLookupObjEntityByInstance() {
         EntityResolver resolver = new EntityResolver(runtime.getDataDomain().getDataMaps());
         assertIsArtistObjEntity(resolver.getObjEntity(new Artist()));
     }
 
+    @Test
     public void testLookupObjEntityByDataobject() {
         EntityResolver resolver = new EntityResolver(runtime.getDataDomain().getDataMaps());
         Artist artist = (Artist) context.newObject("Artist");
         assertIsArtistObjEntity(resolver.getObjEntity(artist));
     }
 
+    @Test
     public void testGetDataMapList() {
         DataMap m1 = new DataMap();
         DataMap m2 = new DataMap();
@@ -78,6 +84,7 @@ public class EntityResolverIT extends ServerCase {
         assertTrue(maps.containsAll(list));
     }
 
+    @Test
     public void testAddDataMap() {
 
         // create empty resolver
@@ -97,6 +104,7 @@ public class EntityResolverIT extends ServerCase {
         assertEquals(resolver, m1.getNamespace());
     }
 
+    @Test
     public void testRemoveDataMap() {
         // create a resolver with a single map
         DataMap m1 = new DataMap();
@@ -116,6 +124,7 @@ public class EntityResolverIT extends ServerCase {
         assertNull(resolver.getObjEntity(Object.class));
     }
 
+    @Test
     public void testAddObjEntity() {
         // create a resolver with a single map
         DataMap m1 = new DataMap();
@@ -135,6 +144,7 @@ public class EntityResolverIT extends ServerCase {
         assertSame(oe2, resolver.getObjEntity(String.class));
     }
 
+    @Test
     public void testGetQuery() {
         // create a resolver with a single map
         DataMap m1 = new DataMap();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
index 15c81e8..55071d4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/EntityResolverInheritanceIT.java
@@ -22,6 +22,7 @@ package org.apache.cayenne.map;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.PEOPLE_PROJECT)
 public class EntityResolverInheritanceIT extends ServerCase {
@@ -29,6 +30,7 @@ public class EntityResolverInheritanceIT extends ServerCase {
     @Inject
     private EntityResolver resolver;
 
+    @Test
     public void testGetAbstractPersonTree() throws Exception {
         EntityInheritanceTree tree = resolver.getInheritanceTree("AbstractPerson");
         assertNotNull(tree);
@@ -36,6 +38,7 @@ public class EntityResolverInheritanceIT extends ServerCase {
         assertSame(resolver.getObjEntity("AbstractPerson"), tree.getEntity());
     }
 
+    @Test
     public void testGetEmployeeTree() throws Exception {
         EntityInheritanceTree tree = resolver.getInheritanceTree("Employee");
         assertNotNull(tree);
@@ -43,12 +46,14 @@ public class EntityResolverInheritanceIT extends ServerCase {
         assertSame(resolver.getObjEntity("Employee"), tree.getEntity());
     }
 
+    @Test
     public void testGetManagerTree() throws Exception {
         EntityInheritanceTree tree = resolver.getInheritanceTree("Manager");
         assertNotNull(tree);
         assertEquals(0, tree.getChildrenCount());
     }
 
+    @Test
     public void testLookupTreeRefresh() throws Exception {
         ObjEntity super1 = new ObjEntity("super1");
         ObjEntity sub1 = new ObjEntity("sub1");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
index e7d8847..575cae5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjEntityIT.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.map;
 
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
 import org.apache.cayenne.CayenneDataObject;
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.ObjectContext;
@@ -36,6 +32,11 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.Util;
+import org.junit.Test;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ObjEntityIT extends ServerCase {
@@ -58,6 +59,7 @@ public class ObjEntityIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testGetAttributeWithOverrides() {
 
         DataMap map = new DataMap("dm");
@@ -91,6 +93,7 @@ public class ObjEntityIT extends ServerCase {
         assertSame(subEntity, a3.getEntity());
     }
 
+    @Test
     public void testGetPrimaryKeys() {
         ObjEntity artistE = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
         Collection<ObjAttribute> pks = artistE.getPrimaryKeys();
@@ -129,6 +132,7 @@ public class ObjEntityIT extends ServerCase {
         assertTrue(clientMeaningfulPKE.getAttributes().contains(clientmpk));
     }
 
+    @Test
     public void testAttributes() {
         ObjEntity artistE = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
         ObjAttribute attr = artistE.getAttribute("artistName");
@@ -137,6 +141,7 @@ public class ObjEntityIT extends ServerCase {
         assertEquals(attr.isMandatory(), attr.getDbAttribute().isMandatory());
     }
 
+    @Test
     public void testLastPathComponent() {
         ObjEntity artistE = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
 
@@ -164,6 +169,7 @@ public class ObjEntityIT extends ServerCase {
         assertEquals("toGallery", lastAliasedRelationship.getRelationship().getName());
     }
 
+    @Test
     public void testGeneric() {
         ObjEntity e1 = new ObjEntity("e1");
         assertTrue(e1.isGeneric());
@@ -184,6 +190,7 @@ public class ObjEntityIT extends ServerCase {
         assertTrue(e1.isGeneric());
     }
 
+    @Test
     public void testServerOnly() {
         ObjEntity e1 = new ObjEntity("e1");
 
@@ -192,6 +199,7 @@ public class ObjEntityIT extends ServerCase {
         assertTrue(e1.isServerOnly());
     }
 
+    @Test
     public void testClientAllowed() {
         ObjEntity e1 = new ObjEntity("e1");
 
@@ -209,6 +217,7 @@ public class ObjEntityIT extends ServerCase {
         assertFalse(e1.isClientAllowed());
     }
 
+    @Test
     public void testGetPrimaryKeyNames() {
         ObjEntity entity = new ObjEntity("entity");
         DbEntity dbentity = new DbEntity("dbe");
@@ -244,6 +253,7 @@ public class ObjEntityIT extends ServerCase {
         assertTrue(entity.getPrimaryKeyNames().contains(pk2.getName()));
     }
 
+    @Test
     public void testGetClientEntity() {
 
         DataMap map = new DataMap();
@@ -281,6 +291,7 @@ public class ObjEntityIT extends ServerCase {
         assertEquals(e1.getRelationships().size(), e2.getRelationships().size());
     }
 
+    @Test
     public void testSerializability() throws Exception {
         ObjEntity entity = new ObjEntity("entity");
 
@@ -288,6 +299,7 @@ public class ObjEntityIT extends ServerCase {
         assertEquals(entity.getName(), d1.getName());
     }
 
+    @Test
     public void testDbEntityName() {
         ObjEntity entity = new ObjEntity("entity");
         assertNull(entity.getDbEntityName());
@@ -299,6 +311,7 @@ public class ObjEntityIT extends ServerCase {
         assertNull(entity.getDbEntityName());
     }
 
+    @Test
     public void testDbEntity() {
         ObjEntity entity = new ObjEntity("entity");
         DbEntity dbentity = new DbEntity("dbe");
@@ -320,6 +333,7 @@ public class ObjEntityIT extends ServerCase {
         assertSame(dbentity, entity.getDbEntity());
     }
 
+    @Test
     public void testDbEntityNoContainer() {
         ObjEntity entity = new ObjEntity("entity");
         entity.setDbEntityName("dbe");
@@ -332,6 +346,7 @@ public class ObjEntityIT extends ServerCase {
         }
     }
 
+    @Test
     public void testClassName() {
         ObjEntity entity = new ObjEntity("entity");
         String tstName = "tst_name";
@@ -339,6 +354,7 @@ public class ObjEntityIT extends ServerCase {
         assertEquals(tstName, entity.getClassName());
     }
 
+    @Test
     public void testSuperClassName() {
         ObjEntity entity = new ObjEntity("entity");
         String tstName = "super_tst_name";
@@ -346,6 +362,7 @@ public class ObjEntityIT extends ServerCase {
         assertEquals(tstName, entity.getSuperClassName());
     }
 
+    @Test
     public void testAttributeForDbAttribute() throws Exception {
         ObjEntity ae = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
         DbEntity dae = ae.getDbEntity();
@@ -354,6 +371,7 @@ public class ObjEntityIT extends ServerCase {
         assertNotNull(ae.getAttributeForDbAttribute(dae.getAttribute("ARTIST_NAME")));
     }
 
+    @Test
     public void testRelationshipForDbRelationship() throws Exception {
         ObjEntity ae = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
         DbEntity dae = ae.getDbEntity();
@@ -362,6 +380,7 @@ public class ObjEntityIT extends ServerCase {
         assertNotNull(ae.getRelationshipForDbRelationship(dae.getRelationship("paintingArray")));
     }
 
+    @Test
     public void testReadOnly() throws Exception {
         ObjEntity entity = new ObjEntity("entity");
         assertFalse(entity.isReadOnly());
@@ -369,6 +388,7 @@ public class ObjEntityIT extends ServerCase {
         assertTrue(entity.isReadOnly());
     }
 
+    @Test
     public void testTranslateToRelatedEntityIndependentPath() throws Exception {
         ObjEntity artistE = runtime.getDataDomain().getEntityResolver().getObjEntity(Artist.class);
 
@@ -377,6 +397,7 @@ public class ObjEntityIT extends ServerCase {
         assertEquals("failure: " + translated, Expression.fromString("db:toArtist.paintingArray"), translated);
     }
 
+    @Test
     public void testTranslateToRelatedEntityTrimmedPath() throws Exception {
         ObjEntity artistE = runtime.getDataDomain().getEntityResolver().getObjEntity(Artist.class);
 
@@ -386,6 +407,7 @@ public class ObjEntityIT extends ServerCase {
                 translated);
     }
 
+    @Test
     public void testTranslateToRelatedEntitySplitHalfWay() throws Exception {
         ObjEntity artistE = runtime.getDataDomain().getEntityResolver().getObjEntity(Artist.class);
 
@@ -395,6 +417,7 @@ public class ObjEntityIT extends ServerCase {
                 Expression.fromString("db:paintingArray.toArtist.paintingArray.toPaintingInfo.TEXT_REVIEW"), translated);
     }
 
+    @Test
     public void testTranslateToRelatedEntityMatchingPath() throws Exception {
         ObjEntity artistE = runtime.getDataDomain().getEntityResolver().getObjEntity(Artist.class);
         Expression e1 = Expression.fromString("artistExhibitArray.toExhibit");
@@ -403,6 +426,7 @@ public class ObjEntityIT extends ServerCase {
                 Expression.fromString("db:artistExhibitArray.toArtist.artistExhibitArray.toExhibit"), translated);
     }
 
+    @Test
     public void testTranslateToRelatedEntityMultiplePaths() throws Exception {
         ObjEntity artistE = runtime.getDataDomain().getEntityResolver().getObjEntity(Artist.class);
 
@@ -411,7 +435,8 @@ public class ObjEntityIT extends ServerCase {
         assertEquals("failure: " + translated, Expression.fromString("db:toArtist.paintingArray = $p "
                 + "and db:toArtist.artistExhibitArray.toExhibit.CLOSING_DATE = $d"), translated);
     }
-    
+
+    @Test
     public void testTranslateToRelatedEntityOuterJoin_Flattened() throws Exception {
         ObjEntity artistE = runtime.getDataDomain().getEntityResolver().getObjEntity(Artist.class);
 
@@ -420,6 +445,7 @@ public class ObjEntityIT extends ServerCase {
         assertEquals("failure: " + translated, Expression.fromString("db:toArtist.artistGroupArray+.toGroup+.NAME"), translated);
     }
 
+    @Test
     public void testTranslateNullArg() {
         ObjEntity entity = context.getEntityResolver().getObjEntity("Artist");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
index 783481f..4ae579e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/ObjRelationshipIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.Util;
 import org.apache.cayenne.util.XMLEncoder;
+import org.junit.Test;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -60,6 +61,7 @@ public class ObjRelationshipIT extends ServerCase {
         galleryDBEntity = resolver.getDbEntity("GALLERY");
     }
 
+    @Test
     public void testEncodeAsXML() {
         StringWriter buffer = new StringWriter();
         PrintWriter out = new PrintWriter(buffer);
@@ -86,6 +88,7 @@ public class ObjRelationshipIT extends ServerCase {
                 + "collection-type=\"java.util.Map\" map-key=\"bla\"/>" + lineBreak, buffer.getBuffer().toString());
     }
 
+    @Test
     public void testCollectionType() {
         ObjRelationship r = new ObjRelationship("X");
         assertNull(r.getCollectionType());
@@ -93,6 +96,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertEquals("java.util.Map", r.getCollectionType());
     }
 
+    @Test
     public void testSerializability() throws Exception {
         ObjEntity artistObjEnt = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
 
@@ -104,6 +108,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertEquals(r1.getDbRelationshipPath(), r2.getDbRelationshipPath());
     }
 
+    @Test
     public void testGetClientRelationship() {
         final ObjEntity target = new ObjEntity("te1");
         ObjRelationship r1 = new ObjRelationship("r1") {
@@ -124,6 +129,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertEquals(r1.getDeleteRule(), r2.getDeleteRule());
     }
 
+    @Test
     public void testGetReverseDbRelationshipPath() {
         ObjEntity artistObjEnt = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
         ObjEntity paintingObjEnt = runtime.getDataDomain().getEntityResolver().getObjEntity("Painting");
@@ -138,6 +144,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertEquals("paintingArray", r2.getReverseDbRelationshipPath());
     }
 
+    @Test
     public void testSetDbRelationshipPath() {
         ObjEntity artistObjEnt = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
 
@@ -147,6 +154,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertEquals(r.getDbRelationshipPath(), "paintingArray");
     }
 
+    @Test
     public void testRefreshFromPath() {
         ObjRelationship relationship = new ObjRelationship();
 
@@ -198,6 +206,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertSame(pathR, resolvedPath.get(1));
     }
 
+    @Test
     public void testCalculateToMany() {
         // assemble fixture....
         DataMap map = new DataMap();
@@ -247,6 +256,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertTrue(relationship.isToMany());
     }
 
+    @Test
     public void testCalculateToManyFromPath() {
         // assemble fixture....
         DataMap map = new DataMap();
@@ -298,6 +308,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertTrue(relationship.isToMany());
     }
 
+    @Test
     public void testTargetEntity() throws Exception {
         ObjRelationship relationship = new ObjRelationship("some_rel");
         relationship.setTargetEntityName("targ");
@@ -323,6 +334,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertSame(target, relationship.getTargetEntity());
     }
 
+    @Test
     public void testGetReverseRel1() {
 
         ObjEntity artistObjEnt = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
@@ -336,6 +348,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertSame(paintingObjEnt.getRelationship("toArtist"), r2);
     }
 
+    @Test
     public void testGetReverseRel2() {
         ObjEntity artistEnt = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
         ObjEntity paintingEnt = runtime.getDataDomain().getEntityResolver().getObjEntity("Painting");
@@ -348,6 +361,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertSame(artistEnt.getRelationship("paintingArray"), r2);
     }
 
+    @Test
     public void testSingleDbRelationship() {
         ObjRelationship relationship = new ObjRelationship();
         DbRelationship r1 = new DbRelationship("X");
@@ -361,6 +375,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertEquals(0, relationship.getDbRelationships().size());
     }
 
+    @Test
     public void testFlattenedRelationship() {
         DbRelationship r1 = new DbRelationship("X");
         DbRelationship r2 = new DbRelationship("Y");
@@ -393,6 +408,7 @@ public class ObjRelationshipIT extends ServerCase {
 
     }
 
+    @Test
     public void testReadOnly_Flattened1_1__N_1() {
 
         // check common vertical inheritance relationships
@@ -408,6 +424,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertFalse(x.isReadOnly());
     }
 
+    @Test
     public void testReadOnlyMoreThan3DbRelsRelationship() {
         // Readonly is a flattened relationship that isn't over a single
         // many->many link
@@ -440,6 +457,7 @@ public class ObjRelationshipIT extends ServerCase {
     // Test for a read-only flattened relationship that is readonly because it's
     // dbrel
     // sequence is "incorrect" (or rather, unsupported)
+    @Test
     public void testIncorrectSequenceReadOnlyRelationship() {
         DbRelationship r1 = new DbRelationship("X");
         DbRelationship r2 = new DbRelationship("Y");
@@ -462,6 +480,7 @@ public class ObjRelationshipIT extends ServerCase {
 
     // Test a relationship loaded from the test datamap that we know should be
     // flattened
+    @Test
     public void testKnownFlattenedRelationship() {
         ObjEntity artistEnt = runtime.getDataDomain().getEntityResolver().getObjEntity("Artist");
         ObjRelationship theRel = artistEnt.getRelationship("groupArray");
@@ -470,6 +489,7 @@ public class ObjRelationshipIT extends ServerCase {
         assertFalse(theRel.isReadOnly());
     }
 
+    @Test
     public void testBadDeleteRuleValue() {
         ObjRelationship relationship = new ObjRelationship();
 
@@ -481,6 +501,7 @@ public class ObjRelationshipIT extends ServerCase {
         }
     }
 
+    @Test
     public void testOkDeleteRuleValue() {
         ObjRelationship relationship = new ObjRelationship();
         try {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java
index db7c086..ddc96ef 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/AddColumnToModelIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -31,6 +32,7 @@ import java.util.List;
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class AddColumnToModelIT extends MergeCase {
 
+    @Test
     public void testAddColumn() throws Exception {
         dropTableIfPresent("NEW_TABLE");
         assertTokensAndExecute(0, 0);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java
index d0012a1..bcb58b2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/CreateTableToModelIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -30,6 +31,7 @@ import java.util.List;
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CreateTableToModelIT extends MergeCase {
 
+    @Test
     public void testAddTable() throws Exception {
         dropTableIfPresent("NEW_TABLE");
         assertTokensAndExecute(0, 0);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java
index b11d765..e308b77 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropColumnToModelIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -34,6 +35,7 @@ import java.util.List;
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DropColumnToModelIT extends MergeCase {
 
+    @Test
     public void testSimpleColumn() throws Exception {
         dropTableIfPresent("NEW_TABLE");
 
@@ -91,6 +93,7 @@ public class DropColumnToModelIT extends MergeCase {
         assertTokensAndExecute(0, 0);
     }
 
+    @Test
     public void testRemoveFKColumnWithoutRelationshipInDb() throws Exception {
         dropTableIfPresent("NEW_TABLE");
         dropTableIfPresent("NEW_TABLE2");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java
index cbfe05d..20dff04 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropRelationshipToModelIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.map.ObjRelationship;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -34,6 +35,7 @@ import java.util.List;
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DropRelationshipToModelIT extends MergeCase {
 
+    @Test
     public void testForeignKey() throws Exception {
         dropTableIfPresent("NEW_TABLE");
         dropTableIfPresent("NEW_TABLE2");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java
index bec6005..64ef6ad 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/DropTableToModelIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -31,6 +32,7 @@ import java.util.List;
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DropTableToModelIT extends MergeCase {
 
+    @Test
     public void testDropTable() throws Exception {
         dropTableIfPresent("NEW_TABLE");
         assertTokensAndExecute(0, 0);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java
index 298acec..40233d5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/MergerFactoryIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.map.ObjAttribute;
 import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 
@@ -38,6 +39,7 @@ public class MergerFactoryIT extends MergeCase {
     @Inject
     private DataContext context;
 
+    @Test
     public void testAddAndDropColumnToDb() throws Exception {
         DbEntity dbEntity = map.getDbEntity("PAINTING");
         assertNotNull(dbEntity);
@@ -59,6 +61,7 @@ public class MergerFactoryIT extends MergeCase {
         assertTokensAndExecute(0, 0);
     }
 
+    @Test
     public void testChangeVarcharSizeToDb() throws Exception {
         DbEntity dbEntity = map.getDbEntity("PAINTING");
         assertNotNull(dbEntity);
@@ -89,6 +92,7 @@ public class MergerFactoryIT extends MergeCase {
         assertTokensAndExecute(0, 0);
     }
 
+    @Test
     public void testMultipleTokensToDb() throws Exception {
         DbEntity dbEntity = map.getDbEntity("PAINTING");
         assertNotNull(dbEntity);
@@ -124,6 +128,7 @@ public class MergerFactoryIT extends MergeCase {
         assertTokensAndExecute(0, 0);
     }
 
+    @Test
     public void testAddTableToDb() throws Exception {
         dropTableIfPresent("NEW_TABLE");
 
@@ -173,6 +178,7 @@ public class MergerFactoryIT extends MergeCase {
         assertTokensAndExecute(0, 0);
     }
 
+    @Test
     public void testAddForeignKeyWithTable() throws Exception {
         dropTableIfPresent("NEW_TABLE");
 
@@ -237,6 +243,7 @@ public class MergerFactoryIT extends MergeCase {
         assertTokensAndExecute(0, 0);
     }
 
+    @Test
     public void testAddForeignKeyAfterTable() throws Exception {
         dropTableIfPresent("NEW_TABLE");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java
index 067303b..d3f815e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetAllowNullToDbIT.java
@@ -22,12 +22,14 @@ import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SetAllowNullToDbIT extends MergeCase {
 
+    @Test
     public void test() throws Exception {
         DbEntity dbEntity = map.getDbEntity("PAINTING");
         assertNotNull(dbEntity);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java
index 28b134c..2656a52 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetNotNullToDbIT.java
@@ -18,14 +18,15 @@
  ****************************************************************/
 package org.apache.cayenne.merge;
 
-import java.sql.Types;
-
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Types;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SetNotNullToDbIT extends MergeCase {
@@ -43,6 +44,7 @@ public class SetNotNullToDbIT extends MergeCase {
         dbHelper.deleteAll("PAINTING");
     }
 
+    @Test
     public void test() throws Exception {
         DbEntity dbEntity = map.getDbEntity("PAINTING");
         assertNotNull(dbEntity);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/SetPrimaryKeyToDbIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetPrimaryKeyToDbIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetPrimaryKeyToDbIT.java
index 9654046..a4a4e25 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/SetPrimaryKeyToDbIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/SetPrimaryKeyToDbIT.java
@@ -18,16 +18,18 @@
  ****************************************************************/
 package org.apache.cayenne.merge;
 
-import java.sql.Types;
-
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Types;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SetPrimaryKeyToDbIT extends MergeCase {
 
+    @Test
     public void test() throws Exception {
         dropTableIfPresent("NEW_TABLE");
         assertTokensAndExecute(0, 0);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java b/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java
index abcef98..ec3effe 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/merge/ValueForNullIT.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.map.ObjEntity;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -45,6 +46,7 @@ public class ValueForNullIT extends MergeCase {
     @Inject
     private DataContext context;
 
+    @Test
     public void test() throws Exception {
         DbEntity dbEntity = map.getDbEntity("PAINTING");
         assertNotNull(dbEntity);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
index af76334..350a774 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryIT.java
@@ -18,11 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.configuration.server.ServerRuntime;
@@ -41,6 +36,12 @@ import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.XMLEncoder;
+import org.junit.Test;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.List;
+import java.util.Map;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EJBQLQueryIT extends ServerCase {
@@ -97,6 +98,7 @@ public class EJBQLQueryIT extends ServerCase {
         tBigIntegerEntity.insert(44001, new Long(744073709551715l));
     }
 
+    @Test
     public void testLongParameter() throws Exception {
         createBigIntegerEntitiesDataSet();
         String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > ?1";
@@ -106,6 +108,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(1, result.size());
     }
 
+    @Test
     public void testLongLiteral() throws Exception {
         createBigIntegerEntitiesDataSet();
         String ejbql = "SELECT bie FROM BigIntegerEntity bie WHERE bie.bigIntegerField > 744073709551615";
@@ -114,6 +117,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(1, result.size());
     }
 
+    @Test
     public void testParameters() {
         String ejbql = "select a FROM Artist a WHERE a.artistName = ?1 OR a.artistName = :name";
         EJBQLQuery query = new EJBQLQuery(ejbql);
@@ -128,6 +132,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals("Y", parameters.get("name"));
     }
 
+    @Test
     public void testCacheParameters() {
         String ejbql1 = "select a FROM Artist a WHERE a.artistName = ?1 OR a.artistName = :name";
         EJBQLQuery q1 = new EJBQLQuery(ejbql1);
@@ -152,6 +157,7 @@ public class EJBQLQueryIT extends ServerCase {
                 .getCacheKey());
     }
 
+    @Test
     public void testCacheStrategy() throws Exception {
 
         // insertValue();
@@ -178,6 +184,7 @@ public class EJBQLQueryIT extends ServerCase {
 
     }
 
+    @Test
     public void testDataRows() throws Exception {
 
         // insertValue();
@@ -195,6 +202,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(artistName, artist.getArtistName());
     }
 
+    @Test
     public void testGetExpression() {
         String ejbql = "select a FROM Artist a";
         EJBQLQuery query = new EJBQLQuery(ejbql);
@@ -205,6 +213,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(ejbql, parsed.getSource());
     }
 
+    @Test
     public void testGetName() {
         String ejbql = "select a FROM Artist a";
         EJBQLQuery query = new EJBQLQuery(ejbql);
@@ -214,6 +223,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals("XYZ", query.getName());
     }
 
+    @Test
     public void testUniqueKeyEntity() {
         // insertValue();
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
@@ -230,6 +240,7 @@ public class EJBQLQueryIT extends ServerCase {
                 .getCacheKey());
     }
 
+    @Test
     public void testGetMetadata() {
 
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
@@ -250,6 +261,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(QueryCacheStrategy.NO_CACHE, md.getCacheStrategy());
     }
 
+    @Test
     public void testSelectRelationship() throws Exception {
 
         // insertPaintValue();
@@ -290,6 +302,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(String.class, ((Object[]) result3.get(0))[1].getClass());
     }
 
+    @Test
     public void testEncodeAsXML() {
 
         String ejbql = "select a FROM Artist a";
@@ -323,6 +336,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(w.getBuffer().toString(), s.toString());
     }
 
+    @Test
     public void testInWithMultipleStringPositionalParameters_withBrackets() throws Exception {
         createPaintingsDataSet();
         EJBQLQuery query = new EJBQLQuery("select p from Painting p where p.paintingTitle in (?1,?2,?3)");
@@ -333,6 +347,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(2, paintings.size());
     }
 
+    @Test
     public void testInWithSingleStringPositionalParameter_withoutBrackets() throws Exception {
         createPaintingsDataSet();
         EJBQLQuery query = new EJBQLQuery("select p from Painting p where p.paintingTitle in ?1");
@@ -341,6 +356,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(1, paintings.size());
     }
 
+    @Test
     public void testInWithSingleCollectionNamedParameter_withoutBrackets() throws Exception {
         createPaintingsDataSet();
         EJBQLQuery query = new EJBQLQuery("select p from Painting p where p.toArtist in :artists");
@@ -349,6 +365,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(3, paintings.size());
     }
 
+    @Test
     public void testInWithSingleCollectionPositionalParameter_withoutBrackets() throws Exception {
         createPaintingsDataSet();
         EJBQLQuery query = new EJBQLQuery("select p from Painting p where p.toArtist in ?1");
@@ -357,6 +374,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(3, paintings.size());
     }
 
+    @Test
     public void testInWithSingleCollectionNamedParameter_withBrackets() throws Exception {
         createPaintingsDataSet();
         EJBQLQuery query = new EJBQLQuery("select p from Painting p where p.toArtist in (:artists)");
@@ -365,6 +383,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(3, paintings.size());
     }
 
+    @Test
     public void testInWithSingleCollectionPositionalParameter_withBrackets() throws Exception {
         createPaintingsDataSet();
         EJBQLQuery query = new EJBQLQuery("select p from Painting p where p.toArtist in (?1)");
@@ -373,24 +392,28 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals(3, paintings.size());
     }
 
+    @Test
     public void testNullParameter() {
         EJBQLQuery query = new EJBQLQuery("select p from Painting p WHERE p.toArtist=:x");
         query.setParameter("x", null);
         context.performQuery(query);
     }
 
+    @Test
     public void testNullNotEqualsParameter() {
         EJBQLQuery query = new EJBQLQuery("select p from Painting p WHERE p.toArtist<>:x");
         query.setParameter("x", null);
         context.performQuery(query);
     }
 
+    @Test
     public void testNullPositionalParameter() {
         EJBQLQuery query = new EJBQLQuery("select p from Painting p WHERE p.toArtist=?1");
         query.setParameter(1, null);
         context.performQuery(query);
     }
 
+    @Test
     public void testNullAndNotNullParameter() {
         EJBQLQuery query = new EJBQLQuery(
                 "select p from Painting p WHERE p.toArtist=:x OR p.toArtist.artistName=:b");
@@ -399,6 +422,7 @@ public class EJBQLQueryIT extends ServerCase {
         context.performQuery(query);
     }
 
+    @Test
     public void testLikeWithExplicitEscape() throws Exception {
         createPaintingsDataSet();
         EJBQLQuery query = new EJBQLQuery("SELECT p FROM Painting p WHERE p.paintingTitle LIKE '|%|%?|_title|%|%|_' ESCAPE '|'");
@@ -407,12 +431,14 @@ public class EJBQLQueryIT extends ServerCase {
         assertEquals("%%?_title%%_", paintings.get(0).getPaintingTitle());
     }
 
+    @Test
     public void testJoinToJoined() {
         EJBQLQuery query = new EJBQLQuery(
                 "select g from Gallery g inner join g.paintingArray p where p.toArtist.artistName like '%a%'");
         context.performQuery(query);
     }
 
+    @Test
     public void testJoinAndCount() {
         EJBQLQuery query = new EJBQLQuery(
                 "select count(p) from Painting p where p.toGallery.galleryName LIKE '%a%' AND ("
@@ -433,6 +459,7 @@ public class EJBQLQueryIT extends ServerCase {
     // or p.partNumber like '%rimadyl%'
     // )
 
+    @Test
     public void testRelationshipWhereClause() throws Exception {
         Artist a = context.newObject(Artist.class);
         a.setArtistName("a");
@@ -449,6 +476,7 @@ public class EJBQLQueryIT extends ServerCase {
         assertSame(p, paintings.get(0));
     }
 
+    @Test
     public void testRelationshipWhereClause2() throws Exception {
         Expression exp = ExpressionFactory.matchExp(Painting.TO_GALLERY_PROPERTY, null);
         EJBQLQuery query = new EJBQLQuery("select p.toArtist from Painting p where "
@@ -457,6 +485,7 @@ public class EJBQLQueryIT extends ServerCase {
         context.performQuery(query);
     }
 
+    @Test
     public void testOrBrackets() throws Exception {
         Artist a = context.newObject(Artist.class);
         a.setArtistName("testOrBrackets");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
index 61ec8f0..4a1f94d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/ProcedureQueryCacheKeyIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class ProcedureQueryCacheKeyIT extends ServerCase {
@@ -31,6 +32,7 @@ public class ProcedureQueryCacheKeyIT extends ServerCase {
     @Inject
     private ServerRuntime runtime;
 
+    @Test
     public void testNoCache() {
 
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
@@ -47,6 +49,7 @@ public class ProcedureQueryCacheKeyIT extends ServerCase {
         assertNull(md2.getCacheKey());
     }
 
+    @Test
     public void testLocalCache() {
 
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
@@ -60,6 +63,7 @@ public class ProcedureQueryCacheKeyIT extends ServerCase {
         assertNotNull(md1.getCacheKey());
     }
 
+    @Test
     public void testSharedCache() {
 
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
@@ -73,6 +77,7 @@ public class ProcedureQueryCacheKeyIT extends ServerCase {
         assertNotNull(md1.getCacheKey());
     }
 
+    @Test
     public void testNamedQuery() {
 
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
@@ -87,6 +92,7 @@ public class ProcedureQueryCacheKeyIT extends ServerCase {
         assertEquals("proc:", md1.getCacheKey());
     }
 
+    @Test
     public void testCacheFetchOffsetAndLimit() {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
         

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
index ee23624..2348b45 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/QueryChainIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class QueryChainIT extends ServerCase {
@@ -30,6 +31,7 @@ public class QueryChainIT extends ServerCase {
     @Inject
     private ServerRuntime runtime;
 
+    @Test
     public void testSelectQuery() {
 
         QueryChain chain = new QueryChain();
@@ -43,6 +45,7 @@ public class QueryChainIT extends ServerCase {
         assertNull(md.getObjEntity());
     }
 
+    @Test
     public void testSelectQueryDataRows() {
 
         QueryChain chain = new QueryChain();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
index 0d7acf0..b7bfdd6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLSelectIT.java
@@ -18,8 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.query;
 
-import java.util.List;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
@@ -28,6 +26,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLSelectIT extends ServerCase {
@@ -58,6 +59,7 @@ public class SQLSelectIT extends ServerCase {
 		}
 	}
 
+    @Test
 	public void test_DataRows_DataMapNameRoot() throws Exception {
 
 		createArtistsDataSet();
@@ -70,6 +72,7 @@ public class SQLSelectIT extends ServerCase {
 		assertTrue(result.get(0) instanceof DataRow);
 	}
 
+    @Test
 	public void test_DataRows_DefaultRoot() throws Exception {
 
 		createArtistsDataSet();
@@ -82,6 +85,7 @@ public class SQLSelectIT extends ServerCase {
 		assertTrue(result.get(0) instanceof DataRow);
 	}
 
+    @Test
 	public void test_DataRows_ClassRoot() throws Exception {
 
 		createArtistsDataSet();
@@ -93,6 +97,7 @@ public class SQLSelectIT extends ServerCase {
 		assertTrue(result.get(0) instanceof Artist);
 	}
 
+    @Test
 	public void test_DataRows_ClassRoot_Parameters() throws Exception {
 
 		createArtistsDataSet();
@@ -105,6 +110,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals("artist3", a.getArtistName());
 	}
 
+    @Test
 	public void test_DataRows_ClassRoot_Bind() throws Exception {
 
 		createArtistsDataSet();
@@ -117,6 +123,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals(2, result.size());
 	}
 
+    @Test
 	public void test_DataRows_ColumnNameCaps() throws Exception {
 
 		SQLSelect<DataRow> q1 = SQLSelect.dataRowQuery("SELECT * FROM ARTIST WHERE ARTIST_NAME = 'artist2'");
@@ -130,6 +137,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals(CapsStrategy.LOWER, r2.getColumnNamesCapitalization());
 	}
 
+    @Test
 	public void test_DataRows_FetchLimit() throws Exception {
 
 		createArtistsDataSet();
@@ -140,6 +148,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals(5, context.select(q1).size());
 	}
 
+    @Test
 	public void test_DataRows_FetchOffset() throws Exception {
 
 		createArtistsDataSet();
@@ -150,6 +159,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals(16, context.select(q1).size());
 	}
 
+    @Test
 	public void test_Append() throws Exception {
 
 		createArtistsDataSet();
@@ -161,6 +171,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals(1, result.size());
 	}
 
+    @Test
 	public void test_Select() throws Exception {
 
 		createArtistsDataSet();
@@ -171,6 +182,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals(1, result.size());
 	}
 
+    @Test
 	public void test_SelectOne() throws Exception {
 
 		createArtistsDataSet();
@@ -181,6 +193,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals("artist3", a.getArtistName());
 	}
 
+    @Test
 	public void test_SelectLong() throws Exception {
 
 		createArtistsDataSet();
@@ -191,6 +204,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals(3l, id);
 	}
 
+    @Test
 	public void test_SelectLongArray() throws Exception {
 
 		createArtistsDataSet();
@@ -202,6 +216,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals(2l, ids.get(1).longValue());
 	}
 
+    @Test
 	public void test_SelectCount() throws Exception {
 
 		createArtistsDataSet();
@@ -211,6 +226,7 @@ public class SQLSelectIT extends ServerCase {
 		assertEquals(20, c);
 	}
 
+    @Test
 	public void testSQLTemplate_PositionalParams() throws Exception {
 
 		createArtistsDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
index 3a8c440..f223657 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateCacheKeyIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLTemplateCacheKeyIT extends ServerCase {
@@ -30,6 +31,7 @@ public class SQLTemplateCacheKeyIT extends ServerCase {
     @Inject
     private EntityResolver resolver;
 
+    @Test
     public void testNoCache() {
 
         SQLTemplate query = new SQLTemplate(Artist.class, "SELECT ME");
@@ -44,6 +46,7 @@ public class SQLTemplateCacheKeyIT extends ServerCase {
         assertNull(md2.getCacheKey());
     }
 
+    @Test
     public void testLocalCache() {
 
         SQLTemplate query = new SQLTemplate(Artist.class, "SELECT ME");
@@ -55,6 +58,7 @@ public class SQLTemplateCacheKeyIT extends ServerCase {
         assertNotNull(md1.getCacheKey());
     }
 
+    @Test
     public void testSharedCache() {
 
         SQLTemplate query = new SQLTemplate(Artist.class, "SELECT ME");
@@ -66,6 +70,7 @@ public class SQLTemplateCacheKeyIT extends ServerCase {
         assertNotNull(md1.getCacheKey());
     }
 
+    @Test
     public void testNamedQuery() {
 
         SQLTemplate query = new SQLTemplate(Artist.class, "SELECT ME");
@@ -78,6 +83,7 @@ public class SQLTemplateCacheKeyIT extends ServerCase {
         assertFalse("XYZ".equals(md1.getCacheKey()));
     }
 
+    @Test
     public void testCacheFetchLimitAndOffset() {
         SQLTemplate q1 = new SQLTemplate(Artist.class, "SELECT ME");
         q1.setFetchOffset(5);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
index 5696eba..b71b70e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.query;
 
-import java.sql.SQLException;
-import java.sql.Types;
-import java.util.List;
-
 import org.apache.cayenne.CayenneRuntimeException;
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.access.DataContext;
@@ -33,6 +29,11 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.SQLException;
+import java.sql.Types;
+import java.util.List;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLTemplateIT extends ServerCase {
@@ -58,6 +59,7 @@ public class SQLTemplateIT extends ServerCase {
 				Types.INTEGER, Types.BIGINT, Types.VARCHAR, Types.DECIMAL);
 	}
 
+    @Test
 	public void testSQLTemplateForDataMap() {
 		DataMap testDataMap = context.getEntityResolver().getDataMap("tstmap");
 		SQLTemplate q1 = new SQLTemplate(testDataMap, "SELECT * FROM ARTIST", true);
@@ -65,6 +67,7 @@ public class SQLTemplateIT extends ServerCase {
 		assertEquals(0, result.size());
 	}
 
+    @Test
 	public void testSQLTemplateForDataMapWithInsert() {
 		DataMap testDataMap = context.getEntityResolver().getDataMap("tstmap");
 		String sql = "INSERT INTO ARTIST VALUES (15, 'Surikov', null)";
@@ -76,6 +79,7 @@ public class SQLTemplateIT extends ServerCase {
 		assertEquals(1, result.size());
 	}
 
+    @Test
 	public void testSQLTemplateForDataMapWithInsertException() {
 		DataMap testDataMap = context.getEntityResolver().getDataMap("tstmap");
 		String sql = "INSERT INTO ARTIST VALUES (15, 'Surikov', null)";
@@ -93,6 +97,7 @@ public class SQLTemplateIT extends ServerCase {
 				gotRuntimeException);
 	}
 
+    @Test
 	public void testSQLTemplate_PositionalParams() throws SQLException {
 
 		String sql = "INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) "
@@ -107,6 +112,7 @@ public class SQLTemplateIT extends ServerCase {
 		assertEquals(10005.d, tPainting.getDouble("ESTIMATED_PRICE"), 0.001);
 	}
 
+    @Test
 	public void testSQLTemplate_PositionalParams_RepeatingVars() throws SQLException {
 
 		String sql = "INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) "
@@ -121,6 +127,7 @@ public class SQLTemplateIT extends ServerCase {
 		assertEquals(4567.d, tPainting.getDouble("ESTIMATED_PRICE"), 0.001);
 	}
 
+    @Test
 	public void testSQLTemplate_PositionalParams_ToFewParams() throws SQLException {
 
 		String sql = "INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) "
@@ -137,6 +144,7 @@ public class SQLTemplateIT extends ServerCase {
 		}
 	}
 
+    @Test
 	public void testSQLTemplate_PositionalParams_ToManyParams() throws SQLException {
 
 		String sql = "INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) "


[26/50] [abbrv] cayenne git commit: CAY-1959 Chainable API for SelectQuery

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/4d8b2e1a/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java b/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java
index 70b3a9f..11711fc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/PrefetchTreeNode.java
@@ -38,535 +38,579 @@ import org.apache.cayenne.util.XMLSerializable;
  */
 public class PrefetchTreeNode implements Serializable, XMLSerializable {
 
-    public static final int UNDEFINED_SEMANTICS = 0;
-    public static final int JOINT_PREFETCH_SEMANTICS = 1;
-    public static final int DISJOINT_PREFETCH_SEMANTICS = 2;
-    public static final int DISJOINT_BY_ID_PREFETCH_SEMANTICS = 3;
-
-    protected String name;
-    protected boolean phantom;
-    protected int semantics;
-    protected String ejbqlPathEntityId;
-    protected String entityName;
-
-    // transient parent allows cloning parts of the tree via serialization
-    protected transient PrefetchTreeNode parent;
-
-    // Using Collection instead of Map for children storage (even though there cases of
-    // lookup by segment) is a reasonable tradeoff considering that
-    // each node has no more than a few children and lookup by name doesn't happen on
-    // traversal, only during creation.
-    protected Collection<PrefetchTreeNode> children;
-
-    /**
-     * Creates a root node of the prefetch tree. Children can be added to the parent by
-     * calling "addPath".
-     */
-    public PrefetchTreeNode() {
-        this(null, null);
-    }
-
-    /**
-     * Creates a phantom PrefetchTreeNode, initializing it with parent node and a name of
-     * a relationship segment connecting this node with the parent.
-     */
-    protected PrefetchTreeNode(PrefetchTreeNode parent, String name) {
-        this.parent = parent;
-        this.name = name;
-        this.phantom = true;
-        this.semantics = UNDEFINED_SEMANTICS;
-    }
-
-    public void encodeAsXML(XMLEncoder encoder) {
-        traverse(new XMLEncoderOperation(encoder));
-    }
-
-    /**
-     * Returns the root of the node tree. Root is the topmost parent node that itself has
-     * no parent set.
-     */
-    public PrefetchTreeNode getRoot() {
-        return (parent != null) ? parent.getRoot() : this;
-    }
-
-    /**
-     * Returns full prefetch path, that is a dot separated String of node names starting
-     * from root and up to and including this node. Note that root "name" is considered to
-     * be an empty string.
-     */
-    public String getPath() {
-        return getPath(null);
-    }
-
-    public String getPath(PrefetchTreeNode upTillParent) {
-        if (parent == null || upTillParent == this) {
-            return "";
-        }
-
-        StringBuilder path = new StringBuilder(getName());
-        PrefetchTreeNode node = this.getParent();
-
-        // root node has no path
-        while (node.getParent() != null && node != upTillParent) {
-            path.insert(0, node.getName() + ".");
-            node = node.getParent();
-        }
-
-        return path.toString();
-    }
-
-    /**
-     * Returns a subset of nodes with "joint" semantics that are to be prefetched in the
-     * same query as the current node. Result excludes this node, regardless of its
-     * semantics.
-     */
-    public Collection<PrefetchTreeNode> adjacentJointNodes() {
-        Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
-        traverse(new AdjacentJoinsOperation(c));
-        return c;
-    }
-
-    /**
-     * Returns a collection of PrefetchTreeNodes in this tree with joint semantics.
-     */
-    public Collection<PrefetchTreeNode> jointNodes() {
-        Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
-        traverse(new CollectionBuilderOperation(c, false, false, true, false, false));
-        return c;
-    }
-
-    /**
-     * Returns a collection of PrefetchTreeNodes with disjoint semantics.
-     */
-    public Collection<PrefetchTreeNode> disjointNodes() {
-        Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
-        traverse(new CollectionBuilderOperation(c, true, false, false, false, false));
-        return c;
-    }
-
-    /**
-     * Returns a collection of PrefetchTreeNodes with disjoint semantics
-     * @since 3.1
-     */
-    public Collection<PrefetchTreeNode> disjointByIdNodes() {
-        Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
-        traverse(new CollectionBuilderOperation(c, false, true, false, false, false));
-        return c;
-    }
-
-    /**
-     * Returns a collection of PrefetchTreeNodes that are not phantoms.
-     */
-    public Collection<PrefetchTreeNode> nonPhantomNodes() {
-        Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
-        traverse(new CollectionBuilderOperation(c, true, true, true, true, false));
-        return c;
-    }
-
-    /**
-     * Returns a clone of subtree that includes all joint children
-     * starting from this node itself and till the first occurrence of non-joint node
-     *
-     * @since 3.1
-     */
-    public PrefetchTreeNode cloneJointSubtree() {
-        return cloneJointSubtree(null);
-    }
-
-    private PrefetchTreeNode cloneJointSubtree(PrefetchTreeNode parent) {
-        PrefetchTreeNode cloned = new PrefetchTreeNode(parent, getName());
-        if (parent != null) {
-            cloned.setSemantics(getSemantics());
-            cloned.setPhantom(isPhantom());
-        }
-
-        if (children != null) {
-            for (PrefetchTreeNode child : children) {
-                if (child.isJointPrefetch()) {
-                    cloned.addChild(child.cloneJointSubtree(cloned));
-                }
-            }
-        }
-
-        return cloned;
-    }
-
-    /**
-     * Traverses the tree depth-first, invoking callback methods of the processor when
-     * passing through the nodes.
-     */
-    public void traverse(PrefetchProcessor processor) {
-
-        boolean result = false;
-
-        if (isPhantom()) {
-            result = processor.startPhantomPrefetch(this);
-        }
-        else if (isDisjointPrefetch()) {
-            result = processor.startDisjointPrefetch(this);
-        }
-        else if (isDisjointByIdPrefetch()) {
-            result = processor.startDisjointByIdPrefetch(this);
-        }
-        else if (isJointPrefetch()) {
-            result = processor.startJointPrefetch(this);
-        }
-        else {
-            result = processor.startUnknownPrefetch(this);
-        }
-
-        // process children unless processing is blocked...
-        if (result && children != null) {
-            for (PrefetchTreeNode child : children) {
-                child.traverse(processor);
-            }
-        }
-
-        // call finish regardless of whether children were processed
-        processor.finishPrefetch(this);
-    }
-
-    /**
-     * Looks up an existing node in the tree desribed by the dot-separated path. Will
-     * return null if no matching child exists.
-     */
-    public PrefetchTreeNode getNode(String path) {
-        if (Util.isEmptyString(path)) {
-            throw new IllegalArgumentException("Empty path: " + path);
-        }
-
-        PrefetchTreeNode node = this;
-        StringTokenizer toks = new StringTokenizer(path, Entity.PATH_SEPARATOR);
-        while (toks.hasMoreTokens() && node != null) {
-            String segment = toks.nextToken();
-            node = node.getChild(segment);
-        }
-
-        return node;
-    }
-
-    /**
-     * Adds a "path" with specified semantics to this prefetch node. All yet non-existent
-     * nodes in the created path will be marked as phantom.
-     *
-     * @return the last segment in the created path.
-     */
-    public PrefetchTreeNode addPath(String path) {
-        if (Util.isEmptyString(path)) {
-            throw new IllegalArgumentException("Empty path: " + path);
-        }
-
-        PrefetchTreeNode node = this;
-        StringTokenizer toks = new StringTokenizer(path, Entity.PATH_SEPARATOR);
-        while (toks.hasMoreTokens()) {
-            String segment = toks.nextToken();
-
-            PrefetchTreeNode child = node.getChild(segment);
-            if (child == null) {
-                child = new PrefetchTreeNode(node, segment);
-                node.addChild(child);
-            }
-
-            node = child;
-        }
-
-        return node;
-    }
-
-    /**
-     * Removes or makes phantom a node defined by this path. If the node for this path
-     * doesn't have any children, it is removed, otherwise it is made phantom.
-     */
-    public void removePath(String path) {
-
-        PrefetchTreeNode node = getNode(path);
-        while (node != null) {
-
-            if (node.children != null) {
-                node.setPhantom(true);
-                break;
-            }
-
-            String segment = node.getName();
-
-            node = node.getParent();
-
-            if (node != null) {
-                node.removeChild(segment);
-            }
-        }
-    }
-
-    public void addChild(PrefetchTreeNode child) {
-
-        if (Util.isEmptyString(child.getName())) {
-            throw new IllegalArgumentException("Child has no segmentPath: " + child);
-        }
-
-        if (child.getParent() != this) {
-            child.getParent().removeChild(child.getName());
-            child.parent = this;
-        }
-
-        if (children == null) {
-            children = new ArrayList<PrefetchTreeNode>(4);
-        }
-
-        children.add(child);
-    }
-
-    public void removeChild(PrefetchTreeNode child) {
-        if (children != null && child != null) {
-            children.remove(child);
-            child.parent = null;
-        }
-    }
-
-    protected void removeChild(String segment) {
-        if (children != null) {
-            PrefetchTreeNode child = getChild(segment);
-            if (child != null) {
-                children.remove(child);
-                child.parent = null;
-            }
-        }
-    }
-
-    protected PrefetchTreeNode getChild(String segment) {
-        if (children != null) {
-            for (PrefetchTreeNode child : children) {
-                if (segment.equals(child.getName())) {
-                    return child;
-                }
-            }
-        }
-
-        return null;
-    }
-
-    public PrefetchTreeNode getParent() {
-        return parent;
-    }
-
-    /**
-     * Returns an unmodifiable collection of children.
-     */
-    public Collection<PrefetchTreeNode> getChildren() {
-        return children == null ? Collections.EMPTY_SET : Collections
-                .unmodifiableCollection(children);
-    }
-
-    public boolean hasChildren() {
-        return children != null && !children.isEmpty();
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public boolean isPhantom() {
-        return phantom;
-    }
-
-    public void setPhantom(boolean phantom) {
-        this.phantom = phantom;
-    }
-
-    public int getSemantics() {
-        return semantics;
-    }
-
-    public void setSemantics(int semantics) {
-        this.semantics = semantics;
-    }
-
-    public boolean isJointPrefetch() {
-        return semantics == JOINT_PREFETCH_SEMANTICS;
-    }
-
-    public boolean isDisjointPrefetch() {
-        return semantics == DISJOINT_PREFETCH_SEMANTICS;
-    }
-
-    public boolean isDisjointByIdPrefetch() {
-        return semantics == DISJOINT_BY_ID_PREFETCH_SEMANTICS;
-    }
-
-    public String getEjbqlPathEntityId() {
-        return ejbqlPathEntityId;
-    }
-
-    public void setEjbqlPathEntityId(String ejbqlPathEntityId) {
-        this.ejbqlPathEntityId = ejbqlPathEntityId;
-    }
-
-    public String getEntityName() {
-        return entityName;
-    }
-
-    public void setEntityName(String entityName) {
-        this.entityName = entityName;
-    }
-
-
-    // **** custom serialization that supports serializing subtrees...
-
-    // implementing 'readResolve' instead of 'readObject' so that this would work with
-    // hessian
-    private Object readResolve() throws ObjectStreamException {
-
-        if (hasChildren()) {
-            for (PrefetchTreeNode child : children) {
-                child.parent = this;
-            }
-        }
-
-        return this;
-    }
-
-    // **** common tree operations
-
-    // An operation that encodes prefetch tree as XML.
-    class XMLEncoderOperation implements PrefetchProcessor {
-
-        XMLEncoder encoder;
-
-        XMLEncoderOperation(XMLEncoder encoder) {
-            this.encoder = encoder;
-        }
-
-        public boolean startPhantomPrefetch(PrefetchTreeNode node) {
-            // don't encode phantoms
-            return true;
-        }
-
-        public boolean startDisjointPrefetch(PrefetchTreeNode node) {
-            encoder.print("<prefetch type=\"disjoint\">");
-            encoder.print(node.getPath());
-            encoder.println("</prefetch>");
-            return true;
-        }
-
-        public boolean startDisjointByIdPrefetch(PrefetchTreeNode node) {
-            encoder.print("<prefetch type=\"disjointById\">");
-            encoder.print(node.getPath());
-            encoder.println("</prefetch>");
-            return true;
-        }
-
-        public boolean startJointPrefetch(PrefetchTreeNode node) {
-            encoder.print("<prefetch type=\"joint\">");
-            encoder.print(node.getPath());
-            encoder.println("</prefetch>");
-            return true;
-        }
-
-        public boolean startUnknownPrefetch(PrefetchTreeNode node) {
-            encoder.print("<prefetch>");
-            encoder.print(node.getPath());
-            encoder.println("</prefetch>");
-
-            return true;
-        }
-
-        public void finishPrefetch(PrefetchTreeNode node) {
-            // noop
-        }
-    }
-
-    // An operation that collects all nodes in a single collection.
-    class CollectionBuilderOperation implements PrefetchProcessor {
-
-        Collection<PrefetchTreeNode> nodes;
-        boolean includePhantom;
-        boolean includeDisjoint;
-        boolean includeDisjointById;
-        boolean includeJoint;
-        boolean includeUnknown;
-
-        CollectionBuilderOperation(Collection<PrefetchTreeNode> nodes, boolean includeDisjoint,
-                boolean includeDisjointById, boolean includeJoint, boolean includeUnknown, boolean includePhantom) {
-            this.nodes = nodes;
-
-            this.includeDisjoint = includeDisjoint;
-            this.includeDisjointById = includeDisjointById;
-            this.includeJoint = includeJoint;
-            this.includeUnknown = includeUnknown;
-            this.includePhantom = includePhantom;
-        }
-
-        public boolean startPhantomPrefetch(PrefetchTreeNode node) {
-            if (includePhantom) {
-                nodes.add(node);
-            }
-
-            return true;
-        }
-
-        public boolean startDisjointPrefetch(PrefetchTreeNode node) {
-            if (includeDisjoint) {
-                nodes.add(node);
-            }
-            return true;
-        }
-
-        public boolean startDisjointByIdPrefetch(PrefetchTreeNode node) {
-            if (includeDisjointById) {
-                nodes.add(node);
-            }
-            return true;
-        }
-
-        public boolean startJointPrefetch(PrefetchTreeNode node) {
-            if (includeJoint) {
-                nodes.add(node);
-            }
-            return true;
-        }
-
-        public boolean startUnknownPrefetch(PrefetchTreeNode node) {
-            if (includeUnknown) {
-                nodes.add(node);
-            }
-            return true;
-        }
-
-        public void finishPrefetch(PrefetchTreeNode node) {
-        }
-    }
-
-    class AdjacentJoinsOperation implements PrefetchProcessor {
-
-        Collection<PrefetchTreeNode> nodes;
-
-        AdjacentJoinsOperation(Collection<PrefetchTreeNode> nodes) {
-            this.nodes = nodes;
-        }
-
-        public boolean startPhantomPrefetch(PrefetchTreeNode node) {
-            return true;
-        }
-
-        public boolean startDisjointPrefetch(PrefetchTreeNode node) {
-            return node == PrefetchTreeNode.this;
-        }
-
-        public boolean startDisjointByIdPrefetch(PrefetchTreeNode node) {
-            return startDisjointPrefetch(node);
-        }
-
-        public boolean startJointPrefetch(PrefetchTreeNode node) {
-            if (node != PrefetchTreeNode.this) {
-                nodes.add(node);
-            }
-            return true;
-        }
-
-        public boolean startUnknownPrefetch(PrefetchTreeNode node) {
-            return node == PrefetchTreeNode.this;
-        }
-
-        public void finishPrefetch(PrefetchTreeNode node) {
-        }
-    }
+	private static final long serialVersionUID = 1112629504025820837L;
+
+	public static final int UNDEFINED_SEMANTICS = 0;
+	public static final int JOINT_PREFETCH_SEMANTICS = 1;
+	public static final int DISJOINT_PREFETCH_SEMANTICS = 2;
+	public static final int DISJOINT_BY_ID_PREFETCH_SEMANTICS = 3;
+
+	protected String name;
+	protected boolean phantom;
+	protected int semantics;
+	protected String ejbqlPathEntityId;
+	protected String entityName;
+
+	// transient parent allows cloning parts of the tree via serialization
+	protected transient PrefetchTreeNode parent;
+
+	// Using Collection instead of Map for children storage (even though there
+	// cases of
+	// lookup by segment) is a reasonable tradeoff considering that
+	// each node has no more than a few children and lookup by name doesn't
+	// happen on
+	// traversal, only during creation.
+	protected Collection<PrefetchTreeNode> children;
+
+	/**
+	 * Creates a root node of the prefetch tree. Children can be added to the
+	 * parent by calling "addPath".
+	 */
+	public PrefetchTreeNode() {
+		this(null, null);
+	}
+
+	/**
+	 * Creates a phantom PrefetchTreeNode, initializing it with parent node and
+	 * a name of a relationship segment connecting this node with the parent.
+	 */
+	protected PrefetchTreeNode(PrefetchTreeNode parent, String name) {
+		this.parent = parent;
+		this.name = name;
+		this.phantom = true;
+		this.semantics = UNDEFINED_SEMANTICS;
+	}
+
+	public void encodeAsXML(XMLEncoder encoder) {
+		traverse(new XMLEncoderOperation(encoder));
+	}
+
+	/**
+	 * Returns the root of the node tree. Root is the topmost parent node that
+	 * itself has no parent set.
+	 */
+	public PrefetchTreeNode getRoot() {
+		return (parent != null) ? parent.getRoot() : this;
+	}
+
+	/**
+	 * Returns full prefetch path, that is a dot separated String of node names
+	 * starting from root and up to and including this node. Note that root
+	 * "name" is considered to be an empty string.
+	 */
+	public String getPath() {
+		return getPath(null);
+	}
+
+	public String getPath(PrefetchTreeNode upTillParent) {
+		if (parent == null || upTillParent == this) {
+			return "";
+		}
+
+		StringBuilder path = new StringBuilder(getName());
+		PrefetchTreeNode node = this.getParent();
+
+		// root node has no path
+		while (node.getParent() != null && node != upTillParent) {
+			path.insert(0, node.getName() + ".");
+			node = node.getParent();
+		}
+
+		return path.toString();
+	}
+
+	/**
+	 * Returns a subset of nodes with "joint" semantics that are to be
+	 * prefetched in the same query as the current node. Result excludes this
+	 * node, regardless of its semantics.
+	 */
+	public Collection<PrefetchTreeNode> adjacentJointNodes() {
+		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		traverse(new AdjacentJoinsOperation(c));
+		return c;
+	}
+
+	/**
+	 * Returns a collection of PrefetchTreeNodes in this tree with joint
+	 * semantics.
+	 */
+	public Collection<PrefetchTreeNode> jointNodes() {
+		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		traverse(new CollectionBuilderOperation(c, false, false, true, false, false));
+		return c;
+	}
+
+	/**
+	 * Returns a collection of PrefetchTreeNodes with disjoint semantics.
+	 */
+	public Collection<PrefetchTreeNode> disjointNodes() {
+		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		traverse(new CollectionBuilderOperation(c, true, false, false, false, false));
+		return c;
+	}
+
+	/**
+	 * Returns a collection of PrefetchTreeNodes with disjoint semantics
+	 * 
+	 * @since 3.1
+	 */
+	public Collection<PrefetchTreeNode> disjointByIdNodes() {
+		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		traverse(new CollectionBuilderOperation(c, false, true, false, false, false));
+		return c;
+	}
+
+	/**
+	 * Returns a collection of PrefetchTreeNodes that are not phantoms.
+	 */
+	public Collection<PrefetchTreeNode> nonPhantomNodes() {
+		Collection<PrefetchTreeNode> c = new ArrayList<PrefetchTreeNode>();
+		traverse(new CollectionBuilderOperation(c, true, true, true, true, false));
+		return c;
+	}
+
+	/**
+	 * Returns a clone of subtree that includes all joint children starting from
+	 * this node itself and till the first occurrence of non-joint node
+	 *
+	 * @since 3.1
+	 */
+	public PrefetchTreeNode cloneJointSubtree() {
+		return cloneJointSubtree(null);
+	}
+
+	private PrefetchTreeNode cloneJointSubtree(PrefetchTreeNode parent) {
+		PrefetchTreeNode cloned = new PrefetchTreeNode(parent, getName());
+		if (parent != null) {
+			cloned.setSemantics(getSemantics());
+			cloned.setPhantom(isPhantom());
+		}
+
+		if (children != null) {
+			for (PrefetchTreeNode child : children) {
+				if (child.isJointPrefetch()) {
+					cloned.addChild(child.cloneJointSubtree(cloned));
+				}
+			}
+		}
+
+		return cloned;
+	}
+
+	/**
+	 * Traverses the tree depth-first, invoking callback methods of the
+	 * processor when passing through the nodes.
+	 */
+	public void traverse(PrefetchProcessor processor) {
+
+		boolean result = false;
+
+		if (isPhantom()) {
+			result = processor.startPhantomPrefetch(this);
+		} else if (isDisjointPrefetch()) {
+			result = processor.startDisjointPrefetch(this);
+		} else if (isDisjointByIdPrefetch()) {
+			result = processor.startDisjointByIdPrefetch(this);
+		} else if (isJointPrefetch()) {
+			result = processor.startJointPrefetch(this);
+		} else {
+			result = processor.startUnknownPrefetch(this);
+		}
+
+		// process children unless processing is blocked...
+		if (result && children != null) {
+			for (PrefetchTreeNode child : children) {
+				child.traverse(processor);
+			}
+		}
+
+		// call finish regardless of whether children were processed
+		processor.finishPrefetch(this);
+	}
+
+	/**
+	 * Looks up an existing node in the tree desribed by the dot-separated path.
+	 * Will return null if no matching child exists.
+	 */
+	public PrefetchTreeNode getNode(String path) {
+		if (Util.isEmptyString(path)) {
+			throw new IllegalArgumentException("Empty path: " + path);
+		}
+
+		PrefetchTreeNode node = this;
+		StringTokenizer toks = new StringTokenizer(path, Entity.PATH_SEPARATOR);
+		while (toks.hasMoreTokens() && node != null) {
+			String segment = toks.nextToken();
+			node = node.getChild(segment);
+		}
+
+		return node;
+	}
+
+	/**
+	 * Adds a "path" with specified semantics to this prefetch node. All yet
+	 * non-existent nodes in the created path will be marked as phantom.
+	 *
+	 * @return the last segment in the created path.
+	 */
+	public PrefetchTreeNode addPath(String path) {
+		if (Util.isEmptyString(path)) {
+			throw new IllegalArgumentException("Empty path: " + path);
+		}
+
+		PrefetchTreeNode node = this;
+		StringTokenizer toks = new StringTokenizer(path, Entity.PATH_SEPARATOR);
+		while (toks.hasMoreTokens()) {
+			String segment = toks.nextToken();
+
+			PrefetchTreeNode child = node.getChild(segment);
+			if (child == null) {
+				child = new PrefetchTreeNode(node, segment);
+				node.addChild(child);
+			}
+
+			node = child;
+		}
+
+		return node;
+	}
+
+	/**
+	 * Merges {@link PrefetchTreeNode} into the current prefetch tree, cloning
+	 * the nodes added to this tree. Merged nodes semantics (if defined) and
+	 * non-phantom status are applied to the nodes of this tree.
+	 * 
+	 * @param node
+	 *            a root node of a tree to merge into this tree. The path of the
+	 *            merged node within the resulting tree is determined from its
+	 *            name.
+	 * 
+	 * @since 4.0
+	 */
+	public void merge(PrefetchTreeNode node) {
+		if (node == null) {
+			throw new NullPointerException("Null node");
+		}
+
+		PrefetchTreeNode start = node.getName() != null ? addPath(node.getName()) : this;
+		merge(start, node);
+	}
+
+	void merge(PrefetchTreeNode original, PrefetchTreeNode toMerge) {
+
+		if (toMerge.getSemantics() != UNDEFINED_SEMANTICS) {
+			original.setSemantics(toMerge.getSemantics());
+		}
+
+		if (!toMerge.isPhantom()) {
+			original.setPhantom(false);
+		}
+
+		for (PrefetchTreeNode childToMerge : toMerge.getChildren()) {
+
+			PrefetchTreeNode childOrigin = original.getChild(childToMerge.getName());
+			if (childOrigin == null) {
+				childOrigin = original.addPath(childToMerge.getName());
+			}
+
+			merge(childOrigin, childToMerge);
+		}
+	}
+
+	/**
+	 * Removes or makes phantom a node defined by this path. If the node for
+	 * this path doesn't have any children, it is removed, otherwise it is made
+	 * phantom.
+	 */
+	public void removePath(String path) {
+
+		PrefetchTreeNode node = getNode(path);
+		while (node != null) {
+
+			if (node.children != null) {
+				node.setPhantom(true);
+				break;
+			}
+
+			String segment = node.getName();
+
+			node = node.getParent();
+
+			if (node != null) {
+				node.removeChild(segment);
+			}
+		}
+	}
+
+	public void addChild(PrefetchTreeNode child) {
+
+		if (Util.isEmptyString(child.getName())) {
+			throw new IllegalArgumentException("Child has no segmentPath: " + child);
+		}
+
+		if (child.getParent() != this) {
+			child.getParent().removeChild(child.getName());
+			child.parent = this;
+		}
+
+		if (children == null) {
+			children = new ArrayList<PrefetchTreeNode>(4);
+		}
+
+		children.add(child);
+	}
+
+	public void removeChild(PrefetchTreeNode child) {
+		if (children != null && child != null) {
+			children.remove(child);
+			child.parent = null;
+		}
+	}
+
+	protected void removeChild(String segment) {
+		if (children != null) {
+			PrefetchTreeNode child = getChild(segment);
+			if (child != null) {
+				children.remove(child);
+				child.parent = null;
+			}
+		}
+	}
+
+	protected PrefetchTreeNode getChild(String segment) {
+		if (children != null) {
+			for (PrefetchTreeNode child : children) {
+				if (segment.equals(child.getName())) {
+					return child;
+				}
+			}
+		}
+
+		return null;
+	}
+
+	public PrefetchTreeNode getParent() {
+		return parent;
+	}
+
+	/**
+	 * Returns an unmodifiable collection of children.
+	 */
+	public Collection<PrefetchTreeNode> getChildren() {
+		return children == null ? Collections.<PrefetchTreeNode> emptySet() : children;
+	}
+
+	public boolean hasChildren() {
+		return children != null && !children.isEmpty();
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public boolean isPhantom() {
+		return phantom;
+	}
+
+	public void setPhantom(boolean phantom) {
+		this.phantom = phantom;
+	}
+
+	public int getSemantics() {
+		return semantics;
+	}
+
+	public void setSemantics(int semantics) {
+		this.semantics = semantics;
+	}
+
+	public boolean isJointPrefetch() {
+		return semantics == JOINT_PREFETCH_SEMANTICS;
+	}
+
+	public boolean isDisjointPrefetch() {
+		return semantics == DISJOINT_PREFETCH_SEMANTICS;
+	}
+
+	public boolean isDisjointByIdPrefetch() {
+		return semantics == DISJOINT_BY_ID_PREFETCH_SEMANTICS;
+	}
+
+	public String getEjbqlPathEntityId() {
+		return ejbqlPathEntityId;
+	}
+
+	public void setEjbqlPathEntityId(String ejbqlPathEntityId) {
+		this.ejbqlPathEntityId = ejbqlPathEntityId;
+	}
+
+	public String getEntityName() {
+		return entityName;
+	}
+
+	public void setEntityName(String entityName) {
+		this.entityName = entityName;
+	}
+
+	// **** custom serialization that supports serializing subtrees...
+
+	// implementing 'readResolve' instead of 'readObject' so that this would
+	// work with
+	// hessian
+	private Object readResolve() throws ObjectStreamException {
+
+		if (hasChildren()) {
+			for (PrefetchTreeNode child : children) {
+				child.parent = this;
+			}
+		}
+
+		return this;
+	}
+
+	// **** common tree operations
+
+	// An operation that encodes prefetch tree as XML.
+	class XMLEncoderOperation implements PrefetchProcessor {
+
+		XMLEncoder encoder;
+
+		XMLEncoderOperation(XMLEncoder encoder) {
+			this.encoder = encoder;
+		}
+
+		public boolean startPhantomPrefetch(PrefetchTreeNode node) {
+			// don't encode phantoms
+			return true;
+		}
+
+		public boolean startDisjointPrefetch(PrefetchTreeNode node) {
+			encoder.print("<prefetch type=\"disjoint\">");
+			encoder.print(node.getPath());
+			encoder.println("</prefetch>");
+			return true;
+		}
+
+		public boolean startDisjointByIdPrefetch(PrefetchTreeNode node) {
+			encoder.print("<prefetch type=\"disjointById\">");
+			encoder.print(node.getPath());
+			encoder.println("</prefetch>");
+			return true;
+		}
+
+		public boolean startJointPrefetch(PrefetchTreeNode node) {
+			encoder.print("<prefetch type=\"joint\">");
+			encoder.print(node.getPath());
+			encoder.println("</prefetch>");
+			return true;
+		}
+
+		public boolean startUnknownPrefetch(PrefetchTreeNode node) {
+			encoder.print("<prefetch>");
+			encoder.print(node.getPath());
+			encoder.println("</prefetch>");
+
+			return true;
+		}
+
+		public void finishPrefetch(PrefetchTreeNode node) {
+			// noop
+		}
+	}
+
+	// An operation that collects all nodes in a single collection.
+	class CollectionBuilderOperation implements PrefetchProcessor {
+
+		Collection<PrefetchTreeNode> nodes;
+		boolean includePhantom;
+		boolean includeDisjoint;
+		boolean includeDisjointById;
+		boolean includeJoint;
+		boolean includeUnknown;
+
+		CollectionBuilderOperation(Collection<PrefetchTreeNode> nodes, boolean includeDisjoint,
+				boolean includeDisjointById, boolean includeJoint, boolean includeUnknown, boolean includePhantom) {
+			this.nodes = nodes;
+
+			this.includeDisjoint = includeDisjoint;
+			this.includeDisjointById = includeDisjointById;
+			this.includeJoint = includeJoint;
+			this.includeUnknown = includeUnknown;
+			this.includePhantom = includePhantom;
+		}
+
+		public boolean startPhantomPrefetch(PrefetchTreeNode node) {
+			if (includePhantom) {
+				nodes.add(node);
+			}
+
+			return true;
+		}
+
+		public boolean startDisjointPrefetch(PrefetchTreeNode node) {
+			if (includeDisjoint) {
+				nodes.add(node);
+			}
+			return true;
+		}
+
+		public boolean startDisjointByIdPrefetch(PrefetchTreeNode node) {
+			if (includeDisjointById) {
+				nodes.add(node);
+			}
+			return true;
+		}
+
+		public boolean startJointPrefetch(PrefetchTreeNode node) {
+			if (includeJoint) {
+				nodes.add(node);
+			}
+			return true;
+		}
+
+		public boolean startUnknownPrefetch(PrefetchTreeNode node) {
+			if (includeUnknown) {
+				nodes.add(node);
+			}
+			return true;
+		}
+
+		public void finishPrefetch(PrefetchTreeNode node) {
+		}
+	}
+
+	class AdjacentJoinsOperation implements PrefetchProcessor {
+
+		Collection<PrefetchTreeNode> nodes;
+
+		AdjacentJoinsOperation(Collection<PrefetchTreeNode> nodes) {
+			this.nodes = nodes;
+		}
+
+		public boolean startPhantomPrefetch(PrefetchTreeNode node) {
+			return true;
+		}
+
+		public boolean startDisjointPrefetch(PrefetchTreeNode node) {
+			return node == PrefetchTreeNode.this;
+		}
+
+		public boolean startDisjointByIdPrefetch(PrefetchTreeNode node) {
+			return startDisjointPrefetch(node);
+		}
+
+		public boolean startJointPrefetch(PrefetchTreeNode node) {
+			if (node != PrefetchTreeNode.this) {
+				nodes.add(node);
+			}
+			return true;
+		}
+
+		public boolean startUnknownPrefetch(PrefetchTreeNode node) {
+			return node == PrefetchTreeNode.this;
+		}
+
+		public void finishPrefetch(PrefetchTreeNode node) {
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4d8b2e1a/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java
index 8046a8c..b7a4fdf 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQuery.java
@@ -588,11 +588,8 @@ public class SelectQuery<T> extends AbstractQuery implements ParameterizedQuery,
 	 * 
 	 * @since 4.0
 	 */
-	public PrefetchTreeNode addPrefetch(PrefetchTreeNode prefetchElement) {
-		String path = prefetchElement.getPath();
-		int semantics = prefetchElement.getSemantics();
-
-		return metaData.addPrefetch(path, semantics);
+	public void addPrefetch(PrefetchTreeNode prefetchElement) {
+		 metaData.mergePrefetch(prefetchElement);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4d8b2e1a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
index 9b84973..daa9acd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
@@ -347,6 +347,7 @@ public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
 
         queryInterceptor.runWithQueriesBlocked(new UnitTestClosure() {
 
+        	@Override
             public void execute() {
                 assertFalse(result.isEmpty());
 


[44/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
index 87782a7..02e1a8b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryIT.java
@@ -25,14 +25,6 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.exp.Expression;
 import org.apache.cayenne.exp.ExpressionFactory;
-import org.apache.cayenne.exp.parser.ASTBitwiseAnd;
-import org.apache.cayenne.exp.parser.ASTBitwiseNot;
-import org.apache.cayenne.exp.parser.ASTBitwiseOr;
-import org.apache.cayenne.exp.parser.ASTBitwiseXor;
-import org.apache.cayenne.exp.parser.ASTEqual;
-import org.apache.cayenne.exp.parser.ASTGreater;
-import org.apache.cayenne.exp.parser.ASTObjPath;
-import org.apache.cayenne.exp.parser.ASTScalar;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.ObjEntity;
@@ -41,11 +33,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.ArtistExhibit;
-import org.apache.cayenne.testdo.testmap.ClobTestEntity;
 import org.apache.cayenne.testdo.testmap.Exhibit;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
-import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -81,22 +71,6 @@ public class SelectQueryIT extends ServerCase {
         dbHelper.deleteAll("ARTIST_EXHIBIT");
         dbHelper.deleteAll("ARTIST_GROUP");
         dbHelper.deleteAll("ARTIST");
-        dbHelper.deleteAll("CLOB_TEST_RELATION");
-        dbHelper.deleteAll("TYPES_MAPPING_TEST1");
-
-        if (accessStackAdapter.supportsLobs()) {
-            dbHelper.deleteAll("CLOB_TEST");
-        }
-    }
-
-    protected void createClobDataSet() throws Exception {
-        TableHelper tClobTest = new TableHelper(dbHelper, "CLOB_TEST");
-        tClobTest.setColumns("CLOB_TEST_ID", "CLOB_COL");
-
-        tClobTest.deleteAll();
-
-        tClobTest.insert(1, "clob1");
-        tClobTest.insert(2, "clob2");
     }
 
     protected void createArtistsDataSet() throws Exception {
@@ -118,17 +92,6 @@ public class SelectQueryIT extends ServerCase {
         tArtist.insert(2, "Y_");
     }
 
-    protected void createNumericsDataSet() throws Exception {
-        TableHelper tNumerics = new TableHelper(dbHelper, "TYPES_MAPPING_TEST1");
-        tNumerics.setColumns("AAAID", "INTEGER_COLUMN");
-
-        tNumerics.insert(1, 0);
-        tNumerics.insert(2, 1);
-        tNumerics.insert(3, 2);
-        tNumerics.insert(4, 3);
-        tNumerics.insert(5, 4);
-    }
-
     @Test
     public void testSetQualifier() {
         SelectQuery<Artist> query = new SelectQuery<Artist>(Artist.class);
@@ -375,62 +338,6 @@ public class SelectQueryIT extends ServerCase {
         assertEquals(20, objects.size());
     }
 
-    /** Test how "like ignore case" works when using uppercase parameter. */
-    @Test
-    public void testSelectLikeIgnoreCaseClob() throws Exception {
-        if (accessStackAdapter.supportsLobs()) {
-            createClobDataSet();
-            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
-            Expression qual = ExpressionFactory.likeIgnoreCaseExp("clobCol", "clob%");
-            query.setQualifier(qual);
-            List<?> objects = context.performQuery(query);
-            assertEquals(2, objects.size());
-        }
-    }
-
-    @Test
-    public void testSelectFetchLimit_Offset_DistinctClob() throws Exception {
-        if (accessStackAdapter.supportsLobs()) {
-            createClobDataSet();
-
-            // see CAY-1539... CLOB column causes suppression of DISTINCT in
-            // SQL, and hence the offset processing is done in memory
-            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
-            query.addOrdering("db:" + ClobTestEntity.CLOB_TEST_ID_PK_COLUMN, SortOrder.ASCENDING);
-            query.setFetchLimit(1);
-            query.setFetchOffset(1);
-            query.setDistinct(true);
-
-            List<ClobTestEntity> objects = context.performQuery(query);
-            assertEquals(1, objects.size());
-            assertEquals(2, Cayenne.intPKForObject(objects.get(0)));
-        }
-    }
-
-    @Test
-    public void testSelectEqualsClob() throws Exception {
-        if (accessStackAdapter.supportsLobComparisons()) {
-            createClobDataSet();
-            SelectQuery<ClobTestEntity> query = new SelectQuery<ClobTestEntity>(ClobTestEntity.class);
-            Expression qual = ExpressionFactory.matchExp("clobCol", "clob1");
-            query.setQualifier(qual);
-            List<?> objects = context.performQuery(query);
-            assertEquals(1, objects.size());
-        }
-    }
-
-    @Test
-    public void testSelectNotEqualsClob() throws Exception {
-        if (accessStackAdapter.supportsLobComparisons()) {
-            createClobDataSet();
-            SelectQuery query = new SelectQuery(ClobTestEntity.class);
-            Expression qual = ExpressionFactory.noMatchExp("clobCol", "clob1");
-            query.setQualifier(qual);
-            List<?> objects = context.performQuery(query);
-            assertEquals(1, objects.size());
-        }
-    }
-
     @Test
     public void testSelectIn() throws Exception {
         createArtistsDataSet();
@@ -506,102 +413,6 @@ public class SelectQueryIT extends ServerCase {
     }
 
     @Test
-    public void testSelectBitwiseNot() throws Exception {
-
-        if (!accessStackAdapter.supportsBitwiseOps()) {
-            return;
-        }
-
-        createNumericsDataSet();
-
-        // to simplify result checking, do double NOT
-        Expression left = new ASTBitwiseNot(new ASTBitwiseNot(new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY)));
-        Expression right = new ASTScalar(2);
-        Expression greater = new ASTGreater();
-        greater.setOperand(0, left);
-        greater.setOperand(1, right);
-
-        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
-        query.setQualifier(greater);
-
-        List<ReturnTypesMap1> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-    }
-
-    @Test
-    public void testSelectBitwiseOr() throws Exception {
-
-        if (!accessStackAdapter.supportsBitwiseOps()) {
-            return;
-        }
-
-        createNumericsDataSet();
-
-        // to simplify result checking, do double NOT
-        Expression left = new ASTBitwiseOr(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
-                new ASTScalar(1) });
-        Expression right = new ASTScalar(1);
-        Expression equal = new ASTEqual();
-        equal.setOperand(0, left);
-        equal.setOperand(1, right);
-
-        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
-        query.setQualifier(equal);
-
-        List<ReturnTypesMap1> objects = context.performQuery(query);
-        assertEquals(2, objects.size());
-    }
-
-    @Test
-    public void testSelectBitwiseAnd() throws Exception {
-
-        if (!accessStackAdapter.supportsBitwiseOps()) {
-            return;
-        }
-
-        createNumericsDataSet();
-
-        // to simplify result checking, do double NOT
-        Expression left = new ASTBitwiseAnd(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
-                new ASTScalar(1) });
-        Expression right = new ASTScalar(0);
-        Expression equal = new ASTEqual();
-        equal.setOperand(0, left);
-        equal.setOperand(1, right);
-
-        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
-        query.setQualifier(equal);
-
-        List<ReturnTypesMap1> objects = context.performQuery(query);
-        assertEquals(3, objects.size());
-    }
-
-    @Test
-    public void testSelectBitwiseXor() throws Exception {
-
-        if (!accessStackAdapter.supportsBitwiseOps()) {
-            return;
-        }
-
-        createNumericsDataSet();
-
-        // to simplify result checking, do double NOT
-        Expression left = new ASTBitwiseXor(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
-                new ASTScalar(1) });
-        Expression right = new ASTScalar(5);
-        Expression equal = new ASTEqual();
-        equal.setOperand(0, left);
-        equal.setOperand(1, right);
-
-        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
-        query.setQualifier(equal);
-
-        List<ReturnTypesMap1> objects = context.performQuery(query);
-        assertEquals(1, objects.size());
-        assertEquals(4, objects.get(0).getIntegerColumn().intValue());
-    }
-
-    @Test
     public void testSelectBooleanNotTrueOr() throws Exception {
         createArtistsDataSet();
         SelectQuery query = new SelectQuery(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
new file mode 100644
index 0000000..da3d2b4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
@@ -0,0 +1,149 @@
+package org.apache.cayenne.query;
+
+import org.apache.cayenne.ObjectContext;
+import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.exp.Expression;
+import org.apache.cayenne.exp.parser.ASTBitwiseAnd;
+import org.apache.cayenne.exp.parser.ASTBitwiseNot;
+import org.apache.cayenne.exp.parser.ASTBitwiseOr;
+import org.apache.cayenne.exp.parser.ASTBitwiseXor;
+import org.apache.cayenne.exp.parser.ASTEqual;
+import org.apache.cayenne.exp.parser.ASTGreater;
+import org.apache.cayenne.exp.parser.ASTObjPath;
+import org.apache.cayenne.exp.parser.ASTScalar;
+import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.return_types.ReturnTypesMap1;
+import org.apache.cayenne.unit.UnitDbAdapter;
+import org.apache.cayenne.unit.di.server.ServerCase;
+import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+
+@UseServerRuntime(ServerCase.RETURN_TYPES_PROJECT)
+public class SelectQueryReturnTypesIT extends ServerCase {
+
+    @Inject
+    private ObjectContext context;
+
+    @Inject
+    private DBHelper dbHelper;
+
+    @Inject
+    private UnitDbAdapter accessStackAdapter;
+
+    @Override
+    protected void setUpAfterInjection() throws Exception {
+        dbHelper.deleteAll("TYPES_MAPPING_TEST1");
+    }
+
+    protected void createNumericsDataSet() throws Exception {
+        TableHelper tNumerics = new TableHelper(dbHelper, "TYPES_MAPPING_TEST1");
+        tNumerics.setColumns("AAAID", "INTEGER_COLUMN");
+
+        tNumerics.insert(1, 0);
+        tNumerics.insert(2, 1);
+        tNumerics.insert(3, 2);
+        tNumerics.insert(4, 3);
+        tNumerics.insert(5, 4);
+    }
+
+    @Test
+    public void testSelectBitwiseNot() throws Exception {
+
+        if (!accessStackAdapter.supportsBitwiseOps()) {
+            return;
+        }
+
+        createNumericsDataSet();
+
+        // to simplify result checking, do double NOT
+        Expression left = new ASTBitwiseNot(new ASTBitwiseNot(new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY)));
+        Expression right = new ASTScalar(2);
+        Expression greater = new ASTGreater();
+        greater.setOperand(0, left);
+        greater.setOperand(1, right);
+
+        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
+        query.setQualifier(greater);
+
+        List<ReturnTypesMap1> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+    }
+
+    @Test
+    public void testSelectBitwiseOr() throws Exception {
+
+        if (!accessStackAdapter.supportsBitwiseOps()) {
+            return;
+        }
+
+        createNumericsDataSet();
+
+        // to simplify result checking, do double NOT
+        Expression left = new ASTBitwiseOr(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
+                new ASTScalar(1) });
+        Expression right = new ASTScalar(1);
+        Expression equal = new ASTEqual();
+        equal.setOperand(0, left);
+        equal.setOperand(1, right);
+
+        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
+        query.setQualifier(equal);
+
+        List<ReturnTypesMap1> objects = context.performQuery(query);
+        assertEquals(2, objects.size());
+    }
+
+    @Test
+    public void testSelectBitwiseAnd() throws Exception {
+
+        if (!accessStackAdapter.supportsBitwiseOps()) {
+            return;
+        }
+
+        createNumericsDataSet();
+
+        // to simplify result checking, do double NOT
+        Expression left = new ASTBitwiseAnd(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
+                new ASTScalar(1) });
+        Expression right = new ASTScalar(0);
+        Expression equal = new ASTEqual();
+        equal.setOperand(0, left);
+        equal.setOperand(1, right);
+
+        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
+        query.setQualifier(equal);
+
+        List<ReturnTypesMap1> objects = context.performQuery(query);
+        assertEquals(3, objects.size());
+    }
+
+    @Test
+    public void testSelectBitwiseXor() throws Exception {
+
+        if (!accessStackAdapter.supportsBitwiseOps()) {
+            return;
+        }
+
+        createNumericsDataSet();
+
+        // to simplify result checking, do double NOT
+        Expression left = new ASTBitwiseXor(new Object[] { new ASTObjPath(ReturnTypesMap1.INTEGER_COLUMN_PROPERTY),
+                new ASTScalar(1) });
+        Expression right = new ASTScalar(5);
+        Expression equal = new ASTEqual();
+        equal.setOperand(0, left);
+        equal.setOperand(1, right);
+
+        SelectQuery query = new SelectQuery(ReturnTypesMap1.class);
+        query.setQualifier(equal);
+
+        List<ReturnTypesMap1> objects = context.performQuery(query);
+        assertEquals(1, objects.size());
+        assertEquals(4, objects.get(0).getIntegerColumn().intValue());
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
index 590c170..31a53f0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/reflect/MixedPersistenceStrategyIT.java
@@ -25,8 +25,8 @@ import org.apache.cayenne.ValueHolder;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
-import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy;
-import org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2;
+import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy;
+import org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.junit.Test;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertTrue;
 /**
  * Tests conflicts between field and map-based persistence.
  */
-@UseServerRuntime(ServerCase.TESTMAP_PROJECT)
+@UseServerRuntime(ServerCase.MIXED_PERSISTENCE_STRATEGY_PROJECT)
 public class MixedPersistenceStrategyIT extends ServerCase {
 
     @Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest1.java
new file mode 100644
index 0000000..8722f87
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest1.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.binary_pk;
+
+import org.apache.cayenne.testdo.binary_pk.auto._BinaryPKTest1;
+
+public class BinaryPKTest1 extends _BinaryPKTest1 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest2.java
new file mode 100644
index 0000000..de0a1e1
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/BinaryPKTest2.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.binary_pk;
+
+import org.apache.cayenne.testdo.binary_pk.auto._BinaryPKTest2;
+
+public class BinaryPKTest2 extends _BinaryPKTest2 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest1.java
new file mode 100644
index 0000000..643892a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest1.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.binary_pk.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.binary_pk.BinaryPKTest2;
+
+/**
+ * Class _BinaryPKTest1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BinaryPKTest1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String BINARY_PKDETAILS_PROPERTY = "binaryPKDetails";
+
+    public static final String BIN_ID_PK_COLUMN = "BIN_ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<BinaryPKTest2>> BINARY_PKDETAILS = new Property<List<BinaryPKTest2>>("binaryPKDetails");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void addToBinaryPKDetails(BinaryPKTest2 obj) {
+        addToManyTarget("binaryPKDetails", obj, true);
+    }
+    public void removeFromBinaryPKDetails(BinaryPKTest2 obj) {
+        removeToManyTarget("binaryPKDetails", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<BinaryPKTest2> getBinaryPKDetails() {
+        return (List<BinaryPKTest2>)readProperty("binaryPKDetails");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest2.java
new file mode 100644
index 0000000..6279946
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/binary_pk/auto/_BinaryPKTest2.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.binary_pk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.binary_pk.BinaryPKTest1;
+
+/**
+ * Class _BinaryPKTest2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _BinaryPKTest2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DETAIL_NAME_PROPERTY = "detailName";
+    @Deprecated
+    public static final String TO_BINARY_PKMASTER_PROPERTY = "toBinaryPKMaster";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> DETAIL_NAME = new Property<String>("detailName");
+    public static final Property<BinaryPKTest1> TO_BINARY_PKMASTER = new Property<BinaryPKTest1>("toBinaryPKMaster");
+
+    public void setDetailName(String detailName) {
+        writeProperty("detailName", detailName);
+    }
+    public String getDetailName() {
+        return (String)readProperty("detailName");
+    }
+
+    public void setToBinaryPKMaster(BinaryPKTest1 toBinaryPKMaster) {
+        setToOneTarget("toBinaryPKMaster", toBinaryPKMaster, true);
+    }
+
+    public BinaryPKTest1 getToBinaryPKMaster() {
+        return (BinaryPKTest1)readProperty("toBinaryPKMaster");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharFkTestEntity.java
new file mode 100644
index 0000000..c093da3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharFkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.compound;
+
+import org.apache.cayenne.testdo.compound.auto._CharFkTestEntity;
+
+public class CharFkTestEntity extends _CharFkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharPkTestEntity.java
new file mode 100644
index 0000000..8e8f6c6
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CharPkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.compound;
+
+import org.apache.cayenne.testdo.compound.auto._CharPkTestEntity;
+
+public class CharPkTestEntity extends _CharPkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundFkTestEntity.java
new file mode 100644
index 0000000..4dbd0f2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundFkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.compound;
+
+import org.apache.cayenne.testdo.compound.auto._CompoundFkTestEntity;
+
+public class CompoundFkTestEntity extends _CompoundFkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundPkTestEntity.java
new file mode 100644
index 0000000..41c313b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/CompoundPkTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.compound;
+
+import org.apache.cayenne.testdo.compound.auto._CompoundPkTestEntity;
+
+public class CompoundPkTestEntity extends _CompoundPkTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharFkTestEntity.java
new file mode 100644
index 0000000..08982d4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharFkTestEntity.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.compound.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.compound.CharPkTestEntity;
+
+/**
+ * Class _CharFkTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _CharFkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_CHAR_PK_PROPERTY = "toCharPK";
+
+    public static final String PK_PK_COLUMN = "PK";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<CharPkTestEntity> TO_CHAR_PK = new Property<CharPkTestEntity>("toCharPK");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToCharPK(CharPkTestEntity toCharPK) {
+        setToOneTarget("toCharPK", toCharPK, true);
+    }
+
+    public CharPkTestEntity getToCharPK() {
+        return (CharPkTestEntity)readProperty("toCharPK");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharPkTestEntity.java
new file mode 100644
index 0000000..5711aaf
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CharPkTestEntity.java
@@ -0,0 +1,58 @@
+package org.apache.cayenne.testdo.compound.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.compound.CharFkTestEntity;
+
+/**
+ * Class _CharPkTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _CharPkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String OTHER_COL_PROPERTY = "otherCol";
+    @Deprecated
+    public static final String PK_COL_PROPERTY = "pkCol";
+    @Deprecated
+    public static final String CHAR_FKS_PROPERTY = "charFKs";
+
+    public static final String PK_COL_PK_COLUMN = "PK_COL";
+
+    public static final Property<String> OTHER_COL = new Property<String>("otherCol");
+    public static final Property<String> PK_COL = new Property<String>("pkCol");
+    public static final Property<List<CharFkTestEntity>> CHAR_FKS = new Property<List<CharFkTestEntity>>("charFKs");
+
+    public void setOtherCol(String otherCol) {
+        writeProperty("otherCol", otherCol);
+    }
+    public String getOtherCol() {
+        return (String)readProperty("otherCol");
+    }
+
+    public void setPkCol(String pkCol) {
+        writeProperty("pkCol", pkCol);
+    }
+    public String getPkCol() {
+        return (String)readProperty("pkCol");
+    }
+
+    public void addToCharFKs(CharFkTestEntity obj) {
+        addToManyTarget("charFKs", obj, true);
+    }
+    public void removeFromCharFKs(CharFkTestEntity obj) {
+        removeToManyTarget("charFKs", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<CharFkTestEntity> getCharFKs() {
+        return (List<CharFkTestEntity>)readProperty("charFKs");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundFkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundFkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundFkTestEntity.java
new file mode 100644
index 0000000..5032419
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundFkTestEntity.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.compound.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.compound.CompoundPkTestEntity;
+
+/**
+ * Class _CompoundFkTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _CompoundFkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_COMPOUND_PK_PROPERTY = "toCompoundPk";
+
+    public static final String PKEY_PK_COLUMN = "PKEY";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<CompoundPkTestEntity> TO_COMPOUND_PK = new Property<CompoundPkTestEntity>("toCompoundPk");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToCompoundPk(CompoundPkTestEntity toCompoundPk) {
+        setToOneTarget("toCompoundPk", toCompoundPk, true);
+    }
+
+    public CompoundPkTestEntity getToCompoundPk() {
+        return (CompoundPkTestEntity)readProperty("toCompoundPk");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundPkTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundPkTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundPkTestEntity.java
new file mode 100644
index 0000000..c6ca8ef
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/compound/auto/_CompoundPkTestEntity.java
@@ -0,0 +1,69 @@
+package org.apache.cayenne.testdo.compound.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.compound.CompoundFkTestEntity;
+
+/**
+ * Class _CompoundPkTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _CompoundPkTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String KEY1_PROPERTY = "key1";
+    @Deprecated
+    public static final String KEY2_PROPERTY = "key2";
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String COMPOUND_FK_ARRAY_PROPERTY = "compoundFkArray";
+
+    public static final String KEY1_PK_COLUMN = "KEY1";
+    public static final String KEY2_PK_COLUMN = "KEY2";
+
+    public static final Property<String> KEY1 = new Property<String>("key1");
+    public static final Property<String> KEY2 = new Property<String>("key2");
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<CompoundFkTestEntity>> COMPOUND_FK_ARRAY = new Property<List<CompoundFkTestEntity>>("compoundFkArray");
+
+    public void setKey1(String key1) {
+        writeProperty("key1", key1);
+    }
+    public String getKey1() {
+        return (String)readProperty("key1");
+    }
+
+    public void setKey2(String key2) {
+        writeProperty("key2", key2);
+    }
+    public String getKey2() {
+        return (String)readProperty("key2");
+    }
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void addToCompoundFkArray(CompoundFkTestEntity obj) {
+        addToManyTarget("compoundFkArray", obj, true);
+    }
+    public void removeFromCompoundFkArray(CompoundFkTestEntity obj) {
+        removeToManyTarget("compoundFkArray", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<CompoundFkTestEntity> getCompoundFkArray() {
+        return (List<CompoundFkTestEntity>)readProperty("compoundFkArray");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/CalendarEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/CalendarEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/CalendarEntity.java
new file mode 100644
index 0000000..567347d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/CalendarEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.date_time;
+
+import org.apache.cayenne.testdo.date_time.auto._CalendarEntity;
+
+public class CalendarEntity extends _CalendarEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/DateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/DateTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/DateTestEntity.java
new file mode 100644
index 0000000..fabe47f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/DateTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.date_time;
+
+import org.apache.cayenne.testdo.date_time.auto._DateTestEntity;
+
+public class DateTestEntity extends _DateTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_CalendarEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_CalendarEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_CalendarEntity.java
new file mode 100644
index 0000000..b3a8f50
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_CalendarEntity.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.date_time.auto;
+
+import java.util.Calendar;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _CalendarEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _CalendarEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String CALENDAR_FIELD_PROPERTY = "calendarField";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Calendar> CALENDAR_FIELD = new Property<Calendar>("calendarField");
+
+    public void setCalendarField(Calendar calendarField) {
+        writeProperty("calendarField", calendarField);
+    }
+    public Calendar getCalendarField() {
+        return (Calendar)readProperty("calendarField");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_DateTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_DateTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_DateTestEntity.java
new file mode 100644
index 0000000..10163cc
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/date_time/auto/_DateTestEntity.java
@@ -0,0 +1,52 @@
+package org.apache.cayenne.testdo.date_time.auto;
+
+import java.util.Date;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _DateTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DateTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String DATE_COLUMN_PROPERTY = "dateColumn";
+    @Deprecated
+    public static final String TIME_COLUMN_PROPERTY = "timeColumn";
+    @Deprecated
+    public static final String TIMESTAMP_COLUMN_PROPERTY = "timestampColumn";
+
+    public static final String DATE_TEST_ID_PK_COLUMN = "DATE_TEST_ID";
+
+    public static final Property<Date> DATE_COLUMN = new Property<Date>("dateColumn");
+    public static final Property<Date> TIME_COLUMN = new Property<Date>("timeColumn");
+    public static final Property<Date> TIMESTAMP_COLUMN = new Property<Date>("timestampColumn");
+
+    public void setDateColumn(Date dateColumn) {
+        writeProperty("dateColumn", dateColumn);
+    }
+    public Date getDateColumn() {
+        return (Date)readProperty("dateColumn");
+    }
+
+    public void setTimeColumn(Date timeColumn) {
+        writeProperty("timeColumn", timeColumn);
+    }
+    public Date getTimeColumn() {
+        return (Date)readProperty("timeColumn");
+    }
+
+    public void setTimestampColumn(Date timestampColumn) {
+        writeProperty("timestampColumn", timestampColumn);
+    }
+    public Date getTimestampColumn() {
+        return (Date)readProperty("timestampColumn");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/Enum1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/Enum1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/Enum1.java
new file mode 100644
index 0000000..9b83083
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/Enum1.java
@@ -0,0 +1,23 @@
+/*****************************************************************
+ *   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.testdo.enum_test;
+
+public enum Enum1 {
+    one, two, three
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/EnumEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/EnumEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/EnumEntity.java
new file mode 100644
index 0000000..c7002af
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/EnumEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.enum_test;
+
+import org.apache.cayenne.testdo.enum_test.auto._EnumEntity;
+
+public class EnumEntity extends _EnumEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/auto/_EnumEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/auto/_EnumEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/auto/_EnumEntity.java
new file mode 100644
index 0000000..ed1fee6
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/enum_test/auto/_EnumEntity.java
@@ -0,0 +1,31 @@
+package org.apache.cayenne.testdo.enum_test.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.enum_test.Enum1;
+
+/**
+ * Class _EnumEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _EnumEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String ENUM_ATTRIBUTE_PROPERTY = "enumAttribute";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<Enum1> ENUM_ATTRIBUTE = new Property<Enum1>("enumAttribute");
+
+    public void setEnumAttribute(Enum1 enumAttribute) {
+        writeProperty("enumAttribute", enumAttribute);
+    }
+    public Enum1 getEnumAttribute() {
+        return (Enum1)readProperty("enumAttribute");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/ExtendedTypeEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/ExtendedTypeEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/ExtendedTypeEntity.java
new file mode 100644
index 0000000..28de153
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/ExtendedTypeEntity.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.extended_type;
+
+import org.apache.cayenne.testdo.extended_type.auto._ExtendedTypeEntity;
+
+public class ExtendedTypeEntity extends _ExtendedTypeEntity {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1.java
new file mode 100644
index 0000000..9f5da53
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1.java
@@ -0,0 +1,35 @@
+/*****************************************************************
+ *   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.testdo.extended_type;
+
+/**
+ * A test extended type.
+ */
+public class StringET1 {
+
+    protected String string;
+
+    public StringET1(String string) {
+        this.string = string;
+    }
+
+    public String getString() {
+        return string;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1ExtendedType.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1ExtendedType.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1ExtendedType.java
new file mode 100644
index 0000000..69cfd39
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/StringET1ExtendedType.java
@@ -0,0 +1,62 @@
+/*****************************************************************
+ *   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.testdo.extended_type;
+
+import org.apache.cayenne.access.types.ExtendedType;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+
+public class StringET1ExtendedType implements ExtendedType {
+
+    @Override
+    public String getClassName() {
+        return StringET1.class.getName();
+    }
+
+    @Override
+    public Object materializeObject(ResultSet rs, int index, int type) throws Exception {
+        String string = rs.getString(index);
+        return string != null ? new StringET1(string) : null;
+    }
+
+    @Override
+    public Object materializeObject(CallableStatement rs, int index, int type)
+            throws Exception {
+        String string = rs.getString(index);
+        return string != null ? new StringET1(string) : null;
+    }
+
+    @Override
+    public void setJdbcObject(
+            PreparedStatement statement,
+            Object value,
+            int pos,
+            int type,
+            int precision) throws Exception {
+
+        if (value instanceof StringET1) {
+            statement.setString(pos, ((StringET1) value).getString());
+        }
+        else {
+            statement.setNull(pos, type);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/auto/_ExtendedTypeEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/auto/_ExtendedTypeEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/auto/_ExtendedTypeEntity.java
new file mode 100644
index 0000000..e71a1b5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/extended_type/auto/_ExtendedTypeEntity.java
@@ -0,0 +1,31 @@
+package org.apache.cayenne.testdo.extended_type.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.extended_type.StringET1;
+
+/**
+ * Class _ExtendedTypeEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ExtendedTypeEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<StringET1> NAME = new Property<StringET1>("name");
+
+    public void setName(StringET1 name) {
+        writeProperty("name", name);
+    }
+    public StringET1 getName() {
+        return (StringET1)readProperty("name");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompKey.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompKey.java
new file mode 100644
index 0000000..2c9413d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompKey.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnCompKey;
+
+public class GeneratedColumnCompKey extends _GeneratedColumnCompKey {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompMaster.java
new file mode 100644
index 0000000..bdf4416
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnCompMaster.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnCompMaster;
+
+public class GeneratedColumnCompMaster extends _GeneratedColumnCompMaster {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnDep.java
new file mode 100644
index 0000000..86360a2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnDep.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnDep;
+
+public class GeneratedColumnDep extends _GeneratedColumnDep {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTest2.java
new file mode 100644
index 0000000..0d10263
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTest2.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnTest2;
+
+public class GeneratedColumnTest2 extends _GeneratedColumnTest2 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTestEntity.java
new file mode 100644
index 0000000..ea759f4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedColumnTestEntity.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedColumnTestEntity;
+
+public class GeneratedColumnTestEntity extends _GeneratedColumnTestEntity {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF1.java
new file mode 100644
index 0000000..d24761e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF1.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedF1;
+
+public class GeneratedF1 extends _GeneratedF1 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF2.java
new file mode 100644
index 0000000..cb9dff5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/GeneratedF2.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.generated;
+
+import org.apache.cayenne.testdo.generated.auto._GeneratedF2;
+
+public class GeneratedF2 extends _GeneratedF2 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompKey.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompKey.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompKey.java
new file mode 100644
index 0000000..78e9132
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompKey.java
@@ -0,0 +1,45 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster;
+
+/**
+ * Class _GeneratedColumnCompKey was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _GeneratedColumnCompKey extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_MASTER_PROPERTY = "toMaster";
+
+    public static final String AUTO_PK_PK_COLUMN = "AUTO_PK";
+    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
+    public static final String PROPAGATED_PK_PK_COLUMN = "PROPAGATED_PK";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<GeneratedColumnCompMaster> TO_MASTER = new Property<GeneratedColumnCompMaster>("toMaster");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToMaster(GeneratedColumnCompMaster toMaster) {
+        setToOneTarget("toMaster", toMaster, true);
+    }
+
+    public GeneratedColumnCompMaster getToMaster() {
+        return (GeneratedColumnCompMaster)readProperty("toMaster");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompMaster.java
new file mode 100644
index 0000000..16d97ed
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnCompMaster.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedColumnCompKey;
+
+/**
+ * Class _GeneratedColumnCompMaster was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _GeneratedColumnCompMaster extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_DETAIL_PROPERTY = "toDetail";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<List<GeneratedColumnCompKey>> TO_DETAIL = new Property<List<GeneratedColumnCompKey>>("toDetail");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void addToToDetail(GeneratedColumnCompKey obj) {
+        addToManyTarget("toDetail", obj, true);
+    }
+    public void removeFromToDetail(GeneratedColumnCompKey obj) {
+        removeToManyTarget("toDetail", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<GeneratedColumnCompKey> getToDetail() {
+        return (List<GeneratedColumnCompKey>)readProperty("toDetail");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnDep.java
new file mode 100644
index 0000000..38be7ff
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnDep.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity;
+
+/**
+ * Class _GeneratedColumnDep was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _GeneratedColumnDep extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_MASTER_PROPERTY = "toMaster";
+
+    public static final String GENERATED_COLUMN_FK_PK_COLUMN = "GENERATED_COLUMN_FK";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<GeneratedColumnTestEntity> TO_MASTER = new Property<GeneratedColumnTestEntity>("toMaster");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToMaster(GeneratedColumnTestEntity toMaster) {
+        setToOneTarget("toMaster", toMaster, true);
+    }
+
+    public GeneratedColumnTestEntity getToMaster() {
+        return (GeneratedColumnTestEntity)readProperty("toMaster");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTest2.java
new file mode 100644
index 0000000..3628bfb
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTest2.java
@@ -0,0 +1,30 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _GeneratedColumnTest2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _GeneratedColumnTest2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+
+    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
+
+    public static final Property<String> NAME = new Property<String>("name");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTestEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTestEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTestEntity.java
new file mode 100644
index 0000000..8c82030
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedColumnTestEntity.java
@@ -0,0 +1,43 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedColumnDep;
+
+/**
+ * Class _GeneratedColumnTestEntity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _GeneratedColumnTestEntity extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String NAME_PROPERTY = "name";
+    @Deprecated
+    public static final String TO_DEP_PROPERTY = "toDep";
+
+    public static final String GENERATED_COLUMN_PK_COLUMN = "GENERATED_COLUMN";
+
+    public static final Property<String> NAME = new Property<String>("name");
+    public static final Property<GeneratedColumnDep> TO_DEP = new Property<GeneratedColumnDep>("toDep");
+
+    public void setName(String name) {
+        writeProperty("name", name);
+    }
+    public String getName() {
+        return (String)readProperty("name");
+    }
+
+    public void setToDep(GeneratedColumnDep toDep) {
+        setToOneTarget("toDep", toDep, true);
+    }
+
+    public GeneratedColumnDep getToDep() {
+        return (GeneratedColumnDep)readProperty("toDep");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF1.java
new file mode 100644
index 0000000..d93337d
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF1.java
@@ -0,0 +1,38 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedF2;
+
+/**
+ * Class _GeneratedF1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _GeneratedF1 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String F2_PROPERTY = "f2";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<List<GeneratedF2>> F2 = new Property<List<GeneratedF2>>("f2");
+
+    public void addToF2(GeneratedF2 obj) {
+        addToManyTarget("f2", obj, true);
+    }
+    public void removeFromF2(GeneratedF2 obj) {
+        removeToManyTarget("f2", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<GeneratedF2> getF2() {
+        return (List<GeneratedF2>)readProperty("f2");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF2.java
new file mode 100644
index 0000000..048e8a5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/generated/auto/_GeneratedF2.java
@@ -0,0 +1,38 @@
+package org.apache.cayenne.testdo.generated.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.generated.GeneratedF1;
+
+/**
+ * Class _GeneratedF2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _GeneratedF2 extends CayenneDataObject {
+
+    private static final long serialVersionUID = 1L; 
+
+    @Deprecated
+    public static final String F1_PROPERTY = "f1";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public static final Property<List<GeneratedF1>> F1 = new Property<List<GeneratedF1>>("f1");
+
+    public void addToF1(GeneratedF1 obj) {
+        addToManyTarget("f1", obj, true);
+    }
+    public void removeFromF1(GeneratedF1 obj) {
+        removeToManyTarget("f1", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<GeneratedF1> getF1() {
+        return (List<GeneratedF1>)readProperty("f1");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/AbstractSuperEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/AbstractSuperEntity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/AbstractSuperEntity.java
deleted file mode 100644
index 85ea4e0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/horizontalinherit/AbstractSuperEntity.java
+++ /dev/null
@@ -1,25 +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.testdo.horizontalinherit;
-
-import org.apache.cayenne.testdo.horizontalinherit.auto._AbstractSuperEntity;
-
-public abstract class AbstractSuperEntity extends _AbstractSuperEntity {
-
-}


[10/50] [abbrv] cayenne git commit: Apply JUnit4 instead of JUnit3 in IT

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
index 8b512f5..1ba7e74 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextRollbackIT.java
@@ -19,8 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.util.List;
-
 import org.apache.cayenne.PersistenceState;
 import org.apache.cayenne.ValueHolder;
 import org.apache.cayenne.configuration.server.ServerRuntime;
@@ -32,6 +30,9 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.List;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextRollbackIT extends ServerCase {
@@ -54,6 +55,7 @@ public class DataContextRollbackIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testRollbackNew() {
         Artist artist = (Artist) context.newObject("Artist");
         artist.setArtistName("a");
@@ -80,6 +82,7 @@ public class DataContextRollbackIT extends ServerCase {
         assertEquals(PersistenceState.TRANSIENT, artist.getPersistenceState());
     }
 
+    @Test
     public void testRollbackNewObject() {
         String artistName = "revertTestArtist";
         Artist artist = (Artist) context.newObject("Artist");
@@ -105,6 +108,7 @@ public class DataContextRollbackIT extends ServerCase {
     // Catches a bug where new objects were unregistered within an object iterator, thus
     // modifying the collection the iterator was iterating over
     // (ConcurrentModificationException)
+    @Test
     public void testRollbackWithMultipleNewObjects() {
         String artistName = "rollbackTestArtist";
         String paintingTitle = "rollbackTestPainting";
@@ -133,6 +137,7 @@ public class DataContextRollbackIT extends ServerCase {
         assertEquals(0, queryResults.size());
     }
 
+    @Test
     public void testRollbackRelationshipModification() {
         String artistName = "relationshipModArtist";
         String paintingTitle = "relationshipTestPainting";
@@ -169,6 +174,7 @@ public class DataContextRollbackIT extends ServerCase {
         assertEquals(artistName, queriedPainting.getToArtist().getArtistName());
     }
 
+    @Test
     public void testRollbackDeletedObject() {
         String artistName = "deleteTestArtist";
         Artist artist = (Artist) context.newObject("Artist");
@@ -195,6 +201,7 @@ public class DataContextRollbackIT extends ServerCase {
         assertEquals(1, queryResults.size());
     }
 
+    @Test
     public void testRollbackModifiedObject() {
         String artistName = "initialTestArtist";
         Artist artist = (Artist) context.newObject("Artist");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
index 0fef8f7..04c253f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateIT.java
@@ -40,6 +40,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Collections;
@@ -121,6 +122,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         tCompoundFkTest.insert(7, "b1", "b2");
     }
 
+    @Test
     public void testSQLResultSetMappingMixed() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -163,7 +165,8 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(new Integer(0), array4[1]);
         assertTrue("Unexpected DataObject: " + array1[0], array1[0] instanceof Artist);
     }
-    
+
+    @Test
     public void testRootless_DataNodeName() throws Exception {
         createFourArtists();
         
@@ -171,13 +174,15 @@ public class DataContextSQLTemplateIT extends ServerCase {
         query.setDataNodeName("tstmap");
         assertEquals(4, context.performQuery(query).size());
     }
-    
+
+    @Test
     public void testRootless_DefaultDataNode() throws Exception {
         createFourArtists();
         SQLTemplate query = new SQLTemplate("SELECT * FROM ARTIST", true);
         assertEquals(4, context.performQuery(query).size());
     }
 
+    @Test
     public void testSQLResultSetMappingScalar() throws Exception {
         createFourArtists();
 
@@ -205,6 +210,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(4, ((Number) o).intValue());
     }
 
+    @Test
     public void testSQLResultSetMappingScalarArray() throws Exception {
         createFourArtists();
 
@@ -238,6 +244,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(77, ((Number) row[1]).intValue());
     }
 
+    @Test
     public void testColumnNamesCapitalization() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -269,6 +276,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertTrue(row4.containsKey("ARTIST_ID"));
     }
 
+    @Test
     public void testFetchDataRows() throws Exception {
         createFourArtists();
 
@@ -288,6 +296,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(new Integer(101), new Integer(id.toString()));
     }
 
+    @Test
     public void testFetchObjects() throws Exception {
         createFourArtists();
 
@@ -306,6 +315,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals("artist3", artist2.getArtistName());
     }
 
+    @Test
     public void testBindObjectEqualShort() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -324,6 +334,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(7, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testBindObjectNotEqualShort() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -345,6 +356,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(6, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testBindObjectEqualFull() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -363,6 +375,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(7, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testBindObjectEqualFullNonArray() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -381,6 +394,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(7, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testBindObjectEqualNull() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -397,6 +411,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(8, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testBindObjectNotEqualFull() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -417,6 +432,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(6, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testBindObjectEqualCompound() throws Exception {
         createTwoCompoundPKsAndCompoundFKsDataSet();
 
@@ -442,6 +458,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(6, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testBindObjectNotEqualCompound() throws Exception {
         createTwoCompoundPKsAndCompoundFKsDataSet();
 
@@ -467,6 +484,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(7, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testBindObjectNotEqualNull() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -486,6 +504,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(7, Cayenne.intPKForObject(p2));
     }
 
+    @Test
     public void testBindEqualNull() throws Exception {
         createFourArtistsAndThreePaintingsDataSet();
 
@@ -502,6 +521,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals(8, Cayenne.intPKForObject(p));
     }
 
+    @Test
     public void testFetchLimit() throws Exception {
         createFourArtists();
 
@@ -520,6 +540,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertTrue(objects.get(0) instanceof Artist);
     }
 
+    @Test
     public void testFetchOffset() throws Exception {
         createFourArtists();
 
@@ -538,6 +559,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertTrue(objects.get(0) instanceof Artist);
     }
 
+    @Test
     public void testFetchOffsetFetchLimit() throws Exception {
         createFourArtists();
 
@@ -553,6 +575,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertTrue(objects.get(0) instanceof Artist);
     }
 
+    @Test
     public void testPageSize() throws Exception {
         createFourArtists();
 
@@ -588,6 +611,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         assertEquals("artist" + (pageSize + 2), artist.getArtistName());
     }
 
+    @Test
     public void testIteratedQuery() throws Exception {
         createFourArtists();
 
@@ -616,6 +640,7 @@ public class DataContextSQLTemplateIT extends ServerCase {
         }
     }
 
+    @Test
     public void testQueryWithLineBreakAfterMacro() throws Exception {
         createFourArtists();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java
index f7e35a3..763e28e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSelectQuerySplitAliasesIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -72,6 +73,7 @@ public class DataContextSelectQuerySplitAliasesIT extends ServerCase {
         tPainting.insert(3, 2, "X");
     }
 
+    @Test
     public void testAliasPathSplits_SinglePath() throws Exception {
         createTwoArtistsTwoPaintingsDataSet();
 
@@ -85,6 +87,7 @@ public class DataContextSelectQuerySplitAliasesIT extends ServerCase {
         assertEquals("AA", artists.get(0).getArtistName());
     }
 
+    @Test
     public void testAliasPathSplits_SplitJoin() throws Exception {
         createTwoArtistsThreePaintingsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
index 4573a1e..bb6970e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSerializationIT.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.PersistenceState;
@@ -37,6 +33,11 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.Util;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextSerializationIT extends ServerCase {
@@ -78,6 +79,7 @@ public class DataContextSerializationIT extends ServerCase {
         CayenneRuntime.bindThreadInjector(null);
     }
 
+    @Test
     public void testSerializeResolver() throws Exception {
 
         DataContext deserializedContext = Util.cloneViaSerialization(context);
@@ -86,6 +88,7 @@ public class DataContextSerializationIT extends ServerCase {
         assertSame(context.getEntityResolver(), deserializedContext.getEntityResolver());
     }
 
+    @Test
     public void testSerializeChannel() throws Exception {
 
         DataContext deserializedContext = Util.cloneViaSerialization(context);
@@ -94,6 +97,7 @@ public class DataContextSerializationIT extends ServerCase {
         assertSame(context.getChannel(), deserializedContext.getChannel());
     }
 
+    @Test
     public void testSerializeNestedChannel() throws Exception {
 
         ObjectContext child = runtime.newContext(context);
@@ -104,6 +108,7 @@ public class DataContextSerializationIT extends ServerCase {
         assertNotNull(deserializedContext.getEntityResolver());
     }
 
+    @Test
     public void testSerializeWithSharedCache() throws Exception {
 
         createSingleArtistDataSet();
@@ -131,6 +136,7 @@ public class DataContextSerializationIT extends ServerCase {
         deserializedContext.commitChanges();
     }
 
+    @Test
     public void testSerializeWithLocalCache() throws Exception {
 
         createSingleArtistDataSet();
@@ -180,6 +186,7 @@ public class DataContextSerializationIT extends ServerCase {
         deserializedContext.commitChanges();
     }
 
+    @Test
     public void testSerializeNew() throws Exception {
 
         Artist artist = (Artist) context.newObject("Artist");
@@ -204,6 +211,7 @@ public class DataContextSerializationIT extends ServerCase {
         assertSame(deserializedContext, deserializedArtist.getObjectContext());
     }
 
+    @Test
     public void testSerializeCommitted() throws Exception {
 
         Artist artist = (Artist) context.newObject("Artist");
@@ -237,6 +245,7 @@ public class DataContextSerializationIT extends ServerCase {
         assertEquals(0, paintings.size());
     }
 
+    @Test
     public void testSerializeModified() throws Exception {
 
         Artist artist = (Artist) context.newObject("Artist");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
index 2168565..3103f9c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collections;
 import java.util.List;
@@ -76,6 +77,7 @@ public class DataContextSharedCacheEmpiricIT extends ServerCase {
         tArtist.insert(1, "version1");
     }
 
+    @Test
     public void testSelectSelectCommitRefresh() throws Exception {
 
         SelectQuery query = new SelectQuery(Artist.class);
@@ -96,6 +98,7 @@ public class DataContextSharedCacheEmpiricIT extends ServerCase {
         assertOnCommit(a2);
     }
 
+    @Test
     public void testSelectSelectCommitRefreshReverse() throws Exception {
 
         SelectQuery query = new SelectQuery(Artist.class);
@@ -115,6 +118,7 @@ public class DataContextSharedCacheEmpiricIT extends ServerCase {
         assertOnCommit(a2);
     }
 
+    @Test
     public void testSelectUpdateSelectCommitRefresh() throws Exception {
 
         SelectQuery query = new SelectQuery(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
index 6428086..b29e55d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
@@ -19,12 +19,6 @@
 
 package org.apache.cayenne.access;
 
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.PersistenceState;
@@ -40,6 +34,13 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
+import org.junit.Test;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Test suite for testing behavior of multiple DataContexts that share the same underlying
@@ -84,6 +85,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * Test case to prove that refreshing snapshots as a result of the database fetch will
      * be propagated across DataContexts.
      */
+    @Test
     public void testSnapshotChangePropagationOnSelect() throws Exception {
         String originalName = artist.getArtistName();
         final String newName = "version2";
@@ -136,6 +138,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * to the database will be reflected in the peer ObjectStore using the same
      * DataRowCache.
      */
+    @Test
     public void testSnapshotChangePropagation() throws Exception {
         String originalName = artist.getArtistName();
         final String newName = "version2";
@@ -179,6 +182,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * 
      * @throws Exception
      */
+    @Test
     public void testSnapshotChangePropagationToModifiedObjects() throws Exception {
         String originalName = artist.getArtistName();
         Date originalDate = artist.getDateOfBirth();
@@ -228,6 +232,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * database will be reflected in the peer ObjectStore using the same DataRowCache. By
      * default COMMITTED objects will be changed to TRANSIENT.
      */
+    @Test
     public void testSnapshotDeletePropagationToCommitted() throws Exception {
 
         // make sure we have a fully resolved copy of an artist object
@@ -267,6 +272,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * 
      * @throws Exception
      */
+    @Test
     public void testSnapshotDeletePropagationToHollow() throws Exception {
 
         final Artist altArtist = context1.localObject(artist);
@@ -302,6 +308,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * database will be reflected in the peer ObjectStore using the same DataRowCache. By
      * default MODIFIED objects will be changed to NEW.
      */
+    @Test
     public void testSnapshotDeletePropagationToModified() throws Exception {
 
         // make sure we have a fully resolved copy of an artist object
@@ -354,6 +361,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * 
      * @throws Exception
      */
+    @Test
     public void testSnapshotDeletePropagationToDeleted() throws Exception {
 
         // make sure we have a fully resolved copy of an artist object
@@ -395,6 +403,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * database will be reflected in the peer ObjectStore using the same DataRowCache,
      * including proper processing of deleted object being held in to-many collections.
      */
+    @Test
     public void testSnapshotDeletePropagationToManyRefresh() throws Exception {
 
         Painting painting1 = (Painting) context.newObject("Painting");
@@ -465,6 +474,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * 
      * @throws Exception
      */
+    @Test
     public void testSnapshotInsertPropagationToManyRefresh() throws Exception {
 
         Painting painting1 = (Painting) context.newObject("Painting");
@@ -514,6 +524,7 @@ public class DataContextSharedCacheIT extends ServerCase {
      * Checks that cache is refreshed when a query "refreshingObjects" property is set to
      * true.
      */
+    @Test
     public void testCacheRefreshingOnSelect() throws Exception {
         String originalName = artist.getArtistName();
         final String newName = "version2";
@@ -557,6 +568,7 @@ public class DataContextSharedCacheIT extends ServerCase {
         assertEquals(newName, artist.getArtistName());
     }
 
+    @Test
     public void testSnapshotEvictedForHollow() throws Exception {
         String originalName = artist.getArtistName();
 
@@ -577,6 +589,7 @@ public class DataContextSharedCacheIT extends ServerCase {
         assertEquals(originalName, freshSnapshot.get("ARTIST_NAME"));
     }
 
+    @Test
     public void testSnapshotEvictedAndObjectsHollowedForInvalidate() throws Exception {
         String originalName = artist.getArtistName();
 
@@ -619,6 +632,7 @@ public class DataContextSharedCacheIT extends ServerCase {
 
     }
 
+    @Test
     public void testSnapshotEvictedForCommitted() throws Exception {
         String newName = "version2";
 
@@ -643,6 +657,7 @@ public class DataContextSharedCacheIT extends ServerCase {
         assertEquals(newName, freshSnapshot.get("ARTIST_NAME"));
     }
 
+    @Test
     public void testSnapshotEvictedForModified() throws Exception {
         String newName = "version2";
 
@@ -668,6 +683,7 @@ public class DataContextSharedCacheIT extends ServerCase {
         assertEquals(newName, freshSnapshot.get("ARTIST_NAME"));
     }
 
+    @Test
     public void testSnapshotEvictedAndChangedForModified() throws Exception {
         String originalName = artist.getArtistName();
         String newName = "version2";
@@ -705,6 +721,7 @@ public class DataContextSharedCacheIT extends ServerCase {
         assertEquals(newName, freshSnapshot.get("ARTIST_NAME"));
     }
 
+    @Test
     public void testSnapshotEvictedForDeleted() throws Exception {
         // remember ObjectId
         ObjectId id = artist.getObjectId();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
index b22daf9..d208844 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextValidationIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.unit.util.ValidationDelegate;
 import org.apache.cayenne.validation.ValidationResult;
+import org.junit.Test;
 
 /**
  */
@@ -50,6 +51,7 @@ public class DataContextValidationIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testValidatingObjectsOnCommitProperty() throws Exception {
         context.setValidatingObjectsOnCommit(true);
         assertTrue(context.isValidatingObjectsOnCommit());
@@ -58,6 +60,7 @@ public class DataContextValidationIT extends ServerCase {
         assertFalse(context.isValidatingObjectsOnCommit());
     }
 
+    @Test
     public void testValidatingObjectsOnCommit() throws Exception {
         // test that validation is called properly
 
@@ -74,6 +77,7 @@ public class DataContextValidationIT extends ServerCase {
         assertFalse(a2.isValidateForSaveCalled());
     }
 
+    @Test
     public void testValidationModifyingContext() throws Exception {
 
         ValidationDelegate delegate = new ValidationDelegate() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
index de4fce3..f0fdb46 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainCallbacksIT.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataDomainCallbacksIT extends ServerCase {
@@ -60,6 +61,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         dbHelper.deleteAll("GALLERY");
     }
 
+    @Test
     public void testPostLoad() throws Exception {
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
 
@@ -114,6 +116,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertSame(a1, listener.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostLoad_MixedResult() throws Exception {
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
 
@@ -137,6 +140,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertSame(a1, listener.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostLoad_Relationship() throws Exception {
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
 
@@ -171,6 +175,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertSame(a1, listener.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostLoad_Prefetch() throws Exception {
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
 
@@ -200,6 +205,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertSame(a1, listener.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostLoad_LocalObject() throws Exception {
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
 
@@ -226,6 +232,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertSame(a2, listener.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostLoad_ThatModifiesObject() {
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
 
@@ -266,7 +273,8 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertEquals(1, a1.getPostLoaded());
         assertSame(a1, listener.getPublicCalledbackEntity());
     }
-    
+
+    @Test
     public void testPreUpdate() {
 
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
@@ -303,6 +311,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertSame(a1, listener2.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostUpdate() {
 
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
@@ -341,6 +350,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertSame(a1, listener2.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostRemove() {
 
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
@@ -367,6 +377,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertSame(a1, listener2.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostRemove_UpdatedDeleted() {
 
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
@@ -398,6 +409,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertSame(a1, listener1.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostRemove_InsertedUpdatedDeleted() {
 
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();
@@ -433,6 +445,7 @@ public class DataDomainCallbacksIT extends ServerCase {
         assertNull(listener2.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPostPersist() {
 
         LifecycleCallbackRegistry registry = resolver.getCallbackRegistry();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
index c8fa69c..a0be7ac 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainFiltersIT.java
@@ -32,6 +32,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.ListResponse;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -45,12 +46,14 @@ public class DataDomainFiltersIT extends ServerCase {
     @Inject
     private ServerRuntime runtime;
 
+    @Test
     public void testDefaultNoFilters() {
 
         DataDomain domain = runtime.getDataDomain();
         assertEquals(0, domain.filters.size());
     }
 
+    @Test
     public void testOnQuery_FilterOrdering() {
 
         DataDomain domain = runtime.getDataDomain();
@@ -100,6 +103,7 @@ public class DataDomainFiltersIT extends ServerCase {
         assertEquals("f2end", results.get(3));
     }
 
+    @Test
     public void testOnSync_FilterOrdering() {
 
         DataDomain domain = runtime.getDataDomain();
@@ -159,6 +163,7 @@ public class DataDomainFiltersIT extends ServerCase {
         assertEquals("f2end", results.get(3));
     }
 
+    @Test
     public void testOnQuery_Blocking() {
 
         DataDomain domain = runtime.getDataDomain();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java
index 8bba81e..0e7779b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainIT.java
@@ -36,6 +36,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.annotations.Tag1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -50,6 +51,7 @@ public class DataDomainIT extends ServerCase {
     @Inject
     private JdbcEventLogger logger;
 
+    @Test
     public void testName() throws Exception {
         DataDomain domain = new DataDomain("some name");
         assertEquals("some name", domain.getName());
@@ -57,6 +59,7 @@ public class DataDomainIT extends ServerCase {
         assertEquals("tst_name", domain.getName());
     }
 
+    @Test
     public void testLookupDataNode() {
 
         DataDomain domain = new DataDomain("test");
@@ -83,6 +86,7 @@ public class DataDomainIT extends ServerCase {
         }
     }
 
+    @Test
     public void testLookupDataNode_Default() {
 
         DataDomain domain = new DataDomain("test");
@@ -104,6 +108,7 @@ public class DataDomainIT extends ServerCase {
         assertSame(n1, domain.lookupDataNode(new DataMap("m3")));
     }
 
+    @Test
     public void testNodes() throws Exception {
         DataDomain domain = new DataDomain("dom1");
         assertEquals(0, domain.getDataNodes().size());
@@ -117,6 +122,7 @@ public class DataDomainIT extends ServerCase {
         assertEquals(2, domain.getDataNodes().size());
     }
 
+    @Test
     public void testNodeMaps() throws Exception {
         DataDomain domain = new DataDomain("dom1");
         assertNull(domain.getDataMap("map"));
@@ -129,6 +135,7 @@ public class DataDomainIT extends ServerCase {
         assertNotNull(domain.getDataMap("map"));
     }
 
+    @Test
     public void testMaps() throws Exception {
         DataDomain d1 = new DataDomain("dom1");
 
@@ -140,6 +147,7 @@ public class DataDomainIT extends ServerCase {
         assertNull(d1.getDataMap(m1.getName()));
     }
 
+    @Test
     public void testEntityResolverRefresh() throws Exception {
         DataDomain domain = new DataDomain("dom1");
         org.apache.cayenne.map.EntityResolver resolver = domain.getEntityResolver();
@@ -154,6 +162,7 @@ public class DataDomainIT extends ServerCase {
         assertSame(entity, resolver.getObjEntity("TestEntity"));
     }
 
+    @Test
     public void testEntityResolver() {
         assertNotNull(runtime.getDataDomain().getEntityResolver());
 
@@ -161,6 +170,7 @@ public class DataDomainIT extends ServerCase {
         assertNotNull(domain.getEntityResolver());
     }
 
+    @Test
     public void testInitDataDomainWithSharedCache() throws Exception {
         Map<Object, Object> properties = new HashMap<Object, Object>();
         properties.put(DataDomain.SHARED_CACHE_ENABLED_PROPERTY, Boolean.TRUE.toString());
@@ -169,6 +179,7 @@ public class DataDomainIT extends ServerCase {
         assertTrue(domain.isSharedCacheEnabled());
     }
 
+    @Test
     public void testInitDataDomainWithDedicatedCache() throws Exception {
         Map<Object, Object> properties = new HashMap<Object, Object>();
         properties.put(DataDomain.SHARED_CACHE_ENABLED_PROPERTY, Boolean.FALSE.toString());
@@ -177,6 +188,7 @@ public class DataDomainIT extends ServerCase {
         assertFalse(domain.isSharedCacheEnabled());
     }
 
+    @Test
     public void testInitDataDomainValidation() throws Exception {
         Map<Object, Object> properties = new HashMap<Object, Object>();
         properties.put(DataDomain.VALIDATING_OBJECTS_ON_COMMIT_PROPERTY, Boolean.TRUE.toString());
@@ -185,6 +197,7 @@ public class DataDomainIT extends ServerCase {
         assertTrue(domain.isValidatingObjectsOnCommit());
     }
 
+    @Test
     public void testInitDataDomainNoValidation() throws Exception {
         Map<Object, Object> properties = new HashMap<Object, Object>();
         properties.put(DataDomain.VALIDATING_OBJECTS_ON_COMMIT_PROPERTY, Boolean.FALSE.toString());
@@ -193,6 +206,7 @@ public class DataDomainIT extends ServerCase {
         assertFalse(domain.isValidatingObjectsOnCommit());
     }
 
+    @Test
     public void testShutdownCache() {
         DataDomain domain = new DataDomain("X");
 
@@ -212,6 +226,7 @@ public class DataDomainIT extends ServerCase {
         assertTrue(cacheShutdown[0]);
     }
 
+    @Test
     public void testAddListener() {
 
         DataDomain domain = runtime.getDataDomain();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
index 5e053a1..4e4323e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataDomainQueryActionIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.io.Serializable;
 import java.util.List;
@@ -62,6 +63,7 @@ public class DataDomainQueryActionIT extends ServerCase {
         runtime.getDataDomain().resetProperties();
     }
 
+    @Test
     public void testCachedQuery() {
 
         DataDomain domain = runtime.getDataDomain();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java
index 86b4005..f41af3d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataNodeIT extends ServerCase {
@@ -31,6 +32,7 @@ public class DataNodeIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testName() throws Exception {
         String tstName = "tst_name";
         DataNode node = new DataNode();
@@ -39,6 +41,7 @@ public class DataNodeIT extends ServerCase {
         assertEquals(tstName, node.getName());
     }
 
+    @Test
     public void testDataSourceLocation() throws Exception {
         String tstName = "tst_name";
         DataNode node = new DataNode();
@@ -47,6 +50,7 @@ public class DataNodeIT extends ServerCase {
         assertEquals(tstName, node.getDataSourceLocation());
     }
 
+    @Test
     public void testDataSourceFactory() throws Exception {
         String tstName = "tst_name";
         DataNode node = new DataNode();
@@ -55,6 +59,7 @@ public class DataNodeIT extends ServerCase {
         assertEquals(tstName, node.getDataSourceFactory());
     }
 
+    @Test
     public void testNodeEntityResolver() {
         DataNode node = new DataNode();
         assertNull(node.getEntityResolver());
@@ -64,6 +69,7 @@ public class DataNodeIT extends ServerCase {
         assertSame(resolver, node.getEntityResolver());
     }
 
+    @Test
     public void testAdapter() throws Exception {
         DataNode node = new DataNode();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
index bfe476a..f6e70ba 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataNodeQueriesIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
+import org.junit.Test;
 
 import java.sql.Date;
 import java.util.Collections;
@@ -69,6 +70,7 @@ public class DataNodeQueriesIT extends ServerCase {
         tArtist.insert(3001, "artist5");
     }
 
+    @Test
     public void testCreatePkSupportForMapEntities() throws Exception {
 
         DbEntity artistEnt = node.getEntityResolver().getDbEntity("ARTIST");
@@ -82,6 +84,7 @@ public class DataNodeQueriesIT extends ServerCase {
                 exhibitEnt.getPrimaryKeys().iterator().next()));
     }
 
+    @Test
     public void testPerfomQueriesSQLTemplate() throws Exception {
         String template = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) "
                 + "VALUES (#bind($id), #bind($name), #bind($dob 'DATE'))";
@@ -105,6 +108,7 @@ public class DataNodeQueriesIT extends ServerCase {
         assertEquals("a1", tArtist.getString("ARTIST_NAME").trim());
     }
 
+    @Test
     public void testPerfomQueriesSelectingSQLTemplate1() throws Exception {
         createFourArtists();
 
@@ -121,6 +125,7 @@ public class DataNodeQueriesIT extends ServerCase {
         assertEquals(201, row.get("ARTIST_ID"));
     }
 
+    @Test
     public void testPerfomQueriesSelectingSQLTemplate2() throws Exception {
         createFourArtists();
 
@@ -141,6 +146,7 @@ public class DataNodeQueriesIT extends ServerCase {
         assertEquals(201, id.intValue());
     }
 
+    @Test
     public void testPerfomQueriesSelectingSQLTemplateAlias() throws Exception {
         createFourArtists();
 
@@ -157,6 +163,7 @@ public class DataNodeQueriesIT extends ServerCase {
         assertEquals(201, row.get("A"));
     }
 
+    @Test
     public void testRunMultiLineSQLTemplateUNIX() throws Exception {
         String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME)"
                 + "\n"
@@ -167,6 +174,7 @@ public class DataNodeQueriesIT extends ServerCase {
                 new MockOperationObserver());
     }
 
+    @Test
     public void testRunMultiLineSQLTemplateWindows() throws Exception {
         String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME)"
                 + "\r\n"
@@ -177,6 +185,7 @@ public class DataNodeQueriesIT extends ServerCase {
                 new MockOperationObserver());
     }
 
+    @Test
     public void testRunMultiLineSQLTemplateMac() throws Exception {
         String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME)"
                 + "\r"

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
index 306b678..0496f5c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowStoreIT.java
@@ -19,20 +19,22 @@
 
 package org.apache.cayenne.access;
 
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
 import org.apache.cayenne.DataRow;
 import org.apache.cayenne.ObjectId;
 import org.apache.cayenne.event.DefaultEventManager;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataRowStoreIT extends ServerCase {
 
+    @Test
     public void testDefaultConstructor() {
         DataRowStore cache = new DataRowStore(
                 "cacheXYZ",
@@ -46,6 +48,7 @@ public class DataRowStoreIT extends ServerCase {
                 .isNotifyingRemoteListeners());
     }
 
+    @Test
     public void testConstructorWithProperties() {
         Map<Object, Object> props = new HashMap<Object, Object>();
         props.put(DataRowStore.REMOTE_NOTIFICATION_PROPERTY, String
@@ -60,6 +63,7 @@ public class DataRowStoreIT extends ServerCase {
                 .isNotifyingRemoteListeners());
     }
 
+    @Test
     public void testNotifyingRemoteListeners() {
         DataRowStore cache = new DataRowStore(
                 "cacheXYZ",
@@ -77,6 +81,7 @@ public class DataRowStoreIT extends ServerCase {
     /**
      * Tests LRU cache behavior.
      */
+    @Test
     public void testMaxSize() throws Exception {
         Map<Object, Object> props = new HashMap<Object, Object>();
         props.put(DataRowStore.SNAPSHOT_CACHE_SIZE_PROPERTY, String.valueOf(2));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
index 7d9c18d..e61a4c7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataRowUtilsIT.java
@@ -32,6 +32,7 @@ import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -75,6 +76,7 @@ public class DataRowUtilsIT extends ServerCase {
         tPainting.insert(6, "p_artist2", 11, 1000);
     }
 
+    @Test
     public void testMerge() throws Exception {
         createOneArtist();
 
@@ -99,6 +101,7 @@ public class DataRowUtilsIT extends ServerCase {
         assertEquals(s2.get("DATE_OF_BIRTH"), a1.getDateOfBirth());
     }
 
+    @Test
     public void testIsToOneTargetModified() throws Exception {
         createOneArtist();
 
@@ -131,6 +134,7 @@ public class DataRowUtilsIT extends ServerCase {
         assertTrue(DataRowUtils.isToOneTargetModified(toArtist, painting, diff));
     }
 
+    @Test
     public void testIsToOneTargetModifiedWithNewTarget() throws Exception {
         createOneArtistAndOnePainting();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
index 2e01bd1..f5f8dc4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DateTimeTypesIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.CalendarEntity;
 import org.apache.cayenne.testdo.testmap.DateTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Time;
 import java.util.Calendar;
@@ -51,6 +52,7 @@ public class DateTimeTypesIT extends ServerCase {
         dbHelper.deleteAll("DATE_TEST");
     }
 
+    @Test
     public void testCalendar() throws Exception {
 
         CalendarEntity test = context.newObject(CalendarEntity.class);
@@ -71,6 +73,7 @@ public class DateTimeTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testDate() throws Exception {
         DateTestEntity test = context.newObject(DateTestEntity.class);
 
@@ -88,6 +91,7 @@ public class DateTimeTypesIT extends ServerCase {
         assertEquals(Date.class, testRead.getDateColumn().getClass());
     }
 
+    @Test
     public void testTime() throws Exception {
         DateTestEntity test = context.newObject(DateTestEntity.class);
 
@@ -112,6 +116,7 @@ public class DateTimeTypesIT extends ServerCase {
         assertTrue("" + delta, Math.abs(delta) <= 1000 * 60 * 60);
     }
 
+    @Test
     public void testTimestamp() throws Exception {
         DateTestEntity test = context.newObject(DateTestEntity.class);
 
@@ -132,6 +137,7 @@ public class DateTimeTypesIT extends ServerCase {
         assertEquals(now, testRead.getTimestampColumn());
     }
 
+    @Test
     public void testSQLTemplateTimestamp() throws Exception {
         DateTestEntity test = context.newObject(DateTestEntity.class);
 
@@ -153,6 +159,7 @@ public class DateTimeTypesIT extends ServerCase {
         assertEquals(now, columnValue);
     }
 
+    @Test
     public void testSQLTemplateDate() throws Exception {
         DateTestEntity test = (DateTestEntity) context.newObject("DateTestEntity");
 
@@ -174,6 +181,7 @@ public class DateTimeTypesIT extends ServerCase {
         assertEquals(now.toString(), new java.sql.Date(columnValue.getTime()).toString());
     }
 
+    @Test
     public void testSQLTemplateTime() throws Exception {
         DateTestEntity test = (DateTestEntity) context.newObject("DateTestEntity");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
index a5db4e9..ab177f3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DbGeneratorIT extends ServerCase {
@@ -49,10 +50,12 @@ public class DbGeneratorIT extends ServerCase {
                 .getDataMap("tstmap"), logger);
     }
 
+    @Test
     public void testAdapter() throws Exception {
         assertSame(adapter, generator.getAdapter());
     }
 
+    @Test
     public void testPkFilteringLogic() throws Exception {
         DataMap map = runtime.getDataDomain().getDataMap("tstmap");
         DbEntity artistExhibit = map.getDbEntity("ARTIST_EXHIBIT");
@@ -68,6 +71,7 @@ public class DbGeneratorIT extends ServerCase {
         assertFalse(generator.dbEntitiesRequiringAutoPK.contains(artistExhibit));
     }
 
+    @Test
     public void testCreatePkSupport() throws Exception {
         assertTrue(generator.shouldCreatePKSupport());
         generator.setShouldCreatePKSupport(false);
@@ -75,12 +79,14 @@ public class DbGeneratorIT extends ServerCase {
 
     }
 
+    @Test
     public void testShouldCreateTables() throws Exception {
         assertTrue(generator.shouldCreateTables());
         generator.setShouldCreateTables(false);
         assertFalse(generator.shouldCreateTables());
     }
 
+    @Test
     public void testDropPkSupport() throws Exception {
 
         assertFalse(generator.shouldDropPKSupport());
@@ -88,6 +94,7 @@ public class DbGeneratorIT extends ServerCase {
         assertTrue(generator.shouldDropPKSupport());
     }
 
+    @Test
     public void testShouldDropTables() throws Exception {
         assertFalse(generator.shouldDropTables());
         generator.setShouldDropTables(true);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
index b294cc8..8ca7676 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderIT.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Collection;
@@ -65,6 +66,7 @@ public class DbLoaderIT extends ServerCase {
         loader.getConnection().close();
     }
 
+    @Test
     public void testGetTableTypes() throws Exception {
 
         List<?> tableTypes = loader.getTableTypes();
@@ -82,6 +84,7 @@ public class DbLoaderIT extends ServerCase {
         }
     }
 
+    @Test
     public void testGetTables() throws Exception {
 
         String tableLabel = adapter.tableTypeForTable();
@@ -102,6 +105,7 @@ public class DbLoaderIT extends ServerCase {
         assertTrue("'ARTIST' is missing from the table list: " + tables, foundArtist);
     }
 
+    @Test
     public void testLoadWithMeaningfulPK() throws Exception {
 
         DataMap map = new DataMap();
@@ -128,6 +132,7 @@ public class DbLoaderIT extends ServerCase {
      * individual tests would require multiple reads of metatdata which is
      * extremely slow on some RDBMS (Sybase).
      */
+    @Test
     public void testLoad() throws Exception {
 
         boolean supportsUnique = runtime.getDataDomain().getDataNodes().iterator().next().getAdapter()

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
index 69a99cc..18ce6d5 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DbLoaderPartialIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collection;
 
@@ -67,6 +68,7 @@ public class DbLoaderPartialIT extends ServerCase {
      * ARTIST and GALLERY should remain unmodified, and all PAINTING relationships should
      * be loaded.
      */
+    @Test
     public void testPartialLoad() throws Exception {
 
         DataMap map = new DataMap();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
index cb5783d..bddf3bf 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteObjectIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -84,6 +85,7 @@ public class DeleteObjectIT extends ServerCase {
         tPainting.insert(3, "painting3", 1);
     }
 
+    @Test
     public void testDeleteObject() throws Exception {
         createObjectDataSet();
 
@@ -96,6 +98,7 @@ public class DeleteObjectIT extends ServerCase {
         assertNull(artist.getObjectContext());
     }
 
+    @Test
     public void testDeleteObjects1() throws Exception {
         createObjectsDataSet();
 
@@ -115,6 +118,7 @@ public class DeleteObjectIT extends ServerCase {
 
     // Similar to testDeleteObjects2, but extract ObjectContext instead of
     // DataContext.
+    @Test
     public void testDeleteObjects2() throws Exception {
         createObjectsDataSet();
 
@@ -138,6 +142,7 @@ public class DeleteObjectIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDeleteObjectsRelationshipCollection() throws Exception {
         createObjectsRelationshipCollectionDataSet();
 
@@ -167,6 +172,7 @@ public class DeleteObjectIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDeleteObjectInIterator() throws Exception {
         createObjectsRelationshipCollectionDataSet();
 
@@ -198,6 +204,7 @@ public class DeleteObjectIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDeleteHollow() throws Exception {
         createHollowDataSet();
 
@@ -211,6 +218,7 @@ public class DeleteObjectIT extends ServerCase {
         assertEquals(PersistenceState.DELETED, a.getPersistenceState());
     }
 
+    @Test
     public void testDeleteNew() throws Exception {
         Artist artist = context.newObject(Artist.class);
         artist.setArtistName("a");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
index 3a21da1..8dda83f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DeleteRulesIT.java
@@ -35,6 +35,7 @@ import org.apache.cayenne.testdo.relationship.DeleteRuleTest2;
 import org.apache.cayenne.testdo.relationship.DeleteRuleTest3;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -59,6 +60,7 @@ public class DeleteRulesIT extends ServerCase {
         dbHelper.deleteAll("DELETE_RULE_FLATA");
     }
 
+    @Test
     public void testDenyToOne() {
 
         DeleteRuleTest1 test1 = context.newObject(DeleteRuleTest1.class);
@@ -76,6 +78,7 @@ public class DeleteRulesIT extends ServerCase {
 
     }
 
+    @Test
     public void testNoActionToOne() {
         DeleteRuleTest2 test2 = context.newObject(DeleteRuleTest2.class);
         DeleteRuleTest3 test3 = context.newObject(DeleteRuleTest3.class);
@@ -87,6 +90,7 @@ public class DeleteRulesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testNoActionToMany() {
         DeleteRuleTest2 test2 = context.newObject(DeleteRuleTest2.class);
         DeleteRuleTest3 test3 = context.newObject(DeleteRuleTest3.class);
@@ -99,6 +103,7 @@ public class DeleteRulesIT extends ServerCase {
         // don't commit, since this will cause a constraint exception
     }
 
+    @Test
     public void testNoActionFlattened() {
         // temporarily set delete rule to NOACTION...
         int oldRule = changeDeleteRule(DeleteRule.NO_ACTION);
@@ -125,6 +130,7 @@ public class DeleteRulesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testNoActionFlattenedNoReverse() {
         // temporarily set delete rule to NOACTION...
         int oldRule = changeDeleteRule(DeleteRule.NO_ACTION);
@@ -151,6 +157,7 @@ public class DeleteRulesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCascadeFlattened() {
         // temporarily set delete rule to CASCADE...
         int oldRule = changeDeleteRule(DeleteRule.CASCADE);
@@ -175,6 +182,7 @@ public class DeleteRulesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCascadeFlattenedNoReverse() {
         // temporarily set delete rule to CASCADE...
         int oldRule = changeDeleteRule(DeleteRule.CASCADE);
@@ -200,6 +208,7 @@ public class DeleteRulesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testNullifyFlattened() {
         // temporarily set delete rule to NULLIFY...
         int oldRule = changeDeleteRule(DeleteRule.NULLIFY);
@@ -224,6 +233,7 @@ public class DeleteRulesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testNullifyFlattenedNoReverse() {
         // temporarily set delete rule to NULLIFY...
         int oldRule = changeDeleteRule(DeleteRule.NULLIFY);
@@ -249,6 +259,7 @@ public class DeleteRulesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDenyFlattened() {
         // temporarily set delete rule to DENY...
         int oldRule = changeDeleteRule(DeleteRule.DENY);
@@ -271,6 +282,7 @@ public class DeleteRulesIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDenyFlattenedNoReverse() {
         // temporarily set delete rule to DENY...
         int oldRule = changeDeleteRule(DeleteRule.DENY);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
index 8e9a3db..8f8be6d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EmbeddingIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.testdo.embeddable.EmbedEntity1;
 import org.apache.cayenne.testdo.embeddable.Embeddable1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -64,6 +65,7 @@ public class EmbeddingIT extends ServerCase {
         tEmbedEntity1.insert(1, "n1", "e1", "e2", "e3", "e4");
     }
 
+    @Test
     public void testSelect() throws Exception {
         createSelectDataSet();
 
@@ -100,6 +102,7 @@ public class EmbeddingIT extends ServerCase {
         assertEquals("ex4", e22.getEmbedded20());
     }
 
+    @Test
     public void testInsert() throws Exception {
 
         EmbedEntity1 o1 = context.newObject(EmbedEntity1.class);
@@ -131,6 +134,7 @@ public class EmbeddingIT extends ServerCase {
         assertEquals("E22", row.get("EMBEDDED40"));
     }
 
+    @Test
     public void testUpdateEmbeddedProperties() throws Exception {
         createUpdateDataSet();
 
@@ -153,6 +157,7 @@ public class EmbeddingIT extends ServerCase {
         assertEquals("x1", row.get("EMBEDDED10"));
     }
 
+    @Test
     public void testUpdateEmbedded() throws Exception {
         createUpdateDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
index 45e15fd..c2a3b9f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EnumIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.testdo.testmap.Enum1;
 import org.apache.cayenne.testdo.testmap.EnumEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EnumIT extends ServerCase {
@@ -55,12 +56,14 @@ public class EnumIT extends ServerCase {
         tEnumEntity.insert(2, "one");
     }
 
+    @Test
     public void testInsert() {
         EnumEntity e = context.newObject(EnumEntity.class);
         e.setEnumAttribute(Enum1.one);
         context.commitChanges();
     }
 
+    @Test
     public void testSelectQuery() throws Exception {
         createDataSet();
 
@@ -74,6 +77,7 @@ public class EnumIT extends ServerCase {
         assertSame(Enum1.one, e.getEnumAttribute());
     }
 
+    @Test
     public void testSQLTemplate() throws Exception {
         createDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
index 96c0191..3d60f01 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedArcKeyIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.relationship.FlattenedTest1;
 import org.apache.cayenne.testdo.relationship.FlattenedTest3;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class FlattenedArcKeyIT extends ServerCase {
@@ -34,6 +35,7 @@ public class FlattenedArcKeyIT extends ServerCase {
     @Inject
     private EntityResolver entityResolver;
 
+    @Test
     public void testAttributes() {
         ObjectId src = new ObjectId("X");
         ObjectId target = new ObjectId("Y");
@@ -47,6 +49,7 @@ public class FlattenedArcKeyIT extends ServerCase {
         assertSame(r1, update.relationship);
     }
 
+    @Test
     public void testHashCode() {
         ObjectId src = new ObjectId("X");
         ObjectId target = new ObjectId("Y");
@@ -69,6 +72,7 @@ public class FlattenedArcKeyIT extends ServerCase {
         assertFalse(h == h2);
     }
 
+    @Test
     public void testEquals() {
         ObjectId src = new ObjectId("X");
         ObjectId target = new ObjectId("Y");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
index 92cea2f..aa4d9ff 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedPrefetchIT.java
@@ -34,6 +34,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.HashSet;
@@ -116,6 +117,7 @@ public class FlattenedPrefetchIT extends ServerCase {
         tPainting.insert(33003, "P_artist21", 33002, 3000);
     }
 
+    @Test
     public void testManyToMany() throws Exception {
         createPrefetchDataSet1();
 
@@ -150,6 +152,7 @@ public class FlattenedPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testMultiPrefetch() throws Exception {
         createPrefetchDataSet2();
 
@@ -187,6 +190,7 @@ public class FlattenedPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testJointManyToMany() throws Exception {
         createPrefetchDataSet1();
 
@@ -223,6 +227,7 @@ public class FlattenedPrefetchIT extends ServerCase {
 
     }
 
+    @Test
     public void testJointMultiPrefetch() throws Exception {
         createPrefetchDataSet2();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
index b3fbc2e..7f81b24 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/FlattenedRelationshipInContextIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationship.FlattenedTest3;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -71,6 +72,7 @@ public class FlattenedRelationshipInContextIT extends ServerCase {
         tFlattenedTest3.insert(1, 1, "ft3");
     }
 
+    @Test
     public void testIsToOneTargetModifiedFlattenedFault1() throws Exception {
 
         createFlattenedTestDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
index b637efd..22adb11 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java
@@ -39,6 +39,7 @@ import org.apache.cayenne.testdo.testmap.GeneratedF1;
 import org.apache.cayenne.testdo.testmap.GeneratedF2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -75,6 +76,7 @@ public class IdentityColumnsIT extends ServerCase {
      * Tests a bug casued by the ID Java type mismatch vs the default JDBC type
      * of the ID column.
      */
+    @Test
     public void testCAY823() throws Exception {
 
         GeneratedColumnTestEntity idObject = context.newObject(GeneratedColumnTestEntity.class);
@@ -96,6 +98,7 @@ public class IdentityColumnsIT extends ServerCase {
         assertEquals(id, ((Persistent) results.get(0)).getObjectId());
     }
 
+    @Test
     public void testNewObject() throws Exception {
 
         GeneratedColumnTestEntity idObject = context.newObject(GeneratedColumnTestEntity.class);
@@ -117,6 +120,7 @@ public class IdentityColumnsIT extends ServerCase {
         assertEquals(name, object.getName());
     }
 
+    @Test
     public void testGeneratedJoinInFlattenedRelationship() throws Exception {
 
         // before saving objects, let's manually access PKGenerator to get a
@@ -149,6 +153,7 @@ public class IdentityColumnsIT extends ServerCase {
     /**
      * Tests CAY-422 bug.
      */
+    @Test
     public void testUnrelatedUpdate() throws Exception {
 
         GeneratedColumnTestEntity m = context.newObject(GeneratedColumnTestEntity.class);
@@ -175,6 +180,7 @@ public class IdentityColumnsIT extends ServerCase {
      * Tests that insert in two tables with identity pk does not generate a
      * conflict. See CAY-341 for the original bug.
      */
+    @Test
     public void testMultipleNewObjectsSeparateTables() throws Exception {
 
         GeneratedColumnTestEntity idObject1 = context.newObject(GeneratedColumnTestEntity.class);
@@ -186,6 +192,7 @@ public class IdentityColumnsIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testMultipleNewObjects() throws Exception {
 
         String[] names = new String[] { "n1_" + System.currentTimeMillis(), "n2_" + System.currentTimeMillis(),
@@ -216,6 +223,7 @@ public class IdentityColumnsIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCompoundPKWithGeneratedColumn() throws Exception {
         if (adapter.supportsGeneratedKeys()) {
             // only works for generated keys, as the entity tested has one
@@ -263,6 +271,7 @@ public class IdentityColumnsIT extends ServerCase {
         }
     }
 
+    @Test
     public void testUpdateDependentWithNewMaster() throws Exception {
 
         GeneratedColumnTestEntity master1 = context.newObject(GeneratedColumnTestEntity.class);
@@ -295,6 +304,7 @@ public class IdentityColumnsIT extends ServerCase {
         assertNotNull(Cayenne.objectForPK(context, GeneratedColumnDep.class, id2));
     }
 
+    @Test
     public void testGeneratedDefaultValue() throws Exception {
 
         // fail("TODO: test insert with DEFAULT generated column...need custom
@@ -302,6 +312,7 @@ public class IdentityColumnsIT extends ServerCase {
         // build such table");
     }
 
+    @Test
     public void testPropagateToDependent() throws Exception {
 
         GeneratedColumnTestEntity idObject = context.newObject(GeneratedColumnTestEntity.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
index c233c59..6c954b2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/IncrementalFaultListIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.Util;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class IncrementalFaultListIT extends ServerCase {
@@ -31,6 +32,7 @@ public class IncrementalFaultListIT extends ServerCase {
 	@Inject
 	protected DataContext context;
 
+    @Test
 	public void testSerialization() throws Exception {
 		SelectQuery query = new SelectQuery(Artist.class);
 		query.setPageSize(10);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
index 0fbfdc7..c4a0216 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/JointPrefetchIT.java
@@ -44,6 +44,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Date;
 import java.util.Collections;
@@ -120,6 +121,7 @@ public class JointPrefetchIT extends ServerCase {
         tPainting.insert(33003, "P_artist21", 33002, 3000, 33002);
     }
 
+    @Test
     public void testJointPrefetch_ToOne_FetchLimit() throws Exception {
         createJointPrefetchDataSet1();
 
@@ -148,6 +150,7 @@ public class JointPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testJointPrefetch_ToMany_FetchLimit() throws Exception {
         createJointPrefetchDataSet1();
 
@@ -180,6 +183,7 @@ public class JointPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testJointPrefetchDataRows() throws Exception {
         createJointPrefetchDataSet1();
 
@@ -229,6 +233,7 @@ public class JointPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testJointPrefetchSQLTemplate() throws Exception {
         createJointPrefetchDataSet1();
 
@@ -283,6 +288,7 @@ public class JointPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testJointPrefetchToOne() throws Exception {
         createJointPrefetchDataSet1();
 
@@ -313,6 +319,7 @@ public class JointPrefetchIT extends ServerCase {
     /**
      * Tests that joined entities can have non-standard type mappings.
      */
+    @Test
     public void testJointPrefetchDataTypes() throws Exception {
         // prepare... can't load from XML, as it doesn't yet support dates..
         SQLTemplate artistSQL = new SQLTemplate(
@@ -364,6 +371,7 @@ public class JointPrefetchIT extends ServerCase {
         }
     }
 
+    @Test
     public void testJointPrefetchToMany() throws Exception {
         createJointPrefetchDataSet1();
 
@@ -399,6 +407,7 @@ public class JointPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testJointPrefetchToManyNonConflictingQualifier() throws Exception {
         createJointPrefetchDataSet1();
 
@@ -440,6 +449,7 @@ public class JointPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testJointPrefetchMultiStep() throws Exception {
         createJointPrefetchDataSet2();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
index 3ed721f..731d8c8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/MiscTypesIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.testmap.SerializableEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.lang.reflect.Array;
 
@@ -54,6 +55,7 @@ public class MiscTypesIT extends ServerCase {
         dbHelper.deleteAll("CHARACTER_ENTITY");
     }
 
+    @Test
     public void testSerializable() throws Exception {
         
         // this test requires BLOB support
@@ -77,6 +79,7 @@ public class MiscTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testByteArray() {
         ArraysEntity test = context.newObject(ArraysEntity.class);
 
@@ -95,6 +98,7 @@ public class MiscTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testCharArray() {
         ArraysEntity test = context.newObject(ArraysEntity.class);
 
@@ -113,6 +117,7 @@ public class MiscTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testCharacterArray() {
         ArraysEntity test = context.newObject(ArraysEntity.class);
 
@@ -130,7 +135,8 @@ public class MiscTypesIT extends ServerCase {
         test.setCharWrapperArray(null);
         context.commitChanges();
     }
-    
+
+    @Test
     public void testCharacter() {
         CharacterEntity test = context.newObject(CharacterEntity.class);
 
@@ -146,6 +152,7 @@ public class MiscTypesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testByteWrapperArray() {
         ArraysEntity test = context.newObject(ArraysEntity.class);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
index 01bf924..c492165 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextLocalCacheIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -54,6 +55,7 @@ public class NestedDataContextLocalCacheIT extends ServerCase {
         dbHelper.deleteAll("GALLERY");
     }
 
+    @Test
     public void testLocalCacheStaysLocal() {
 
         SelectQuery query = new SelectQuery(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
index fa87bc8..6665160 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextParentEventsIT extends ServerCase {
@@ -36,6 +37,7 @@ public class NestedDataContextParentEventsIT extends ServerCase {
     @Inject
     private DataContext context;
 
+    @Test
     public void testParentUpdatedId() throws Exception {
         ObjectContext child1 = runtime.newContext(context);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
index cf2454a..5273235 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.relationship.Child;
 import org.apache.cayenne.testdo.relationship.Master;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class NestedDataContextParentPeerEventsIT extends ServerCase {
@@ -40,6 +41,7 @@ public class NestedDataContextParentPeerEventsIT extends ServerCase {
     @Inject
     private DataContext parentContext2;
 
+    @Test
     public void testPeerObjectUpdatedSimpleProperty() throws Exception {
         Master a = parentContext1.newObject(Master.class);
         a.setName("X");
@@ -67,6 +69,7 @@ public class NestedDataContextParentPeerEventsIT extends ServerCase {
         }.runTest(2000);
     }
 
+    @Test
     public void testPeerObjectUpdatedToOneRelationship() throws Exception {
         Master a = parentContext1.newObject(Master.class);
         Master altA = parentContext1.newObject(Master.class);
@@ -102,6 +105,7 @@ public class NestedDataContextParentPeerEventsIT extends ServerCase {
         }.runTest(2000);
     }
 
+    @Test
     public void testPeerObjectUpdatedToManyRelationship() throws Exception {
         Master a = parentContext1.newObject(Master.class);
         a.setName("X");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
index 9afd2c7..3da5090 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class NestedDataContextPeerEventsIT extends ServerCase {
@@ -38,6 +39,7 @@ public class NestedDataContextPeerEventsIT extends ServerCase {
 	@Inject
 	private ServerRuntime runtime;
 
+    @Test
 	public void testPeerObjectUpdatedTempOID() throws Exception {
 
 		ObjectContext peer1 = runtime.newContext(context);
@@ -66,6 +68,7 @@ public class NestedDataContextPeerEventsIT extends ServerCase {
 		}.runTest(2000);
 	}
 
+    @Test
 	public void testPeerObjectUpdatedSimpleProperty() throws Exception {
 		Artist a = context.newObject(Artist.class);
 		a.setArtistName("X");
@@ -95,6 +98,7 @@ public class NestedDataContextPeerEventsIT extends ServerCase {
 
 	}
 
+    @Test
 	public void testPeerObjectUpdatedToOneRelationship() throws Exception {
 
 		Artist a = context.newObject(Artist.class);
@@ -135,6 +139,7 @@ public class NestedDataContextPeerEventsIT extends ServerCase {
 
 	}
 
+    @Test
 	public void testPeerObjectUpdatedToManyRelationship() throws Exception {
 
 		Artist a = context.newObject(Artist.class);


[36/50] [abbrv] cayenne git commit: Refactor TestMap Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml
----------------------------------------------------------------------
diff --git a/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml b/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml
index 543d405..ca501db 100644
--- a/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml
+++ b/itests/cayenne-tools-itest/src/test/resources/testmap-client.map.xml
@@ -277,7 +277,7 @@
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="UUID" type="VARCHAR" length="100"/>
 	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
 		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
 		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
 		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
@@ -312,51 +312,51 @@
 	</obj-entity>
 	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" clientClassName="org.apache.cayenne.testdo.testmap.client.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
 	</obj-entity>
-	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.testmap.BigDecimalEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
+	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.numeric_types.BigDecimalEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
 		<obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.testmap.BigIntegerEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
+	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.numeric_types.BigIntegerEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
 		<obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.testmap.BinaryPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
+	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.testmap.BinaryPKTest2" clientClassName="org.apache.cayenne.testdo.testmap.client.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
+	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest2" clientClassName="org.apache.cayenne.testdo.testmap.client.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
 		<obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
 	</obj-entity>
-	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.testmap.BitNumberTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BitNumberTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitNumberTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BitNumberTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.testmap.BitTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BitTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BitTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.testmap.BlobTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BlobTestEntity" dbEntityName="BLOB_TEST">
+	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.lob.BlobTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BlobTestEntity" dbEntityName="BLOB_TEST">
 		<obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.testmap.BooleanTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
+	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.numeric_types.BooleanTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.testmap.CalendarEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CalendarEntity" dbEntityName="CALENDAR_TEST">
+	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.date_time.CalendarEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CalendarEntity" dbEntityName="CALENDAR_TEST">
 		<obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
 	</obj-entity>
-	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.testmap.CharFkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
+	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.compound.CharFkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.testmap.CharPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
+	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.compound.CharPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
 		<obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
 		<obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
 	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
 		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.testmap.ClobTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ClobTestEntity" dbEntityName="CLOB_TEST">
+	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.lob.ClobTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ClobTestEntity" dbEntityName="CLOB_TEST">
 		<obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.testmap.ClobTestRelation" clientClassName="org.apache.cayenne.testdo.testmap.client.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
+	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.lob.ClobTestRelation" clientClassName="org.apache.cayenne.testdo.testmap.client.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
 		<obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
 		<obj-attribute name="value" type="java.lang.Integer" db-attribute-path="VALUE"/>
 	</obj-entity>
-	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundFkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
+	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundFkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundPainting" dbEntityName="PAINTING">
@@ -366,78 +366,78 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
+	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
 		<obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
 		<obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.DateTestEntity" dbEntityName="DATE_TEST">
+	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.DateTestEntity" dbEntityName="DATE_TEST">
 		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
 		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
 		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.testmap.DecimalPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.testmap.DecimalPKTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.EnumEntity" dbEntityName="ENUM_ENTITY">
+		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
 	</obj-entity>
 	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" clientClassName="org.apache.cayenne.testdo.testmap.client.Exhibit" dbEntityName="EXHIBIT">
 		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
 		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
 	</obj-entity>
-	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.testmap.ExtendedTypeEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
-		<obj-attribute name="name" type="org.apache.cayenne.testdo.testmap.StringET1" db-attribute-path="NAME"/>
+	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
+		<obj-attribute name="name" type="org.apache.cayenne.testdo.extended_type.StringET1" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" clientClassName="org.apache.cayenne.testdo.testmap.client.Gallery" dbEntityName="GALLERY">
 		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
+	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompKey" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
+	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.testmap.GeneratedColumnDep" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
+	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.generated.GeneratedColumnDep" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTest2" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
+	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.generated.GeneratedColumnTest2" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
+	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.testmap.GeneratedF1" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.generated.GeneratedF1" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.testmap.GeneratedF2" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.generated.GeneratedF2" clientClassName="org.apache.cayenne.testdo.testmap.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.testmap.LongEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.LongEntity" dbEntityName="LONG_ENTITY">
+	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.numeric_types.LongEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.LongEntity" dbEntityName="LONG_ENTITY">
 		<obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
 	</obj-entity>
 	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.testmap.MeaningfulPKDep" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
+	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.testmap.MeaningfulPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
+	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1" clientClassName="org.apache.cayenne.testdo.testmap.client.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 		<obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy" clientClassName="org.apache.cayenne.testdo.testmap.client.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
+	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy" clientClassName="org.apache.cayenne.testdo.testmap.client.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
 		<obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2" clientClassName="org.apache.cayenne.testdo.testmap.client.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
+	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2" clientClassName="org.apache.cayenne.testdo.testmap.client.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.testmap.NoPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.NoPkTestEntity" dbEntityName="NO_PK_TEST">
+	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.no_pk.NoPkTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.NoPkTestEntity" dbEntityName="NO_PK_TEST">
 		<obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
 	</obj-entity>
 	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" clientClassName="org.apache.cayenne.testdo.testmap.client.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
@@ -453,7 +453,7 @@
 		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.testmap.PrimitivesTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
+	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.primitive.PrimitivesTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
 		<obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 		<obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
 	</obj-entity>
@@ -470,7 +470,7 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap1" clientClassName="org.apache.cayenne.testdo.testmap.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap1" clientClassName="org.apache.cayenne.testdo.testmap.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
@@ -490,25 +490,25 @@
 		<obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
 		<obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap2" clientClassName="org.apache.cayenne.testdo.testmap.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap2" clientClassName="org.apache.cayenne.testdo.testmap.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
 		<obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
 		<obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
 		<obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.testmap.SerializableEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
+	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.misc_types.SerializableEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
 		<obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
 	</obj-entity>
-	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.testmap.SmallintTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
+	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.numeric_types.SmallintTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
 		<obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
 	</obj-entity>
 	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" clientClassName="org.apache.cayenne.testdo.testmap.client.SubPainting" dbEntityName="PAINTING">
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 	</obj-entity>
-	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.testmap.TinyintTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.TinyintTestEntity" dbEntityName="TINYINT_TEST">
+	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.numeric_types.TinyintTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.TinyintTestEntity" dbEntityName="TINYINT_TEST">
 		<obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
 	</obj-entity>
-	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.testmap.UuidTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.UuidTestEntity" dbEntityName="UUID_TEST">
+	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.uuid.UuidTestEntity" clientClassName="org.apache.cayenne.testdo.testmap.client.UuidTestEntity" dbEntityName="UUID_TEST">
 		<obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
 	</obj-entity>
 	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">

http://git-wip-us.apache.org/repos/asf/cayenne/blob/535ecb88/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml
----------------------------------------------------------------------
diff --git a/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml b/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml
index 6542bd2..71dfb21 100644
--- a/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml
+++ b/itests/cayenne-tools-itest/src/test/resources/testmap.map.xml
@@ -277,7 +277,7 @@
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="UUID" type="VARCHAR" length="100"/>
 	</db-entity>
-	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.testmap.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
+	<obj-entity name="ArraysEntity" className="org.apache.cayenne.testdo.misc_types.ArraysEntity" dbEntityName="ARRAYS_ENTITY">
 		<obj-attribute name="byteArray" type="byte[]" db-attribute-path="BYTE_ARRAY"/>
 		<obj-attribute name="byteWrapperArray" type="java.lang.Byte[]" db-attribute-path="BYTE_WRAPPER_ARRAY"/>
 		<obj-attribute name="charArray" type="char[]" db-attribute-path="CHAR_ARRAY"/>
@@ -312,51 +312,51 @@
 	</obj-entity>
 	<obj-entity name="ArtistExhibit" className="org.apache.cayenne.testdo.testmap.ArtistExhibit" dbEntityName="ARTIST_EXHIBIT">
 	</obj-entity>
-	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.testmap.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
+	<obj-entity name="BigDecimalEntity" className="org.apache.cayenne.testdo.numeric_types.BigDecimalEntity" dbEntityName="BIGDECIMAL_ENTITY">
 		<obj-attribute name="bigDecimalField" type="java.math.BigDecimal" db-attribute-path="BIGDECIMAL_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.testmap.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
+	<obj-entity name="BigIntegerEntity" className="org.apache.cayenne.testdo.numeric_types.BigIntegerEntity" dbEntityName="BIGINTEGER_ENTITY">
 		<obj-attribute name="bigIntegerField" type="java.math.BigInteger" db-attribute-path="BIG_INTEGER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.testmap.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
+	<obj-entity name="BinaryPKTest1" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest1" dbEntityName="BINARY_PK_TEST1">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.testmap.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
+	<obj-entity name="BinaryPKTest2" className="org.apache.cayenne.testdo.binary_pk.BinaryPKTest2" dbEntityName="BINARY_PK_TEST2">
 		<obj-attribute name="detailName" type="java.lang.String" db-attribute-path="DETAIL_NAME"/>
 	</obj-entity>
-	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.testmap.BitNumberTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitNumberTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitNumberTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Integer" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.testmap.BitTestEntity" dbEntityName="BIT_TEST">
+	<obj-entity name="BitTestEntity" className="org.apache.cayenne.testdo.numeric_types.BitTestEntity" dbEntityName="BIT_TEST">
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.testmap.BlobTestEntity" dbEntityName="BLOB_TEST">
+	<obj-entity name="BlobTestEntity" className="org.apache.cayenne.testdo.lob.BlobTestEntity" dbEntityName="BLOB_TEST">
 		<obj-attribute name="blobCol" type="byte[]" db-attribute-path="BLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.testmap.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
+	<obj-entity name="BooleanTestEntity" className="org.apache.cayenne.testdo.numeric_types.BooleanTestEntity" dbEntityName="BOOLEAN_TEST">
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.testmap.CalendarEntity" dbEntityName="CALENDAR_TEST">
+	<obj-entity name="CalendarEntity" className="org.apache.cayenne.testdo.date_time.CalendarEntity" dbEntityName="CALENDAR_TEST">
 		<obj-attribute name="calendarField" type="java.util.Calendar" db-attribute-path="CALENDAR_FIELD"/>
 	</obj-entity>
-	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.testmap.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
+	<obj-entity name="CharFkTestEntity" className="org.apache.cayenne.testdo.compound.CharFkTestEntity" dbEntityName="CHAR_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.testmap.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
+	<obj-entity name="CharPkTestEntity" className="org.apache.cayenne.testdo.compound.CharPkTestEntity" dbEntityName="CHAR_PK_TEST">
 		<obj-attribute name="otherCol" type="java.lang.String" db-attribute-path="OTHER_COL"/>
 		<obj-attribute name="pkCol" type="java.lang.String" db-attribute-path="PK_COL"/>
 	</obj-entity>
-	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.testmap.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
+	<obj-entity name="CharacterEntity" className="org.apache.cayenne.testdo.misc_types.CharacterEntity" dbEntityName="CHARACTER_ENTITY">
 		<obj-attribute name="characterField" type="java.lang.Character" db-attribute-path="CHARACTER_FIELD"/>
 	</obj-entity>
-	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.testmap.ClobTestEntity" dbEntityName="CLOB_TEST">
+	<obj-entity name="ClobTestEntity" className="org.apache.cayenne.testdo.lob.ClobTestEntity" dbEntityName="CLOB_TEST">
 		<obj-attribute name="clobCol" type="java.lang.String" db-attribute-path="CLOB_COL"/>
 	</obj-entity>
-	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.testmap.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
+	<obj-entity name="ClobTestRelation" className="org.apache.cayenne.testdo.lob.ClobTestRelation" dbEntityName="CLOB_TEST_RELATION">
 		<obj-attribute name="id" type="java.lang.Integer" db-attribute-path="ID"/>
 		<obj-attribute name="value" type="java.lang.Integer" db-attribute-path="VALUE"/>
 	</obj-entity>
-	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
+	<obj-entity name="CompoundFkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundFkTestEntity" dbEntityName="COMPOUND_FK_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="CompoundPainting" className="org.apache.cayenne.testdo.testmap.CompoundPainting" dbEntityName="PAINTING">
@@ -366,78 +366,78 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.testmap.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
+	<obj-entity name="CompoundPkTestEntity" className="org.apache.cayenne.testdo.compound.CompoundPkTestEntity" dbEntityName="COMPOUND_PK_TEST">
 		<obj-attribute name="key1" type="java.lang.String" db-attribute-path="KEY1"/>
 		<obj-attribute name="key2" type="java.lang.String" db-attribute-path="KEY2"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.testmap.DateTestEntity" dbEntityName="DATE_TEST">
+	<obj-entity name="DateTestEntity" className="org.apache.cayenne.testdo.date_time.DateTestEntity" dbEntityName="DATE_TEST">
 		<obj-attribute name="dateColumn" type="java.util.Date" db-attribute-path="DATE_COLUMN"/>
 		<obj-attribute name="timeColumn" type="java.util.Date" db-attribute-path="TIME_COLUMN"/>
 		<obj-attribute name="timestampColumn" type="java.util.Date" db-attribute-path="TIMESTAMP_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.testmap.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTest1" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTest1" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.lang.Double" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.testmap.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
+	<obj-entity name="DecimalPKTestEntity" className="org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity" dbEntityName="DECIMAL_PK_TST">
 		<obj-attribute name="decimalPK" type="java.math.BigDecimal" db-attribute-path="DECIMAL_PK"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.testmap.EnumEntity" dbEntityName="ENUM_ENTITY">
-		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.testmap.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
+	<obj-entity name="EnumEntity" className="org.apache.cayenne.testdo.enum_test.EnumEntity" dbEntityName="ENUM_ENTITY">
+		<obj-attribute name="enumAttribute" type="org.apache.cayenne.testdo.enum_test.Enum1" db-attribute-path="ENUM_ATTRIBUTE"/>
 	</obj-entity>
 	<obj-entity name="Exhibit" className="org.apache.cayenne.testdo.testmap.Exhibit" dbEntityName="EXHIBIT">
 		<obj-attribute name="closingDate" type="java.util.Date" db-attribute-path="CLOSING_DATE"/>
 		<obj-attribute name="openingDate" type="java.util.Date" db-attribute-path="OPENING_DATE"/>
 	</obj-entity>
-	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.testmap.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
-		<obj-attribute name="name" type="org.apache.cayenne.testdo.testmap.StringET1" db-attribute-path="NAME"/>
+	<obj-entity name="ExtendedTypeEntity" className="org.apache.cayenne.testdo.extended_type.ExtendedTypeEntity" dbEntityName="EXTENDED_TYPE_TEST">
+		<obj-attribute name="name" type="org.apache.cayenne.testdo.extended_type.StringET1" db-attribute-path="NAME"/>
 	</obj-entity>
 	<obj-entity name="Gallery" className="org.apache.cayenne.testdo.testmap.Gallery" dbEntityName="GALLERY">
 		<obj-attribute name="galleryName" type="java.lang.String" db-attribute-path="GALLERY_NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
+	<obj-entity name="GeneratedColumnCompKey" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompKey" dbEntityName="GENERATED_COLUMN_COMP_KEY">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.testmap.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
+	<obj-entity name="GeneratedColumnCompMaster" className="org.apache.cayenne.testdo.generated.GeneratedColumnCompMaster" dbEntityName="GENERATED_COLUMN_COMP_M">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.testmap.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
+	<obj-entity name="GeneratedColumnDep" className="org.apache.cayenne.testdo.generated.GeneratedColumnDep" dbEntityName="GENERATED_COLUMN_DEP">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
+	<obj-entity name="GeneratedColumnTest2" className="org.apache.cayenne.testdo.generated.GeneratedColumnTest2" dbEntityName="GENERATED_COLUMN_TEST2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
+	<obj-entity name="GeneratedColumnTestEntity" className="org.apache.cayenne.testdo.generated.GeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.testmap.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF1" className="org.apache.cayenne.testdo.generated.GeneratedF1" clientClassName="test.client.GeneratedF1" dbEntityName="GENERATED_F1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.testmap.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="GeneratedF2" className="org.apache.cayenne.testdo.generated.GeneratedF2" clientClassName="test.client.GeneratedF2" dbEntityName="GENERATED_F2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 	</obj-entity>
-	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.testmap.LongEntity" dbEntityName="LONG_ENTITY">
+	<obj-entity name="LongEntity" className="org.apache.cayenne.testdo.numeric_types.LongEntity" dbEntityName="LONG_ENTITY">
 		<obj-attribute name="longField" type="java.lang.Long" db-attribute-path="LONG_FIELD"/>
 	</obj-entity>
 	<obj-entity name="MeaningfulGeneratedColumnTestEntity" className="org.apache.cayenne.testdo.testmap.MeaningfulGeneratedColumnTestEntity" dbEntityName="GENERATED_COLUMN_TEST">
 		<obj-attribute name="generatedColumn" type="java.lang.Integer" db-attribute-path="GENERATED_COLUMN"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.testmap.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
+	<obj-entity name="MeaningfulPKDep" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep" dbEntityName="MEANINGFUL_PK_DEP">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 	</obj-entity>
-	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.testmap.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
+	<obj-entity name="MeaningfulPKTest1" className="org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1" dbEntityName="MEANINGFUL_PK_TEST1">
 		<obj-attribute name="descr" type="java.lang.String" db-attribute-path="DESCR"/>
 		<obj-attribute name="pkAttribute" type="java.lang.Integer" db-attribute-path="PK_ATTRIBUTE"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
+	<obj-entity name="MixedPersistenceStrategy" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy" dbEntityName="MIXED_PERSISTENCE_STRATEGY">
 		<obj-attribute name="description" type="java.lang.String" db-attribute-path="DESCRIPTION"/>
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.testmap.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
+	<obj-entity name="MixedPersistenceStrategy2" className="org.apache.cayenne.testdo.mixed_persistence_strategy.MixedPersistenceStrategy2" dbEntityName="MIXED_PERSISTENCE_STRATEGY2">
 		<obj-attribute name="name" type="java.lang.String" db-attribute-path="NAME"/>
 	</obj-entity>
-	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.testmap.NoPkTestEntity" dbEntityName="NO_PK_TEST">
+	<obj-entity name="NoPkTestEntity" className="org.apache.cayenne.testdo.no_pk.NoPkTestEntity" dbEntityName="NO_PK_TEST">
 		<obj-attribute name="attribute1" type="java.lang.Integer" db-attribute-path="ATTRIBUTE1"/>
 	</obj-entity>
 	<obj-entity name="Painting" className="org.apache.cayenne.testdo.testmap.Painting" dbEntityName="PAINTING" superClassName="org.apache.cayenne.testdo.testmap.ArtDataObject">
@@ -453,7 +453,7 @@
 		<obj-attribute name="imageBlob" type="byte[]" db-attribute-path="IMAGE_BLOB"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.testmap.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
+	<obj-entity name="PrimitivesTestEntity" className="org.apache.cayenne.testdo.primitive.PrimitivesTestEntity" dbEntityName="PRIMITIVES_TEST">
 		<obj-attribute name="booleanColumn" type="boolean" db-attribute-path="BOOLEAN_COLUMN"/>
 		<obj-attribute name="intColumn" type="int" db-attribute-path="INT_COLUMN"/>
 	</obj-entity>
@@ -470,7 +470,7 @@
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 		<obj-attribute name="textReview" type="java.lang.String" db-attribute-path="toPaintingInfo.TEXT_REVIEW"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap1" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap1" clientClassName="test.client.ReturnTypesMap1" dbEntityName="TYPES_MAPPING_TEST1" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="bigintColumn" type="java.lang.Long" db-attribute-path="BIGINT_COLUMN"/>
 		<obj-attribute name="bitColumn" type="java.lang.Boolean" db-attribute-path="BIT_COLUMN"/>
 		<obj-attribute name="booleanColumn" type="java.lang.Boolean" db-attribute-path="BOOLEAN_COLUMN"/>
@@ -490,25 +490,25 @@
 		<obj-attribute name="tinyintColumn" type="java.lang.Byte" db-attribute-path="TINYINT_COLUMN"/>
 		<obj-attribute name="varcharColumn" type="java.lang.String" db-attribute-path="VARCHAR_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.testmap.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
+	<obj-entity name="ReturnTypesMap2" className="org.apache.cayenne.testdo.return_types.ReturnTypesMap2" clientClassName="test.client.ReturnTypesMap2" dbEntityName="TYPES_MAPPING_TEST2" superClassName="org.apache.cayenne.CayenneDataObject" clientSuperClassName="org.apache.cayenne.PersistentObject">
 		<obj-attribute name="binaryColumn" type="byte[]" db-attribute-path="BINARY_COLUMN"/>
 		<obj-attribute name="blobColumn" type="byte[]" db-attribute-path="BLOB_COLUMN"/>
 		<obj-attribute name="longvarbinaryColumn" type="byte[]" db-attribute-path="LONGVARBINARY_COLUMN"/>
 		<obj-attribute name="varbinaryColumn" type="byte[]" db-attribute-path="VARBINARY_COLUMN"/>
 	</obj-entity>
-	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.testmap.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
+	<obj-entity name="SerializableEntity" className="org.apache.cayenne.testdo.misc_types.SerializableEntity" dbEntityName="SERIALIZABLE_ENTITY">
 		<obj-attribute name="serializableField" type="org.apache.cayenne.MockSerializable" db-attribute-path="SERIALIZABLE_FIELD"/>
 	</obj-entity>
-	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.testmap.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
+	<obj-entity name="SmallintTestEntity" className="org.apache.cayenne.testdo.numeric_types.SmallintTestEntity" dbEntityName="SMALLINT_TEST">
 		<obj-attribute name="smallintCol" type="java.lang.Short" db-attribute-path="SMALLINT_COL"/>
 	</obj-entity>
 	<obj-entity name="SubPainting" className="org.apache.cayenne.testdo.testmap.SubPainting" dbEntityName="PAINTING">
 		<obj-attribute name="paintingTitle" type="java.lang.String" db-attribute-path="PAINTING_TITLE"/>
 	</obj-entity>
-	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.testmap.TinyintTestEntity" dbEntityName="TINYINT_TEST">
+	<obj-entity name="TinyintTestEntity" className="org.apache.cayenne.testdo.numeric_types.TinyintTestEntity" dbEntityName="TINYINT_TEST">
 		<obj-attribute name="tinyintCol" type="java.lang.Byte" db-attribute-path="TINYINT_COL"/>
 	</obj-entity>
-	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.testmap.UuidTestEntity" dbEntityName="UUID_TEST">
+	<obj-entity name="UuidTestEntity" className="org.apache.cayenne.testdo.uuid.UuidTestEntity" dbEntityName="UUID_TEST">
 		<obj-attribute name="uuid" type="java.util.UUID" db-attribute-path="UUID"/>
 	</obj-entity>
 	<db-relationship name="artistGroupArray" source="ARTGROUP" target="ARTIST_GROUP" toMany="true">


[02/50] [abbrv] cayenne git commit: CAY-1966 SQLTemplate/SQLSelect positional parameter binding

Posted by aa...@apache.org.
CAY-1966 SQLTemplate/SQLSelect positional parameter binding

    * positional parameter bindings in SQLtemplate


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/14e9dc3b
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/14e9dc3b
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/14e9dc3b

Branch: refs/heads/CAY-1946
Commit: 14e9dc3bdad37e841cfa6bf00f17f80f6eab86b1
Parents: 2584967
Author: aadamchik <aa...@apache.org>
Authored: Sun Nov 2 22:59:04 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Sun Nov 2 22:59:04 2014 +0300

----------------------------------------------------------------------
 .../apache/cayenne/query/SQLTemplateTest.java   |   5 +-
 .../cayenne/access/jdbc/SQLTemplateAction.java  |  53 +++--
 .../access/jdbc/SQLTemplateProcessor.java       |   7 +
 .../org/apache/cayenne/query/SQLSelect.java     |  14 +-
 .../org/apache/cayenne/query/SQLTemplate.java   |  48 ++++-
 .../apache/cayenne/velocity/BindDirective.java  | 211 +++++++++----------
 .../cayenne/velocity/VelocityParamSequence.java |  68 ++++++
 .../velocity/VelocitySQLTemplateProcessor.java  | 101 +++++++--
 .../org/apache/cayenne/query/SQLTemplateIT.java |  71 ++++++-
 .../apache/cayenne/query/SQLTemplateTest.java   |  41 +++-
 10 files changed, 458 insertions(+), 161 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
index b727d83..d432fe1 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Collections;
-import java.util.Map;
 
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.remote.hessian.service.HessianUtil;
@@ -45,9 +44,7 @@ public class SQLTemplateTest {
 
 		// set immutable parameters ... query must recast them to mutable
 		// version
-		@SuppressWarnings("unchecked")
-		Map<String, Object>[] parameters = new Map[] { Collections.EMPTY_MAP };
-		o.setParameters(parameters);
+		o.setParams(Collections.<String, Object> emptyMap());
 
 		HessianUtil.cloneViaClientServerSerialization(o, new EntityResolver());
 	}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
index 2e0d767..9c76fe9 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateAction.java
@@ -101,16 +101,54 @@ public class SQLTemplateAction implements SQLAction {
 		}
 
 		boolean loggable = dataNode.getJdbcEventLogger().isLoggable();
+		List<Number> counts = new ArrayList<Number>();
+
+		// bind either positional or named parameters;
+		// for legacy reasons named parameters are processed as a batch.. this
+		// should go away after 4.0; newer positional parameter only support a
+		// single set of values.
+		if (query.getPositionalParams().isEmpty()) {
+			runWithNamedParametersBatch(connection, callback, template, counts, loggable);
+		} else {
+			runWithPositionalParameters(connection, callback, template, counts, loggable);
+		}
+
+		// notify of combined counts of all queries inside SQLTemplate
+		// multiplied by the
+		// number of parameter sets...
+		int[] ints = new int[counts.size()];
+		for (int i = 0; i < ints.length; i++) {
+			ints[i] = counts.get(i).intValue();
+		}
+
+		callback.nextBatchCount(query, ints);
+	}
+
+	private void runWithPositionalParameters(Connection connection, OperationObserver callback, String template,
+			Collection<Number> counts, boolean loggable) throws Exception {
+
+		SQLStatement compiled = dataNode.getSqlTemplateProcessor().processTemplate(template,
+				query.getPositionalParams());
+
+		if (loggable) {
+			dataNode.getJdbcEventLogger().logQuery(compiled.getSql(), Arrays.asList(compiled.getBindings()));
+		}
+
+		execute(connection, callback, compiled, counts);
+	}
+
+	@SuppressWarnings("deprecation")
+	private void runWithNamedParametersBatch(Connection connection, OperationObserver callback, String template,
+			Collection<Number> counts, boolean loggable) throws Exception {
+
 		int size = query.parametersSize();
 
 		// zero size indicates a one-shot query with no parameters
 		// so fake a single entry batch...
 		int batchSize = (size > 0) ? size : 1;
 
-		List<Number> counts = new ArrayList<Number>(batchSize);
-
 		// for now supporting deprecated batch parameters...
-		@SuppressWarnings({ "deprecation", "unchecked" })
+		@SuppressWarnings("unchecked")
 		Iterator<Map<String, ?>> it = (size > 0) ? query.parametersIterator() : IteratorUtils
 				.singletonIterator(Collections.emptyMap());
 		for (int i = 0; i < batchSize; i++) {
@@ -125,15 +163,6 @@ public class SQLTemplateAction implements SQLAction {
 			execute(connection, callback, compiled, counts);
 		}
 
-		// notify of combined counts of all queries inside SQLTemplate
-		// multiplied by the
-		// number of parameter sets...
-		int[] ints = new int[counts.size()];
-		for (int i = 0; i < ints.length; i++) {
-			ints[i] = counts.get(i).intValue();
-		}
-
-		callback.nextBatchCount(query, ints);
 	}
 
 	protected void execute(Connection connection, OperationObserver callback, SQLStatement compiled,

http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateProcessor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateProcessor.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateProcessor.java
index 3873494..fc6ef62 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateProcessor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/SQLTemplateProcessor.java
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.cayenne.access.jdbc;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -30,4 +31,10 @@ public interface SQLTemplateProcessor {
 	 * of parameters.
 	 */
 	SQLStatement processTemplate(String template, Map<String, ?> parameters);
+
+	/**
+	 * Builds and returns a SQLStatement based on SQL template String and a list
+	 * of positional parameters.
+	 */
+	SQLStatement processTemplate(String template, List<Object> positionalParameters);
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
index 7f36267..fc413fa 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLSelect.java
@@ -89,7 +89,7 @@ public class SQLSelect<T> extends IndirectQuery implements Select<T> {
 	protected StringBuilder sqlBuffer;
 	protected QueryCacheStrategy cacheStrategy;
 	protected String[] cacheGroups;
-	protected Map<String, Object> parameters;
+	protected Map<String, Object> params;
 	protected CapsStrategy columnNameCaps;
 	protected int limit;
 	protected int offset;
@@ -103,7 +103,7 @@ public class SQLSelect<T> extends IndirectQuery implements Select<T> {
 	public SQLSelect(Class<T> persistentType, String sql) {
 		this.persistentType = persistentType;
 		this.sqlBuffer = sql != null ? new StringBuilder(sql) : new StringBuilder();
-		this.parameters = new HashMap<String, Object>();
+		this.params = new HashMap<String, Object>();
 		this.limit = QueryMetadata.FETCH_LIMIT_DEFAULT;
 		this.offset = QueryMetadata.FETCH_OFFSET_DEFAULT;
 		this.pageSize = QueryMetadata.PAGE_SIZE_DEFAULT;
@@ -148,7 +148,7 @@ public class SQLSelect<T> extends IndirectQuery implements Select<T> {
 	}
 
 	public SQLSelect<T> params(String name, Object value) {
-		parameters.put(name, value);
+		params.put(name, value);
 		this.replacementQuery = null;
 		return this;
 	}
@@ -162,12 +162,12 @@ public class SQLSelect<T> extends IndirectQuery implements Select<T> {
 	}
 
 	/**
-	 * Returns mutable map of parameters that will be bound to SQL. A caller is
-	 * free to add/remove parameters from the returned map as needed.
+	 * Returns a mutable map of parameters that will be bound to SQL. A caller
+	 * is free to add/remove parameters from the returned map as needed.
 	 * Alternatively one may use chained {@link #params(String, Object)}
 	 */
 	public Map<String, Object> getParams() {
-		return parameters;
+		return params;
 	}
 
 	@Override
@@ -195,7 +195,7 @@ public class SQLSelect<T> extends IndirectQuery implements Select<T> {
 		template.setDefaultTemplate(getSql());
 		template.setCacheGroups(cacheGroups);
 		template.setCacheStrategy(cacheStrategy);
-		template.setParams(parameters);
+		template.setParams(params);
 		template.setColumnNamesCapitalization(columnNameCaps);
 		template.setFetchLimit(limit);
 		template.setFetchOffset(offset);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
index 3d3514b..dd4b176 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplate.java
@@ -19,10 +19,12 @@
 
 package org.apache.cayenne.query;
 
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.TreeSet;
 
@@ -82,6 +84,7 @@ public class SQLTemplate extends AbstractQuery implements ParameterizedQuery, XM
 	protected String defaultTemplate;
 	protected Map<String, String> templates;
 	protected Map<String, ?>[] parameters;
+	protected List<Object> positionalParams;
 	protected CapsStrategy columnNamesCapitalization;
 	protected SQLResult result;
 	private String dataNodeName;
@@ -323,15 +326,42 @@ public class SQLTemplate extends AbstractQuery implements ParameterizedQuery, XM
 	}
 
 	/**
-	 * Initializes parameters map of this query.
+	 * Initializes named parameter of this query. Note that calling this method
+	 * will reset any positional parameters.
 	 * 
 	 * @since 4.0
 	 */
 	@SuppressWarnings("unchecked")
-	public void setParams(Map<String, ?> parameters) {
+	public void setParams(Map<String, ?> params) {
+
+		// since named parameters are specified, resetting positional
+		// parameters
+		this.positionalParams = null;
+
 		// calling a deprecated method until we can remove multi-parameter-batch
 		// deprecation.
-		setParameters(parameters);
+		setParameters(params);
+	}
+
+	/**
+	 * Initializes positional parameters of the query. This is a positional
+	 * style of binding. Names of variables in the expression are ignored and
+	 * parameters are bound in order they are found in the expression. E.g. if
+	 * the same name is mentioned twice, it can be bound to two different
+	 * values. If declared and provided parameters counts are mismatched, an
+	 * exception will be thrown.
+	 * <p>
+	 * Note that calling this method will reset any previously set *named*
+	 * parameters.
+	 * 
+	 * @since 4.0
+	 */
+	public void setParamsArray(Object... params) {
+		// since positional parameters are specified, resetting named
+		// parameters
+		this.parameters = null;
+
+		this.positionalParams = params != null ? Arrays.asList(params) : null;
 	}
 
 	/**
@@ -552,7 +582,7 @@ public class SQLTemplate extends AbstractQuery implements ParameterizedQuery, XM
 	}
 
 	/**
-	 * Returns a map of parameters.
+	 * Returns a map of named parameters that will be bound to SQL.
 	 * 
 	 * @since 4.0
 	 */
@@ -562,6 +592,15 @@ public class SQLTemplate extends AbstractQuery implements ParameterizedQuery, XM
 	}
 
 	/**
+	 * Returns a list of positional parameters that will be bound to SQL.
+	 * 
+	 * @since 4.0
+	 */
+	public List<Object> getPositionalParams() {
+		return positionalParams != null ? positionalParams : Collections.emptyList();
+	}
+
+	/**
 	 * Utility method to get the first set of parameters, since most queries
 	 * will only have one.
 	 * 
@@ -581,6 +620,7 @@ public class SQLTemplate extends AbstractQuery implements ParameterizedQuery, XM
 	 *             batches of parameters are superseded by the use of
 	 *             {@link QueryChain}.
 	 */
+	@SuppressWarnings("unchecked")
 	@Deprecated
 	public void setParameters(Map<String, ?>... parameters) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java
index 6e7e83e..a2b50a2 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/BindDirective.java
@@ -35,8 +35,8 @@ import org.apache.velocity.runtime.directive.Directive;
 import org.apache.velocity.runtime.parser.node.Node;
 
 /**
- * A custom Velocity directive to create a PreparedStatement parameter text. There are the
- * following possible invocation formats inside the template:
+ * A custom Velocity directive to create a PreparedStatement parameter text.
+ * There are the following possible invocation formats inside the template:
  * 
  * <pre>
  * #bind(value) - e.g. #bind($xyz)
@@ -51,16 +51,17 @@ import org.apache.velocity.runtime.parser.node.Node;
  * </p>
  * <p>
  * <code>"WHERE SOME_COLUMN &gt; #bind($xyz)"</code> produces
- * <code>"WHERE SOME_COLUMN &gt; ?"</code> and also places the value of the "xyz" parameter
- * in the context "bindings" collection.
+ * <code>"WHERE SOME_COLUMN &gt; ?"</code> and also places the value of the
+ * "xyz" parameter in the context "bindings" collection.
  * </p>
  * <p>
  * <strong>Binding ID column of a DataObject value:</strong>
  * </p>
  * <p>
  * <code>"WHERE ID_COL1 = #bind($helper.cayenneExp($xyz, 'db:ID_COL2')) 
- * AND ID_COL2 = #bind($helper.cayenneExp($xyz, 'db:ID_COL2'))"</code> produces <code>"WHERE ID_COL1 = ? AND ID_COL2 = ?"</code> and also places the
- * values of id columns of the DataObject parameter "xyz" in the context "bindings"
+ * AND ID_COL2 = #bind($helper.cayenneExp($xyz, 'db:ID_COL2'))"</code> produces
+ * <code>"WHERE ID_COL1 = ? AND ID_COL2 = ?"</code> and also places the values
+ * of id columns of the DataObject parameter "xyz" in the context "bindings"
  * collection.
  * </p>
  * 
@@ -68,109 +69,97 @@ import org.apache.velocity.runtime.parser.node.Node;
  */
 public class BindDirective extends Directive {
 
-    @Override
-    public String getName() {
-        return "bind";
-    }
-
-    @Override
-    public int getType() {
-        return LINE;
-    }
-
-    /**
-     * Extracts the value of the object property to render and passes control to
-     * {@link #render(InternalContextAdapter, Writer, ParameterBinding)} to do the actual
-     * rendering.
-     */
-    @Override
-    public boolean render(InternalContextAdapter context, Writer writer, Node node)
-            throws IOException, ResourceNotFoundException, ParseErrorException,
-            MethodInvocationException {
-
-        Object value = getChild(context, node, 0);
-        Object type = getChild(context, node, 1);
-        int scale = ConversionUtil.toInt(getChild(context, node, 2), -1);
-        String typeString = type != null ? type.toString() : null;
-
-        if (value instanceof Collection) {
-            Iterator<?> it = ((Collection) value).iterator();
-            while (it.hasNext()) {
-                render(context, writer, node, it.next(), typeString, scale);
-
-                if (it.hasNext()) {
-                    writer.write(',');
-                }
-            }
-        }
-        else {
-            render(context, writer, node, value, typeString, scale);
-        }
-
-        return true;
-    }
-
-    /**
-     * @since 3.0
-     */
-    protected void render(
-            InternalContextAdapter context,
-            Writer writer,
-            Node node,
-            Object value,
-            String typeString,
-            int scale) throws IOException, ParseErrorException {
-
-        int jdbcType = TypesMapping.NOT_DEFINED;
-        if (typeString != null) {
-            jdbcType = TypesMapping.getSqlTypeByName(typeString);
-        }
-        else if (value != null) {
-            jdbcType = TypesMapping.getSqlTypeByJava(value.getClass());
-        } else {
-            // value is null, set JDBC type to NULL
-        	jdbcType = TypesMapping.getSqlTypeByName(TypesMapping.SQL_NULL);
-        }
-
-        if (jdbcType == TypesMapping.NOT_DEFINED) {
-            throw new ParseErrorException("Can't determine JDBC type of binding ("
-                    + value
-                    + ", "
-                    + typeString
-                    + ") at line "
-                    + node.getLine()
-                    + ", column "
-                    + node.getColumn());
-        }
-
-        render(context, writer, new ParameterBinding(value, jdbcType, scale));
-    }
-
-    protected void render(
-            InternalContextAdapter context,
-            Writer writer,
-            ParameterBinding binding) throws IOException {
-
-        bind(context, binding);
-        writer.write('?');
-    }
-
-    protected Object getChild(InternalContextAdapter context, Node node, int i)
-            throws MethodInvocationException {
-        return (i >= 0 && i < node.jjtGetNumChildren()) ? node.jjtGetChild(i).value(
-                context) : null;
-    }
-
-    /**
-     * Adds value to the list of bindings in the context.
-     */
-    protected void bind(InternalContextAdapter context, ParameterBinding binding) {
-
-        Collection bindings = (Collection) context.getInternalUserContext().get(
-                VelocitySQLTemplateProcessor.BINDINGS_LIST_KEY);
-
-        if (bindings != null) {
-            bindings.add(binding);
-        }
-    }
+	@Override
+	public String getName() {
+		return "bind";
+	}
+
+	@Override
+	public int getType() {
+		return LINE;
+	}
+
+	/**
+	 * Extracts the value of the object property to render and passes control to
+	 * {@link #render(InternalContextAdapter, Writer, ParameterBinding)} to do
+	 * the actual rendering.
+	 */
+	@Override
+	public boolean render(InternalContextAdapter context, Writer writer, Node node) throws IOException,
+			ResourceNotFoundException, ParseErrorException, MethodInvocationException {
+
+		Object value = getChild(context, node, 0);
+		Object type = getChild(context, node, 1);
+		int scale = ConversionUtil.toInt(getChild(context, node, 2), -1);
+		String typeString = type != null ? type.toString() : null;
+
+		if (value instanceof Collection) {
+			Iterator<?> it = ((Collection) value).iterator();
+			while (it.hasNext()) {
+				render(context, writer, node, it.next(), typeString, scale);
+
+				if (it.hasNext()) {
+					writer.write(',');
+				}
+			}
+		} else {
+			render(context, writer, node, value, typeString, scale);
+		}
+
+		return true;
+	}
+
+	/**
+	 * @since 3.0
+	 */
+	protected void render(InternalContextAdapter context, Writer writer, Node node, Object value, String typeString,
+			int scale) throws IOException, ParseErrorException {
+
+		int jdbcType = TypesMapping.NOT_DEFINED;
+		if (typeString != null) {
+			jdbcType = TypesMapping.getSqlTypeByName(typeString);
+		} else if (value != null) {
+			jdbcType = TypesMapping.getSqlTypeByJava(value.getClass());
+		} else {
+			// value is null, set JDBC type to NULL
+			jdbcType = TypesMapping.getSqlTypeByName(TypesMapping.SQL_NULL);
+		}
+
+		if (jdbcType == TypesMapping.NOT_DEFINED) {
+			throw new ParseErrorException("Can't determine JDBC type of binding (" + value + ", " + typeString
+					+ ") at line " + node.getLine() + ", column " + node.getColumn());
+		}
+
+		render(context, writer, new ParameterBinding(value, jdbcType, scale));
+	}
+
+	protected void render(InternalContextAdapter context, Writer writer, ParameterBinding binding) throws IOException {
+
+		bind(context, binding);
+		writer.write('?');
+	}
+
+	protected Object getChild(InternalContextAdapter context, Node node, int i) throws MethodInvocationException {
+		Object child = (i >= 0 && i < node.jjtGetNumChildren()) ? node.jjtGetChild(i).value(context) : null;
+
+		// unwrap postional parameters
+		if (child instanceof VelocityParamSequence) {
+			child = ((VelocityParamSequence) child).next();
+		}
+
+		return child;
+	}
+
+	/**
+	 * Adds value to the list of bindings in the context.
+	 */
+	protected void bind(InternalContextAdapter context, ParameterBinding binding) {
+
+		Collection bindings = (Collection) context.getInternalUserContext().get(
+				VelocitySQLTemplateProcessor.BINDINGS_LIST_KEY);
+
+		if (bindings != null) {
+			bindings.add(binding);
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocityParamSequence.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocityParamSequence.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocityParamSequence.java
new file mode 100644
index 0000000..089e7f4
--- /dev/null
+++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocityParamSequence.java
@@ -0,0 +1,68 @@
+/*****************************************************************
+ *   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.velocity;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.velocity.context.InternalContextAdapter;
+import org.apache.velocity.exception.MethodInvocationException;
+import org.apache.velocity.exception.ParseErrorException;
+import org.apache.velocity.exception.ResourceNotFoundException;
+import org.apache.velocity.runtime.Renderable;
+
+/**
+ * A parameter value container that helps to may a single velocity variable to a
+ * sequence of positional parameters.
+ * 
+ * @since 4.0
+ */
+class VelocityParamSequence implements Renderable {
+
+	private List<Object> parameters;
+	private int index;
+
+	VelocityParamSequence() {
+		this.parameters = new ArrayList<Object>();
+	}
+
+	void add(Object parameter) {
+		parameters.add(parameter);
+	}
+
+	Object next() {
+		return parameters.get(index++);
+	}
+
+	@Override
+	public boolean render(InternalContextAdapter context, Writer writer) throws IOException, MethodInvocationException,
+			ParseErrorException, ResourceNotFoundException {
+
+		// rewind the list regardless of whether we produce any output
+		Object next = next();
+
+		if (context.getAllowRendering()) {
+			writer.write(String.valueOf(next));
+		}
+		return true;
+	}
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
index 89e7952..be5641d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/velocity/VelocitySQLTemplateProcessor.java
@@ -31,13 +31,16 @@ import org.apache.cayenne.access.jdbc.ColumnDescriptor;
 import org.apache.cayenne.access.jdbc.ParameterBinding;
 import org.apache.cayenne.access.jdbc.SQLStatement;
 import org.apache.cayenne.access.jdbc.SQLTemplateProcessor;
+import org.apache.cayenne.exp.ExpressionException;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.context.InternalContextAdapterImpl;
 import org.apache.velocity.runtime.RuntimeConstants;
 import org.apache.velocity.runtime.RuntimeInstance;
 import org.apache.velocity.runtime.log.NullLogChute;
 import org.apache.velocity.runtime.parser.ParseException;
+import org.apache.velocity.runtime.parser.node.ASTReference;
 import org.apache.velocity.runtime.parser.node.SimpleNode;
+import org.apache.velocity.runtime.visitor.BaseVisitor;
 
 /**
  * Processor for SQL velocity templates.
@@ -47,6 +50,45 @@ import org.apache.velocity.runtime.parser.node.SimpleNode;
  */
 public class VelocitySQLTemplateProcessor implements SQLTemplateProcessor {
 
+	private final class PositionalParamMapper extends BaseVisitor {
+
+		private int i;
+		private List<Object> positionalParams;
+		private Map<String, Object> params;
+
+		PositionalParamMapper(List<Object> positionalParams, Map<String, Object> params) {
+			this.positionalParams = positionalParams;
+			this.params = params;
+		}
+
+		@Override
+		public Object visit(ASTReference node, Object data) {
+
+			if (i >= positionalParams.size()) {
+				throw new ExpressionException("Too few parameters to bind template: " + positionalParams.size());
+			}
+
+			// strip off leading "$"
+			String paramName = node.getFirstToken().image.substring(1);
+			VelocityParamSequence sequence = (VelocityParamSequence) params.get(paramName);
+			if (sequence == null) {
+				sequence = new VelocityParamSequence();
+				params.put(paramName, sequence);
+			}
+
+			sequence.add(positionalParams.get(i++));
+
+			return data;
+		}
+
+		void onFinish() {
+			if (i < positionalParams.size()) {
+				throw new ExpressionException("Too many parameters to bind template. Expected: " + i + ", actual: "
+						+ positionalParams.size());
+			}
+		}
+	}
+
 	static final String BINDINGS_LIST_KEY = "bindings";
 	static final String RESULT_COLUMNS_LIST_KEY = "resultColumns";
 	static final String HELPER_KEY = "helper";
@@ -91,15 +133,34 @@ public class VelocitySQLTemplateProcessor implements SQLTemplateProcessor {
 		Map<String, Object> internalParameters = (parameters != null && !parameters.isEmpty()) ? new HashMap<String, Object>(
 				parameters) : new HashMap<String, Object>(5);
 
+		SimpleNode parsedTemplate = parse(template);
+		return processTemplate(template, parsedTemplate, internalParameters);
+	}
+
+	@Override
+	public SQLStatement processTemplate(String template, List<Object> positionalParameters) {
+
+		SimpleNode parsedTemplate = parse(template);
+
+		Map<String, Object> internalParameters = new HashMap<String, Object>();
+
+		PositionalParamMapper visitor = new PositionalParamMapper(positionalParameters, internalParameters);
+		parsedTemplate.jjtAccept(visitor, null);
+		visitor.onFinish();
+
+		return processTemplate(template, parsedTemplate, internalParameters);
+	}
+
+	SQLStatement processTemplate(String template, SimpleNode parsedTemplate, Map<String, Object> parameters) {
 		List<ParameterBinding> bindings = new ArrayList<ParameterBinding>();
 		List<ColumnDescriptor> results = new ArrayList<ColumnDescriptor>();
-		internalParameters.put(BINDINGS_LIST_KEY, bindings);
-		internalParameters.put(RESULT_COLUMNS_LIST_KEY, results);
-		internalParameters.put(HELPER_KEY, renderingUtils);
+		parameters.put(BINDINGS_LIST_KEY, bindings);
+		parameters.put(RESULT_COLUMNS_LIST_KEY, results);
+		parameters.put(HELPER_KEY, renderingUtils);
 
 		String sql;
 		try {
-			sql = buildStatement(new VelocityContext(internalParameters), template);
+			sql = buildStatement(new VelocityContext(parameters), template, parsedTemplate);
 		} catch (Exception e) {
 			throw new CayenneRuntimeException("Error processing Velocity template", e);
 		}
@@ -113,12 +174,24 @@ public class VelocitySQLTemplateProcessor implements SQLTemplateProcessor {
 		return new SQLStatement(sql, resultsArray, bindingsArray);
 	}
 
-	String buildStatement(VelocityContext context, String template) throws Exception {
-		// Note: this method is a reworked version of
-		// org.apache.velocity.app.Velocity.evaluate(..)
-		// cleaned up to avoid using any Velocity singletons
+	String buildStatement(VelocityContext context, String template, SimpleNode parsedTemplate) throws Exception {
+
+		// ... not sure what InternalContextAdapter is for...
+		InternalContextAdapterImpl ica = new InternalContextAdapterImpl(context);
+		ica.pushCurrentTemplateName(template);
 
 		StringWriter out = new StringWriter(template.length());
+		try {
+			parsedTemplate.init(ica, velocityRuntime);
+			parsedTemplate.render(ica, out);
+			return out.toString();
+		} finally {
+			ica.popCurrentTemplateName();
+		}
+	}
+
+	private SimpleNode parse(String template) {
+
 		SimpleNode nodeTree = null;
 
 		try {
@@ -131,16 +204,6 @@ public class VelocitySQLTemplateProcessor implements SQLTemplateProcessor {
 			throw new CayenneRuntimeException("Error parsing template " + template);
 		}
 
-		// ... not sure what InternalContextAdapter is for...
-		InternalContextAdapterImpl ica = new InternalContextAdapterImpl(context);
-		ica.pushCurrentTemplateName(template);
-
-		try {
-			nodeTree.init(ica, velocityRuntime);
-			nodeTree.render(ica, out);
-			return out.toString();
-		} finally {
-			ica.popCurrentTemplateName();
-		}
+		return nodeTree;
 	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
index 3d2b989..5696eba 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateIT.java
@@ -19,6 +19,8 @@
 
 package org.apache.cayenne.query;
 
+import java.sql.SQLException;
+import java.sql.Types;
 import java.util.List;
 
 import org.apache.cayenne.CayenneRuntimeException;
@@ -27,9 +29,10 @@ import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.test.jdbc.DBHelper;
+import org.apache.cayenne.test.jdbc.TableHelper;
+import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.apache.cayenne.util.Util;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class SQLTemplateIT extends ServerCase {
@@ -40,6 +43,8 @@ public class SQLTemplateIT extends ServerCase {
 	@Inject
 	private DBHelper dbHelper;
 
+	private TableHelper tPainting;
+
 	@Override
 	protected void setUpAfterInjection() throws Exception {
 		dbHelper.deleteAll("PAINTING_INFO");
@@ -47,6 +52,10 @@ public class SQLTemplateIT extends ServerCase {
 		dbHelper.deleteAll("ARTIST_EXHIBIT");
 		dbHelper.deleteAll("ARTIST_GROUP");
 		dbHelper.deleteAll("ARTIST");
+
+		tPainting = new TableHelper(dbHelper, "PAINTING");
+		tPainting.setColumns("PAINTING_ID", "ARTIST_ID", "PAINTING_TITLE", "ESTIMATED_PRICE").setColumnTypes(
+				Types.INTEGER, Types.BIGINT, Types.VARCHAR, Types.DECIMAL);
 	}
 
 	public void testSQLTemplateForDataMap() {
@@ -83,4 +92,64 @@ public class SQLTemplateIT extends ServerCase {
 		assertTrue("If fetchingDataRows is false and ObjectEntity not set, shoulb be thrown exception",
 				gotRuntimeException);
 	}
+
+	public void testSQLTemplate_PositionalParams() throws SQLException {
+
+		String sql = "INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) "
+				+ "VALUES ($b, '$n', #bind($c 'INTEGER'))";
+
+		SQLTemplate q1 = new SQLTemplate(Painting.class, sql);
+		q1.setParamsArray(76, "The Fiddler", 10005);
+		context.performNonSelectingQuery(q1);
+
+		assertEquals("The Fiddler", tPainting.getString("PAINTING_TITLE"));
+		assertEquals(76, tPainting.getInt("PAINTING_ID"));
+		assertEquals(10005.d, tPainting.getDouble("ESTIMATED_PRICE"), 0.001);
+	}
+
+	public void testSQLTemplate_PositionalParams_RepeatingVars() throws SQLException {
+
+		String sql = "INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) "
+				+ "VALUES ($b, '$n', #bind($b 'INTEGER'))";
+
+		SQLTemplate q1 = new SQLTemplate(Painting.class, sql);
+		q1.setParamsArray(11, "The Fiddler", 4567);
+		context.performNonSelectingQuery(q1);
+
+		assertEquals("The Fiddler", tPainting.getString("PAINTING_TITLE"));
+		assertEquals(11, tPainting.getInt("PAINTING_ID"));
+		assertEquals(4567.d, tPainting.getDouble("ESTIMATED_PRICE"), 0.001);
+	}
+
+	public void testSQLTemplate_PositionalParams_ToFewParams() throws SQLException {
+
+		String sql = "INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) "
+				+ "VALUES ($b, '$n', #bind($b 'INTEGER'))";
+
+		SQLTemplate q1 = new SQLTemplate(Painting.class, sql);
+		q1.setParamsArray(11, "The Fiddler");
+
+		try {
+			context.performNonSelectingQuery(q1);
+			fail("Exception not thrown on parameter length mismatch");
+		} catch (CayenneRuntimeException e) {
+			// expected
+		}
+	}
+
+	public void testSQLTemplate_PositionalParams_ToManyParams() throws SQLException {
+
+		String sql = "INSERT INTO PAINTING (PAINTING_ID, PAINTING_TITLE, ESTIMATED_PRICE) "
+				+ "VALUES ($b, '$n', #bind($b 'INTEGER'))";
+
+		SQLTemplate q1 = new SQLTemplate(Painting.class, sql);
+		q1.setParamsArray(11, "The Fiddler", 2345, 333);
+
+		try {
+			context.performNonSelectingQuery(q1);
+			fail("Exception not thrown on parameter length mismatch");
+		} catch (CayenneRuntimeException e) {
+			// expected
+		}
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/14e9dc3b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
index dc5df3f..a88a6c8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplateTest.java
@@ -19,12 +19,13 @@
 package org.apache.cayenne.query;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -37,7 +38,6 @@ public class SQLTemplateTest {
 	public void testSetParams() throws Exception {
 		SQLTemplate query = new SQLTemplate();
 
-		assertNotNull(query.getParams());
 		assertTrue(query.getParams().isEmpty());
 
 		Map<String, Object> params = new HashMap<String, Object>();
@@ -47,11 +47,46 @@ public class SQLTemplateTest {
 		assertEquals(params, query.getParams());
 
 		query.setParams(null);
-		assertNotNull(query.getParams());
 		assertTrue(query.getParams().isEmpty());
 	}
 
 	@Test
+	public void testSetParamsArray() throws Exception {
+		SQLTemplate query = new SQLTemplate();
+
+		assertTrue(query.getPositionalParams().isEmpty());
+
+		query.setParamsArray("N", "m");
+		assertEquals(Arrays.asList("N", "m"), query.getPositionalParams());
+
+		query.setParamsArray();
+		assertTrue(query.getPositionalParams().isEmpty());
+	}
+
+	@Test
+	public void testSetParams_MixingStyles() throws Exception {
+
+		SQLTemplate query = new SQLTemplate();
+
+		assertTrue(query.getParams().isEmpty());
+		assertTrue(query.getPositionalParams().isEmpty());
+
+		Map<String, Object> params = Collections.<String, Object> singletonMap("a", "b");
+		query.setParams(params);
+		assertEquals(params, query.getParams());
+		assertTrue(query.getPositionalParams().isEmpty());
+
+		query.setParamsArray("D", "G");
+		assertEquals(Arrays.asList("D", "G"), query.getPositionalParams());
+		assertTrue(query.getParams().isEmpty());
+
+		// even resetting named to null should result in resetting positional
+		query.setParams(null);
+		assertTrue(query.getParams().isEmpty());
+		assertTrue(query.getPositionalParams().isEmpty());
+	}
+
+	@Test
 	public void testGetDefaultTemplate() {
 		SQLTemplate query = new SQLTemplate();
 		query.setDefaultTemplate("AAA # BBB");


[33/50] [abbrv] cayenne git commit: Refactor Relationships Project

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Activity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Activity.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Activity.java
new file mode 100644
index 0000000..2ab4c3c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Activity.java
@@ -0,0 +1,58 @@
+package org.apache.cayenne.testdo.relationships_activity.auto;
+
+import java.sql.Date;
+import java.util.Map;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+import org.apache.cayenne.testdo.relationships_activity.ActivityResult;
+
+/**
+ * Class _Activity was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Activity extends CayenneDataObject {
+
+    @Deprecated
+    public static final String APPOINTMENT_DATE_PROPERTY = "appointmentDate";
+    @Deprecated
+    public static final String APPOINTMENT_NO_PROPERTY = "appointmentNo";
+    @Deprecated
+    public static final String RESULTS_PROPERTY = "results";
+
+    public static final String ACTIVITY_ID_PK_COLUMN = "ACTIVITY_ID";
+
+    public static final Property<Date> APPOINTMENT_DATE = new Property<Date>("appointmentDate");
+    public static final Property<Integer> APPOINTMENT_NO = new Property<Integer>("appointmentNo");
+    public static final Property<Map<String, ActivityResult>> RESULTS = new Property<Map<String, ActivityResult>>("results");
+
+    public void setAppointmentDate(Date appointmentDate) {
+        writeProperty("appointmentDate", appointmentDate);
+    }
+    public Date getAppointmentDate() {
+        return (Date)readProperty("appointmentDate");
+    }
+
+    public void setAppointmentNo(int appointmentNo) {
+        writeProperty("appointmentNo", appointmentNo);
+    }
+    public int getAppointmentNo() {
+        Object value = readProperty("appointmentNo");
+        return (value != null) ? (Integer) value : 0;
+    }
+
+    public void addToResults(ActivityResult obj) {
+        addToManyTarget("results", obj, true);
+    }
+    public void removeFromResults(ActivityResult obj) {
+        removeToManyTarget("results", obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public Map<String, ActivityResult> getResults() {
+        return (Map<String, ActivityResult>)readProperty("results");
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_ActivityResult.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_ActivityResult.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_ActivityResult.java
new file mode 100644
index 0000000..6971f0e
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_ActivityResult.java
@@ -0,0 +1,53 @@
+package org.apache.cayenne.testdo.relationships_activity.auto;
+
+import java.sql.Date;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.exp.Property;
+
+/**
+ * Class _ActivityResult was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ActivityResult extends CayenneDataObject {
+
+    @Deprecated
+    public static final String APPOINT_DATE_PROPERTY = "appointDate";
+    @Deprecated
+    public static final String APPOINT_NO_PROPERTY = "appointNo";
+    @Deprecated
+    public static final String FIELD_PROPERTY = "field";
+
+    public static final String APPOINT_DATE_PK_COLUMN = "APPOINT_DATE";
+    public static final String APPOINT_NO_PK_COLUMN = "APPOINT_NO";
+    public static final String RESULTNAME_PK_COLUMN = "RESULTNAME";
+
+    public static final Property<Date> APPOINT_DATE = new Property<Date>("appointDate");
+    public static final Property<Integer> APPOINT_NO = new Property<Integer>("appointNo");
+    public static final Property<String> FIELD = new Property<String>("field");
+
+    public void setAppointDate(Date appointDate) {
+        writeProperty("appointDate", appointDate);
+    }
+    public Date getAppointDate() {
+        return (Date)readProperty("appointDate");
+    }
+
+    public void setAppointNo(int appointNo) {
+        writeProperty("appointNo", appointNo);
+    }
+    public int getAppointNo() {
+        Object value = readProperty("appointNo");
+        return (value != null) ? (Integer) value : 0;
+    }
+
+    public void setField(String field) {
+        writeProperty("field", field);
+    }
+    public String getField() {
+        return (String)readProperty("field");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Relationships1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Relationships1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Relationships1.java
new file mode 100644
index 0000000..c36bc74
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_activity/auto/_Relationships1.java
@@ -0,0 +1,12 @@
+package org.apache.cayenne.testdo.relationships_activity.auto;
+
+
+
+/**
+ * This class was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public class _Relationships1 {
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/Child.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/Child.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/Child.java
new file mode 100644
index 0000000..d46803f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/Child.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.relationships_child_master;
+
+import org.apache.cayenne.testdo.relationships_child_master.auto._Child;
+
+public class Child extends _Child {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/Master.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/Master.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/Master.java
new file mode 100644
index 0000000..c14aaa3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/Master.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.relationships_child_master;
+
+import org.apache.cayenne.testdo.relationships_child_master.auto._Master;
+
+public class Master extends _Master {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Child.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Child.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Child.java
new file mode 100644
index 0000000..4798c5b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Child.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.relationships_child_master.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_child_master.Master;
+
+/**
+ * Class _Child was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Child extends CayenneDataObject {
+
+    public static final String MASTER_PROPERTY = "master";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setMaster(Master master) {
+        setToOneTarget(MASTER_PROPERTY, master, true);
+    }
+
+    public Master getMaster() {
+        return (Master)readProperty(MASTER_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Master.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Master.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Master.java
new file mode 100644
index 0000000..3b9fde7
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_child_master/auto/_Master.java
@@ -0,0 +1,40 @@
+package org.apache.cayenne.testdo.relationships_child_master.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_child_master.Child;
+
+/**
+ * Class _Master was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _Master extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String CHILDREN_PROPERTY = "children";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToChildren(Child obj) {
+        addToManyTarget(CHILDREN_PROPERTY, obj, true);
+    }
+    public void removeFromChildren(Child obj) {
+        removeToManyTarget(CHILDREN_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<Child> getChildren() {
+        return (List<Child>)readProperty(CHILDREN_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/ClobDetail.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/ClobDetail.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/ClobDetail.java
new file mode 100644
index 0000000..a1c7ecf
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/ClobDetail.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_clob;
+
+import org.apache.cayenne.testdo.relationships_clob.auto._ClobDetail;
+
+public class ClobDetail extends _ClobDetail {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/ClobMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/ClobMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/ClobMaster.java
new file mode 100644
index 0000000..751734c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/ClobMaster.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_clob;
+
+import org.apache.cayenne.testdo.relationships_clob.auto._ClobMaster;
+
+public class ClobMaster extends _ClobMaster {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobDetail.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobDetail.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobDetail.java
new file mode 100644
index 0000000..3d37f60
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobDetail.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.relationships_clob.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_clob.ClobMaster;
+
+/**
+ * Class _ClobDetail was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ClobDetail extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String MASTER_PROPERTY = "master";
+
+    public static final String CLOB_DETAIL_ID_PK_COLUMN = "CLOB_DETAIL_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void setMaster(ClobMaster master) {
+        setToOneTarget(MASTER_PROPERTY, master, true);
+    }
+
+    public ClobMaster getMaster() {
+        return (ClobMaster)readProperty(MASTER_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobMaster.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobMaster.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobMaster.java
new file mode 100644
index 0000000..76a077c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_clob/auto/_ClobMaster.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.relationships_clob.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_clob.ClobDetail;
+
+import java.util.List;
+
+/**
+ * Class _ClobMaster was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ClobMaster extends CayenneDataObject {
+
+    public static final String CLOB_COLUMN_PROPERTY = "clobColumn";
+    public static final String NAME_PROPERTY = "name";
+    public static final String DETAILS_PROPERTY = "details";
+
+    public static final String CLOB_MASTER_ID_PK_COLUMN = "CLOB_MASTER_ID";
+
+    public void setClobColumn(String clobColumn) {
+        writeProperty(CLOB_COLUMN_PROPERTY, clobColumn);
+    }
+    public String getClobColumn() {
+        return (String)readProperty(CLOB_COLUMN_PROPERTY);
+    }
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToDetails(ClobDetail obj) {
+        addToManyTarget(DETAILS_PROPERTY, obj, true);
+    }
+    public void removeFromDetails(ClobDetail obj) {
+        removeToManyTarget(DETAILS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<ClobDetail> getDetails() {
+        return (List<ClobDetail>)readProperty(DETAILS_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/CollectionToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/CollectionToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/CollectionToMany.java
new file mode 100644
index 0000000..6fe6024
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/CollectionToMany.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_collection_to_many;
+
+import org.apache.cayenne.testdo.relationships_collection_to_many.auto._CollectionToMany;
+
+public class CollectionToMany extends _CollectionToMany {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/CollectionToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/CollectionToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/CollectionToManyTarget.java
new file mode 100644
index 0000000..d9e0a1b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/CollectionToManyTarget.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_collection_to_many;
+
+import org.apache.cayenne.testdo.relationships_collection_to_many.auto._CollectionToManyTarget;
+
+public class CollectionToManyTarget extends _CollectionToManyTarget {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToMany.java
new file mode 100644
index 0000000..2e10a01
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToMany.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.relationships_collection_to_many.auto;
+
+import java.util.Collection;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToManyTarget;
+
+/**
+ * Class _CollectionToMany was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _CollectionToMany extends CayenneDataObject {
+
+    public static final String TARGETS_PROPERTY = "targets";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void addToTargets(CollectionToManyTarget obj) {
+        addToManyTarget(TARGETS_PROPERTY, obj, true);
+    }
+    public void removeFromTargets(CollectionToManyTarget obj) {
+        removeToManyTarget(TARGETS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public Collection<CollectionToManyTarget> getTargets() {
+        return (Collection<CollectionToManyTarget>)readProperty(TARGETS_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToManyTarget.java
new file mode 100644
index 0000000..be533ef
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_collection_to_many/auto/_CollectionToManyTarget.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.relationships_collection_to_many.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_collection_to_many.CollectionToMany;
+
+/**
+ * Class _CollectionToManyTarget was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _CollectionToManyTarget extends CayenneDataObject {
+
+    public static final String COLLECTION_TO_MANY_PROPERTY = "collectionToMany";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setCollectionToMany(CollectionToMany collectionToMany) {
+        setToOneTarget(COLLECTION_TO_MANY_PROPERTY, collectionToMany, true);
+    }
+
+    public CollectionToMany getCollectionToMany() {
+        return (CollectionToMany)readProperty(COLLECTION_TO_MANY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleFlatA.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleFlatA.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleFlatA.java
new file mode 100644
index 0000000..d458bdb
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleFlatA.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_delete_rules;
+
+import org.apache.cayenne.testdo.relationships_delete_rules.auto._DeleteRuleFlatA;
+
+public class DeleteRuleFlatA extends _DeleteRuleFlatA {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleFlatB.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleFlatB.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleFlatB.java
new file mode 100644
index 0000000..e5d288a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleFlatB.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_delete_rules;
+
+import org.apache.cayenne.testdo.relationships_delete_rules.auto._DeleteRuleFlatB;
+
+public class DeleteRuleFlatB extends _DeleteRuleFlatB {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest1.java
new file mode 100644
index 0000000..1ccb0b8
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest1.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_delete_rules;
+
+import org.apache.cayenne.testdo.relationships_delete_rules.auto._DeleteRuleTest1;
+
+public class DeleteRuleTest1 extends _DeleteRuleTest1 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest2.java
new file mode 100644
index 0000000..621a0d5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest2.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_delete_rules;
+
+import org.apache.cayenne.testdo.relationships_delete_rules.auto._DeleteRuleTest2;
+
+public class DeleteRuleTest2 extends _DeleteRuleTest2 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest3.java
new file mode 100644
index 0000000..b19f65c
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/DeleteRuleTest3.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_delete_rules;
+
+import org.apache.cayenne.testdo.relationships_delete_rules.auto._DeleteRuleTest3;
+
+public class DeleteRuleTest3 extends _DeleteRuleTest3 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatA.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatA.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatA.java
new file mode 100644
index 0000000..2c9ff1a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatA.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.relationships_delete_rules.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatB;
+
+import java.util.List;
+
+/**
+ * Class _DeleteRuleFlatA was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DeleteRuleFlatA extends CayenneDataObject {
+
+    public static final String FLAT_B_PROPERTY = "flatB";
+
+    public static final String FLATA_ID_PK_COLUMN = "FLATA_ID";
+
+    public void addToFlatB(DeleteRuleFlatB obj) {
+        addToManyTarget(FLAT_B_PROPERTY, obj, true);
+    }
+    public void removeFromFlatB(DeleteRuleFlatB obj) {
+        removeToManyTarget(FLAT_B_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<DeleteRuleFlatB> getFlatB() {
+        return (List<DeleteRuleFlatB>)readProperty(FLAT_B_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatB.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatB.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatB.java
new file mode 100644
index 0000000..07de891
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleFlatB.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.relationships_delete_rules.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleFlatA;
+
+import java.util.List;
+
+/**
+ * Class _DeleteRuleFlatB was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DeleteRuleFlatB extends CayenneDataObject {
+
+    public static final String UNTITLED_REL_PROPERTY = "untitledRel";
+
+    public static final String FLATB_ID_PK_COLUMN = "FLATB_ID";
+
+    public void addToUntitledRel(DeleteRuleFlatA obj) {
+        addToManyTarget(UNTITLED_REL_PROPERTY, obj, true);
+    }
+    public void removeFromUntitledRel(DeleteRuleFlatA obj) {
+        removeToManyTarget(UNTITLED_REL_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<DeleteRuleFlatA> getUntitledRel() {
+        return (List<DeleteRuleFlatA>)readProperty(UNTITLED_REL_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest1.java
new file mode 100644
index 0000000..6cef752
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest1.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.relationships_delete_rules.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest2;
+
+/**
+ * Class _DeleteRuleTest1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DeleteRuleTest1 extends CayenneDataObject {
+
+    public static final String TEST2_PROPERTY = "test2";
+
+    public static final String DEL_RULE_TEST1_ID_PK_COLUMN = "DEL_RULE_TEST1_ID";
+
+    public void setTest2(DeleteRuleTest2 test2) {
+        setToOneTarget(TEST2_PROPERTY, test2, true);
+    }
+
+    public DeleteRuleTest2 getTest2() {
+        return (DeleteRuleTest2)readProperty(TEST2_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest2.java
new file mode 100644
index 0000000..098b0b2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest2.java
@@ -0,0 +1,46 @@
+package org.apache.cayenne.testdo.relationships_delete_rules.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest1;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest3;
+
+import java.util.List;
+
+/**
+ * Class _DeleteRuleTest2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DeleteRuleTest2 extends CayenneDataObject {
+
+    public static final String DELETE_RULE_TEST3ARRAY_PROPERTY = "deleteRuleTest3Array";
+    public static final String TEST1ARRAY_PROPERTY = "test1Array";
+
+    public static final String DEL_RULE_TEST2_ID_PK_COLUMN = "DEL_RULE_TEST2_ID";
+
+    public void addToDeleteRuleTest3Array(DeleteRuleTest3 obj) {
+        addToManyTarget(DELETE_RULE_TEST3ARRAY_PROPERTY, obj, true);
+    }
+    public void removeFromDeleteRuleTest3Array(DeleteRuleTest3 obj) {
+        removeToManyTarget(DELETE_RULE_TEST3ARRAY_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<DeleteRuleTest3> getDeleteRuleTest3Array() {
+        return (List<DeleteRuleTest3>)readProperty(DELETE_RULE_TEST3ARRAY_PROPERTY);
+    }
+
+
+    public void addToTest1Array(DeleteRuleTest1 obj) {
+        addToManyTarget(TEST1ARRAY_PROPERTY, obj, true);
+    }
+    public void removeFromTest1Array(DeleteRuleTest1 obj) {
+        removeToManyTarget(TEST1ARRAY_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<DeleteRuleTest1> getTest1Array() {
+        return (List<DeleteRuleTest1>)readProperty(TEST1ARRAY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest3.java
new file mode 100644
index 0000000..cdff598
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_delete_rules/auto/_DeleteRuleTest3.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.relationships_delete_rules.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_delete_rules.DeleteRuleTest2;
+
+/**
+ * Class _DeleteRuleTest3 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _DeleteRuleTest3 extends CayenneDataObject {
+
+    public static final String TO_DELETE_RULE_TEST2_PROPERTY = "toDeleteRuleTest2";
+
+    public static final String DELETE_RULE_TEST_3_ID_PK_COLUMN = "DELETE_RULE_TEST_3_ID";
+
+    public void setToDeleteRuleTest2(DeleteRuleTest2 toDeleteRuleTest2) {
+        setToOneTarget(TO_DELETE_RULE_TEST2_PROPERTY, toDeleteRuleTest2, true);
+    }
+
+    public DeleteRuleTest2 getToDeleteRuleTest2() {
+        return (DeleteRuleTest2)readProperty(TO_DELETE_RULE_TEST2_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedCircular.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedCircular.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedCircular.java
new file mode 100644
index 0000000..d3c01a3
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedCircular.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.relationships_flattened;
+
+import org.apache.cayenne.testdo.relationships_flattened.auto._FlattenedCircular;
+
+public class FlattenedCircular extends _FlattenedCircular {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest1.java
new file mode 100644
index 0000000..a34a364
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest1.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_flattened;
+
+import org.apache.cayenne.testdo.relationships_flattened.auto._FlattenedTest1;
+
+public class FlattenedTest1 extends _FlattenedTest1 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest2.java
new file mode 100644
index 0000000..6ee68b8
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest2.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_flattened;
+
+import org.apache.cayenne.testdo.relationships_flattened.auto._FlattenedTest2;
+
+public class FlattenedTest2 extends _FlattenedTest2 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest3.java
new file mode 100644
index 0000000..183dad5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest3.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_flattened;
+
+import org.apache.cayenne.testdo.relationships_flattened.auto._FlattenedTest3;
+
+public class FlattenedTest3 extends _FlattenedTest3 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest4.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest4.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest4.java
new file mode 100644
index 0000000..a3297d4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/FlattenedTest4.java
@@ -0,0 +1,25 @@
+/*****************************************************************
+ *   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.testdo.relationships_flattened;
+
+import org.apache.cayenne.testdo.relationships_flattened.auto._FlattenedTest4;
+
+public class FlattenedTest4 extends _FlattenedTest4 {
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedCircular.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedCircular.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedCircular.java
new file mode 100644
index 0000000..7f41da2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedCircular.java
@@ -0,0 +1,45 @@
+package org.apache.cayenne.testdo.relationships_flattened.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedCircular;
+
+import java.util.List;
+
+/**
+ * Class _FlattenedCircular was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _FlattenedCircular extends CayenneDataObject {
+
+    public static final String SIDE1S_PROPERTY = "side1s";
+    public static final String SIDE2S_PROPERTY = "side2s";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void addToSide1s(FlattenedCircular obj) {
+        addToManyTarget(SIDE1S_PROPERTY, obj, true);
+    }
+    public void removeFromSide1s(FlattenedCircular obj) {
+        removeToManyTarget(SIDE1S_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<FlattenedCircular> getSide1s() {
+        return (List<FlattenedCircular>)readProperty(SIDE1S_PROPERTY);
+    }
+
+
+    public void addToSide2s(FlattenedCircular obj) {
+        addToManyTarget(SIDE2S_PROPERTY, obj, true);
+    }
+    public void removeFromSide2s(FlattenedCircular obj) {
+        removeToManyTarget(SIDE2S_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<FlattenedCircular> getSide2s() {
+        return (List<FlattenedCircular>)readProperty(SIDE2S_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest1.java
new file mode 100644
index 0000000..4e7ea7a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest1.java
@@ -0,0 +1,69 @@
+package org.apache.cayenne.testdo.relationships_flattened.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest2;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest3;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest4;
+
+import java.util.List;
+
+/**
+ * Class _FlattenedTest1 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _FlattenedTest1 extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String FT2ARRAY_PROPERTY = "ft2Array";
+    public static final String FT3ARRAY_PROPERTY = "ft3Array";
+    public static final String FT3OVER_COMPLEX_PROPERTY = "ft3OverComplex";
+    public static final String FT4ARRAY_FOR1_PROPERTY = "ft4ArrayFor1";
+
+    public static final String FT1_ID_PK_COLUMN = "FT1_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToFt2Array(FlattenedTest2 obj) {
+        addToManyTarget(FT2ARRAY_PROPERTY, obj, true);
+    }
+    public void removeFromFt2Array(FlattenedTest2 obj) {
+        removeToManyTarget(FT2ARRAY_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<FlattenedTest2> getFt2Array() {
+        return (List<FlattenedTest2>)readProperty(FT2ARRAY_PROPERTY);
+    }
+
+
+    @SuppressWarnings("unchecked")
+    public List<FlattenedTest3> getFt3Array() {
+        return (List<FlattenedTest3>)readProperty(FT3ARRAY_PROPERTY);
+    }
+
+
+    public void addToFt3OverComplex(FlattenedTest3 obj) {
+        addToManyTarget(FT3OVER_COMPLEX_PROPERTY, obj, true);
+    }
+    public void removeFromFt3OverComplex(FlattenedTest3 obj) {
+        removeToManyTarget(FT3OVER_COMPLEX_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<FlattenedTest3> getFt3OverComplex() {
+        return (List<FlattenedTest3>)readProperty(FT3OVER_COMPLEX_PROPERTY);
+    }
+
+
+    @SuppressWarnings("unchecked")
+    public List<FlattenedTest4> getFt4ArrayFor1() {
+        return (List<FlattenedTest4>)readProperty(FT4ARRAY_FOR1_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest2.java
new file mode 100644
index 0000000..cd2edd5
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest2.java
@@ -0,0 +1,51 @@
+package org.apache.cayenne.testdo.relationships_flattened.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest1;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest3;
+
+import java.util.List;
+
+/**
+ * Class _FlattenedTest2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _FlattenedTest2 extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String FT3ARRAY_PROPERTY = "ft3Array";
+    public static final String TO_FT1_PROPERTY = "toFT1";
+
+    public static final String FT2_ID_PK_COLUMN = "FT2_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToFt3Array(FlattenedTest3 obj) {
+        addToManyTarget(FT3ARRAY_PROPERTY, obj, true);
+    }
+    public void removeFromFt3Array(FlattenedTest3 obj) {
+        removeToManyTarget(FT3ARRAY_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<FlattenedTest3> getFt3Array() {
+        return (List<FlattenedTest3>)readProperty(FT3ARRAY_PROPERTY);
+    }
+
+
+    public void setToFT1(FlattenedTest1 toFT1) {
+        setToOneTarget(TO_FT1_PROPERTY, toFT1, true);
+    }
+
+    public FlattenedTest1 getToFT1() {
+        return (FlattenedTest1)readProperty(TO_FT1_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest3.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest3.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest3.java
new file mode 100644
index 0000000..f84c88f
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest3.java
@@ -0,0 +1,59 @@
+package org.apache.cayenne.testdo.relationships_flattened.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest1;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest2;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest4;
+
+import java.util.List;
+
+/**
+ * Class _FlattenedTest3 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _FlattenedTest3 extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String FT4ARRAY_PROPERTY = "ft4Array";
+    public static final String TO_FT1_PROPERTY = "toFT1";
+    public static final String TO_FT2_PROPERTY = "toFT2";
+
+    public static final String FT3_ID_PK_COLUMN = "FT3_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToFt4Array(FlattenedTest4 obj) {
+        addToManyTarget(FT4ARRAY_PROPERTY, obj, true);
+    }
+    public void removeFromFt4Array(FlattenedTest4 obj) {
+        removeToManyTarget(FT4ARRAY_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<FlattenedTest4> getFt4Array() {
+        return (List<FlattenedTest4>)readProperty(FT4ARRAY_PROPERTY);
+    }
+
+
+
+    public FlattenedTest1 getToFT1() {
+        return (FlattenedTest1)readProperty(TO_FT1_PROPERTY);
+    }
+
+
+    public void setToFT2(FlattenedTest2 toFT2) {
+        setToOneTarget(TO_FT2_PROPERTY, toFT2, true);
+    }
+
+    public FlattenedTest2 getToFT2() {
+        return (FlattenedTest2)readProperty(TO_FT2_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest4.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest4.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest4.java
new file mode 100644
index 0000000..1e6206a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_flattened/auto/_FlattenedTest4.java
@@ -0,0 +1,35 @@
+package org.apache.cayenne.testdo.relationships_flattened.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_flattened.FlattenedTest3;
+
+/**
+ * Class _FlattenedTest4 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _FlattenedTest4 extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String TO_FT3_PROPERTY = "toFT3";
+
+    public static final String FT4_ID_PK_COLUMN = "FT4_ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void setToFT3(FlattenedTest3 toFT3) {
+        setToOneTarget(TO_FT3_PROPERTY, toFT3, true);
+    }
+
+    public FlattenedTest3 getToFT3() {
+        return (FlattenedTest3)readProperty(TO_FT3_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/SetToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/SetToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/SetToMany.java
new file mode 100644
index 0000000..176c033
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/SetToMany.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_set_to_many;
+
+import org.apache.cayenne.testdo.relationships_set_to_many.auto._SetToMany;
+
+public class SetToMany extends _SetToMany {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/SetToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/SetToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/SetToManyTarget.java
new file mode 100644
index 0000000..7c2ca3b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/SetToManyTarget.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_set_to_many;
+
+import org.apache.cayenne.testdo.relationships_set_to_many.auto._SetToManyTarget;
+
+public class SetToManyTarget extends _SetToManyTarget {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/auto/_SetToMany.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/auto/_SetToMany.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/auto/_SetToMany.java
new file mode 100644
index 0000000..ffa0f83
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/auto/_SetToMany.java
@@ -0,0 +1,32 @@
+package org.apache.cayenne.testdo.relationships_set_to_many.auto;
+
+import java.util.Set;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_set_to_many.SetToManyTarget;
+
+/**
+ * Class _SetToMany was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _SetToMany extends CayenneDataObject {
+
+    public static final String TARGETS_PROPERTY = "targets";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void addToTargets(SetToManyTarget obj) {
+        addToManyTarget(TARGETS_PROPERTY, obj, true);
+    }
+    public void removeFromTargets(SetToManyTarget obj) {
+        removeToManyTarget(TARGETS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public Set<SetToManyTarget> getTargets() {
+        return (Set<SetToManyTarget>)readProperty(TARGETS_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/auto/_SetToManyTarget.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/auto/_SetToManyTarget.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/auto/_SetToManyTarget.java
new file mode 100644
index 0000000..6e4414b
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_set_to_many/auto/_SetToManyTarget.java
@@ -0,0 +1,27 @@
+package org.apache.cayenne.testdo.relationships_set_to_many.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_set_to_many.SetToMany;
+
+/**
+ * Class _SetToManyTarget was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _SetToManyTarget extends CayenneDataObject {
+
+    public static final String SET_TO_MANY_PROPERTY = "setToMany";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setSetToMany(SetToMany setToMany) {
+        setToOneTarget(SET_TO_MANY_PROPERTY, setToMany, true);
+    }
+
+    public SetToMany getSetToMany() {
+        return (SetToMany)readProperty(SET_TO_MANY_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyFkDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyFkDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyFkDep.java
new file mode 100644
index 0000000..7cbbb08
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyFkDep.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_to_many_fk;
+
+import org.apache.cayenne.testdo.relationships_to_many_fk.auto._ToManyFkDep;
+
+public class ToManyFkDep extends _ToManyFkDep {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyFkRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyFkRoot.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyFkRoot.java
new file mode 100644
index 0000000..9a35fc4
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyFkRoot.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_to_many_fk;
+
+import org.apache.cayenne.testdo.relationships_to_many_fk.auto._ToManyFkRoot;
+
+public class ToManyFkRoot extends _ToManyFkRoot {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyRoot2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyRoot2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyRoot2.java
new file mode 100644
index 0000000..d300771
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/ToManyRoot2.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_to_many_fk;
+
+import org.apache.cayenne.testdo.relationships_to_many_fk.auto._ToManyRoot2;
+
+public class ToManyRoot2 extends _ToManyRoot2 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyFkDep.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyFkDep.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyFkDep.java
new file mode 100644
index 0000000..c9e55e2
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyFkDep.java
@@ -0,0 +1,55 @@
+package org.apache.cayenne.testdo.relationships_to_many_fk.auto;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyFkRoot;
+import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyRoot2;
+
+/**
+ * Class _ToManyFkDep was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ToManyFkDep extends CayenneDataObject {
+
+    public static final String DEP_ID_PROPERTY = "depId";
+    public static final String NAME_PROPERTY = "name";
+    public static final String ROOT_PROPERTY = "root";
+    public static final String ROOT2_PROPERTY = "root2";
+
+    public static final String DEP_ID_PK_COLUMN = "DEP_ID";
+    public static final String OTHER_ID_PK_COLUMN = "OTHER_ID";
+
+    public void setDepId(Integer depId) {
+        writeProperty(DEP_ID_PROPERTY, depId);
+    }
+    public Integer getDepId() {
+        return (Integer)readProperty(DEP_ID_PROPERTY);
+    }
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void setRoot(ToManyFkRoot root) {
+        setToOneTarget(ROOT_PROPERTY, root, true);
+    }
+
+    public ToManyFkRoot getRoot() {
+        return (ToManyFkRoot)readProperty(ROOT_PROPERTY);
+    }
+
+
+    public void setRoot2(ToManyRoot2 root2) {
+        setToOneTarget(ROOT2_PROPERTY, root2, true);
+    }
+
+    public ToManyRoot2 getRoot2() {
+        return (ToManyRoot2)readProperty(ROOT2_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyFkRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyFkRoot.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyFkRoot.java
new file mode 100644
index 0000000..11f5339
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyFkRoot.java
@@ -0,0 +1,48 @@
+package org.apache.cayenne.testdo.relationships_to_many_fk.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyFkDep;
+
+/**
+ * Class _ToManyFkRoot was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ToManyFkRoot extends CayenneDataObject {
+
+    public static final String DEP_ID_PROPERTY = "depId";
+    public static final String NAME_PROPERTY = "name";
+    public static final String DEPS_PROPERTY = "deps";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setDepId(Integer depId) {
+        writeProperty(DEP_ID_PROPERTY, depId);
+    }
+    public Integer getDepId() {
+        return (Integer)readProperty(DEP_ID_PROPERTY);
+    }
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToDeps(ToManyFkDep obj) {
+        addToManyTarget(DEPS_PROPERTY, obj, true);
+    }
+    public void removeFromDeps(ToManyFkDep obj) {
+        removeToManyTarget(DEPS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<ToManyFkDep> getDeps() {
+        return (List<ToManyFkDep>)readProperty(DEPS_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyRoot2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyRoot2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyRoot2.java
new file mode 100644
index 0000000..418b975
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_many_fk/auto/_ToManyRoot2.java
@@ -0,0 +1,40 @@
+package org.apache.cayenne.testdo.relationships_to_many_fk.auto;
+
+import java.util.List;
+
+import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.testdo.relationships_to_many_fk.ToManyFkDep;
+
+/**
+ * Class _ToManyRoot2 was generated by Cayenne.
+ * It is probably a good idea to avoid changing this class manually,
+ * since it may be overwritten next time code is regenerated.
+ * If you need to make any customizations, please use subclass.
+ */
+public abstract class _ToManyRoot2 extends CayenneDataObject {
+
+    public static final String NAME_PROPERTY = "name";
+    public static final String DEPS_PROPERTY = "deps";
+
+    public static final String ID_PK_COLUMN = "ID";
+
+    public void setName(String name) {
+        writeProperty(NAME_PROPERTY, name);
+    }
+    public String getName() {
+        return (String)readProperty(NAME_PROPERTY);
+    }
+
+    public void addToDeps(ToManyFkDep obj) {
+        addToManyTarget(DEPS_PROPERTY, obj, true);
+    }
+    public void removeFromDeps(ToManyFkDep obj) {
+        removeToManyTarget(DEPS_PROPERTY, obj, true);
+    }
+    @SuppressWarnings("unchecked")
+    public List<ToManyFkDep> getDeps() {
+        return (List<ToManyFkDep>)readProperty(DEPS_PROPERTY);
+    }
+
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/ToOneFK1.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/ToOneFK1.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/ToOneFK1.java
new file mode 100644
index 0000000..41ae88a
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/ToOneFK1.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_to_one_fk;
+
+import org.apache.cayenne.testdo.relationships_to_one_fk.auto._ToOneFK1;
+
+public class ToOneFK1 extends _ToOneFK1 {
+
+}
+
+
+

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d7178a8b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/ToOneFK2.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/ToOneFK2.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/ToOneFK2.java
new file mode 100644
index 0000000..2d3d733
--- /dev/null
+++ b/cayenne-server/src/test/java/org/apache/cayenne/testdo/relationships_to_one_fk/ToOneFK2.java
@@ -0,0 +1,28 @@
+/*****************************************************************
+ *   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.testdo.relationships_to_one_fk;
+
+import org.apache.cayenne.testdo.relationships_to_one_fk.auto._ToOneFK2;
+
+public class ToOneFK2 extends _ToOneFK2 {
+
+}
+
+
+


[14/50] [abbrv] cayenne git commit: Apply JUnit4 instead of JUnit3 in IT

Posted by aa...@apache.org.
Apply JUnit4 instead of JUnit3 in IT


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/b62c9d01
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/b62c9d01
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/b62c9d01

Branch: refs/heads/CAY-1946
Commit: b62c9d018a1b98f47e25a683a7f1c9f748f4e098
Parents: e1ad29f
Author: Savva Kolbechev <s....@gmail.com>
Authored: Tue Nov 4 13:42:27 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Tue Nov 4 13:42:28 2014 +0300

----------------------------------------------------------------------
 .../apache/cayenne/CayenneContextCayenneIT.java |  4 ++
 .../CayenneContextClientChannelEventsIT.java    | 12 +++++
 .../cayenne/CayenneContextDeleteRulesIT.java    |  5 ++
 .../apache/cayenne/CayenneContextEJBQLIT.java   |  4 ++
 .../CayenneContextGraphDiffCompressorIT.java    |  4 ++
 .../org/apache/cayenne/CayenneContextIT.java    | 12 ++++-
 .../cayenne/CayenneContextInheritanceIT.java    |  7 ++-
 .../CayenneContextMapRelationshipIT.java        |  5 +-
 .../cayenne/CayenneContextMergeHandlerIT.java   |  5 +-
 .../CayenneContextNamedQueryCachingIT.java      |  8 ++-
 .../CayenneContextPaginatedListCachingIT.java   |  4 +-
 .../cayenne/CayenneContextPrimitiveIT.java      |  5 +-
 .../cayenne/CayenneContextRefreshQueryIT.java   |  2 +
 .../cayenne/CayenneContextRelationshipsIT.java  |  5 ++
 .../cayenne/CayenneContextSQLTemplateIT.java    |  5 ++
 .../cayenne/CayenneContextServerDiffsIT.java    |  5 ++
 .../cayenne/CayenneContextValidationIT.java     |  4 ++
 .../CayenneContextWithDataContextIT.java        | 34 ++++++++++--
 .../apache/cayenne/NestedCayenneContextIT.java  | 47 ++++++++++++++--
 .../cayenne/PersistentObjectInContextIT.java    |  6 ++-
 .../cayenne/access/ClientServerChannelIT.java   | 11 +++-
 .../access/ClientServerChannelQueryIT.java      | 15 +++++-
 .../cayenne/map/ClientEntityResolverIT.java     |  4 +-
 .../cayenne/query/ClientExpressionIT.java       | 33 ++++++++----
 .../query/ClientSelectQueryExpressionIT.java    |  4 +-
 .../query/SelectQueryAbstractEntityIT.java      | 12 +++--
 .../remote/CayenneContextDeletionIT.java        | 23 ++++++++
 .../remote/ClientChannelServerDiffsIT.java      |  4 ++
 .../cayenne/remote/LightSuperClassIT.java       | 35 ++++++++----
 .../remote/NestedObjectContextLocalIT.java      | 28 ++++++++--
 .../NestedObjectContextParentEventsIT.java      | 23 ++++++++
 .../remote/NestedObjectContextPeerEventsIT.java | 26 +++++++++
 .../remote/NestedObjectContextRollbackIT.java   | 26 ++++++++-
 .../cayenne/remote/ROPPrefetchToManyMapIT.java  | 27 +++++++++-
 .../cayenne/remote/RelationshipChangeIT.java    | 26 ++++++++-
 .../cayenne/remote/RemoteCallbacksIT.java       | 27 +++++++++-
 .../cayenne/remote/RemoteCayenneCase.java       | 17 +-----
 .../remote/RemoteIncrementalFaultListIT.java    | 14 +++++
 .../apache/cayenne/remote/RemoteRollbackIT.java | 30 ++++++++++-
 .../apache/cayenne/remote/ValueInjectorIT.java  | 24 +++++++++
 .../di/client/ClientCaseLifecycleManager.java   | 10 ++--
 .../unit/di/client/ClientCaseSelfIT.java        |  2 +
 .../cayenne/util/ObjectDetachOperationIT.java   |  5 ++
 .../util/ShallowMergeOperation_ClientIT.java    |  4 ++
 .../cayenne/CDOCollectionRelationshipIT.java    |  6 +++
 .../java/org/apache/cayenne/CDOMany2OneIT.java  | 10 ++++
 .../org/apache/cayenne/CDOMany2OneNoRevIT.java  |  2 +
 .../apache/cayenne/CDOMapRelationshipIT.java    |  8 +++
 .../java/org/apache/cayenne/CDOOne2ManyIT.java  |  8 +++
 .../org/apache/cayenne/CDOOne2OneDepIT.java     |  6 +++
 .../org/apache/cayenne/CDOOneDep2OneIT.java     |  4 ++
 .../org/apache/cayenne/CDOOneToManyFKIT.java    |  2 +
 .../org/apache/cayenne/CDOOneToOneFKIT.java     |  8 +++
 .../apache/cayenne/CDOQualifiedEntitiesIT.java  |  3 ++
 .../apache/cayenne/CDOReflexiveRelDeleteIT.java |  5 ++
 .../org/apache/cayenne/CDOReflexiveRelIT.java   |  7 +++
 .../apache/cayenne/CDOSetRelationshipIT.java    |  6 +++
 .../CayenneDataObjectFlattenedRelIT.java        |  9 ++++
 .../org/apache/cayenne/CayenneDataObjectIT.java | 16 ++++--
 .../cayenne/CayenneDataObjectInContextIT.java   | 17 ++++++
 .../CayenneDataObjectRelationshipsIT.java       | 16 ++++++
 .../cayenne/CayenneDataObjectValidationIT.java  |  4 ++
 .../test/java/org/apache/cayenne/CayenneIT.java | 26 ++++++++-
 .../org/apache/cayenne/CompoundPkChangeIT.java  |  3 ++
 .../cayenne/DataContextMaxIdQualifierIT.java    | 10 +++-
 .../cayenne/DataObjectSerializationIT.java      |  5 ++
 .../cayenne/FlattenedRelationshipsIT.java       |  8 +++
 .../org/apache/cayenne/GenericMappingIT.java    |  5 ++
 .../org/apache/cayenne/ManyToManyNoJoinIT.java  |  2 +
 .../java/org/apache/cayenne/MeaningfulFKIT.java |  3 ++
 .../apache/cayenne/OneWayRelationshipsIT.java   |  8 +++
 .../cayenne/PersistenceByReachabilityIT.java    |  7 +++
 .../org/apache/cayenne/PersistentObjectIT.java  |  4 ++
 .../org/apache/cayenne/PregeneratedPKIT.java    |  2 +
 .../cayenne/access/DataContextBinaryPKIT.java   |  3 ++
 .../cayenne/access/DataContextBlobIT.java       |  9 +++-
 .../cayenne/access/DataContextCallbacksIT.java  |  4 ++
 .../cayenne/access/DataContextCharPKIT.java     |  4 ++
 .../cayenne/access/DataContextCharTypeIT.java   |  4 +-
 .../cayenne/access/DataContextClobIT.java       |  6 +++
 .../cayenne/access/DataContextCommitIT.java     |  2 +
 .../access/DataContextCompoundRelIT.java        |  4 ++
 .../cayenne/access/DataContextCrossDBIT.java    |  2 +
 .../access/DataContextDataChannelEventsIT.java  |  6 +++
 .../access/DataContextDecoratedStackIT.java     |  3 ++
 .../cayenne/access/DataContextDelegateIT.java   |  5 ++
 .../DataContextDelegateSharedCacheIT.java       |  5 ++
 .../access/DataContextDeleteRulesIT.java        |  8 +++
 .../DataContextDisjointByIdPrefetchIT.java      |  5 ++
 ...ataContextDisjointByIdPrefetch_ExtrasIT.java |  7 +++
 .../access/DataContextEJBQLArrayResultIT.java   |  4 ++
 .../access/DataContextEJBQLConditionsIT.java    | 20 +++++++
 .../DataContextEJBQLConditionsPeopleIT.java     |  4 ++
 .../access/DataContextEJBQLDeleteIT.java        |  5 ++
 .../access/DataContextEJBQLFetchJoinIT.java     |  6 +++
 ...ataContextEJBQLFlattenedRelationshipsIT.java | 11 ++++
 .../DataContextEJBQLFunctionalExpressions.java  | 26 +++++++--
 .../access/DataContextEJBQLGroupByHavingIT.java | 12 +++++
 .../access/DataContextEJBQLInheritanceIT.java   |  2 +
 .../access/DataContextEJBQLIsNullIT.java        |  8 +++
 .../cayenne/access/DataContextEJBQLJoinsIT.java |  9 ++++
 .../access/DataContextEJBQLOrderByIT.java       |  7 +++
 .../cayenne/access/DataContextEJBQLQueryIT.java | 28 ++++++++++
 .../access/DataContextEJBQLSubqueryIT.java      |  7 +++
 .../access/DataContextEJBQLUpdateIT.java        |  9 ++++
 .../DataContextEntityWithMeaningfulPKIT.java    |  6 +++
 .../DataContextExtendedTypeOperationsIT.java    |  4 ++
 .../cayenne/access/DataContextExtrasIT.java     | 20 +++++++
 .../DataContextFlattenedAttributesIT.java       | 13 +++++
 .../apache/cayenne/access/DataContextIT.java    | 37 +++++++++++++
 .../access/DataContextJoinAliasesIT.java        |  2 +
 .../access/DataContextLocalObjectIT.java        |  7 +++
 .../cayenne/access/DataContextNoPkIT.java       |  3 ++
 .../access/DataContextObjectIdQueryIT.java      |  4 ++
 .../access/DataContextObjectTrackingIT.java     |  3 ++
 .../cayenne/access/DataContextOrderingIT.java   |  3 ++
 .../cayenne/access/DataContextOuterJoinsIT.java |  5 ++
 .../access/DataContextPaginatedQueryIT.java     |  2 +
 .../access/DataContextPerformQueryAPIIT.java    |  9 ++++
 .../access/DataContextPrefetchExtras1IT.java    |  2 +
 .../access/DataContextPrefetchExtrasIT.java     |  4 ++
 .../cayenne/access/DataContextPrefetchIT.java   | 26 ++++++++-
 .../access/DataContextPrefetchMultistepIT.java  | 11 +++-
 .../DataContextPrefetchQualifierOverlapIT.java  |  4 ++
 .../access/DataContextProcedureQueryIT.java     | 12 +++++
 .../access/DataContextQualifiedEntityIT.java    |  3 ++
 .../access/DataContextQueryCachingIT.java       |  5 ++
 .../cayenne/access/DataContextQueryChainIT.java |  2 +
 .../access/DataContextRefreshQueryIT.java       | 13 ++++-
 .../cayenne/access/DataContextRefreshingIT.java | 15 ++++++
 .../access/DataContextRelationshipQueryIT.java  |  3 ++
 .../cayenne/access/DataContextRollbackIT.java   | 11 +++-
 .../access/DataContextSQLTemplateIT.java        | 29 +++++++++-
 .../DataContextSelectQuerySplitAliasesIT.java   |  3 ++
 .../access/DataContextSerializationIT.java      | 17 ++++--
 .../access/DataContextSharedCacheEmpiricIT.java |  4 ++
 .../access/DataContextSharedCacheIT.java        | 29 +++++++---
 .../cayenne/access/DataContextValidationIT.java |  4 ++
 .../cayenne/access/DataDomainCallbacksIT.java   | 15 +++++-
 .../cayenne/access/DataDomainFiltersIT.java     |  5 ++
 .../org/apache/cayenne/access/DataDomainIT.java | 15 ++++++
 .../cayenne/access/DataDomainQueryActionIT.java |  2 +
 .../org/apache/cayenne/access/DataNodeIT.java   |  6 +++
 .../cayenne/access/DataNodeQueriesIT.java       |  9 ++++
 .../apache/cayenne/access/DataRowStoreIT.java   | 13 +++--
 .../apache/cayenne/access/DataRowUtilsIT.java   |  4 ++
 .../apache/cayenne/access/DateTimeTypesIT.java  |  8 +++
 .../apache/cayenne/access/DbGeneratorIT.java    |  7 +++
 .../org/apache/cayenne/access/DbLoaderIT.java   |  5 ++
 .../cayenne/access/DbLoaderPartialIT.java       |  2 +
 .../apache/cayenne/access/DeleteObjectIT.java   |  8 +++
 .../apache/cayenne/access/DeleteRulesIT.java    | 12 +++++
 .../org/apache/cayenne/access/EmbeddingIT.java  |  5 ++
 .../java/org/apache/cayenne/access/EnumIT.java  |  4 ++
 .../cayenne/access/FlattenedArcKeyIT.java       |  4 ++
 .../cayenne/access/FlattenedPrefetchIT.java     |  5 ++
 .../FlattenedRelationshipInContextIT.java       |  2 +
 .../cayenne/access/IdentityColumnsIT.java       | 11 ++++
 .../cayenne/access/IncrementalFaultListIT.java  |  2 +
 .../apache/cayenne/access/JointPrefetchIT.java  | 10 ++++
 .../org/apache/cayenne/access/MiscTypesIT.java  |  9 +++-
 .../access/NestedDataContextLocalCacheIT.java   |  2 +
 .../access/NestedDataContextParentEventsIT.java |  2 +
 .../NestedDataContextParentPeerEventsIT.java    |  4 ++
 .../access/NestedDataContextPeerEventsIT.java   |  5 ++
 .../cayenne/access/NestedDataContextReadIT.java | 17 ++++--
 .../access/NestedDataContextRollbackIT.java     |  3 ++
 .../access/NestedDataContextValidationIT.java   |  2 +
 .../access/NestedDataContextWriteIT.java        | 12 +++++
 .../access/NestedDataContext_DeadlockIT.java    |  8 +--
 .../apache/cayenne/access/NumericTypesIT.java   | 20 +++++--
 .../access/ObjectStoreDiffRetainingIT.java      |  3 ++
 .../apache/cayenne/access/ObjectStoreGCIT.java  |  4 ++
 .../apache/cayenne/access/ObjectStoreIT.java    |  4 ++
 .../cayenne/access/OptimisticLockingIT.java     | 26 +++++++--
 .../access/PrefetchProcessorTreeBuilderIT.java  |  3 ++
 .../cayenne/access/PrimitiveAttributesIT.java   |  2 +
 .../cayenne/access/QuotedIdentifiersIT.java     | 13 +++--
 .../cayenne/access/ReturnTypesMappingIT.java    | 50 ++++++++++++++++-
 .../SimpleIdIncrementalFaultListDataRowsIT.java | 13 +++--
 .../access/SimpleIdIncrementalFaultListIT.java  | 23 ++++++--
 .../SimpleIdIncrementalFaultListPrefetchIT.java |  5 ++
 .../access/SingleTableInheritance1IT.java       |  3 ++
 .../access/SingleTableInheritanceIT.java        | 18 +++++++
 .../org/apache/cayenne/access/ToManyListIT.java |  7 +++
 .../cayenne/access/TransactionThreadIT.java     |  6 ++-
 .../java/org/apache/cayenne/access/UUIDIT.java  |  4 ++
 .../cayenne/access/UserTransactionIT.java       |  2 +
 .../cayenne/access/VerticalInheritanceIT.java   | 11 ++++
 .../access/dbsync/SchemaUpdateStrategyIT.java   |  9 ++--
 ...hrowOnPartialOrCreateSchemaStrategyTest.java | 14 +++--
 .../ThrowOnPartialSchemaStrategyTest.java       |  8 ++-
 .../cayenne/access/jdbc/BatchActionIT.java      |  3 ++
 .../access/jdbc/BatchActionLockingIT.java       |  3 ++
 .../access/jdbc/SQLTemplateActionIT.java        | 10 ++++
 .../cayenne/access/jdbc/SelectActionIT.java     |  2 +
 .../batch/DefaultBatchTranslatorIT.java         |  4 ++
 .../batch/DeleteBatchTranslatorIT.java          |  6 +++
 .../batch/InsertBatchTranslatorIT.java          |  4 ++
 .../batch/SoftDeleteBatchTranslatorIT.java      |  5 ++
 .../batch/UpdateBatchTranslatorIT.java          |  6 +++
 .../ejbql/EJBQLSelectTranslatorIT.java          | 24 +++++++++
 .../translator/select/OrderingTranslatorIT.java |  7 +++
 .../select/QualifierTranslatorIT.java           |  7 +++
 .../translator/select/QueryAssemblerIT.java     |  4 ++
 .../translator/select/SelectTranslatorIT.java   | 22 ++++++++
 .../access/util/DefaultOperationObserverIT.java |  3 ++
 .../cayenne/ashwood/AshwoodEntitySorterIT.java  |  2 +
 .../org/apache/cayenne/cache/QueryCacheIT.java  |  4 +-
 .../server/JNDIDataSourceFactoryIT.java         |  4 ++
 .../ServerRuntimeBuilder_InAction_IT.java       |  3 ++
 .../org/apache/cayenne/conn/PoolManagerIT.java  |  7 +++
 .../org/apache/cayenne/dba/AutoAdapterIT.java   |  3 ++
 .../cayenne/dba/ConcurrentPkGeneratorIT.java    |  2 +
 .../org/apache/cayenne/dba/JdbcAdapterIT.java   |  3 ++
 .../apache/cayenne/dba/JdbcPkGeneratorIT.java   |  2 +
 .../org/apache/cayenne/dba/PkGeneratorIT.java   |  2 +
 .../org/apache/cayenne/dba/TypesMappingIT.java  |  5 ++
 .../cayenne/dba/hsqldb/HSQLDBAdapterIT.java     |  5 +-
 .../cayenne/dba/mysql/MySQLAdapterIT.java       |  2 +
 .../cayenne/dba/oracle/Oracle8AdapterIT.java    |  3 ++
 .../cayenne/dba/oracle/OracleAdapterIT.java     |  3 ++
 .../cayenne/dba/oracle/OraclePkGeneratorIT.java |  4 ++
 .../cayenne/dba/postgres/PostgresAdapterIT.java |  4 +-
 .../dba/sqlserver/SQLServerAdapterIT.java       |  4 +-
 .../dba/sqlserver/SQLServerSnifferIT.java       |  2 +
 .../ejbql/EJBQLCompiledExpressionIT.java        |  6 +++
 .../exp/ExpressionFactory_InContextIT.java      | 28 ++++++++++
 .../cayenne/exp/Expression_InContextIT.java     |  3 ++
 .../cayenne/exp/ParsedExpQualifierCompatIT.java | 24 +++++++++
 .../parser/ExpressionEvaluateInMemoryIT.java    | 56 ++++++++++++++++----
 .../cayenne/map/ClientEntityResolverIT.java     | 10 ++--
 .../java/org/apache/cayenne/map/DbEntityIT.java | 17 ++++++
 .../apache/cayenne/map/DbRelationshipIT.java    |  5 ++
 .../java/org/apache/cayenne/map/EntityIT.java   | 17 ++++--
 .../map/EntityResolverClassDescriptorIT.java    |  4 ++
 .../map/EntityResolverGenericStackIT.java       |  2 +
 .../apache/cayenne/map/EntityResolverIT.java    | 10 ++++
 .../map/EntityResolverInheritanceIT.java        |  5 ++
 .../org/apache/cayenne/map/ObjEntityIT.java     | 36 +++++++++++--
 .../apache/cayenne/map/ObjRelationshipIT.java   | 21 ++++++++
 .../cayenne/merge/AddColumnToModelIT.java       |  2 +
 .../cayenne/merge/CreateTableToModelIT.java     |  2 +
 .../cayenne/merge/DropColumnToModelIT.java      |  3 ++
 .../merge/DropRelationshipToModelIT.java        |  2 +
 .../cayenne/merge/DropTableToModelIT.java       |  2 +
 .../apache/cayenne/merge/MergerFactoryIT.java   |  7 +++
 .../cayenne/merge/SetAllowNullToDbIT.java       |  2 +
 .../apache/cayenne/merge/SetNotNullToDbIT.java  |  6 ++-
 .../cayenne/merge/SetPrimaryKeyToDbIT.java      |  6 ++-
 .../apache/cayenne/merge/ValueForNullIT.java    |  2 +
 .../org/apache/cayenne/query/EJBQLQueryIT.java  | 39 ++++++++++++--
 .../cayenne/query/ProcedureQueryCacheKeyIT.java |  6 +++
 .../org/apache/cayenne/query/QueryChainIT.java  |  3 ++
 .../org/apache/cayenne/query/SQLSelectIT.java   | 20 ++++++-
 .../cayenne/query/SQLTemplateCacheKeyIT.java    |  6 +++
 .../org/apache/cayenne/query/SQLTemplateIT.java | 16 ++++--
 .../org/apache/cayenne/query/SelectByIdIT.java  | 12 +++--
 .../cayenne/query/SelectQueryCacheKeyIT.java    | 12 ++++-
 .../query/SelectQueryFetchLimitOrderingIT.java  |  2 +
 .../org/apache/cayenne/query/SelectQueryIT.java | 51 +++++++++++++++++-
 .../SelectQueryPrefetchRouterActionIT.java      |  4 ++
 ...ryPrefetchRouterActionQualifiedEntityIT.java |  3 ++
 .../cayenne/query/StatementFetchSizeIT.java     |  2 +
 .../reflect/LifecycleCallbackRegistryIT.java    |  3 ++
 ...LifecycleCallbackRegistry_InheritanceIT.java |  2 +
 .../reflect/MixedPersistenceStrategyIT.java     |  3 ++
 .../generic/DataObjectDescriptorFactoryIT.java  |  3 ++
 ...jectDescriptorFactory_InheritanceMapsIT.java |  2 +
 .../cayenne/tx/DefaultTransactionManagerIT.java |  3 ++
 .../java/org/apache/cayenne/unit/di/DICase.java | 16 +++---
 .../apache/cayenne/unit/di/DICaseSelfIT.java    |  2 +
 .../di/DefaultUnitTestLifecycleManager.java     |  6 +--
 .../unit/di/UnitTestLifecycleManager.java       |  6 +--
 .../di/server/ServerCaseLifecycleManager.java   |  4 +-
 .../unit/di/server/ServerCaseSelfIT.java        |  2 +
 .../org/apache/cayenne/unit/jira/CAY_115IT.java |  3 ++
 .../org/apache/cayenne/unit/jira/CAY_191IT.java |  6 ++-
 .../org/apache/cayenne/unit/jira/CAY_194IT.java |  3 ++
 .../cayenne/util/DeepMergeOperationIT.java      |  3 ++
 .../util/DeepMergeOperationInheritanceIT.java   |  3 ++
 .../cayenne/util/EntityMergeSupportIT.java      |  8 +--
 .../cayenne/util/ShallowMergeOperationIT.java   |  4 ++
 .../cayenne/velocity/BindDirectiveIT.java       | 31 +++++++----
 .../cayenne/velocity/ResultDirectiveIT.java     | 17 +++---
 .../tools/CayenneGeneratorIntegrationTest.java  | 18 +++++--
 286 files changed, 2378 insertions(+), 247 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
index 31c9d97..43869eb 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextCayenneIT.java
@@ -24,6 +24,9 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextCayenneIT extends ClientCase {
@@ -40,6 +43,7 @@ public class CayenneContextCayenneIT extends ClientCase {
         dbHelper.deleteAll("MT_TABLE1");
     }
 
+    @Test
     public void testObjectForPK() throws Exception {
 
         context.performGenericQuery(new SQLTemplate(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
index c4af230..f1caca7 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextClientChannelEventsIT.java
@@ -32,6 +32,9 @@ import org.apache.cayenne.testdo.mt.ClientMtTable5;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.client.ClientRuntimeProperty;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
 
 /**
  * Tests peer context synchronization via ClientChannel events.
@@ -78,6 +81,7 @@ public class CayenneContextClientChannelEventsIT extends ClientCase {
         tMtJoin45.setColumns("TABLE4_ID", "TABLE5_ID");
     }
 
+    @Test
     public void testSyncNewObject() throws Exception {
 
         CayenneContext c1 = (CayenneContext) runtime.newContext();
@@ -103,6 +107,7 @@ public class CayenneContextClientChannelEventsIT extends ClientCase {
         assertFalse(c2.internalGraphManager().hasChanges());
     }
 
+    @Test
     public void testSyncNewDeletedObject() throws Exception {
 
         CayenneContext c1 = (CayenneContext) runtime.newContext();
@@ -128,6 +133,7 @@ public class CayenneContextClientChannelEventsIT extends ClientCase {
         assertFalse(c2.internalGraphManager().hasChanges());
     }
 
+    @Test
     public void testSyncNewObjectIntoDirtyContext() throws Exception {
 
         CayenneContext c1 = (CayenneContext) runtime.newContext();
@@ -155,6 +161,7 @@ public class CayenneContextClientChannelEventsIT extends ClientCase {
         assertTrue(c2.internalGraphManager().hasChanges());
     }
 
+    @Test
     public void testSyncSimpleProperty() throws Exception {
 
         tMtTable1.insert(1, "g1", "s1");
@@ -185,6 +192,7 @@ public class CayenneContextClientChannelEventsIT extends ClientCase {
         assertFalse(c2.internalGraphManager().hasChanges());
     }
 
+    @Test
     public void testSyncToOneRelationship() throws Exception {
 
         tMtTable1.insert(1, "g1", "s1");
@@ -220,6 +228,7 @@ public class CayenneContextClientChannelEventsIT extends ClientCase {
         assertFalse(c2.internalGraphManager().hasChanges());
     }
 
+    @Test
     public void testSyncToManyRelationship() throws Exception {
         tMtTable1.insert(1, "g1", "s1");
         tMtTable2.insert(1, 1, "g1");
@@ -253,6 +262,7 @@ public class CayenneContextClientChannelEventsIT extends ClientCase {
         assertFalse(c2.internalGraphManager().hasChanges());
     }
 
+    @Test
     public void testSyncToManyRelationship1() throws Exception {
         tMtTable1.insert(1, "g1", "s1");
         tMtTable2.insert(1, 1, "g1");
@@ -286,6 +296,7 @@ public class CayenneContextClientChannelEventsIT extends ClientCase {
         assertEquals(2, o2.getTable2Array().size());
     }
 
+    @Test
     public void testSyncManyToManyRelationship() throws Exception {
         tMtTable4.insert(1);
         tMtTable5.insert(1);
@@ -322,6 +333,7 @@ public class CayenneContextClientChannelEventsIT extends ClientCase {
         assertFalse(c2.internalGraphManager().hasChanges());
     }
 
+    @Test
     public void testSyncManyToManyRelationship1() throws Exception {
 
         CayenneContext c1 = (CayenneContext) runtime.newContext();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
index f9af40f..1c581ab 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextDeleteRulesIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.testdo.mt.ClientMtDeleteNullify;
 import org.apache.cayenne.testdo.mt.ClientMtDeleteRule;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextDeleteRulesIT extends ClientCase {
@@ -33,6 +34,7 @@ public class CayenneContextDeleteRulesIT extends ClientCase {
     @Inject
     private CayenneContext context;
 
+    @Test
     public void testNullifyToOne() {
 
         ClientMtDeleteNullify object = context.newObject(ClientMtDeleteNullify.class);
@@ -52,6 +54,7 @@ public class CayenneContextDeleteRulesIT extends ClientCase {
         context.commitChanges();
     }
 
+    @Test
     public void testDenyToOne() {
 
         ClientMtDeleteDeny object = context.newObject(ClientMtDeleteDeny.class);
@@ -72,6 +75,7 @@ public class CayenneContextDeleteRulesIT extends ClientCase {
         context.commitChanges();
     }
 
+    @Test
     public void testCascadeToOne() {
 
         ClientMtDeleteCascade object = context.newObject(ClientMtDeleteCascade.class);
@@ -91,6 +95,7 @@ public class CayenneContextDeleteRulesIT extends ClientCase {
         context.commitChanges();
     }
 
+    @Test
     public void testCascadeToOneNewObject() {
 
         ClientMtDeleteRule related = context.newObject(ClientMtDeleteRule.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java
index f9805fa..dd83141 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextEJBQLIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -53,6 +54,7 @@ public class CayenneContextEJBQLIT extends ClientCase {
         tMtTable1.insert(2, "g2", "s2");
     }
 
+    @Test
     public void testEJBQLSelect() throws Exception {
         createTwoRecords();
 
@@ -62,6 +64,7 @@ public class CayenneContextEJBQLIT extends ClientCase {
         assertEquals(2, results.size());
     }
 
+    @Test
     public void testEJBQLSelectScalar() throws Exception {
         createTwoRecords();
 
@@ -71,6 +74,7 @@ public class CayenneContextEJBQLIT extends ClientCase {
         assertEquals(Long.valueOf(2), results.get(0));
     }
 
+    @Test
     public void testEJBQLSelectMixed() throws Exception {
         createTwoRecords();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java
index 1469c8b..a3d67d8 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextGraphDiffCompressorIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.unit.di.DataChannelSyncStats;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextGraphDiffCompressorIT extends ClientCase {
@@ -36,6 +37,7 @@ public class CayenneContextGraphDiffCompressorIT extends ClientCase {
     @Inject
     protected CayenneContext context;
 
+    @Test
     public void testMultipleSimpleProperties() {
 
         ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);
@@ -54,6 +56,7 @@ public class CayenneContextGraphDiffCompressorIT extends ClientCase {
         assertEquals(1, stats.nodesCreated);
     }
 
+    @Test
     public void testComplimentaryArcs() {
 
         ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);
@@ -75,6 +78,7 @@ public class CayenneContextGraphDiffCompressorIT extends ClientCase {
         assertEquals(0, stats.arcsDeleted);
     }
 
+    @Test
     public void testDelete() {
 
         ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
index 588d56e..c005543 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextIT.java
@@ -39,6 +39,7 @@ import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.GenericResponse;
+import org.junit.Test;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
@@ -49,7 +50,7 @@ import java.util.List;
 
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.when;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextIT extends ClientCase {
@@ -57,6 +58,7 @@ public class CayenneContextIT extends ClientCase {
     @Inject
     private ObjectContext serverContext;
 
+    @Test
     public void testConstructor() {
 
         CayenneContext context = new CayenneContext();
@@ -70,6 +72,7 @@ public class CayenneContextIT extends ClientCase {
         assertSame(channel, context.getChannel());
     }
 
+    @Test
     public void testChannel() {
         MockDataChannel channel = new MockDataChannel();
         CayenneContext context = new CayenneContext(channel);
@@ -77,6 +80,7 @@ public class CayenneContextIT extends ClientCase {
         assertSame(channel, context.getChannel());
     }
 
+    @Test
     public void testCommitUnchanged() {
 
         MockDataChannel channel = new MockDataChannel();
@@ -87,6 +91,7 @@ public class CayenneContextIT extends ClientCase {
         assertTrue(channel.getRequestObjects().isEmpty());
     }
 
+    @Test
     public void testCommitCommandExecuted() {
 
         MockDataChannel channel = new MockDataChannel(new MockGraphDiff());
@@ -111,6 +116,7 @@ public class CayenneContextIT extends ClientCase {
         assertTrue(mainMessage instanceof GraphDiff);
     }
 
+    @Test
     public void testCommitChangesNew() {
         final CompoundDiff diff = new CompoundDiff();
         final Object newObjectId = new ObjectId("test", "key", "generated");
@@ -157,6 +163,7 @@ public class CayenneContextIT extends ClientCase {
         assertSame(object, context.graphManager.getNode(newObjectId));
     }
 
+    @Test
     public void testNewObject() {
 
         CayenneContext context = new CayenneContext(new MockDataChannel());
@@ -182,6 +189,7 @@ public class CayenneContextIT extends ClientCase {
         assertTrue(object.getObjectId().isTemporary());
     }
 
+    @Test
     public void testDeleteObject() {
 
         CayenneContext context = new CayenneContext(new MockDataChannel());
@@ -238,6 +246,7 @@ public class CayenneContextIT extends ClientCase {
         assertEquals(PersistenceState.DELETED, committed.getPersistenceState());
     }
 
+    @Test
     public void testBeforePropertyReadShouldInflateHollow() {
 
         ObjectId gid = new ObjectId("MtTable1", "a", "b");
@@ -303,6 +312,7 @@ public class CayenneContextIT extends ClientCase {
         assertEquals(PersistenceState.COMMITTED, hollow.getPersistenceState());
     }
 
+    @Test
     public void testBeforeHollowDeleteShouldChangeStateToCommited() {
 
         ObjectId gid = new ObjectId("MtTable1", "a", "b");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
index ec8c43a..b9fbb2b 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextInheritanceIT.java
@@ -27,9 +27,10 @@ import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.ClientMtTable1Subclass1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextInheritanceIT extends ClientCase {
@@ -59,6 +60,7 @@ public class CayenneContextInheritanceIT extends ClientCase {
                 Types.VARCHAR);
     }
 
+    @Test
     public void testInsertSubclass() throws Exception {
 
         ClientMtTable1Subclass1 object = context.newObject(ClientMtTable1Subclass1.class);
@@ -74,6 +76,7 @@ public class CayenneContextInheritanceIT extends ClientCase {
         assertEquals("suba1", tMtTable1.getString("SUBCLASS_ATTRIBUTE1"));
     }
 
+    @Test
     public void testPerformQueryInheritanceLeaf() throws Exception {
 
         tMtTable1.insert(1, "xxx", "yyy", null);
@@ -87,6 +90,7 @@ public class CayenneContextInheritanceIT extends ClientCase {
         assertEquals("sa1", objects.get(0).getSubclass1Attribute1());
     }
 
+    @Test
     public void testPerformQueryInheritanceSuper() throws Exception {
 
         tMtTable1.insert(1, "a", "yyy", null);
@@ -116,6 +120,7 @@ public class CayenneContextInheritanceIT extends ClientCase {
         assertEquals(2, checkedFields);
     }
 
+    @Test
     public void testPerformQueryWithQualifierInheritanceSuper() throws Exception {
 
         tMtTable1.insert(1, "a", "XX", null);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
index 0ff92b1..e080def 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMapRelationshipIT.java
@@ -28,8 +28,9 @@ import org.apache.cayenne.testdo.mt.ClientMtMapToManyTarget;
 import org.apache.cayenne.testdo.mt.MtMapToMany;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
-import java.util.Map;
+import java.util.Map;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextMapRelationshipIT extends ClientCase {
@@ -60,6 +61,7 @@ public class CayenneContextMapRelationshipIT extends ClientCase {
         tMtMapToManyTarget.insert(1, 1).insert(2, 1).insert(3, 1).insert(4, 2);
     }
 
+    @Test
     public void testReadToMany() throws Exception {
         createTwoMapToManysWithTargetsDataSet();
 
@@ -79,6 +81,7 @@ public class CayenneContextMapRelationshipIT extends ClientCase {
         assertNotNull(targets.get(new Integer(3)));
     }
 
+    @Test
     public void testAddToMany() throws Exception {
         createTwoMapToManysWithTargetsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
index a5b4815..7fd1c0d 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMergeHandlerIT.java
@@ -24,8 +24,9 @@ import org.apache.cayenne.graph.GraphEvent;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
-import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.mock;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextMergeHandlerIT extends ClientCase {
@@ -33,6 +34,7 @@ public class CayenneContextMergeHandlerIT extends ClientCase {
     @Inject
     protected CayenneContext context;
 
+    @Test
     public void testShouldProcessEvent() {
 
         CayenneContextMergeHandler handler = new CayenneContextMergeHandler(context);
@@ -63,6 +65,7 @@ public class CayenneContextMergeHandlerIT extends ClientCase {
         assertFalse(handler.shouldProcessEvent(e4));
     }
 
+    @Test
     public void testNodePropertyChanged() {
 
         ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
index f286274..ade7590 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextNamedQueryCachingIT.java
@@ -27,9 +27,10 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collections;
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextNamedQueryCachingIT extends ClientCase {
@@ -60,6 +61,7 @@ public class CayenneContextNamedQueryCachingIT extends ClientCase {
         tMtTable1.insert(3, "g3", "s3");
     }
 
+    @Test
     public void testLocalCache() throws Exception {
         createThreeMtTable1sDataSet();
 
@@ -83,6 +85,7 @@ public class CayenneContextNamedQueryCachingIT extends ClientCase {
         assertEquals(3, result3.size());
     }
 
+    @Test
     public void testLocalCacheParameterized() throws Exception {
         createThreeMtTable1sDataSet();
 
@@ -121,7 +124,8 @@ public class CayenneContextNamedQueryCachingIT extends ClientCase {
         });
     
     }
-    
+
+    @Test
     public void testParameterizedMappedToEJBQLQueries() throws Exception {
         
         createThreeMtTable1sDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
index e59bcc9..3a90802 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPaginatedListCachingIT.java
@@ -27,8 +27,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextPaginatedListCachingIT extends ClientCase {
@@ -56,6 +57,7 @@ public class CayenneContextPaginatedListCachingIT extends ClientCase {
         }
     }
 
+    @Test
     public void testLocalCache() throws Exception {
         createSevenMtTable1sDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
index e3865d0..fd3b795 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextPrimitiveIT.java
@@ -28,9 +28,10 @@ import org.apache.cayenne.testdo.mt.MtTablePrimitives;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextPrimitiveIT extends ClientCase {
@@ -64,6 +65,7 @@ public class CayenneContextPrimitiveIT extends ClientCase {
         tMtTablePrimitives.insert(2, accessStackAdapter.supportsBoolean() ? false : 0, 5);
     }
 
+    @Test
     public void testSelectPrimitives() throws Exception {
         createTwoPrimitivesDataSet();
 
@@ -78,6 +80,7 @@ public class CayenneContextPrimitiveIT extends ClientCase {
         assertEquals(5, results.get(1).getIntColumn());
     }
 
+    @Test
     public void testCommitChangesPrimitives() throws Exception {
 
         ClientMtTablePrimitives object = context.newObject(ClientMtTablePrimitives.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
index 2100320..908abe7 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRefreshQueryIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextRefreshQueryIT extends ClientCase {
@@ -59,6 +60,7 @@ public class CayenneContextRefreshQueryIT extends ClientCase {
         tMtTable2.delete().where("TABLE2_ID", 1).execute();
     }
 
+    @Test
     public void testRefreshToMany() throws Exception {
 
         createM1AndTwoM2sDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
index fbc9f20..458b58b 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextRelationshipsIT.java
@@ -28,6 +28,9 @@ import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.testdo.mt.MtTable2;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextRelationshipsIT extends ClientCase {
@@ -59,6 +62,7 @@ public class CayenneContextRelationshipsIT extends ClientCase {
         tMtTable2.setColumns("TABLE2_ID", "TABLE1_ID", "GLOBAL_ATTRIBUTE");
     }
 
+    @Test
     public void testLostUncommittedToOneModifications_Client() throws Exception {
 
         tMtTable1.insert(1, "G1", "S1");
@@ -79,6 +83,7 @@ public class CayenneContextRelationshipsIT extends ClientCase {
         assertSame(r2, o.getTable1());
     }
 
+    @Test
     public void testLostUncommittedToOneModifications_Server() throws Exception {
 
         tMtTable1.insert(1, "G1", "S1");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
index 1cd129b..555dbce 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextSQLTemplateIT.java
@@ -24,6 +24,10 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextSQLTemplateIT extends ClientCase {
@@ -40,6 +44,7 @@ public class CayenneContextSQLTemplateIT extends ClientCase {
         dbHelper.deleteAll("MT_TABLE1");
     }
 
+    @Test
     public void testObjectRoot() throws Exception {
 
         assertNull(Cayenne.objectForPK(context, ClientMtTable1.class, 1));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
index 4faed91..a0cfaa2 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextServerDiffsIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.mt.ClientMtTable2;
 import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextServerDiffsIT extends ClientCase {
@@ -38,6 +39,7 @@ public class CayenneContextServerDiffsIT extends ClientCase {
     @Inject
     private CayenneContext context;
 
+    @Test
     public void testReturnDiffInPrePersist() {
 
         LifecycleCallbackRegistry callbackRegistry = clientServerChannel
@@ -65,6 +67,7 @@ public class CayenneContextServerDiffsIT extends ClientCase {
         }
     }
 
+    @Test
     public void testReturnDiffInPreUpdate() {
         LifecycleCallbackRegistry callbackRegistry = clientServerChannel
                 .getEntityResolver()
@@ -96,6 +99,7 @@ public class CayenneContextServerDiffsIT extends ClientCase {
         }
     }
 
+    @Test
     public void testReturnDiffClientArcChanges() {
 
         LifecycleCallbackRegistry callbackRegistry = clientServerChannel
@@ -123,6 +127,7 @@ public class CayenneContextServerDiffsIT extends ClientCase {
         }
     }
 
+    @Test
     public void testReturnDiffServerArcChanges() {
 
         LifecycleCallbackRegistry callbackRegistry = clientServerChannel

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
index f8e3c78..37ff005 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextValidationIT.java
@@ -26,6 +26,9 @@ import org.apache.cayenne.testdo.mt.ClientMtTable2;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.validation.ValidationException;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextValidationIT extends ClientCase {
@@ -42,6 +45,7 @@ public class CayenneContextValidationIT extends ClientCase {
         dbHelper.deleteAll("MT_TABLE1");
     }
 
+    @Test
     public void testValidate() throws Exception {
 
         ClientMtTable1 o1 = context.newObject(ClientMtTable1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
index a5cf087..ed19ebe 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne;
 
-import java.sql.Types;
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.access.ClientServerChannel;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.di.Inject;
@@ -46,6 +42,19 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.sql.Types;
+import java.util.Iterator;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class CayenneContextWithDataContextIT extends ClientCase {
@@ -103,6 +112,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         }
     }
 
+    @Test
     public void testLocalCacheStaysLocal() {
 
         DataContext serverContext = (DataContext) clientServerChannel.getParentChannel();
@@ -122,6 +132,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         assertEquals(0, serverContext.getQueryCache().size());
     }
 
+    @Test
     public void testAddToList() throws Exception {
 
         ClientMtTable1 t1 = clientContext.newObject(ClientMtTable1.class);
@@ -140,6 +151,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         assertSame(t3, t4.getTable1());
     }
 
+    @Test
     public void testSetValueHolder() throws Exception {
 
         ClientMtTable1 t1 = clientContext.newObject(ClientMtTable1.class);
@@ -150,6 +162,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         assertSame(t1, t2.getTable1());
     }
 
+    @Test
     public void testPostAddCallback() throws Exception {
 
         LifecycleCallbackRegistry callbackRegistry = clientServerChannel
@@ -198,6 +211,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         }
     }
 
+    @Test
     public void testPostAddOnObjectCallback() throws Exception {
 
         final DataContext serverContext = (DataContext) clientServerChannel.getParentChannel();
@@ -235,6 +249,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         }
     }
 
+    @Test
     public void testPreRemoveCallback() throws Exception {
 
         // an exception was triggered within POST_LOAD callback
@@ -288,6 +303,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         }
     }
 
+    @Test
     public void testCAY830() throws Exception {
 
         // an exception was triggered within POST_LOAD callback
@@ -341,6 +357,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         }
     }
 
+    @Test
     public void testRollbackChanges() throws Exception {
 
         ClientMtTable1 o = clientContext.newObject(ClientMtTable1.class);
@@ -356,6 +373,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         assertTrue(clientContext.modifiedObjects().isEmpty());
     }
 
+    @Test
     public void testCreateFault() throws Exception {
         tMtTable1.insert(1, "g1", "s1");
 
@@ -377,6 +395,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         assertEquals(PersistenceState.COMMITTED, o.getPersistenceState());
     }
 
+    @Test
     public void testCreateBadFault() throws Exception {
         tMtTable1.insert(1, "g1", "s1");
 
@@ -397,6 +416,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         }
     }
 
+    @Test
     public void testMeaningfulPK() throws Exception {
         deleteAndCreateTwoMeaningfulPKsDataSet();
 
@@ -407,6 +427,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         assertEquals(2, results.size());
     }
 
+    @Test
     public void testPrefetchingToOne() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -440,6 +461,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         });
     }
 
+    @Test
     public void testPrefetchingToOneNull() throws Exception {
         tMtTable2.insert(15, null, "g3");
 
@@ -463,6 +485,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         });
     }
 
+    @Test
     public void testPrefetchingToMany() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -497,6 +520,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         });
     }
 
+    @Test
     public void testPerformPaginatedQuery() throws Exception {
         createEightMtTable1s();
 
@@ -507,6 +531,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         assertTrue(objects instanceof RemoteIncrementalFaultList);
     }
 
+    @Test
     public void testPrefetchingToManyEmpty() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -530,6 +555,7 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         });
     }
 
+    @Test
     public void testOIDQueryInterception() throws Exception {
 
         final ClientMtTable1 o = clientContext.newObject(ClientMtTable1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
index 937f39c..7affd25 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextIT.java
@@ -18,9 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne;
 
-import java.util.Iterator;
-import java.util.List;
-
 import org.apache.cayenne.configuration.rop.client.ClientRuntime;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.graph.GraphChangeHandler;
@@ -28,22 +25,31 @@ import org.apache.cayenne.graph.GraphDiff;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.query.SortOrder;
 import org.apache.cayenne.remote.RemoteCayenneCase;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.ClientMtTable2;
 import org.apache.cayenne.testdo.mt.ClientMtTooneDep;
 import org.apache.cayenne.testdo.mt.ClientMtTooneMaster;
-import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
 
 /**
  * Tests nested object contexts
  */
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class NestedCayenneContextIT extends RemoteCayenneCase {
 
     @Inject
@@ -55,6 +61,19 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
     @Inject
     private DataChannelInterceptor queryInterceptor;
 
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public NestedCayenneContextIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
     @Override
     public void setUpAfterInjection() throws Exception {
         super.setUpAfterInjection();
@@ -63,6 +82,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         dbHelper.deleteAll("MT_TABLE1");
     }
 
+    @Test
     public void testChannels() {
         ObjectContext child = runtime.newContext(clientContext);
 
@@ -76,6 +96,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         assertSame(child, grandchild.getChannel());
     }
 
+    @Test
     public void testSelect() throws Exception {
         ObjectContext child = runtime.newContext(clientContext);
 
@@ -113,6 +134,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         }
     }
 
+    @Test
     public void testPrefetchingToOne() throws Exception {
         final ClientMtTable1 mt11 = clientContext.newObject(ClientMtTable1.class);
         clientContext.newObject(ClientMtTable1.class);
@@ -151,6 +173,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         });
     }
 
+    @Test
     public void testPrefetchingToMany() throws Exception {
         ClientMtTable1 mt11 = clientContext.newObject(ClientMtTable1.class);
         mt11.setGlobalAttribute1("1");
@@ -204,6 +227,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         });
     }
 
+    @Test
     public void testDeleteNew() throws Exception {
         ObjectContext child = runtime.newContext(clientContext);
 
@@ -228,6 +252,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
     /**
      * A test case for CAY-698 bug.
      */
+    @Test
     public void testNullifyToOne() throws Exception {
         ClientMtTable1 a = clientContext.newObject(ClientMtTable1.class);
         ClientMtTable2 b = clientContext.newObject(ClientMtTable2.class);
@@ -304,6 +329,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         });
     }
 
+    @Test
     public void testCommitChangesToParent() throws Exception {
         clientContext.newObject(ClientMtTable1.class);
         clientContext.newObject(ClientMtTable1.class);
@@ -426,6 +452,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         });
     }
 
+    @Test
     public void testCommitChangesToParentDeleted() throws Exception {
         clientContext.newObject(ClientMtTable1.class);
         clientContext.newObject(ClientMtTable1.class);
@@ -468,6 +495,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
     /*
      * was added for CAY-1636
      */
+    @Test
     public void testCAY1636() throws Exception {
 
         ClientMtTooneMaster A = clientContext.newObject(ClientMtTooneMaster.class);
@@ -506,6 +534,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
 
     }
 
+    @Test
     public void testCAY1636_2() throws Exception {
 
         ClientMtTooneMaster A = clientContext.newObject(ClientMtTooneMaster.class);
@@ -552,6 +581,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
 
     }
 
+    @Test
     public void testCommitChanges() throws Exception {
         clientContext.newObject(ClientMtTable1.class);
         clientContext.newObject(ClientMtTable1.class);
@@ -623,6 +653,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         assertNotNull(parentHollow);
     }
 
+    @Test
     public void testAddRemove() throws Exception {
         ObjectContext child = runtime.newContext(clientContext);
 
@@ -647,6 +678,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
 
     }
 
+    @Test
     public void testChangeRel() throws Exception {
         ObjectContext child = runtime.newContext(clientContext);
 
@@ -679,6 +711,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         assertEquals(0, parentA.getTable2Array().size());
     }
 
+    @Test
     public void testCAY1183() throws Exception {
         ClientMtTable1 parentMt = clientContext.newObject(ClientMtTable1.class);
         clientContext.commitChanges();
@@ -701,6 +734,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
     /**
      * CAY1714
      */
+    @Test
     public void testQueriesOnTemporaryObject() throws Exception {
         ObjectContext clientContext = runtime.newContext((DataChannel) this.clientContext);
         ClientMtTable1 parentMt = clientContext.newObject(ClientMtTable1.class);
@@ -717,6 +751,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         assertNull(childMt2.getTable3());
     }
 
+    @Test
     public void testCAY1194() throws Exception {
         ClientMtTable1 parentMt = clientContext.newObject(ClientMtTable1.class);
         ObjectContext child = runtime.newContext(clientContext);
@@ -740,6 +775,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         assertEquals(parentMt.getTable2Array().get(0).getObjectContext(), clientContext);
     }
 
+    @Test
     public void testCommitChangesToParentOneToMany() throws Exception {
         ObjectContext child = runtime.newContext(clientContext);
 
@@ -801,6 +837,7 @@ public class NestedCayenneContextIT extends RemoteCayenneCase {
         assertEquals(2, arcDiffs[0]);
     }
 
+    @Test
     public void testCommitChangesToParentOneToOne() throws Exception {
         ObjectContext child = runtime.newContext(clientContext);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java b/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
index f9775a4..da6cac9 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/PersistentObjectInContextIT.java
@@ -30,8 +30,9 @@ import org.apache.cayenne.testdo.mt.MtTable2;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.PersistentObjectHolder;
+import org.junit.Test;
 
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class PersistentObjectInContextIT extends ClientCase {
@@ -65,6 +66,7 @@ public class PersistentObjectInContextIT extends ClientCase {
         tMtTable2.insert(2, 1, "g2");
     }
 
+    @Test
     public void testResolveToManyReverseResolved() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -89,6 +91,7 @@ public class PersistentObjectInContextIT extends ClientCase {
         }
     }
 
+    @Test
     public void testToOneRelationship() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -107,6 +110,7 @@ public class PersistentObjectInContextIT extends ClientCase {
         assertEquals("g1", mtTable1.getGlobalAttribute1());
     }
 
+    @Test
     public void testResolveToOneReverseResolved() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
index f5cd8f1..140f6e2 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelIT.java
@@ -48,8 +48,9 @@ import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.EqualsBuilder;
+import org.junit.Test;
 
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientServerChannelIT extends ClientCase {
@@ -101,6 +102,7 @@ public class ClientServerChannelIT extends ClientCase {
         tMtTable2.insert(2, 1, "g2");
     }
 
+    @Test
     public void testGetEntityResolver() throws Exception {
         EntityResolver resolver = clientServerChannel.getEntityResolver();
         assertNotNull(resolver);
@@ -108,6 +110,7 @@ public class ClientServerChannelIT extends ClientCase {
         assertNotNull(resolver.getClientEntityResolver().getObjEntity(ClientMtTable1.class));
     }
 
+    @Test
     public void testSynchronizeCommit() throws Exception {
 
         SelectQuery query = new SelectQuery(MtTable1.class);
@@ -124,6 +127,7 @@ public class ClientServerChannelIT extends ClientCase {
         assertEquals(1, serverContext.performQuery(query).size());
     }
 
+    @Test
     public void testPerformQueryObjectIDInjection() throws Exception {
         tMtTable1.insert(55, "g1", "s1");
 
@@ -145,6 +149,7 @@ public class ClientServerChannelIT extends ClientCase {
         assertEquals(new ObjectId("MtTable1", MtTable1.TABLE1_ID_PK_COLUMN, 55), clientObject.getObjectId());
     }
 
+    @Test
     public void testPerformQueryValuePropagation() throws Exception {
 
         byte[] bytes = new byte[] { 1, 2, 3 };
@@ -170,6 +175,7 @@ public class ClientServerChannelIT extends ClientCase {
         assertTrue(new EqualsBuilder().append(clientObject.getBinaryColumn(), bytes).isEquals());
     }
 
+    @Test
     public void testPerformQueryPropagationInheritance() throws Exception {
 
         tMtTable1.insert(65, "sub1", "xyz");
@@ -191,6 +197,7 @@ public class ClientServerChannelIT extends ClientCase {
         assertEquals("sub1", clientObject.getGlobalAttribute1());
     }
 
+    @Test
     public void testOnQuery() {
 
         final boolean[] genericDone = new boolean[1];
@@ -209,6 +216,7 @@ public class ClientServerChannelIT extends ClientCase {
         assertTrue(genericDone[0]);
     }
 
+    @Test
     public void testOnQueryPrefetchingToMany() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -234,6 +242,7 @@ public class ClientServerChannelIT extends ClientCase {
         });
     }
 
+    @Test
     public void testOnQueryPrefetchingToManyEmpty() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
index 3210bbe..d4da266 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/access/ClientServerChannelQueryIT.java
@@ -35,9 +35,10 @@ import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.PersistentObjectHolder;
 import org.apache.cayenne.util.PersistentObjectList;
+import org.junit.Test;
 
 import java.util.Collections;
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientServerChannelQueryIT extends ClientCase {
@@ -82,6 +83,7 @@ public class ClientServerChannelQueryIT extends ClientCase {
         tMtTable2.insert(2, 1, "g2");
     }
 
+    @Test
     public void testPaginatedQueryServerCacheOverflow() throws Exception {
         createSevenMtTable1sDataSet();
 
@@ -104,6 +106,7 @@ public class ClientServerChannelQueryIT extends ClientCase {
         assertTrue(results.get(3) instanceof ClientMtTable1);
     }
 
+    @Test
     public void testParameterizedMappedToEJBQLQueries() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -113,7 +116,8 @@ public class ClientServerChannelQueryIT extends ClientCase {
         assertEquals(1, r1.size());
         assertTrue(r1.get(0) instanceof ClientMtTable1);
     }
-    
+
+    @Test
     public void testNamedQuery() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -124,6 +128,7 @@ public class ClientServerChannelQueryIT extends ClientCase {
         assertTrue(results.get(0) instanceof ClientMtTable1);
     }
 
+    @Test
     public void testSelectQueryEntityNameRoot() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -135,6 +140,7 @@ public class ClientServerChannelQueryIT extends ClientCase {
         assertTrue(results.get(0) instanceof ClientMtTable1);
     }
 
+    @Test
     public void testSelectQueryClientClassRoot() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -145,6 +151,7 @@ public class ClientServerChannelQueryIT extends ClientCase {
         assertTrue(results.get(0) instanceof ClientMtTable1);
     }
 
+    @Test
     public void testSelectQuerySimpleQualifier() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -157,6 +164,7 @@ public class ClientServerChannelQueryIT extends ClientCase {
         assertTrue(results.get(0) instanceof ClientMtTable1);
     }
 
+    @Test
     public void testSelectQueryToManyRelationshipQualifier() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -168,6 +176,7 @@ public class ClientServerChannelQueryIT extends ClientCase {
         assertTrue(results.get(0) instanceof ClientMtTable1);
     }
 
+    @Test
     public void testSelectQueryOrdering() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -195,6 +204,7 @@ public class ClientServerChannelQueryIT extends ClientCase {
         assertTrue(o3.getGlobalAttribute1().compareTo(o4.getGlobalAttribute1()) > 0);
     }
 
+    @Test
     public void testSelectQueryPrefetchToOne() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 
@@ -217,6 +227,7 @@ public class ClientServerChannelQueryIT extends ClientCase {
         assertNotNull(target);
     }
 
+    @Test
     public void testSelectQueryPrefetchToMany() throws Exception {
         createTwoMtTable1sAnd2sDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
index b2a9549..b0add33 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/map/ClientEntityResolverIT.java
@@ -22,13 +22,15 @@ import org.apache.cayenne.remote.hessian.service.HessianUtil;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collection;
-import java.util.Collections;
+import java.util.Collections;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientEntityResolverIT extends ClientCase {
 
+    @Test
     public void testSerializabilityWithHessian() throws Exception {
         ObjEntity entity = new ObjEntity("test_entity");
         entity.setClassName(Artist.class.getName());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
index 643de29..2c2f006 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientExpressionIT.java
@@ -31,11 +31,12 @@ import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.testdo.mt.ClientMtTable2;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientExpressionIT extends ClientCase {
@@ -68,7 +69,8 @@ public class ClientExpressionIT extends ClientCase {
             tMtTable2.insert(i + 10, i, "2_global" + (i + 10));
         }
     }
-    
+
+    @Test
     public void testPersistentValueInExpression() throws Exception {
         ClientMtTable1 t1 = context.newObject(ClientMtTable1.class);
         ClientMtTable1 t2 = context.newObject(ClientMtTable1.class);
@@ -82,7 +84,8 @@ public class ClientExpressionIT extends ClientCase {
         assertEquals(t1.getObjectId(), ((ASTEqual)list.getOperand(0)).getOperand(1));
         assertEquals(t2.getObjectId(), ((ASTEqual)list.getOperand(1)).getOperand(1));
     }
-    
+
+    @Test
     public void testListInASTList() throws Exception {
         ClientMtTable1 t1 = context.newObject(ClientMtTable1.class);
         ClientMtTable1 t2 = context.newObject(ClientMtTable1.class);
@@ -109,7 +112,8 @@ public class ClientExpressionIT extends ClientCase {
         assertNotSame(t1.getObjectId(), values[0]);
         assertNotSame(t2.getObjectId(), values[1]);
     }
-    
+
+    @Test
     public void testArrayInASTList() throws Exception {
         ClientMtTable1 t1 = context.newObject(ClientMtTable1.class);
         ClientMtTable1 t2 = context.newObject(ClientMtTable1.class);
@@ -140,7 +144,8 @@ public class ClientExpressionIT extends ClientCase {
         assertNotSame(t1.getObjectId(), values[0]);
         assertNotSame(t2.getObjectId(), values[1]);
     }
-    
+
+    @Test
     public void testExpressionFactoryMatch() throws Exception {
         createDataSet();
         
@@ -167,7 +172,8 @@ public class ClientExpressionIT extends ClientCase {
         assertNotNull(table2List);
         assertEquals(2, table2List.size());
     }
-    
+
+    @Test
     public void testExpressionFactoryMatchAll() throws Exception {
         createDataSet();
         
@@ -186,7 +192,8 @@ public class ClientExpressionIT extends ClientCase {
         
         assertEquals(1, table1List.size());
     }
-    
+
+    @Test
     public void testExpressionFactoryMatchAny() throws Exception {
         createDataSet();
         
@@ -203,7 +210,8 @@ public class ClientExpressionIT extends ClientCase {
         
         assertEquals(2, table2List.size());
     }
-    
+
+    @Test
     public void testExpressionFactoryIn() throws Exception {
         createDataSet();
         
@@ -228,7 +236,8 @@ public class ClientExpressionIT extends ClientCase {
         
         assertEquals(4, table2List.size());
     }
-    
+
+    @Test
     public void testExpressionFactoryBetween() throws Exception {
         createDataSet();
         
@@ -253,7 +262,8 @@ public class ClientExpressionIT extends ClientCase {
         
         assertEquals(6, table2List.size());
     }
-    
+
+    @Test
     public void testExpressionFactoryOperators() throws Exception {
         createDataSet();
         
@@ -291,7 +301,8 @@ public class ClientExpressionIT extends ClientCase {
         
         assertEquals(14, table2List.size());
     }
-    
+
+    @Test
     public void testExpressionWithParameters() throws Exception {
         createDataSet();
         

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
index 2eabb35..a706de1 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/ClientSelectQueryExpressionIT.java
@@ -27,8 +27,9 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class ClientSelectQueryExpressionIT extends ClientCase {
@@ -56,6 +57,7 @@ public class ClientSelectQueryExpressionIT extends ClientCase {
         }
     }
 
+    @Test
     public void testDoubleSelectLikeExpression() throws Exception {
         createMtTable1DataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java b/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
index 66d3b94..72f505d 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/query/SelectQueryAbstractEntityIT.java
@@ -28,8 +28,9 @@ import org.apache.cayenne.testdo.mt.MtTable1Subclass2;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
-import java.util.List;
+import java.util.List;import static org.junit.Assert.*;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
 public class SelectQueryAbstractEntityIT extends ServerCase {
@@ -61,7 +62,8 @@ public class SelectQueryAbstractEntityIT extends ServerCase {
         }
        
     }
-    
+
+    @Test
     public void testSublclassEntitySelect() throws Exception{
         createDataSet();
         
@@ -76,7 +78,8 @@ public class SelectQueryAbstractEntityIT extends ServerCase {
         assertNotNull(sub1List);
         assertNotNull(sub2List);
     }
-    
+
+    @Test
     public void test1AbstractEntitySelect() throws Exception{
         createDataSet();
 
@@ -91,7 +94,8 @@ public class SelectQueryAbstractEntityIT extends ServerCase {
             }
         }
     }
-    
+
+    @Test
     public void test2AbstractEntitySelect() throws Exception{
         createDataSet();
         

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
index 08df05f..c153b79 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/CayenneContextDeletionIT.java
@@ -18,13 +18,36 @@
  ****************************************************************/
 package org.apache.cayenne.remote;
 
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.testdo.mt.ClientMtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class CayenneContextDeletionIT extends RemoteCayenneCase {
 
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION},
+                {LocalConnection.JAVA_SERIALIZATION},
+                {LocalConnection.NO_SERIALIZATION},
+        });
+    }
+
+    public CayenneContextDeletionIT(int serializationPolicy) {
+        super.serializationPolicy = serializationPolicy;
+    }
+
+    @Test
     public void testDeletion() {
         ClientMtTable1 object = clientContext.newObject(ClientMtTable1.class);
         clientContext.commitChanges();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java
index d3e9e52..2fa875b 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/ClientChannelServerDiffsIT.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.testdo.mt.ClientMtTable2;
 import org.apache.cayenne.testdo.mt.MtTable1;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -46,6 +47,7 @@ public class ClientChannelServerDiffsIT extends ClientCase {
     @Inject
     private ClientConnection connection;
 
+    @Test
     public void testReturnIdDiff() {
 
         final Object[] ids = new Object[2];
@@ -91,6 +93,7 @@ public class ClientChannelServerDiffsIT extends ClientCase {
         assertFalse(((ObjectId) ids[1]).isTemporary());
     }
 
+    @Test
     public void testReturnDiffInPrePersist() {
 
         final List<GenericDiff> diffs = new ArrayList<GenericDiff>();
@@ -167,6 +170,7 @@ public class ClientChannelServerDiffsIT extends ClientCase {
         }
     }
 
+    @Test
     public void testReturnDiffClientArcChanges() {
 
         final NoopGraphChangeHandler diffReader = new NoopGraphChangeHandler();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java b/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
index a3ff1b5..8f4f6ca 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/remote/LightSuperClassIT.java
@@ -22,16 +22,25 @@ import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.query.RefreshQuery;
 import org.apache.cayenne.query.SelectQuery;
+import org.apache.cayenne.remote.service.LocalConnection;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.persistent.Continent;
 import org.apache.cayenne.testdo.persistent.Country;
 import org.apache.cayenne.unit.di.client.ClientCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
 
 /**
  * Test for entites that are implemented in same class on client and server
  */
 @UseServerRuntime(ClientCase.MULTI_TIER_PROJECT)
+@RunWith(value=Parameterized.class)
 public class LightSuperClassIT extends RemoteCayenneCase {
 
     @Inject
@@ -39,6 +48,21 @@ public class LightSuperClassIT extends RemoteCayenneCase {
 
     private boolean server;
 
+    @Parameters
+    public static Collection data() {
+        return Arrays.asList(new Object[][]{
+                {LocalConnection.HESSIAN_SERIALIZATION, true},
+                {LocalConnection.JAVA_SERIALIZATION, true},
+                {LocalConnection.NO_SERIALIZATION, true},
+                {LocalConnection.NO_SERIALIZATION, false},
+        });
+    }
+
+    public LightSuperClassIT(int serializationPolicy, boolean server) {
+        super.serializationPolicy = serializationPolicy;
+        this.server = server;
+    }
+
     @Override
     public void setUpAfterInjection() throws Exception {
         super.setUpAfterInjection();
@@ -47,16 +71,6 @@ public class LightSuperClassIT extends RemoteCayenneCase {
         dbHelper.deleteAll("COUNTRY");
     }
 
-    @Override
-    public void runBare() throws Throwable {
-        server = true;
-        super.runBare();
-        server = false;
-
-        // testing ROP with all serialization policies
-        runBareSimple();
-    }
-
     private ObjectContext createContext() {
         if (server) {
             return serverContext;
@@ -66,6 +80,7 @@ public class LightSuperClassIT extends RemoteCayenneCase {
         }
     }
 
+    @Test
     public void testServer() throws Exception {
         ObjectContext context = createContext();
         Continent continent = context.newObject(Continent.class);


[47/50] [abbrv] cayenne git commit: Fix license header

Posted by aa...@apache.org.
Fix license header


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/486065ae
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/486065ae
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/486065ae

Branch: refs/heads/CAY-1946
Commit: 486065aedd40d3fcbdc44ab5807bbfa788e101c3
Parents: 535ecb8
Author: Savva Kolbechev <s....@gmail.com>
Authored: Fri Nov 14 12:02:49 2014 +0300
Committer: Savva Kolbechev <s....@gmail.com>
Committed: Fri Nov 14 12:02:49 2014 +0300

----------------------------------------------------------------------
 .../cayenne/CayenneContextMeaningfulPKIT.java    | 19 +++++++++++++++++++
 .../cayenne/CayenneContextReflexiveIT.java       | 19 +++++++++++++++++++
 .../cayenne/NestedCayenneContextTooneIT.java     | 19 +++++++++++++++++++
 .../org/apache/cayenne/CayenneCompoundIT.java    | 19 +++++++++++++++++++
 ...textEJBQLDateTimeFunctionalExpressionsIT.java | 19 +++++++++++++++++++
 .../access/DataContextEJBQLDeletePKIT.java       | 19 +++++++++++++++++++
 .../DataContextEJBQLNumericalFunctionalIT.java   | 19 +++++++++++++++++++
 .../access/DataContextEJBQLQueryCompoundIT.java  | 19 +++++++++++++++++++
 .../access/DataContextEJBQLUpdateCompoundIT.java | 19 +++++++++++++++++++
 .../access/DataContextSQLTemplateCompoundIT.java | 19 +++++++++++++++++++
 .../cayenne/access/EntityInheritanceIT.java      | 19 +++++++++++++++++++
 .../access/jdbc/BatchActionGeneratedIT.java      | 19 +++++++++++++++++++
 .../cayenne/query/EJBQLQueryNumericIT.java       | 19 +++++++++++++++++++
 .../apache/cayenne/query/SelectQueryClobIT.java  | 19 +++++++++++++++++++
 .../cayenne/query/SelectQueryReturnTypesIT.java  | 19 +++++++++++++++++++
 .../dialog/codegen/StandardPanelComponent.java   | 19 +++++++++++++++++++
 16 files changed, 304 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMeaningfulPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMeaningfulPKIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMeaningfulPKIT.java
index 89dd47e..28927c3 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMeaningfulPKIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextMeaningfulPKIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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;
 
 import org.apache.cayenne.di.Inject;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextReflexiveIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextReflexiveIT.java b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextReflexiveIT.java
index 04fb4e2..eec50ab 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextReflexiveIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextReflexiveIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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;
 
 import org.apache.cayenne.access.ClientServerChannel;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextTooneIT.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextTooneIT.java b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextTooneIT.java
index e548368..ddeebd1 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextTooneIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/NestedCayenneContextTooneIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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;
 
 import org.apache.cayenne.configuration.rop.client.ClientRuntime;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
index 0a0fa92..dec9c1e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CayenneCompoundIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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;
 
 import org.apache.cayenne.di.Inject;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
index f42f730..03db219 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDateTimeFunctionalExpressionsIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.access;
 
 import org.apache.cayenne.ObjectContext;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
index f532f13..9a950a2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeletePKIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.access;
 
 import org.apache.cayenne.ObjectContext;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
index b639559..ec876b6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLNumericalFunctionalIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.access;
 
 import org.apache.cayenne.Cayenne;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
index e27e6a5..3969534 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLQueryCompoundIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.access;
 
 import org.apache.cayenne.Cayenne;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
index b85c3a0..9fe77ed 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLUpdateCompoundIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.access;
 
 import org.apache.cayenne.Cayenne;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
index 6e84aee..c6e8c29 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSQLTemplateCompoundIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.access;
 
 import org.apache.cayenne.Cayenne;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
index e17295e..4fffde1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/EntityInheritanceIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.access;
 
 import org.apache.cayenne.di.Inject;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
index 263942a..73723c8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/jdbc/BatchActionGeneratedIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.access.jdbc;
 
 import org.apache.cayenne.access.DataNode;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
index 3cb152a..66f1f86 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/EJBQLQueryNumericIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.query;
 
 import org.apache.cayenne.ObjectContext;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
index debde5e..6559db1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryClobIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.query;
 
 import org.apache.cayenne.Cayenne;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
index da3d2b4..c4d59d9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryReturnTypesIT.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.query;
 
 import org.apache.cayenne.ObjectContext;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/486065ae/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
index c499412..b4794f3 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/codegen/StandardPanelComponent.java
@@ -1,3 +1,22 @@
+/*****************************************************************
+ *   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.modeler.dialog.codegen;
 
 import com.jgoodies.forms.builder.DefaultFormBuilder;


[08/50] [abbrv] cayenne git commit: Apply JUnit4 instead of JUnit3 in IT

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
index e43e8bd..6384c07 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -54,6 +55,7 @@ public class DeleteBatchTranslatorIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testConstructor() throws Exception {
         DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
 
@@ -62,6 +64,7 @@ public class DeleteBatchTranslatorIT extends ServerCase {
         assertSame(adapter, builder.adapter);
     }
 
+    @Test
     public void testCreateSqlString() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();
@@ -77,6 +80,7 @@ public class DeleteBatchTranslatorIT extends ServerCase {
         assertEquals("DELETE FROM " + entity.getName() + " WHERE LOCKING_TEST_ID = ?", generatedSql);
     }
 
+    @Test
     public void testCreateSqlStringWithNulls() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();
@@ -95,6 +99,7 @@ public class DeleteBatchTranslatorIT extends ServerCase {
         assertEquals("DELETE FROM " + entity.getName() + " WHERE LOCKING_TEST_ID = ? AND NAME IS NULL", generatedSql);
     }
 
+    @Test
     public void testCreateSqlStringWithIdentifiersQuote() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();
@@ -120,6 +125,7 @@ public class DeleteBatchTranslatorIT extends ServerCase {
 
     }
 
+    @Test
     public void testCreateSqlStringWithNullsWithIdentifiersQuote() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
index 1a631db..ad28d6e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import static org.mockito.Mockito.mock;
 
@@ -47,6 +48,7 @@ public class InsertBatchTranslatorIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testConstructor() throws Exception {
         DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
 
@@ -55,6 +57,7 @@ public class InsertBatchTranslatorIT extends ServerCase {
         assertSame(adapter, builder.adapter);
     }
 
+    @Test
     public void testCreateSqlString() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();
@@ -68,6 +71,7 @@ public class InsertBatchTranslatorIT extends ServerCase {
                 generatedSql);
     }
 
+    @Test
     public void testCreateSqlStringWithIdentifiersQuote() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
index 1309e7c..1860cc1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java
@@ -36,6 +36,7 @@ import org.apache.cayenne.testdo.locking.SoftDelete;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -69,6 +70,7 @@ public class SoftDeleteBatchTranslatorIT extends ServerCase {
         return (DeleteBatchTranslator) new SoftDeleteTranslatorFactory().translator(query, adapter, null);
     }
 
+    @Test
     public void testCreateSqlString() throws Exception {
         DbEntity entity = context.getEntityResolver().getObjEntity(SoftDelete.class).getDbEntity();
 
@@ -81,6 +83,7 @@ public class SoftDeleteBatchTranslatorIT extends ServerCase {
         assertEquals("UPDATE " + entity.getName() + " SET DELETED = ? WHERE ID = ?", generatedSql);
     }
 
+    @Test
     public void testCreateSqlStringWithNulls() throws Exception {
         DbEntity entity = context.getEntityResolver().getObjEntity(SoftDelete.class).getDbEntity();
 
@@ -95,6 +98,7 @@ public class SoftDeleteBatchTranslatorIT extends ServerCase {
         assertEquals("UPDATE " + entity.getName() + " SET DELETED = ? WHERE ID = ? AND NAME IS NULL", generatedSql);
     }
 
+    @Test
     public void testCreateSqlStringWithIdentifiersQuote() throws Exception {
         DbEntity entity = context.getEntityResolver().getObjEntity(SoftDelete.class).getDbEntity();
         try {
@@ -121,6 +125,7 @@ public class SoftDeleteBatchTranslatorIT extends ServerCase {
 
     }
 
+    @Test
     public void testUpdate() throws Exception {
 
         final DbEntity entity = context.getEntityResolver().getObjEntity(SoftDelete.class).getDbEntity();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
index 4b77c84..8f3eea2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -53,12 +54,14 @@ public class UpdateBatchTranslatorIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testConstructor() throws Exception {
         DbAdapter adapter = objectFactory.newInstance(DbAdapter.class, JdbcAdapter.class.getName());
         UpdateBatchTranslator builder = new UpdateBatchTranslator(mock(UpdateBatchQuery.class), adapter, null);
         assertSame(adapter, builder.adapter);
     }
 
+    @Test
     public void testCreateSqlString() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();
@@ -76,6 +79,7 @@ public class UpdateBatchTranslatorIT extends ServerCase {
         assertEquals("UPDATE " + entity.getName() + " SET DESCRIPTION = ? WHERE LOCKING_TEST_ID = ?", generatedSql);
     }
 
+    @Test
     public void testCreateSqlStringWithNulls() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();
@@ -97,6 +101,7 @@ public class UpdateBatchTranslatorIT extends ServerCase {
                 generatedSql);
     }
 
+    @Test
     public void testCreateSqlStringWithIdentifiersQuote() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();
@@ -125,6 +130,7 @@ public class UpdateBatchTranslatorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCreateSqlStringWithNullsWithIdentifiersQuote() throws Exception {
         DbEntity entity = runtime.getDataDomain().getEntityResolver().getObjEntity(SimpleLockingTestEntity.class)
                 .getDbEntity();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
index 0da0982..7db9fe3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.query.EJBQLQuery;
 import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collections;
 import java.util.HashMap;
@@ -63,6 +64,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         return tr.getQuery();
     }
 
+    @Test
     public void testSelectFrom() {
         SQLTemplate query = translateSelect("select a from Artist a");
         String sql = query.getDefaultTemplate();
@@ -76,6 +78,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.endsWith(" FROM ARTIST t0"));
     }
 
+    @Test
     public void testSelectMultipleJoinsToTheSameTable() throws Exception {
         SQLTemplate query = translateSelect("SELECT a "
                 + "FROM Artist a JOIN a.paintingArray b JOIN a.paintingArray c "
@@ -88,6 +91,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.indexOf("INNER JOIN PAINTING t2 ON (t0.ARTIST_ID = t2.ARTIST_ID)") > 0);
     }
 
+    @Test
     public void testSelectImplicitColumnJoins() throws Exception {
         SQLTemplate query = translateSelect("SELECT a.paintingArray.toGallery.galleryName "
                 + "FROM Artist a JOIN a.paintingArray b");
@@ -109,6 +113,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         // assertTrue(sql, i2 < 0);
     }
 
+    @Test
     public void testSelectDistinct() {
         SQLTemplate query = translateSelect("select distinct a from Artist a");
         String sql = query.getDefaultTemplate();
@@ -116,6 +121,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.startsWith("SELECT DISTINCT "));
     }
 
+    @Test
     public void testSelectFromWhereEqual() {
         SQLTemplate query = translateSelect("select a from Artist a where a.artistName = 'Dali'");
         String sql = query.getDefaultTemplate();
@@ -125,6 +131,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.endsWith(" FROM ARTIST t0 WHERE t0.ARTIST_NAME =" + " #bind('Dali' 'VARCHAR')"));
     }
 
+    @Test
     public void testSelectFromWhereOrEqual() {
         SQLTemplate query = translateSelect("select a from Artist a where a.artistName = 'Dali' "
                 + "or a.artistName = 'Malevich'");
@@ -143,6 +150,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertEquals(2, countDelimiters(sql1, " OR ", sql.indexOf("WHERE ")));
     }
 
+    @Test
     public void testSelectFromWhereAndEqual() {
 
         SQLTemplate query = translateSelect("select a from Artist a where a.artistName = 'Dali' "
@@ -162,6 +170,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertEquals(2, countDelimiters(sql1, " AND ", sql1.indexOf("WHERE ")));
     }
 
+    @Test
     public void testSelectFromWhereNot() {
         SQLTemplate query = translateSelect("select a from Artist a where not (a.artistName = 'Dali')");
         String sql = query.getDefaultTemplate();
@@ -170,6 +179,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.endsWith("WHERE NOT " + "t0.ARTIST_NAME = #bind('Dali' 'VARCHAR')"));
     }
 
+    @Test
     public void testSelectFromWhereGreater() {
         SQLTemplate query = translateSelect("select p from Painting p where p.estimatedPrice > 1.0");
         String sql = query.getDefaultTemplate();
@@ -178,24 +188,28 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.endsWith("WHERE t0.ESTIMATED_PRICE > #bind($id0 'DECIMAL')"));
     }
 
+    @Test
     public void testSelectFromWhereGreaterOrEqual() {
         SQLTemplate query = translateSelect("select p from Painting p where p.estimatedPrice >= 2");
         String sql = query.getDefaultTemplate();
         assertTrue(sql, sql.endsWith("WHERE t0.ESTIMATED_PRICE >= #bind($id0 'INTEGER')"));
     }
 
+    @Test
     public void testSelectFromWhereLess() {
         SQLTemplate query = translateSelect("select p from Painting p where p.estimatedPrice < 1.0");
         String sql = query.getDefaultTemplate();
         assertTrue(sql, sql.endsWith("WHERE t0.ESTIMATED_PRICE < #bind($id0 'DECIMAL')"));
     }
 
+    @Test
     public void testSelectFromWhereLessOrEqual() {
         SQLTemplate query = translateSelect("select p from Painting p where p.estimatedPrice <= 1.0");
         String sql = query.getDefaultTemplate();
         assertTrue(sql, sql.endsWith("WHERE t0.ESTIMATED_PRICE <= #bind($id0 'DECIMAL')"));
     }
 
+    @Test
     public void testSelectFromWhereNotEqual() {
         SQLTemplate query = translateSelect("select a from Artist a where a.artistName <> 'Dali'");
         String sql = query.getDefaultTemplate();
@@ -203,6 +217,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.endsWith("WHERE t0.ARTIST_NAME <> #bind('Dali' 'VARCHAR')"));
     }
 
+    @Test
     public void testSelectFromWhereBetween() {
         SQLTemplate query = translateSelect("select p from Painting p where p.estimatedPrice between 3 and 5");
         String sql = query.getDefaultTemplate();
@@ -211,6 +226,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
                 + "BETWEEN #bind($id0 'INTEGER') AND #bind($id1 'INTEGER')"));
     }
 
+    @Test
     public void testSelectFromWhereNotBetween() {
         SQLTemplate query = translateSelect("select p from Painting p where p.estimatedPrice not between 3 and 5");
         String sql = query.getDefaultTemplate();
@@ -219,6 +235,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
                 + "NOT BETWEEN #bind($id0 'INTEGER') AND #bind($id1 'INTEGER')"));
     }
 
+    @Test
     public void testSelectFromWhereLike() {
         SQLTemplate query = translateSelect("select p from Painting p where p.paintingTitle like 'Stuff'");
         String sql = query.getDefaultTemplate();
@@ -226,6 +243,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.endsWith("WHERE t0.PAINTING_TITLE " + "LIKE #bind('Stuff' 'VARCHAR')"));
     }
 
+    @Test
     public void testSelectFromWhereNotLike() {
         SQLTemplate query = translateSelect("select p from Painting p where p.paintingTitle NOT like 'Stuff'");
         String sql = query.getDefaultTemplate();
@@ -233,6 +251,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.endsWith("WHERE t0.PAINTING_TITLE " + "NOT LIKE #bind('Stuff' 'VARCHAR')"));
     }
 
+    @Test
     public void testSelectPositionalParameters() {
         Map<Integer, Object> params = new HashMap<Integer, Object>();
         params.put(new Integer(1), "X");
@@ -243,6 +262,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
         assertTrue(sql, sql.endsWith("t0.ARTIST_NAME = #bind($id0) OR t0.ARTIST_NAME = #bind($id1)"));
     }
 
+    @Test
     public void testMax() {
         SQLTemplate query = translateSelect("select max(p.estimatedPrice) from Painting p");
         String sql = query.getDefaultTemplate();
@@ -251,6 +271,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
                 + "FROM PAINTING t0"));
     }
 
+    @Test
     public void testDistinctSum() {
         SQLTemplate query = translateSelect("select sum( distinct p.estimatedPrice) from Painting p");
         String sql = query.getDefaultTemplate();
@@ -260,6 +281,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
                         + "FROM PAINTING t0"));
     }
 
+    @Test
     public void testColumnPaths() {
         SQLTemplate query = translateSelect("select p.estimatedPrice, p.toArtist.artistName from Painting p");
         String sql = query.getDefaultTemplate();
@@ -281,6 +303,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
 
     // if parameter value is null (in this test x := null) we will generate
     // "IS NULL"
+    @Test
     public void testEqualsNullParameter() {
         String ejbql = "select p from Painting p WHERE p.toArtist=:x";
         EJBQLParser parser = EJBQLParserFactory.getParser();
@@ -296,6 +319,7 @@ public class EJBQLSelectTranslatorIT extends ServerCase {
     }
 
     // if parameter value is null and more than one parameter in query
+    @Test
     public void testEqualsNullAndNotNullParameter() {
         String ejbql = "select p from Painting p WHERE p.toArtist=:x OR p.toArtist.artistName=:b";
         EJBQLParser parser = EJBQLParserFactory.getParser();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
index fc580f3..d5a8e5a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/OrderingTranslatorIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Connection;
 
@@ -55,6 +56,7 @@ public class OrderingTranslatorIT extends ServerCase {
     /**
      * Tests ascending ordering on string attribute.
      */
+    @Test
     public void testDoTranslation1() throws Exception {
         SelectQuery q = new SelectQuery(Artist.class);
         q.addOrdering("artistName", SortOrder.ASCENDING);
@@ -73,6 +75,7 @@ public class OrderingTranslatorIT extends ServerCase {
     /**
      * Tests descending ordering on string attribute.
      */
+    @Test
     public void testDoTranslation2() throws Exception {
         SelectQuery q = new SelectQuery(Artist.class);
         q.addOrdering("artistName", SortOrder.DESCENDING);
@@ -91,6 +94,7 @@ public class OrderingTranslatorIT extends ServerCase {
     /**
      * Tests ascending case-insensitive ordering on string attribute.
      */
+    @Test
     public void testDoTranslation4() throws Exception {
         SelectQuery q = new SelectQuery(Artist.class);
         q.addOrdering("artistName", SortOrder.ASCENDING_INSENSITIVE);
@@ -108,6 +112,7 @@ public class OrderingTranslatorIT extends ServerCase {
         tstCase.assertTranslatedWell(orderBySql);
     }
 
+    @Test
     public void testDoTranslation5() throws Exception {
         SelectQuery q = new SelectQuery(Artist.class);
         q.addOrdering("artistName", SortOrder.DESCENDING_INSENSITIVE);
@@ -132,6 +137,7 @@ public class OrderingTranslatorIT extends ServerCase {
         tstCase.assertTranslatedWell(orderBySql);
     }
 
+    @Test
     public void testDoTranslation6() throws Exception {
         SelectQuery q = new SelectQuery(Artist.class);
         q.addOrdering("artistName", SortOrder.ASCENDING_INSENSITIVE);
@@ -158,6 +164,7 @@ public class OrderingTranslatorIT extends ServerCase {
         tstCase.assertTranslatedWell(orderBySql);
     }
 
+    @Test
     public void testDoTranslation3() throws Exception {
         SelectQuery q = new SelectQuery(Artist.class);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
index c463839..8dddbe0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QualifierTranslatorIT.java
@@ -37,6 +37,7 @@ import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Connection;
 
@@ -61,6 +62,7 @@ public class QualifierTranslatorIT extends ServerCase {
         connection.close();
     }
 
+    @Test
     public void testNonQualifiedQuery() throws Exception {
         TstQueryAssembler qa = new TstQueryAssembler(new MockQuery(), node, connection);
 
@@ -72,6 +74,7 @@ public class QualifierTranslatorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testNullQualifier() throws Exception {
         TstQueryAssembler qa = new TstQueryAssembler(new SelectQuery<Object>(), node, connection);
 
@@ -80,18 +83,22 @@ public class QualifierTranslatorIT extends ServerCase {
         assertEquals(0, out.length());
     }
 
+    @Test
     public void testUnary() throws Exception {
         doExpressionTest(new TstUnaryExpSuite());
     }
 
+    @Test
     public void testBinary() throws Exception {
         doExpressionTest(new TstBinaryExpSuite());
     }
 
+    @Test
     public void testTernary() throws Exception {
         doExpressionTest(new TstTernaryExpSuite());
     }
 
+    @Test
     public void testExtras() throws Exception {
         ObjectId oid1 = new ObjectId("Gallery", "GALLERY_ID", 1);
         ObjectId oid2 = new ObjectId("Gallery", "GALLERY_ID", 2);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java
index e2b299b..c731bb8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/QueryAssemblerIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Connection;
 
@@ -53,10 +54,12 @@ public class QueryAssemblerIT extends ServerCase {
         connection.close();
     }
 
+    @Test
     public void testGetQuery() throws Exception {
         assertNotNull(qa.getQuery());
     }
 
+    @Test
     public void testAddToParamList() throws Exception {
 
         assertEquals(0, qa.getAttributes().size());
@@ -67,6 +70,7 @@ public class QueryAssemblerIT extends ServerCase {
         assertEquals(1, qa.getValues().size());
     }
 
+    @Test
     public void testCreateStatement() throws Exception {
         assertNotNull(qa.createStatement());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java
index c8129a7..a225b7e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/translator/select/SelectTranslatorIT.java
@@ -41,6 +41,7 @@ import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Connection;
 import java.util.Date;
@@ -88,6 +89,7 @@ public class SelectTranslatorIT extends ServerCase {
     /**
      * Tests query creation with qualifier and ordering.
      */
+    @Test
     public void testCreateSqlString1() throws Exception {
         // query with qualifier and ordering
         SelectQuery<Artist> q = new SelectQuery<Artist>(Artist.class, ExpressionFactory.likeExp("artistName", "a%"));
@@ -106,6 +108,7 @@ public class SelectTranslatorIT extends ServerCase {
     /**
      * Tests query creation with qualifier and ordering.
      */
+    @Test
     public void testDbEntityQualifier() throws Exception {
 
         SelectQuery<Artist> q = new SelectQuery<Artist>(Artist.class);
@@ -138,6 +141,7 @@ public class SelectTranslatorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDbEntityQualifier_OuterJoin() throws Exception {
 
         SelectQuery q = new SelectQuery(Painting.class);
@@ -173,6 +177,7 @@ public class SelectTranslatorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDbEntityQualifier_FlattenedRel() throws Exception {
 
         SelectQuery<Artist> q = new SelectQuery<Artist>(Artist.class, ExpressionFactory.matchExp("groupArray.name",
@@ -208,6 +213,7 @@ public class SelectTranslatorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDbEntityQualifier_RelatedMatch() throws Exception {
 
         SelectQuery<Artist> q = new SelectQuery(Painting.class,
@@ -246,6 +252,7 @@ public class SelectTranslatorIT extends ServerCase {
     /**
      * Tests query creation with "distinct" specified.
      */
+    @Test
     public void testCreateSqlString2() throws Exception {
         // query with "distinct" set
         SelectQuery q = new SelectQuery(Artist.class);
@@ -263,6 +270,7 @@ public class SelectTranslatorIT extends ServerCase {
      * translation of relationship path "ArtistExhibit.toArtist.artistName" and
      * "ArtistExhibit.toExhibit.toGallery.paintingArray.toArtist.artistName".
      */
+    @Test
     public void testCreateSqlString5() throws Exception {
         // query with qualifier and ordering
         SelectQuery q = new SelectQuery(ArtistExhibit.class);
@@ -293,6 +301,7 @@ public class SelectTranslatorIT extends ServerCase {
      * translation of relationship path "ArtistExhibit.toArtist.artistName" and
      * "ArtistExhibit.toArtist.paintingArray.paintingTitle".
      */
+    @Test
     public void testCreateSqlString6() throws Exception {
         // query with qualifier and ordering
         SelectQuery q = new SelectQuery(ArtistExhibit.class);
@@ -320,6 +329,7 @@ public class SelectTranslatorIT extends ServerCase {
      * Test query when qualifying on the same attribute more than once. Check
      * translation "Artist.dateOfBirth > ? AND Artist.dateOfBirth < ?".
      */
+    @Test
     public void testCreateSqlString7() throws Exception {
         SelectQuery q = new SelectQuery(Artist.class);
         q.setQualifier(ExpressionFactory.greaterExp("dateOfBirth", new Date()));
@@ -351,6 +361,7 @@ public class SelectTranslatorIT extends ServerCase {
      * "Painting.toArtist.dateOfBirth > ? AND Painting.toArtist.dateOfBirth <
      * ?".
      */
+    @Test
     public void testCreateSqlString8() throws Exception {
         SelectQuery q = new SelectQuery();
         q.setRoot(Painting.class);
@@ -376,6 +387,7 @@ public class SelectTranslatorIT extends ServerCase {
         assertTrue("No second DOB comparison: " + i4 + ", " + i3, i4 > i3);
     }
 
+    @Test
     public void testCreateSqlString9() throws Exception {
         // query for a compound ObjEntity with qualifier
         SelectQuery q = new SelectQuery(CompoundPainting.class, ExpressionFactory.likeExp("artistName", "a%"));
@@ -427,6 +439,7 @@ public class SelectTranslatorIT extends ServerCase {
 
     }
 
+    @Test
     public void testCreateSqlString10() throws Exception {
         // query with to-many joint prefetches
         SelectQuery q = new SelectQuery(Artist.class);
@@ -449,6 +462,7 @@ public class SelectTranslatorIT extends ServerCase {
         assertEquals(1, transl.joinStack.size());
     }
 
+    @Test
     public void testCreateSqlString11() throws Exception {
         // query with joint prefetches and other joins
         SelectQuery q = new SelectQuery(Artist.class, Expression.fromString("paintingArray.paintingTitle = 'a'"));
@@ -462,6 +476,7 @@ public class SelectTranslatorIT extends ServerCase {
         assertEquals(2, transl.joinStack.size());
     }
 
+    @Test
     public void testCreateSqlString12() throws Exception {
         // query with to-one joint prefetches
         SelectQuery q = new SelectQuery(Painting.class);
@@ -485,6 +500,7 @@ public class SelectTranslatorIT extends ServerCase {
         assertEquals(1, transl.joinStack.size());
     }
 
+    @Test
     public void testCreateSqlString13() throws Exception {
         // query with invalid joint prefetches
         SelectQuery q = new SelectQuery(Painting.class);
@@ -498,6 +514,7 @@ public class SelectTranslatorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCreateSqlStringWithQuoteSqlIdentifiers() throws Exception {
 
         try {
@@ -534,6 +551,7 @@ public class SelectTranslatorIT extends ServerCase {
 
     }
 
+    @Test
     public void testCreateSqlStringWithQuoteSqlIdentifiers2() throws Exception {
 
         try {
@@ -578,6 +596,7 @@ public class SelectTranslatorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCreateSqlStringWithQuoteSqlIdentifiers3() throws Exception {
 
         // query with joint prefetches and other joins
@@ -656,6 +675,7 @@ public class SelectTranslatorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testCreateSqlStringWithQuoteSqlIdentifiers4() throws Exception {
 
         // query with to-one joint prefetches
@@ -721,6 +741,7 @@ public class SelectTranslatorIT extends ServerCase {
     /**
      * Tests columns generated for a simple object query.
      */
+    @Test
     public void testBuildResultColumns1() throws Exception {
         SelectQuery q = new SelectQuery(Painting.class);
         SelectTranslator tr = new SelectTranslator(q, dataNode, connection);
@@ -738,6 +759,7 @@ public class SelectTranslatorIT extends ServerCase {
     /**
      * Tests columns generated for an object query with joint prefetch.
      */
+    @Test
     public void testBuildResultColumns2() throws Exception {
         SelectQuery q = new SelectQuery(Painting.class);
         q.addPrefetch(Painting.TO_ARTIST_PROPERTY).setSemantics(PrefetchTreeNode.JOINT_PREFETCH_SEMANTICS);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
index e1c5cea..948cf37 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/util/DefaultOperationObserverIT.java
@@ -22,10 +22,12 @@ package org.apache.cayenne.access.util;
 import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DefaultOperationObserverIT extends ServerCase {
 
+    @Test
     public void testHasExceptions1() throws Exception {
         DefaultOperationObserver observer = new DefaultOperationObserver();
         assertFalse(observer.hasExceptions());
@@ -33,6 +35,7 @@ public class DefaultOperationObserverIT extends ServerCase {
         assertTrue(observer.hasExceptions());
     }
 
+    @Test
     public void testHasExceptions2() throws Exception {
         DefaultOperationObserver observer = new DefaultOperationObserver();
         assertFalse(observer.hasExceptions());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
index aa82cd4..75c4d82 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ashwood/AshwoodEntitySorterIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationship.ReflexiveAndToOne;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.Collections;
@@ -60,6 +61,7 @@ public class AshwoodEntitySorterIT extends ServerCase {
                 .setColumnTypes(Types.INTEGER, Types.INTEGER, Types.INTEGER, Types.VARCHAR);
     }
 
+    @Test
     public void testSortObjectsForEntityReflexiveWithFaults() throws Exception {
 
         tRelationshipHelper.insert(1, "rh1");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
index 4d47685..13276c6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/cache/QueryCacheIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -36,7 +37,8 @@ public class QueryCacheIT extends ServerCase {
     
     @Inject
     private ObjectContext context2;
-    
+
+    @Test
     public void testLocalCache() {
         
         Artist a = context1.newObject(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java
index ce2c68d..e140fe1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/JNDIDataSourceFactoryIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.unit.JNDISetup;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import javax.naming.InitialContext;
 import javax.naming.NameNotFoundException;
@@ -35,6 +36,7 @@ public class JNDIDataSourceFactoryIT extends ServerCase {
     @Inject
     private Injector injector;
 
+    @Test
     public void testGetDataSource_NameBound() throws Exception {
 
         DataNodeDescriptor descriptor = new DataNodeDescriptor();
@@ -58,6 +60,7 @@ public class JNDIDataSourceFactoryIT extends ServerCase {
         }
     }
 
+    @Test
     public void testGetDataSource_NameBoundWithPrefix() throws Exception {
 
         DataNodeDescriptor descriptor = new DataNodeDescriptor();
@@ -81,6 +84,7 @@ public class JNDIDataSourceFactoryIT extends ServerCase {
         }
     }
 
+    @Test
     public void testGetDataSource_NameNotBound() throws Exception {
 
         DataNodeDescriptor descriptor = new DataNodeDescriptor();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
index 53f64eb..ef5f536 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder_InAction_IT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import javax.sql.DataSource;
 import java.util.List;
@@ -62,6 +63,7 @@ public class ServerRuntimeBuilder_InAction_IT extends ServerCase {
         this.dataSource = runtime.getDataSource("tstmap");
     }
 
+    @Test
     public void testConfigFree_WithDataSource() {
 
         ServerRuntime localRuntime = new ServerRuntimeBuilder().dataSource(dataSource).build();
@@ -74,6 +76,7 @@ public class ServerRuntimeBuilder_InAction_IT extends ServerCase {
         }
     }
 
+    @Test
     public void testConfigFree_WithDBParams() {
 
         ServerRuntime localRuntime = new ServerRuntimeBuilder().jdbcDriver(dsi.getJdbcDriver())

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java b/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java
index 23c031f..02622d3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/conn/PoolManagerIT.java
@@ -22,6 +22,7 @@ package org.apache.cayenne.conn;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Connection;
 
@@ -31,6 +32,7 @@ public class PoolManagerIT extends ServerCase {
     @Inject
     private DataSourceInfo dataSourceInfo;
 
+    @Test
     public void testDataSourceUrl() throws Exception {
         String driverName = dataSourceInfo.getJdbcDriver();
         String url = dataSourceInfo.getDataSourceUrl();
@@ -45,6 +47,7 @@ public class PoolManagerIT extends ServerCase {
         assertEquals(driverName, pm.getJdbcDriver());
     }
 
+    @Test
     public void testPassword() throws Exception {
         PoolManager pm = new PoolManager(null, 0, 3, "", "b") {
 
@@ -55,6 +58,7 @@ public class PoolManagerIT extends ServerCase {
         assertEquals("b", pm.getPassword());
     }
 
+    @Test
     public void testUserName() throws Exception {
         PoolManager pm = new PoolManager(null, 0, 3, "a", "") {
 
@@ -65,6 +69,7 @@ public class PoolManagerIT extends ServerCase {
         assertEquals("a", pm.getUserName());
     }
 
+    @Test
     public void testMinConnections() throws Exception {
         PoolManager pm = new PoolManager(null, 0, 3, "", "") {
 
@@ -75,6 +80,7 @@ public class PoolManagerIT extends ServerCase {
         assertEquals(0, pm.getMinConnections());
     }
 
+    @Test
     public void testMaxConnections() throws Exception {
         PoolManager pm = new PoolManager(null, 0, 3, "", "") {
 
@@ -85,6 +91,7 @@ public class PoolManagerIT extends ServerCase {
         assertEquals(3, pm.getMaxConnections());
     }
 
+    @Test
     public void testPooling() throws Exception {
 
         PoolManager pm = new PoolManager(dataSourceInfo.getJdbcDriver(), dataSourceInfo

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
index f0918cb..623e603 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/AutoAdapterIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.query.SQLTemplate;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -38,6 +39,7 @@ public class AutoAdapterIT extends ServerCase {
     @Inject
     private DataNode dataNode;
 
+    @Test
     public void testGetAdapter_Proxy() throws Exception {
         Provider<DbAdapter> adapterProvider = mock(Provider.class);
         when(adapterProvider.get()).thenReturn(dataNode.getAdapter());
@@ -47,6 +49,7 @@ public class AutoAdapterIT extends ServerCase {
         assertSame(dataNode.getAdapter(), detected);
     }
 
+    @Test
     public void testCreateSQLTemplateAction() {
 
         Provider<DbAdapter> adapterProvider = mock(Provider.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
index eae7470..646e192 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/ConcurrentPkGeneratorIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.testdo.qualified.Qualified1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collections;
 import java.util.Comparator;
@@ -46,6 +47,7 @@ public class ConcurrentPkGeneratorIT extends ServerCase {
     /*
      * Attempts to discover any problems regarding thread locking in the PkGenerator
      */
+    @Test
     public void testConcurrentInserts() throws Exception {
 		final DataMap dataMap = runtime.getDataDomain().getDataMap("qualified");
 		

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
index eba8631..21ca79c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbKeyGenerator;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 
@@ -40,6 +41,7 @@ public class JdbcAdapterIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testExternalTypesForJdbcType() throws Exception {
         // check a few types
         checkType(Types.BLOB);
@@ -59,6 +61,7 @@ public class JdbcAdapterIT extends ServerCase {
         assertEquals(TypesMapping.getSqlNameByType(type), types[0]);
     }
 
+    @Test
     public void testCreateTableQuoteSqlIdentifiers() {
 
         if (dbAdapter instanceof MySQLAdapter) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
index 8113a15..dd56f0b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.SchemaBuilder;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Collections;
 
@@ -61,6 +62,7 @@ public class JdbcPkGeneratorIT extends ServerCase {
         }
     }
 
+    @Test
     public void testLongPk() throws Exception {
 
         if (!JdbcPkGenerator.class.isAssignableFrom(adapter.getPkGenerator().getClass())) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
index 81c92f8..63e3d91 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/PkGeneratorIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -53,6 +54,7 @@ public class PkGeneratorIT extends ServerCase {
         pkGenerator.reset();
     }
 
+    @Test
     public void testGeneratePkForDbEntity() throws Exception {
         List<Object> pkList = new ArrayList<Object>();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
index e10d0f1..f3163ff 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/TypesMappingIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.MockSerializable;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
+import org.junit.Test;
 
 import java.math.BigInteger;
 import java.sql.Connection;
@@ -38,6 +39,7 @@ public class TypesMappingIT extends ServerCase {
     @Inject
     private ServerCaseDataSourceFactory dataSourceFactory;
 
+    @Test
     public void testGetSqlTypeByJava() throws Exception {
         assertEquals(Types.VARCHAR, TypesMapping.getSqlTypeByJava(String.class));
 
@@ -58,6 +60,7 @@ public class TypesMappingIT extends ServerCase {
         assertEquals(Types.VARBINARY, TypesMapping.getSqlTypeByJava(Byte[].class));
     }
 
+    @Test
     public void testGetSqlTypeByJavaString() throws Exception {
         assertEquals(Types.VARCHAR, TypesMapping.getSqlTypeByJava(String.class.getName()));
 
@@ -85,11 +88,13 @@ public class TypesMappingIT extends ServerCase {
         assertEquals(Types.VARBINARY, TypesMapping.getSqlTypeByJava("java.lang.Byte[]"));
     }
 
+    @Test
     public void testGetSqlTypeByJavaPrimitive() throws Exception {
         assertEquals(Types.INTEGER, TypesMapping.getSqlTypeByJava(Integer.TYPE));
         assertEquals(Types.BIGINT, TypesMapping.getSqlTypeByJava(Long.TYPE));
     }
 
+    @Test
     public void testTypeInfoCompleteness() throws Exception {
         // check counts
         // since more then 1 database type can map to a single JDBC type

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
index 9fa1f1e..414a28b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/hsqldb/HSQLDBAdapterIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 
@@ -34,6 +35,7 @@ public class HSQLDBAdapterIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testCreateTableIgnoresDoublePrecision() {
         HSQLDBAdapter adapter = objectFactory.newInstance(
                 HSQLDBAdapter.class, 
@@ -51,7 +53,8 @@ public class HSQLDBAdapterIT extends ServerCase {
         assertTrue(sql.indexOf("DOUBLE") > 0);
         assertEquals(-1, sql.indexOf("DOUBLE(22)"));
     }
-    
+
+    @Test
     public void testCreateTableAddsCachedKeyword() {
         HSQLDBAdapter adapter = objectFactory.newInstance(
                 HSQLDBAdapter.class, 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
index f80c90b..908a030 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/mysql/MySQLAdapterIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class MySQLAdapterIT extends ServerCase {
@@ -32,6 +33,7 @@ public class MySQLAdapterIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testCreateTableAppendPKClause() {
         MySQLAdapter adapter = objectFactory.newInstance(
                 MySQLAdapter.class, 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
index ff02f16..cfa295e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/Oracle8AdapterIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.di.AdhocObjectFactory;
 import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.net.URL;
 import java.sql.Types;
@@ -33,6 +34,7 @@ public class Oracle8AdapterIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testTimestampMapping() throws Exception {
         
         Oracle8Adapter adapter = objectFactory.newInstance(
@@ -45,6 +47,7 @@ public class Oracle8AdapterIT extends ServerCase {
         assertEquals("DATE", types[0]);
     }
 
+    @Test
     public void testFindAdapterResource() throws Exception {
         
         Oracle8Adapter adapter = objectFactory.newInstance(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
index c471daa..edcde29 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OracleAdapterIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.query.InsertBatchQuery;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 
@@ -38,6 +39,7 @@ public class OracleAdapterIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testUpdatesLOBColumns() throws Exception {
         DataMap map = runtime.getDataDomain().getDataMap("tstmap");
         assertTrue(OracleAdapter.updatesLOBColumns(new InsertBatchQuery(map
@@ -48,6 +50,7 @@ public class OracleAdapterIT extends ServerCase {
                 .getDbEntity("ARTIST"), 1)));
     }
 
+    @Test
     public void testTimestampMapping() throws Exception {
         
         OracleAdapter adapter = objectFactory.newInstance(

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
index 9000f76..603944b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/oracle/OraclePkGeneratorIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.map.DbKeyGenerator;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class OraclePkGeneratorIT extends ServerCase {
@@ -44,11 +45,13 @@ public class OraclePkGeneratorIT extends ServerCase {
         pkGenerator = new OraclePkGenerator(adapter);
     }
 
+    @Test
     public void testSequenceNameDefault() throws Exception {
         DbEntity entity = new DbEntity("TEST_ENTITY");
         assertEquals("pk_test_entity", pkGenerator.sequenceName(entity));
     }
 
+    @Test
     public void testSequenceNameCustom1() throws Exception {
         DbEntity entity = new DbEntity("TEST_ENTITY");
         DbKeyGenerator customGenerator = new DbKeyGenerator();
@@ -58,6 +61,7 @@ public class OraclePkGeneratorIT extends ServerCase {
         assertEquals("custom_generator", pkGenerator.sequenceName(entity));
     }
 
+    @Test
     public void testSequenceNameCustom2() throws Exception {
         DbEntity entity = new DbEntity("TEST_ENTITY");
         DbKeyGenerator customGenerator = new DbKeyGenerator();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
index ea00534..adada5b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/postgres/PostgresAdapterIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 
@@ -32,7 +33,8 @@ public class PostgresAdapterIT extends ServerCase {
     
     @Inject
     private AdhocObjectFactory objectFactory;
-    
+
+    @Test
     public void testCreateTableWithFloatAttributeWithScale () {
         PostgresAdapter adapter = objectFactory.newInstance(
                 PostgresAdapter.class, 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
index 7fbbb51..198b2b1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerAdapterIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 
@@ -32,7 +33,8 @@ public class SQLServerAdapterIT extends ServerCase {
     
     @Inject
     private AdhocObjectFactory objectFactory;
-    
+
+    @Test
     public void testCreateTableWithFloatAttributeWithScale () {
         SQLServerAdapter adapter = objectFactory.newInstance(
                 SQLServerAdapter.class, 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java b/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
index 7fa3a0a..fc27cf9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/dba/sqlserver/SQLServerSnifferIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Connection;
 import java.sql.SQLException;
@@ -43,6 +44,7 @@ public class SQLServerSnifferIT extends ServerCase {
     @Inject
     private AdhocObjectFactory objectFactory;
 
+    @Test
     public void testCreateAdapter() throws Exception {
 
         SQLServerSniffer sniffer = new SQLServerSniffer(objectFactory);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java b/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java
index e86d4bc..1a6ecac 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ejbql/EJBQLCompiledExpressionIT.java
@@ -23,6 +23,7 @@ import org.apache.cayenne.di.Inject;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class EJBQLCompiledExpressionIT extends ServerCase {
@@ -30,6 +31,7 @@ public class EJBQLCompiledExpressionIT extends ServerCase {
     @Inject
     protected ServerRuntime runtime;
 
+    @Test
     public void testGetSource() {
         String source = "select a from Artist a";
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
@@ -39,6 +41,7 @@ public class EJBQLCompiledExpressionIT extends ServerCase {
         assertEquals(source, select.getSource());
     }
 
+    @Test
     public void testGetExpression() {
         String source = "select a from Artist a";
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
@@ -48,6 +51,7 @@ public class EJBQLCompiledExpressionIT extends ServerCase {
         assertNotNull(select.getExpression());
     }
 
+    @Test
     public void testGetEntityDescriptor() {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
         EJBQLParser parser = EJBQLParserFactory.getParser();
@@ -71,6 +75,7 @@ public class EJBQLCompiledExpressionIT extends ServerCase {
                 .getEntityDescriptor("p.toArtist"));
     }
 
+    @Test
     public void testGetRootDescriptor() {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
         EJBQLParser parser = EJBQLParserFactory.getParser();
@@ -83,6 +88,7 @@ public class EJBQLCompiledExpressionIT extends ServerCase {
                 .getClassDescriptor("Artist"), select.getRootDescriptor());
     }
 
+    @Test
     public void testGetEntityDescriptorCaseSensitivity() {
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
         EJBQLParser parser = EJBQLParserFactory.getParser();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java
index b8aab38..917a18a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/ExpressionFactory_InContextIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -38,6 +39,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 	@Inject
 	private ObjectContext context;
 
+    @Test
 	public void testExpressionOfBadType() throws Exception {
 
 		// non existing type
@@ -51,6 +53,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		}
 	}
 
+    @Test
 	public void testBetweenExp() throws Exception {
 		Object v1 = new Object();
 		Object v2 = new Object();
@@ -61,6 +64,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.OBJ_PATH, path.getType());
 	}
 
+    @Test
 	public void testBetweenDbExp() throws Exception {
 		Object v1 = new Object();
 		Object v2 = new Object();
@@ -71,6 +75,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.DB_PATH, path.getType());
 	}
 
+    @Test
 	public void testNotBetweenExp() throws Exception {
 		Object v1 = new Object();
 		Object v2 = new Object();
@@ -81,6 +86,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.OBJ_PATH, path.getType());
 	}
 
+    @Test
 	public void testNotBetweenDbExp() throws Exception {
 		Object v1 = new Object();
 		Object v2 = new Object();
@@ -91,12 +97,14 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.DB_PATH, path.getType());
 	}
 
+    @Test
 	public void testGreaterExp() throws Exception {
 		Object v = new Object();
 		Expression exp = ExpressionFactory.greaterExp("abc", v);
 		assertEquals(Expression.GREATER_THAN, exp.getType());
 	}
 
+    @Test
 	public void testGreaterDbExp() throws Exception {
 		Object v = new Object();
 		Expression exp = ExpressionFactory.greaterDbExp("abc", v);
@@ -106,12 +114,14 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.DB_PATH, path.getType());
 	}
 
+    @Test
 	public void testGreaterOrEqualExp() throws Exception {
 		Object v = new Object();
 		Expression exp = ExpressionFactory.greaterOrEqualExp("abc", v);
 		assertEquals(Expression.GREATER_THAN_EQUAL_TO, exp.getType());
 	}
 
+    @Test
 	public void testGreaterOrEqualDbExp() throws Exception {
 		Object v = new Object();
 		Expression exp = ExpressionFactory.greaterOrEqualDbExp("abc", v);
@@ -121,12 +131,14 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.DB_PATH, path.getType());
 	}
 
+    @Test
 	public void testLessExp() throws Exception {
 		Object v = new Object();
 		Expression exp = ExpressionFactory.lessExp("abc", v);
 		assertEquals(Expression.LESS_THAN, exp.getType());
 	}
 
+    @Test
 	public void testLessDbExp() throws Exception {
 		Object v = new Object();
 		Expression exp = ExpressionFactory.lessDbExp("abc", v);
@@ -136,6 +148,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.DB_PATH, path.getType());
 	}
 
+    @Test
 	public void testLessOrEqualExp() throws Exception {
 		Object v = new Object();
 		Expression exp = ExpressionFactory.lessOrEqualExp("abc", v);
@@ -145,6 +158,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.OBJ_PATH, path.getType());
 	}
 
+    @Test
 	public void testLessOrEqualDbExp() throws Exception {
 		Object v = new Object();
 		Expression exp = ExpressionFactory.lessOrEqualDbExp("abc", v);
@@ -154,11 +168,13 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.DB_PATH, path.getType());
 	}
 
+    @Test
 	public void testInExp1() throws Exception {
 		Expression exp = ExpressionFactory.inExp("abc", "a", "b");
 		assertEquals(Expression.IN, exp.getType());
 	}
 
+    @Test
 	public void testInExp2() throws Exception {
 		List<Object> v = new ArrayList<Object>();
 		v.add("a");
@@ -167,12 +183,14 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.IN, exp.getType());
 	}
 
+    @Test
 	public void testInExp3() throws Exception {
 		List<Object> v = new ArrayList<Object>();
 		Expression exp = ExpressionFactory.inExp("abc", v);
 		assertEquals(Expression.FALSE, exp.getType());
 	}
 
+    @Test
 	public void testLikeExp() throws Exception {
 		String v = "abc";
 		Expression exp = ExpressionFactory.likeExp("abc", v);
@@ -182,6 +200,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.OBJ_PATH, path.getType());
 	}
 
+    @Test
 	public void testLikeDbExp() throws Exception {
 		String v = "abc";
 		Expression exp = ExpressionFactory.likeDbExp("abc", v);
@@ -191,6 +210,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.DB_PATH, path.getType());
 	}
 
+    @Test
 	public void testLikeExpEscape() throws Exception {
 		String v = "abc";
 		Expression exp = ExpressionFactory.likeExp("=abc", v, '=');
@@ -202,6 +222,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.OBJ_PATH, path.getType());
 	}
 
+    @Test
 	public void testLikeIgnoreCaseExp() throws Exception {
 		String v = "abc";
 		Expression exp = ExpressionFactory.likeIgnoreCaseExp("abc", v);
@@ -212,6 +233,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.OBJ_PATH, path.getType());
 	}
 
+    @Test
 	public void testLikeIgnoreCaseExpEscape() throws Exception {
 		String v = "abc";
 		Expression exp = ExpressionFactory.likeIgnoreCaseExp("=abc", v, '=');
@@ -222,6 +244,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.OBJ_PATH, path.getType());
 	}
 
+    @Test
 	public void testLikeIgnoreCaseDbExp() throws Exception {
 		String v = "abc";
 		Expression exp = ExpressionFactory.likeIgnoreCaseDbExp("abc", v);
@@ -231,6 +254,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertEquals(Expression.DB_PATH, path.getType());
 	}
 
+    @Test
 	public void testNotLikeIgnoreCaseExp() throws Exception {
 		String v = "abc";
 		Expression exp = ExpressionFactory.notLikeIgnoreCaseExp("abc", v);
@@ -238,6 +262,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 	}
 
 	// testing CAY-941 bug
+    @Test
 	public void testLikeExpNull() throws Exception {
 		Expression exp = ExpressionFactory.likeExp("abc", null);
 		assertEquals(Expression.LIKE, exp.getType());
@@ -248,6 +273,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 	}
 
 	// CAY-416
+    @Test
 	public void testCollectionMatch() {
 		Artist artist = context.newObject(Artist.class);
 		artist.setArtistName("artist");
@@ -284,6 +310,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertFalse(ExpressionFactory.notInExp("paintingTitle", "p3").match(p3));
 	}
 
+    @Test
 	public void testIn() {
 		Artist a1 = context.newObject(Artist.class);
 		a1.setArtistName("a1");
@@ -298,6 +325,7 @@ public class ExpressionFactory_InContextIT extends ServerCase {
 		assertTrue(in.match(a1));
 	}
 
+    @Test
 	public void testEscapeCharacter() {
 		Artist a1 = context.newObject(Artist.class);
 		a1.setArtistName("A_1");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java
index d75aceb..e8af55b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_InContextIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -56,6 +57,7 @@ public class Expression_InContextIT extends ServerCase {
 		dbHelper.deleteAll("GALLERY");
 	}
 
+    @Test
 	public void testMatch() {
 
 		assertTrue(context instanceof DataContext);
@@ -105,6 +107,7 @@ public class Expression_InContextIT extends ServerCase {
 		assertFalse(ex.match(objects.get(0)));
 	}
 
+    @Test
 	public void testFirst() {
 		List<Painting> paintingList = new ArrayList<Painting>();
 		Painting p1 = context.newObject(Painting.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
index af64722..5e4c5cd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/ParsedExpQualifierCompatIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.HashMap;
 import java.util.List;
@@ -89,6 +90,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         return context.performQuery(query);
     }
 
+    @Test
     public void testOr() throws Exception {
 
         createTwentyFiveArtists();
@@ -102,6 +104,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(3, execute(Artist.class, parsed).size());
     }
 
+    @Test
     public void testAnd() throws Exception {
         createTwentyFiveArtists();
 
@@ -113,6 +116,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(0, execute(Artist.class, parsed).size());
     }
 
+    @Test
     public void testNot() throws Exception {
 
         createTwentyFiveArtists();
@@ -124,6 +128,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(25 - 1, execute(Artist.class, parsed2).size());
     }
 
+    @Test
     public void testEqual() throws Exception {
 
         createTwentyFiveArtists();
@@ -138,6 +143,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(1, execute(Artist.class, parsed2).size());
     }
 
+    @Test
     public void testNotEqual() throws Exception {
 
         createTwentyFiveArtists();
@@ -149,36 +155,42 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(25 - 1, execute(Artist.class, parsed2).size());
     }
 
+    @Test
     public void testLessThan() throws Exception {
         createTwentyFiveArtistsAndPaintings();
         Expression parsed1 = Expression.fromString("estimatedPrice < 2000.0");
         assertEquals(1, execute(Painting.class, parsed1).size());
     }
 
+    @Test
     public void testLessThanEqualTo() throws Exception {
         createTwentyFiveArtistsAndPaintings();
         Expression parsed1 = Expression.fromString("estimatedPrice <= 2000.0");
         assertEquals(2, execute(Painting.class, parsed1).size());
     }
 
+    @Test
     public void testGreaterThan() throws Exception {
         createTwentyFiveArtistsAndPaintings();
         Expression parsed1 = Expression.fromString("estimatedPrice > 2000");
         assertEquals(25 - 2, execute(Painting.class, parsed1).size());
     }
 
+    @Test
     public void testGreaterThanEqualTo() throws Exception {
         createTwentyFiveArtistsAndPaintings();
         Expression parsed1 = Expression.fromString("estimatedPrice >= 2000");
         assertEquals(25 - 1, execute(Painting.class, parsed1).size());
     }
 
+    @Test
     public void testLike() throws Exception {
         createTwentyFiveArtists();
         Expression parsed1 = Expression.fromString("artistName like 'artist%2'");
         assertEquals(3, execute(Artist.class, parsed1).size());
     }
 
+    @Test
     public void testLikeIgnoreCase() throws Exception {
         createTwentyFiveArtists();
         Expression parsed1 = Expression
@@ -186,12 +198,14 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(3, execute(Artist.class, parsed1).size());
     }
 
+    @Test
     public void testNotLike() throws Exception {
         createTwentyFiveArtists();
         Expression parsed1 = Expression.fromString("artistName not like 'artist%2'");
         assertEquals(25 - 3, execute(Artist.class, parsed1).size());
     }
 
+    @Test
     public void testNotLikeIgnoreCase() throws Exception {
         createTwentyFiveArtists();
         Expression parsed1 = Expression
@@ -199,6 +213,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(25 - 3, execute(Artist.class, parsed1).size());
     }
 
+    @Test
     public void testIn() throws Exception {
         createTwentyFiveArtists();
         Expression parsed1 = Expression
@@ -206,6 +221,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(3, execute(Artist.class, parsed1).size());
     }
 
+    @Test
     public void testNotIn() throws Exception {
         createTwentyFiveArtists();
         Expression parsed1 = Expression
@@ -213,6 +229,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(25 - 3, execute(Artist.class, parsed1).size());
     }
 
+    @Test
     public void testBetween() throws Exception {
         createTwentyFiveArtistsAndPaintings();
         Expression parsed1 = Expression
@@ -220,6 +237,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(3, execute(Painting.class, parsed1).size());
     }
 
+    @Test
     public void testNotBetween() throws Exception {
         createTwentyFiveArtistsAndPaintings();
         Expression parsed1 = Expression
@@ -227,6 +245,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(25 - 3, execute(Painting.class, parsed1).size());
     }
 
+    @Test
     public void testParameter() throws Exception {
         createTwentyFiveArtists();
         Map<String, Object> parameters = new HashMap<String, Object>();
@@ -236,18 +255,21 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(1, execute(Artist.class, parsed1).size());
     }
 
+    @Test
     public void testDbExpression() throws Exception {
         createTwentyFiveArtists();
         Expression parsed1 = Expression.fromString("db:ARTIST_NAME='artist3'");
         assertEquals(1, execute(Artist.class, parsed1).size());
     }
 
+    @Test
     public void testFloatExpression() throws Exception {
         createTwentyFiveArtistsAndPaintings();
         Expression parsed1 = Expression.fromString("estimatedPrice < 2001.01");
         assertEquals(2, execute(Painting.class, parsed1).size());
     }
 
+    @Test
     public void testNullExpression() throws Exception {
         createTwentyFiveArtists();
 
@@ -258,6 +280,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(0, execute(Artist.class, parsed2).size());
     }
 
+    @Test
     public void testTrueExpression() throws Exception {
 
         createTwentyFiveArtistsAndPaintings();
@@ -272,6 +295,7 @@ public class ParsedExpQualifierCompatIT extends ServerCase {
         assertEquals(25, execute(Painting.class, parsed3).size());
     }
 
+    @Test
     public void testFalseExpression() throws Exception {
         createTwentyFiveArtistsAndPaintings();
 


[12/50] [abbrv] cayenne git commit: Apply JUnit4 instead of JUnit3 in IT

Posted by aa...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
index 16ce817..6acbd18 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/CompoundPkChangeIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class CompoundPkChangeIT extends ServerCase {
@@ -48,6 +49,7 @@ public class CompoundPkChangeIT extends ServerCase {
         dbHelper.deleteAll("COMPOUND_PK_TEST");
     }
 
+    @Test
     public void testCompoundPkChangeSingleElement() throws Exception {
 
         CompoundPkTestEntity object = context.newObject(CompoundPkTestEntity.class);
@@ -103,6 +105,7 @@ public class CompoundPkChangeIT extends ServerCase {
         assertEquals(object.getObjectId(), refreshedObject.getObjectId());
     }
 
+    @Test
     public void testCompoundPkChangeAllElements() throws Exception {
 
         CompoundPkTestEntity object = context.newObject(CompoundPkTestEntity.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java b/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
index d0f69eb..4a2f07f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/DataContextMaxIdQualifierIT.java
@@ -31,6 +31,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.SQLException;
 import java.sql.Types;
@@ -87,6 +88,7 @@ public class DataContextMaxIdQualifierIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDisjointByIdPrefetch() throws Exception {
         insertData();
         runtime.getDataDomain().setMaxIdQualifierSize(10);
@@ -104,6 +106,7 @@ public class DataContextMaxIdQualifierIT extends ServerCase {
         assertEquals(11, queriesCount);
     }
 
+    @Test
     public void testDisjointByIdPrefetch_Zero() throws Exception {
         insertData();
         runtime.getDataDomain().setMaxIdQualifierSize(0);
@@ -121,6 +124,7 @@ public class DataContextMaxIdQualifierIT extends ServerCase {
         assertEquals(2, queriesCount);
     }
 
+    @Test
     public void testDisjointByIdPrefetch_Negative() throws Exception {
         insertData();
         runtime.getDataDomain().setMaxIdQualifierSize(-1);
@@ -138,6 +142,7 @@ public class DataContextMaxIdQualifierIT extends ServerCase {
         assertEquals(2, queriesCount);
     }
 
+    @Test
     public void testIncrementalFaultList_Lower() throws Exception {
         insertData_OneBag_100Boxes();
 
@@ -168,7 +173,8 @@ public class DataContextMaxIdQualifierIT extends ServerCase {
 
         assertEquals(21, queriesCount);
     }
-    
+
+    @Test
     public void testIncrementalFaultList_Higher() throws Exception {
         insertData_OneBag_100Boxes();
 
@@ -200,6 +206,7 @@ public class DataContextMaxIdQualifierIT extends ServerCase {
         assertEquals(2, queriesCount);
     }
 
+    @Test
     public void testIncrementalFaultList_Zero() throws Exception {
         insertData_OneBag_100Boxes();
 
@@ -219,6 +226,7 @@ public class DataContextMaxIdQualifierIT extends ServerCase {
         assertEquals(2, queriesCount);
     }
 
+    @Test
     public void testIncrementalFaultList_Negative() throws Exception {
         insertData_OneBag_100Boxes();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java b/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
index 13c4228..d34016d 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/DataObjectSerializationIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.Util;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -34,6 +35,7 @@ public class DataObjectSerializationIT extends ServerCase {
     @Inject
     private ObjectContext context;
 
+    @Test
     public void testSerializeTransient() throws Exception {
         Artist artist = new Artist();
         artist.setArtistName("artist1");
@@ -46,6 +48,7 @@ public class DataObjectSerializationIT extends ServerCase {
         assertEquals("artist1", deserialized.getArtistName());
     }
 
+    @Test
     public void testSerializeNew() throws Exception {
         Artist artist = context.newObject(Artist.class);
         artist.setArtistName("artist1");
@@ -68,6 +71,7 @@ public class DataObjectSerializationIT extends ServerCase {
         assertEquals(0, paintings.size());
     }
 
+    @Test
     public void testSerializeNewWithFaults() throws Exception {
         Artist artist = context.newObject(Artist.class);
         artist.setArtistName("artist1");
@@ -88,6 +92,7 @@ public class DataObjectSerializationIT extends ServerCase {
         assertFalse(list.isFault());
     }
 
+    @Test
     public void testSerializeCommitted() throws Exception {
 
         Artist artist = context.newObject(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
index b38937c..7246c62 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/FlattenedRelationshipsIT.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.testdo.relationship.FlattenedTest2;
 import org.apache.cayenne.testdo.relationship.FlattenedTest3;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -113,6 +114,7 @@ public class FlattenedRelationshipsIT extends ServerCase {
         tComplexJoin.insert(2002, 2, 3, "C");
     }
 
+    @Test
     public void testInsertJoinWithPK() throws Exception {
         FlattenedTest1 obj01 = context.newObject(FlattenedTest1.class);
         FlattenedTest3 obj11 = context.newObject(FlattenedTest3.class);
@@ -140,6 +142,7 @@ public class FlattenedRelationshipsIT extends ServerCase {
         assertEquals(2, ((List<?>) related).size());
     }
 
+    @Test
     public void testUnsetJoinWithPK() throws Exception {
         createCircularJoinDataSet();
 
@@ -170,6 +173,7 @@ public class FlattenedRelationshipsIT extends ServerCase {
         assertEquals(1, context.performQuery(joinSelect).size());
     }
 
+    @Test
     public void testQualifyOnToManyFlattened() throws Exception {
         FlattenedTest1 obj01 = context.newObject(FlattenedTest1.class);
         FlattenedTest2 obj02 = context.newObject(FlattenedTest2.class);
@@ -213,6 +217,7 @@ public class FlattenedRelationshipsIT extends ServerCase {
         assertSame(obj11, objects2.get(0));
     }
 
+    @Test
     public void testToOneSeriesFlattenedRel() {
 
         FlattenedTest1 ft1 = (FlattenedTest1) context.newObject("FlattenedTest1");
@@ -239,6 +244,7 @@ public class FlattenedRelationshipsIT extends ServerCase {
         assertEquals("FT1Name", fetchedFT1.getName());
     }
 
+    @Test
     public void testTakeObjectSnapshotFlattenedFault() throws Exception {
         createFlattenedTestDataSet();
 
@@ -257,6 +263,7 @@ public class FlattenedRelationshipsIT extends ServerCase {
 
     }
 
+    @Test
     public void testRefetchWithFlattenedFaultToOneTarget1() throws Exception {
         createFlattenedTestDataSet();
 
@@ -272,6 +279,7 @@ public class FlattenedRelationshipsIT extends ServerCase {
         assertTrue(ft3.readPropertyDirectly("toFT1") instanceof Fault);
     }
 
+    @Test
     public void testFlattenedCircular() throws Exception {
         createFlattenedCircularDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
index c7bae44..73468d1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/GenericMappingIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -46,6 +47,7 @@ public class GenericMappingIT extends ServerCase {
         dbHelper.deleteAll("GENERIC1");
     }
 
+    @Test
     public void testInsertSingle() {
         DataObject g1 = (DataObject) context.newObject("Generic1");
         g1.writeProperty("name", "G1 Name");
@@ -53,6 +55,7 @@ public class GenericMappingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testInsertRelated() {
         DataObject g1 = (DataObject) context.newObject("Generic1");
         g1.writeProperty("name", "G1 Name");
@@ -64,6 +67,7 @@ public class GenericMappingIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testSelect() {
         context.performNonSelectingQuery(new SQLTemplate(
                 "Generic1",
@@ -82,6 +86,7 @@ public class GenericMappingIT extends ServerCase {
         assertEquals(1, result.size());
     }
 
+    @Test
     public void testUpdateRelated() {
         DataObject g1 = (DataObject) context.newObject("Generic1");
         g1.writeProperty("name", "G1 Name");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java b/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
index 12d676d..9703962 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/ManyToManyNoJoinIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.testdo.r1.Activity;
 import org.apache.cayenne.testdo.r1.ActivityResult;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Date;
 
@@ -42,6 +43,7 @@ public class ManyToManyNoJoinIT extends ServerCase {
         dbHelper.deleteAll("RESULT");
     }
 
+    @Test
     public void testValidateForSave1() throws Exception {
         ActivityResult result = context.newObject(ActivityResult.class);
         result.setAppointDate(new Date(System.currentTimeMillis()));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
index ce4d44a..65ed9a4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/MeaningfulFKIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.testdo.relationship.RelationshipHelper;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.validation.ValidationResult;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.RELATIONSHIPS_PROJECT)
 public class MeaningfulFKIT extends ServerCase {
@@ -41,6 +42,7 @@ public class MeaningfulFKIT extends ServerCase {
         dbHelper.deleteAll("MEANINGFUL_FK");
     }
 
+    @Test
     public void testValidateForSave1() throws Exception {
         MeaningfulFK testObject = context.newObject(MeaningfulFK.class);
 
@@ -55,6 +57,7 @@ public class MeaningfulFKIT extends ServerCase {
                 validation.getFailures().size());
     }
 
+    @Test
     public void testValidateForSave2() throws Exception {
         MeaningfulFK testObject = context.newObject(MeaningfulFK.class);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
index 0bafab4..bc47ae0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/OneWayRelationshipsIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.oneway.OnewayTable3;
 import org.apache.cayenne.testdo.oneway.OnewayTable4;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.SQLException;
 import java.util.List;
@@ -65,6 +66,7 @@ public class OneWayRelationshipsIT extends ServerCase {
         t4Helper.setColumns("ID", "TABLE3_ID");
     }
 
+    @Test
     public void testToOne_TwoNew() throws SQLException {
 
         OnewayTable1 t1 = context.newObject(OnewayTable1.class);
@@ -79,6 +81,7 @@ public class OneWayRelationshipsIT extends ServerCase {
         assertEquals(t1Pk, t2FK);
     }
 
+    @Test
     public void testToOne_Replace() throws SQLException {
 
         t1Helper.insert(1).insert(2);
@@ -99,6 +102,7 @@ public class OneWayRelationshipsIT extends ServerCase {
         assertEquals(2, t2FK);
     }
 
+    @Test
     public void testToOne_ReplaceWithNull() throws SQLException {
 
         t1Helper.insert(1);
@@ -118,6 +122,7 @@ public class OneWayRelationshipsIT extends ServerCase {
         assertNull(t2FK);
     }
 
+    @Test
     public void testToMany_TwoNew() throws SQLException {
 
         OnewayTable3 t3 = context.newObject(OnewayTable3.class);
@@ -132,6 +137,7 @@ public class OneWayRelationshipsIT extends ServerCase {
         assertEquals(t3Pk, t4FK);
     }
 
+    @Test
     public void testToMany_AddNew() throws SQLException {
 
         t3Helper.insert(1);
@@ -159,6 +165,7 @@ public class OneWayRelationshipsIT extends ServerCase {
         }
     }
 
+    @Test
     public void testToMany_AddExisting() throws SQLException {
 
         t3Helper.insert(1);
@@ -187,6 +194,7 @@ public class OneWayRelationshipsIT extends ServerCase {
         }
     }
 
+    @Test
     public void testToMany_RemoveExisting() throws SQLException {
 
         t3Helper.insert(1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java b/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
index 9139841..24d880f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/PersistenceByReachabilityIT.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class PersistenceByReachabilityIT extends ServerCase {
@@ -34,6 +35,7 @@ public class PersistenceByReachabilityIT extends ServerCase {
     @Inject
     private ObjectContext context1;
 
+    @Test
     public void testToOneTargetTransient() throws Exception {
         Painting persistentDO = context.newObject(Painting.class);
 
@@ -43,6 +45,7 @@ public class PersistenceByReachabilityIT extends ServerCase {
         assertEquals(PersistenceState.NEW, transientDO.getPersistenceState());
     }
 
+    @Test
     public void testToOneTargetPersistent() throws Exception {
         Painting transientDO = context.newObject(Painting.class);
 
@@ -52,6 +55,7 @@ public class PersistenceByReachabilityIT extends ServerCase {
         assertEquals(PersistenceState.NEW, transientDO.getPersistenceState());
     }
 
+    @Test
     public void testToOneTargetDifferentContext() throws Exception {
 
         Painting doC1 = context.newObject(Painting.class);
@@ -68,6 +72,7 @@ public class PersistenceByReachabilityIT extends ServerCase {
         }
     }
 
+    @Test
     public void testToManyTargetDifferentContext() throws Exception {
         Painting doC1 = context.newObject(Painting.class);
         Artist doC2 = context1.newObject(Artist.class);
@@ -83,6 +88,7 @@ public class PersistenceByReachabilityIT extends ServerCase {
         }
     }
 
+    @Test
     public void testToManyTargetTransient() throws Exception {
         Painting transientDO = context.newObject(Painting.class);
 
@@ -92,6 +98,7 @@ public class PersistenceByReachabilityIT extends ServerCase {
         assertEquals(PersistenceState.NEW, transientDO.getPersistenceState());
     }
 
+    @Test
     public void testToManyTargetPersistent() throws Exception {
         Painting persistentDO = context.newObject(Painting.class);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java
index 1defd66..baba75a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/PersistentObjectIT.java
@@ -21,12 +21,14 @@ package org.apache.cayenne;
 
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import static org.mockito.Mockito.mock;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class PersistentObjectIT extends ServerCase {
 
+    @Test
     public void testObjectContext() {
         ObjectContext context = mock(ObjectContext.class);
         PersistentObject object = new MockPersistentObject();
@@ -36,6 +38,7 @@ public class PersistentObjectIT extends ServerCase {
         assertSame(context, object.getObjectContext());
     }
 
+    @Test
     public void testPersistenceState() {
         PersistentObject object = new MockPersistentObject();
         assertEquals(PersistenceState.TRANSIENT, object.getPersistenceState());
@@ -43,6 +46,7 @@ public class PersistentObjectIT extends ServerCase {
         assertEquals(PersistenceState.DELETED, object.getPersistenceState());
     }
 
+    @Test
     public void testObjectID() {
         ObjectId id = new ObjectId("test");
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
index d8d71b8..05ce2ab 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/PregeneratedPKIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 /**
  * This test case ensures that PK pre-generated for the entity manually before commit is
@@ -55,6 +56,7 @@ public class PregeneratedPKIT extends ServerCase {
         dbHelper.deleteAll("GALLERY");
     }
 
+    @Test
     public void testLongPk() throws Exception {
         Artist a = context.newObject(Artist.class);
         a.setArtistName("XXX");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
index 3432c76..f7fbddb 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBinaryPKIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.BinaryPKTest2;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextBinaryPKIT extends ServerCase {
@@ -52,6 +53,7 @@ public class DataContextBinaryPKIT extends ServerCase {
         }
     }
 
+    @Test
     public void testInsertBinaryPK() throws Exception {
         if (accessStackAdapter.supportsBinaryPK()) {
 
@@ -67,6 +69,7 @@ public class DataContextBinaryPKIT extends ServerCase {
         }
     }
 
+    @Test
     public void testFetchRelationshipBinaryPK() throws Exception {
         if (accessStackAdapter.supportsBinaryPK()) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
index da19e51..80b355a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextBlobIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.testdo.testmap.BlobTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -62,7 +63,8 @@ public class DataContextBlobIT extends ServerCase {
     protected boolean skipEmptyLOBTests() {
         return !accessStackAdapter.handlesNullVsEmptyLOBs();
     }
-    
+
+    @Test
     public void testManyBlobsInOneTX() throws Exception {
         if (skipTests()) {
             return;
@@ -85,6 +87,7 @@ public class DataContextBlobIT extends ServerCase {
         assertEquals(3, objects2.size());
     }
 
+    @Test
     public void testEmptyBlob() throws Exception {
         if (skipTests()) {
             return;
@@ -95,6 +98,7 @@ public class DataContextBlobIT extends ServerCase {
         runWithBlobSize(0);
     }
 
+    @Test
     public void test5ByteBlob() throws Exception {
         if (skipTests()) {
             return;
@@ -102,6 +106,7 @@ public class DataContextBlobIT extends ServerCase {
         runWithBlobSize(5);
     }
 
+    @Test
     public void test5KByteBlob() throws Exception {
         if (skipTests()) {
             return;
@@ -109,6 +114,7 @@ public class DataContextBlobIT extends ServerCase {
         runWithBlobSize(5 * 1024);
     }
 
+    @Test
     public void test1MBBlob() throws Exception {
         if (skipTests()) {
             return;
@@ -116,6 +122,7 @@ public class DataContextBlobIT extends ServerCase {
         runWithBlobSize(1024 * 1024);
     }
 
+    @Test
     public void testNullBlob() throws Exception {
         if (skipTests()) {
             return;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
index 9450aea..fdb98d7 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCallbacksIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextCallbacksIT extends ServerCase {
@@ -56,6 +57,7 @@ public class DataContextCallbacksIT extends ServerCase {
         resolver.getCallbackRegistry().clear();
     }
 
+    @Test
     public void testPostAddCallbacks() {
         LifecycleCallbackRegistry registry = runtime
                 .getDataDomain()
@@ -92,6 +94,7 @@ public class DataContextCallbacksIT extends ServerCase {
         assertSame(a3, listener2.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPrePersistCallbacks() {
         LifecycleCallbackRegistry registry = runtime
                 .getDataDomain()
@@ -130,6 +133,7 @@ public class DataContextCallbacksIT extends ServerCase {
         assertSame(a3, listener2.getPublicCalledbackEntity());
     }
 
+    @Test
     public void testPreRemoveCallbacks() {
         LifecycleCallbackRegistry registry = runtime
                 .getDataDomain()

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
index f066bd4..5e0ac6a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharPKIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.CharPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -44,6 +45,7 @@ public class DataContextCharPKIT extends ServerCase {
         dbHelper.deleteAll("CHAR_PK_TEST");
     }
 
+    @Test
     public void testInsert() throws Exception {
         CharPkTestEntity object = context.newObject(CharPkTestEntity.class);
         object.setOtherCol("object-XYZ");
@@ -74,6 +76,7 @@ public class DataContextCharPKIT extends ServerCase {
         assertEquals("PK1", val);
     }
 
+    @Test
     public void testDelete() throws Exception {
         CharPkTestEntity object = context.newObject(CharPkTestEntity.class);
         object.setOtherCol("object-XYZ");
@@ -93,6 +96,7 @@ public class DataContextCharPKIT extends ServerCase {
         assertEquals(0, rows.size());
     }
 
+    @Test
     public void testUpdate() throws Exception {
         CharPkTestEntity object = context.newObject(CharPkTestEntity.class);
         object.setOtherCol("object-XYZ");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
index 2a69198..1b920f0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCharTypeIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.ReturnTypesMap1;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -47,7 +48,8 @@ public class DataContextCharTypeIT extends ServerCase {
     protected void setUpAfterInjection() throws Exception {
         dbHelper.deleteAll("TYPES_MAPPING_TEST1");
     }
-    
+
+    @Test
     public void testCharTrimming() {
         if (unitDbAdapter.supportsLobs()) {
             ReturnTypesMap1 map1 = context.newObject(ReturnTypesMap1.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
index 4fae72b..1ee5119 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextClobIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.testdo.testmap.ClobTestEntity;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -62,6 +63,7 @@ public class DataContextClobIT extends ServerCase {
         return !accessStackAdapter.handlesNullVsEmptyLOBs();
     }
 
+    @Test
     public void testEmptyClob() throws Exception {
         if (skipEmptyLOBTests()) {
             return;
@@ -69,6 +71,7 @@ public class DataContextClobIT extends ServerCase {
         runWithClobSize(0);
     }
 
+    @Test
     public void test5ByteClob() throws Exception {
         if (skipTests()) {
             return;
@@ -76,6 +79,7 @@ public class DataContextClobIT extends ServerCase {
         runWithClobSize(5);
     }
 
+    @Test
     public void test5KByteClob() throws Exception {
         if (skipTests()) {
             return;
@@ -83,6 +87,7 @@ public class DataContextClobIT extends ServerCase {
         runWithClobSize(5 * 1024);
     }
 
+    @Test
     public void test1MBClob() throws Exception {
         if (skipTests()) {
             return;
@@ -90,6 +95,7 @@ public class DataContextClobIT extends ServerCase {
         runWithClobSize(1024 * 1024);
     }
 
+    @Test
     public void testNullClob() throws Exception {
         if (skipTests()) {
             return;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
index 30784e1..d0510a1 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCommitIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.NullTestEntity;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
 public class DataContextCommitIT extends ServerCase {
@@ -48,6 +49,7 @@ public class DataContextCommitIT extends ServerCase {
         dbHelper.deleteAll("NULL_TEST");
     }
 
+    @Test
     public void testFlushToParent_Commit() {
 
         // commit new object

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
index fcd2563..c1d8496 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCompoundRelIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.CompoundFkTestEntity;
 import org.apache.cayenne.testdo.testmap.CompoundPkTestEntity;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.List;
 
@@ -52,6 +53,7 @@ public class DataContextCompoundRelIT extends ServerCase {
         dbHelper.deleteAll("COMPOUND_PK_TEST");
     }
 
+    @Test
     public void testInsert() {
 
         CompoundPkTestEntity master = context.newObject(CompoundPkTestEntity.class);
@@ -79,6 +81,7 @@ public class DataContextCompoundRelIT extends ServerCase {
         assertEquals("d1", detail.getName());
     }
 
+    @Test
     public void testFetchQualifyingToOne() {
         CompoundPkTestEntity master = (CompoundPkTestEntity) context
                 .newObject("CompoundPkTestEntity");
@@ -115,6 +118,7 @@ public class DataContextCompoundRelIT extends ServerCase {
         assertEquals("d1", detail.getName());
     }
 
+    @Test
     public void testFetchQualifyingToMany() throws Exception {
         CompoundPkTestEntity master = (CompoundPkTestEntity) context
                 .newObject("CompoundPkTestEntity");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCrossDBIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCrossDBIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCrossDBIT.java
index 2a50584..3a3d7ed 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCrossDBIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextCrossDBIT.java
@@ -25,6 +25,7 @@ import org.apache.cayenne.testdo.db2.CrossdbM2E1;
 import org.apache.cayenne.testdo.db2.CrossdbM2E2;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 @UseServerRuntime(ServerCase.MULTINODE_PROJECT)
 public class DataContextCrossDBIT extends ServerCase {
@@ -32,6 +33,7 @@ public class DataContextCrossDBIT extends ServerCase {
     @Inject
     private DataContext context;
 
+    @Test
     public void testMultiDBUpdate() {
 
         // for now testing that no exceptions are thrown... wouldn't hurt to check the

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
index 2f9bdbc..ca04495 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
 import org.apache.cayenne.util.EventUtil;
+import org.junit.Test;
 
 /**
  * Tests that DataContext sends DataChannel events.
@@ -46,6 +47,7 @@ public class DataContextDataChannelEventsIT extends ServerCase {
     @Inject
     private ServerRuntime runtime;
 
+    @Test
     public void testCommitEvent() throws Exception {
         Artist a = context.newObject(Artist.class);
         a.setArtistName("X");
@@ -69,6 +71,7 @@ public class DataContextDataChannelEventsIT extends ServerCase {
 
     }
 
+    @Test
     public void testRollbackEvent() throws Exception {
         Artist a = context.newObject(Artist.class);
         a.setArtistName("X");
@@ -91,6 +94,7 @@ public class DataContextDataChannelEventsIT extends ServerCase {
         }.runTest(10000);
     }
 
+    @Test
     public void testChangeEventOnChildChange() throws Exception {
         Artist a = context.newObject(Artist.class);
         a.setArtistName("X");
@@ -117,6 +121,7 @@ public class DataContextDataChannelEventsIT extends ServerCase {
         }.runTest(10000);
     }
 
+    @Test
     public void testChangeEventOnPeerChange() throws Exception {
         Artist a = context.newObject(Artist.class);
         a.setArtistName("X");
@@ -141,6 +146,7 @@ public class DataContextDataChannelEventsIT extends ServerCase {
         }.runTest(10000);
     }
 
+    @Test
     public void testChangeEventOnPeerChangeSecondNestingLevel() throws Exception {
         ObjectContext childPeer1 = runtime.newContext(context);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
index a740643..0c6c807 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDecoratedStackIT.java
@@ -35,6 +35,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Map;
 
@@ -56,6 +57,7 @@ public class DataContextDecoratedStackIT extends ServerCase {
         dbHelper.deleteAll("ARTIST");
     }
 
+    @Test
     public void testCommitDecorated() {
         DataDomain dd = runtime.getDataDomain();
         DataChannel decorator = new DataChannelDecorator(dd);
@@ -80,6 +82,7 @@ public class DataContextDecoratedStackIT extends ServerCase {
         assertEquals(new Integer(1), count.get("x"));
     }
 
+    @Test
     public void testGetParentDataDomain() {
         DataDomain dd = runtime.getDataDomain();
         DataChannel decorator = new DataChannelDecorator(dd);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
index a86b751..38cc1c6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -67,6 +68,7 @@ public class DataContextDelegateIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testWillPerformGenericQuery() throws Exception {
 
         final List<Query> queriesPerformed = new ArrayList<Query>(1);
@@ -90,6 +92,7 @@ public class DataContextDelegateIT extends ServerCase {
         assertTrue("Delegate unexpectedly blocked the query.", query.isRouteCalled());
     }
 
+    @Test
     public void testWillPerformGenericQueryBlocked() throws Exception {
 
         final List<Query> queriesPerformed = new ArrayList<Query>(1);
@@ -112,6 +115,7 @@ public class DataContextDelegateIT extends ServerCase {
         assertFalse("Delegate couldn't block the query.", query.isRouteCalled());
     }
 
+    @Test
     public void testWillPerformQuery() throws Exception {
 
         final List<Query> queriesPerformed = new ArrayList<Query>(1);
@@ -135,6 +139,7 @@ public class DataContextDelegateIT extends ServerCase {
         assertNotNull(results);
     }
 
+    @Test
     public void testWillPerformQueryBlocked() throws Exception {
 
         final List<Query> queriesPerformed = new ArrayList<Query>(1);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
index d18d4de..5f4fc80 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.test.parallel.ParallelTestContainer;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.Date;
 
@@ -55,6 +56,7 @@ public class DataContextDelegateSharedCacheIT extends ServerCase {
      * Test case to prove that delegate method is invoked on external change of object in
      * the store.
      */
+    @Test
     public void testShouldMergeChanges() throws Exception {
 
         final boolean[] methodInvoked = new boolean[1];
@@ -98,6 +100,7 @@ public class DataContextDelegateSharedCacheIT extends ServerCase {
      * 
      * @throws Exception
      */
+    @Test
     public void testBlockedShouldMergeChanges() throws Exception {
         String oldName = artist.getArtistName();
 
@@ -132,6 +135,7 @@ public class DataContextDelegateSharedCacheIT extends ServerCase {
      * 
      * @throws Exception
      */
+    @Test
     public void testShouldProcessDeleteOnExternalChange() throws Exception {
 
         final boolean[] methodInvoked = new boolean[1];
@@ -175,6 +179,7 @@ public class DataContextDelegateSharedCacheIT extends ServerCase {
      * 
      * @throws Exception
      */
+    @Test
     public void testBlockShouldProcessDeleteOnExternalChange() throws Exception {
 
         final boolean[] methodInvoked = new boolean[1];

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
index 47b2ba3..e870521 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java
@@ -32,6 +32,7 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.testdo.testmap.PaintingInfo;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -61,6 +62,7 @@ public class DataContextDeleteRulesIT extends ServerCase {
         dbHelper.deleteAll("GALLERY");
     }
 
+    @Test
     public void testNullifyToOne() {
         // ArtGroup toParentGroup
         ArtGroup parentGroup = (ArtGroup) context.newObject("ArtGroup");
@@ -94,6 +96,7 @@ public class DataContextDeleteRulesIT extends ServerCase {
      * Tests that deleting a source of a flattened relationship with CASCADE rule results
      * in deleting a join and a target.
      */
+    @Test
     public void testCascadeToManyFlattened() {
         // testing Artist.groupArray relationship
         ArtGroup aGroup = context.newObject(ArtGroup.class);
@@ -126,6 +129,7 @@ public class DataContextDeleteRulesIT extends ServerCase {
      * Tests that deleting a source of a flattened relationship with NULLIFY rule results
      * in deleting a join together with the object deleted.
      */
+    @Test
     public void testNullifyToManyFlattened() {
         // testing ArtGroup.artistArray relationship
         ArtGroup aGroup = context.newObject(ArtGroup.class);
@@ -155,6 +159,7 @@ public class DataContextDeleteRulesIT extends ServerCase {
         assertEquals(0, joins2.size());
     }
 
+    @Test
     public void testNullifyToMany() {
         // ArtGroup childGroupsArray
         ArtGroup parentGroup = (ArtGroup) context.newObject("ArtGroup");
@@ -180,6 +185,7 @@ public class DataContextDeleteRulesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testCascadeToOne() {
         // Painting toPaintingInfo
         Painting painting = (Painting) context.newObject("Painting");
@@ -201,6 +207,7 @@ public class DataContextDeleteRulesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testCascadeToMany() {
         // Artist artistExhibitArray
         Artist anArtist = (Artist) context.newObject("Artist");
@@ -229,6 +236,7 @@ public class DataContextDeleteRulesIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testDenyToMany() {
         // Gallery paintingArray
         Gallery gallery = (Gallery) context.newObject("Gallery");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
index 0d91102..cebf478 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetchIT.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.ArrayList;
@@ -110,6 +111,7 @@ public class DataContextDisjointByIdPrefetchIT extends ServerCase {
         tPaintingInfo.insert(2, "green");
     }
 
+    @Test
     public void testOneToMany() throws Exception {
         createArtistWithTwoPaintingsDataSet();
 
@@ -140,6 +142,7 @@ public class DataContextDisjointByIdPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testManyToOne() throws Exception {
         createArtistWithTwoPaintingsDataSet();
 
@@ -159,6 +162,7 @@ public class DataContextDisjointByIdPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testFetchLimit() throws Exception {
         createThreeArtistsWithPlentyOfPaintingsDataSet();
 
@@ -193,6 +197,7 @@ public class DataContextDisjointByIdPrefetchIT extends ServerCase {
         });
     }
 
+    @Test
     public void testOneToOneRelationship() throws Exception {
         createTwoPaintingsWithInfosDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
index 4c7057f..c46197c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDisjointByIdPrefetch_ExtrasIT.java
@@ -37,6 +37,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -191,6 +192,7 @@ public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
         context.invalidateObjects(invalidate);
     }
 
+    @Test
     public void testFlattenedRelationship() throws Exception {
         createBagWithTwoBoxesAndPlentyOfBallsDataSet();
 
@@ -218,6 +220,7 @@ public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
         });
     }
 
+    @Test
     public void testFlattenedMultiColumnRelationship() throws Exception {
         createBagWithTwoBoxesAndPlentyOfBallsDataSet();
 
@@ -245,6 +248,7 @@ public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
         });
     }
 
+    @Test
     public void testLongFlattenedRelationship() throws Exception {
         createBagWithTwoBoxesAndPlentyOfBallsDataSet();
 
@@ -272,6 +276,7 @@ public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
         });
     }
 
+    @Test
     public void testMultiColumnRelationship() throws Exception {
         createBagWithTwoBoxesAndPlentyOfBallsDataSet();
 
@@ -295,6 +300,7 @@ public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
         });
     }
 
+    @Test
     public void testJointPrefetchInParent() throws Exception {
         createBagWithTwoBoxesAndPlentyOfBallsDataSet();
 
@@ -326,6 +332,7 @@ public class DataContextDisjointByIdPrefetch_ExtrasIT extends ServerCase {
         });
     }
 
+    @Test
     public void testJointPrefetchInChild() throws Exception {
         createBagWithTwoBoxesAndPlentyOfBallsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
index ab9a5b4..fbd80c2 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLArrayResultIT.java
@@ -26,6 +26,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
@@ -70,6 +71,7 @@ public class DataContextEJBQLArrayResultIT extends ServerCase {
         tPainting.insert(33003, null, "P3", 5000);
     }
 
+    @Test
     public void testSQLResultSetMappingScalar() throws Exception {
 
         String ejbql = "SELECT count(p) FROM Painting p JOIN p.toArtist a";
@@ -83,6 +85,7 @@ public class DataContextEJBQLArrayResultIT extends ServerCase {
         assertEquals(new Long(2), o1);
     }
 
+    @Test
     public void testSQLResultSetMappingScalars() throws Exception {
 
         String ejbql = "SELECT count(p), sum(p.estimatedPrice) FROM Painting p JOIN p.toArtist a";
@@ -101,6 +104,7 @@ public class DataContextEJBQLArrayResultIT extends ServerCase {
         assertEquals(0, new BigDecimal(8000).compareTo((BigDecimal) array1[1]));
     }
 
+    @Test
     public void testSQLResultSetMappingMixed() throws Exception {
 
         String ejbql = "SELECT count(p), a, sum(p.estimatedPrice) "

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
index 52ee3af..09e35fd 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsIT.java
@@ -30,6 +30,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
@@ -108,6 +109,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         tPainting.insert(33014, null, "C", 5000);
     }
 
+    @Test
     public void testDateParameter() throws Exception {
         createCollectionDataSet();
 
@@ -128,6 +130,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertSame(allArtists.get(0), objects.get(0));
     }
 
+    @Test
     public void testArithmetics() throws Exception {
         createLikeDataSet();
 
@@ -153,6 +156,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         // assertTrue(ids.contains(new Integer(33002)));
     }
 
+    @Test
     public void testLike1() throws Exception {
         createLikeDataSet();
 
@@ -172,6 +176,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33001)));
     }
 
+    @Test
     public void testNotLike() throws Exception {
         createLikeDataSet();
 
@@ -191,6 +196,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertFalse(ids.contains(new Integer(33001)));
     }
 
+    @Test
     public void testLike2() throws Exception {
         createLikeDataSet();
 
@@ -212,6 +218,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33005)));
     }
 
+    @Test
     public void testLikeEscape() throws Exception {
         createLikeDataSet();
 
@@ -231,6 +238,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33005)));
     }
 
+    @Test
     public void testLikeEscape_LikeParameter() throws Exception {
         createLikeDataSet();
 
@@ -252,6 +260,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33005)));
     }
 
+    @Test
     public void testLikeNullParameter() {
         Artist a1 = context.newObject(Artist.class);
         a1.setArtistName("a1");
@@ -269,6 +278,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertNotNull(Cayenne.objectForQuery(context, eq2));
     }
 
+    @Test
     public void testIn() throws Exception {
         createInDataSet();
 
@@ -289,6 +299,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33007)));
     }
 
+    @Test
     public void testNotIn() throws Exception {
         createInDataSet();
 
@@ -308,6 +319,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33008)));
     }
 
+    @Test
     public void testInSubquery() throws Exception {
         createInSubqueryDataSet();
 
@@ -330,6 +342,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(new Integer(33014)));
     }
 
+    @Test
     public void testCollectionEmpty() throws Exception {
         createCollectionDataSet();
 
@@ -349,6 +362,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(new Long(33003)));
     }
 
+    @Test
     public void testCollectionNotEmpty() throws Exception {
         createCollectionDataSet();
 
@@ -369,6 +383,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(33002l));
     }
 
+    @Test
     public void testCollectionNotEmptyExplicitDistinct() throws Exception {
         createCollectionDataSet();
 
@@ -389,6 +404,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(33002l));
     }
 
+    @Test
     public void testCollectionMemberOfParameter() throws Exception {
         createCollectionDataSet();
 
@@ -409,6 +425,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(33001l));
     }
 
+    @Test
     public void testGreaterOrEquals() throws Exception {
         createGreaterThanDataSet();
 
@@ -420,6 +437,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertEquals(4, objects.size());
     }
 
+    @Test
     public void testLessOrEquals() throws Exception {
         createGreaterThanDataSet();
 
@@ -431,6 +449,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertEquals(2, objects.size());
     }
 
+    @Test
     public void testCollectionNotMemberOfParameter() throws Exception {
         createCollectionDataSet();
 
@@ -452,6 +471,7 @@ public class DataContextEJBQLConditionsIT extends ServerCase {
         assertTrue(ids.contains(33003l));
     }
 
+    @Test
     public void testCollectionMemberOfThetaJoin() throws Exception {
         createCollectionDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
index 9a921f9..b1b59ef 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLConditionsPeopleIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.inherit.Department;
 import org.apache.cayenne.testdo.inherit.Manager;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.HashSet;
@@ -112,6 +113,7 @@ public class DataContextEJBQLConditionsPeopleIT extends ServerCase {
         context.commitChanges();
     }
 
+    @Test
     public void testCollectionMemberOfId() throws Exception {
 
         String ejbql = "SELECT DISTINCT m FROM Manager m JOIN m.managedDepartments d"
@@ -132,6 +134,7 @@ public class DataContextEJBQLConditionsPeopleIT extends ServerCase {
         assertTrue(ids.contains("m3"));
     }
 
+    @Test
     public void testCollectionNotMemberOfId() throws Exception {
 
         String ejbql = "SELECT DISTINCT m FROM Manager m JOIN m.managedDepartments d"
@@ -151,6 +154,7 @@ public class DataContextEJBQLConditionsPeopleIT extends ServerCase {
         assertTrue(ids.contains("m2"));
     }
 
+    @Test
     public void testCollectionNotMemberOfToOne() throws Exception {
 
         // need a better test ... this query returns zero rows by definition

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
index 728adaf..1b21506 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLDeleteIT.java
@@ -29,6 +29,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -86,6 +87,7 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         }
     }
 
+    @Test
     public void testDeleteNoIdVar() throws Exception {
         createPaintingsDataSet();
 
@@ -100,6 +102,7 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         assertEquals(2, count[0]);
     }
 
+    @Test
     public void testDeleteNoQualifier() throws Exception {
         createPaintingsDataSet();
 
@@ -114,6 +117,7 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         assertEquals(2, count[0]);
     }
 
+    @Test
     public void testDeleteSameEntityQualifier() throws Exception {
         createPaintingsDataSet();
 
@@ -133,6 +137,7 @@ public class DataContextEJBQLDeleteIT extends ServerCase {
         assertNull(Cayenne.objectForPK(freshContext, Painting.class, 33002));
     }
 
+    @Test
     public void testDeleteIdVar() throws Exception {
 
         createMeaningfulPKDataSet();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
index 2a686d5..8141130 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFetchJoinIT.java
@@ -34,6 +34,7 @@ import org.apache.cayenne.unit.di.DataChannelInterceptor;
 import org.apache.cayenne.unit.di.UnitTestClosure;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Date;
 import java.sql.Types;
@@ -118,6 +119,7 @@ public class DataContextEJBQLFetchJoinIT extends ServerCase {
         tArtistExhibit.insert(1, 2);
     }
 
+    @Test
     public void testFetchJoinForOneEntity() throws Exception {
         createOneFetchJoinDataSet();
 
@@ -151,6 +153,7 @@ public class DataContextEJBQLFetchJoinIT extends ServerCase {
         });
     }
 
+    @Test
     public void testSeveralFetchJoins() throws Exception {
         createMultipleFetchJoinsDataSet();
 
@@ -206,6 +209,7 @@ public class DataContextEJBQLFetchJoinIT extends ServerCase {
         });
     }
 
+    @Test
     public void testSeveralEntitiesFetchJoins() throws Exception {
         createMultipleFetchJoinsDataSet();
 
@@ -228,6 +232,7 @@ public class DataContextEJBQLFetchJoinIT extends ServerCase {
         });
     }
 
+    @Test
     public void testSeveralEntitiesAndScalarFetchInnerJoins() throws Exception {
         createMultipleFetchJoinsDataSet();
 
@@ -307,6 +312,7 @@ public class DataContextEJBQLFetchJoinIT extends ServerCase {
         });
     }
 
+    @Test
     public void testSeveralEntitiesAndScalarFetchOuterJoins() throws Exception {
         createMultipleFetchJoinsDataSet();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
index b755c1a..1e48da4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFlattenedRelationshipsIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.relationship.FlattenedTest1;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.util.HashSet;
 import java.util.Iterator;
@@ -80,6 +81,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
         ft4Helper.insert(1, 1, "ft4");
     }
 
+    @Test
     public void testCollectionMemberOfThetaJoin() throws Exception {
         createFt123();
 
@@ -104,6 +106,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
         assertTrue(ids.contains(3));
     }
 
+    @Test
     public void testCollectionMemberOfThetaJoinLongRelationshipSequence()
             throws Exception {
 
@@ -135,6 +138,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
         assertEquals(0, objects.size());
     }
 
+    @Test
     public void testCollectionInnerJoin() throws Exception {
 
         createFt123();
@@ -160,6 +164,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
 
     }
 
+    @Test
     public void testCollectionAsInnerJoin() throws Exception {
 
         createFt123();
@@ -187,6 +192,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
 
     }
 
+    @Test
     public void testCollectionThetaJoin() throws Exception {
         createFt123();
 
@@ -210,6 +216,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
 
     }
 
+    @Test
     public void testCollectionIdentificationVariable() throws Exception {
         createFt123();
 
@@ -236,6 +243,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
 
     }
 
+    @Test
     public void testAssociationFieldSelect() throws Exception {
         createFt123();
 
@@ -259,6 +267,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
 
     }
 
+    @Test
     public void testCollectionSubquery() throws Exception {
 
         createFt123();
@@ -281,6 +290,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
 
     }
 
+    @Test
     public void testCollectionSubquery1() throws Exception {
         createFt123();
 
@@ -306,6 +316,7 @@ public class DataContextEJBQLFlattenedRelationshipsIT extends ServerCase {
 
     }
 
+    @Test
     public void testGroupByFlattenedRelationship() throws Exception {
 
         createFt123();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
index 7884520..60ffb8f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLFunctionalExpressions.java
@@ -18,11 +18,6 @@
  ****************************************************************/
 package org.apache.cayenne.access;
 
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Calendar;
-import java.util.List;
-
 import org.apache.cayenne.Cayenne;
 import org.apache.cayenne.ObjectContext;
 import org.apache.cayenne.di.Inject;
@@ -38,6 +33,12 @@ import org.apache.cayenne.testdo.testmap.Painting;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Calendar;
+import java.util.List;
 
 // TODO: renamed as it fails on DB's like Derby. See CAY-1480. 
 @UseServerRuntime(ServerCase.TESTMAP_PROJECT)
@@ -65,6 +66,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         dbHelper.deleteAll("DATE_TEST");
     }
 
+    @Test
     public void testCURRENT_DATE() {
 
         Calendar cal = Calendar.getInstance();
@@ -87,6 +89,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(o2));
     }
 
+    @Test
     public void testCURRENT_TIME() {
 
         Calendar cal = Calendar.getInstance();
@@ -109,6 +112,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(o1));
     }
 
+    @Test
     public void testCURRENT_TIMESTAMP() {
 
         Calendar cal = Calendar.getInstance();
@@ -133,6 +137,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(o1));
     }
 
+    @Test
     public void testABS() {
 
         BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
@@ -150,6 +155,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(o2));
     }
 
+    @Test
     public void testSQRT() {
 
         BigDecimalEntity o1 = context.newObject(BigDecimalEntity.class);
@@ -167,6 +173,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(o2));
     }
 
+    @Test
     public void testMOD() {
 
         BigIntegerEntity o1 = context.newObject(BigIntegerEntity.class);
@@ -184,6 +191,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(o2));
     }
 
+    @Test
     public void testSIZE() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -215,6 +223,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         // assertTrue(objects2.contains(a1));
     }
 
+    @Test
     public void testCONCAT() {
 
         Painting a1 = context.newObject(Painting.class);
@@ -231,6 +240,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(a1));
     }
 
+    @Test
     public void testSUBSTRING() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -247,6 +257,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(a2));
     }
 
+    @Test
     public void testLOWER() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -268,6 +279,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(a2));
     }
 
+    @Test
     public void testUPPER() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -289,6 +301,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(a2));
     }
 
+    @Test
     public void testLENGTH() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -309,6 +322,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(a2));
     }
 
+    @Test
     public void testLOCATE() {
 
         Artist a1 = context.newObject(Artist.class);
@@ -325,6 +339,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
         assertTrue(objects.contains(a2));
     }
 
+    @Test
     public void testTRIM() {
 
         // insert via a SQL template to prevent adapter trimming and such...
@@ -369,6 +384,7 @@ public class DataContextEJBQLFunctionalExpressions extends ServerCase {
 
     }
 
+    @Test
     public void testTRIMChar() {
 
         if (!accessStackAdapter.supportsTrimChar()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
index f13b7ba..268fb1e 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLGroupByHavingIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.testdo.testmap.Gallery;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.math.BigDecimal;
 import java.sql.Types;
@@ -114,6 +115,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         tPainting.insert(33010, 33001, 33002, "P112", 5000);
     }
 
+    @Test
     public void testGroupBy() throws Exception {
         createFivePaintings();
 
@@ -135,6 +137,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         assertEquals(new Long(2l), row1[1]);
     }
 
+    @Test
     public void testGroupByMultipleItems() throws Exception {
         createFivePaintings();
 
@@ -163,6 +166,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         assertEquals(new Long(2), row2[2]);
     }
 
+    @Test
     public void testGroupByRelatedEntity() throws Exception {
 
         createFourArtistsAndTwoPaintings();
@@ -183,6 +187,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         assertTrue(row0[1] instanceof Artist);
     }
 
+    @Test
     public void testGroupByIdVariable() throws Exception {
         createFivePaintings();
 
@@ -203,6 +208,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         // }
     }
 
+    @Test
     public void testGroupByHavingOnColumn() throws Exception {
         createFivePaintings();
 
@@ -220,6 +226,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         assertEquals(new Long(2), row0[1]);
     }
 
+    @Test
     public void testGroupByHavingOnAggregate() throws Exception {
         createFivePaintings();
 
@@ -237,6 +244,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         assertEquals(new Long(3l), row0[1]);
     }
 
+    @Test
     public void testGroupByHavingOnAggregateMultipleConditions() throws Exception {
         createFivePaintings();
 
@@ -254,6 +262,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         assertEquals(new Long(3l), row0[1]);
     }
 
+    @Test
     public void testGroupByJoinedRelatedEntities() throws Exception {
         createFourArtistsAndTwoPaintings();
 
@@ -278,6 +287,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         assertTrue("error artistName:" + artistName, expectedArtists.contains(artistName));
     }
 
+    @Test
     public void testGroupByJoinedEntities() throws Exception {
         createArtistsPaintingGalleries();
         EJBQLQuery query = new EJBQLQuery(
@@ -300,6 +310,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testGroupByJoinedEntityInCount() throws Exception {
         createArtistsPaintingGalleries();
 
@@ -321,6 +332,7 @@ public class DataContextEJBQLGroupByHavingIT extends ServerCase {
         }
     }
 
+    @Test
     public void testGroupByChainedJoins() throws Exception {
         createFivePaintings();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
index 69cbf00..fd9ab47 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLInheritanceIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.testdo.inherit.Employee;
 import org.apache.cayenne.testdo.inherit.Manager;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -64,6 +65,7 @@ public class DataContextEJBQLInheritanceIT extends ServerCase {
         person.insert(6, "e", "C", null);
     }
 
+    @Test
     public void testSelect() throws Exception {
 
         EJBQLQuery superclass = new EJBQLQuery("select p from AbstractPerson p ORDER BY p.name");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
index 5bcfe79..8df591f 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLIsNullIT.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.unit.UnitDbAdapter;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -81,6 +82,7 @@ public class DataContextEJBQLIsNullIT extends ServerCase {
         tPainting.insert(33003, 33001, "C", 500);
     }
 
+    @Test
     public void testCompareToNull() throws Exception {
 
         // the query below can blow up on FrontBase. See CAY-819 for details.
@@ -102,6 +104,7 @@ public class DataContextEJBQLIsNullIT extends ServerCase {
         context.performQuery(query1);
     }
 
+    @Test
     public void testCompareToNull2() throws Exception {
 
         if (!accessStackAdapter.supportsEqualNullSyntax()) {
@@ -117,6 +120,7 @@ public class DataContextEJBQLIsNullIT extends ServerCase {
         context.performQuery(query1);
     }
 
+    @Test
     public void testCompareToNull3() throws Exception {
         if (!accessStackAdapter.supportsEqualNullSyntax()) {
             return;
@@ -131,6 +135,7 @@ public class DataContextEJBQLIsNullIT extends ServerCase {
         context.performQuery(query1);
     }
 
+    @Test
     public void testIsNull() throws Exception {
 
         createTwoPaintings();
@@ -143,6 +148,7 @@ public class DataContextEJBQLIsNullIT extends ServerCase {
         assertEquals(33001, Cayenne.intPKForObject((Persistent) results.get(0)));
     }
 
+    @Test
     public void testIsNotNull() throws Exception {
 
         createTwoPaintings();
@@ -155,6 +161,7 @@ public class DataContextEJBQLIsNullIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject((Persistent) results.get(0)));
     }
 
+    @Test
     public void testToOneIsNull() throws Exception {
 
         createTwoPaintingsAndOneArtist();
@@ -167,6 +174,7 @@ public class DataContextEJBQLIsNullIT extends ServerCase {
         assertEquals(33001, Cayenne.intPKForObject((Persistent) results.get(0)));
     }
 
+    @Test
     public void testToOneIsNotNull() throws Exception {
 
         createTwoPaintingsAndOneArtist();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
index 774b729..59acfd6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLJoinsIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.testdo.testmap.Artist;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.HashSet;
@@ -111,6 +112,7 @@ public class DataContextEJBQLJoinsIT extends ServerCase {
         tPainting.insert(33007, 33001, null, "P2", 5000);
     }
 
+    @Test
     public void testThetaJoins() throws Exception {
         createFourArtistsFourPaintings();
 
@@ -133,6 +135,7 @@ public class DataContextEJBQLJoinsIT extends ServerCase {
         assertTrue(names.contains("BB2"));
     }
 
+    @Test
     public void testInnerJoins() throws Exception {
         createTwoArtistsOnePainting();
 
@@ -145,6 +148,7 @@ public class DataContextEJBQLJoinsIT extends ServerCase {
         assertEquals(33001, Cayenne.intPKForObject((Artist) artists.get(0)));
     }
 
+    @Test
     public void testOuterJoins() throws Exception {
         createTwoArtistsOnePainting();
 
@@ -165,6 +169,7 @@ public class DataContextEJBQLJoinsIT extends ServerCase {
         assertTrue(ids.contains(33005l));
     }
 
+    @Test
     public void testChainedJoins() throws Exception {
         createTwoArtistsTwoPaintingsTwoGalleries();
 
@@ -179,6 +184,7 @@ public class DataContextEJBQLJoinsIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject((Artist) artists.get(0)));
     }
 
+    @Test
     public void testImplicitJoins() throws Exception {
         createTwoArtistsTwoPaintingsTwoGalleries();
 
@@ -196,6 +202,7 @@ public class DataContextEJBQLJoinsIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject((Artist) artists.get(0)));
     }
 
+    @Test
     public void testPartialImplicitJoins1() throws Exception {
         createTwoArtistsTwoPaintingsTwoGalleries();
 
@@ -208,6 +215,7 @@ public class DataContextEJBQLJoinsIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject((Artist) artists.get(0)));
     }
 
+    @Test
     public void testPartialImplicitJoins2() throws Exception {
         createTwoArtistsTwoPaintingsTwoGalleries();
 
@@ -220,6 +228,7 @@ public class DataContextEJBQLJoinsIT extends ServerCase {
         assertEquals(33002, Cayenne.intPKForObject((Artist) artists.get(0)));
     }
 
+    @Test
     public void testMultipleJoinsToTheSameTable() throws Exception {
         createTwoArtistsThreePaintings();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b62c9d01/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
index 8800098..3450b71 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEJBQLOrderByIT.java
@@ -27,6 +27,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
 import org.apache.cayenne.test.jdbc.TableHelper;
 import org.apache.cayenne.unit.di.server.ServerCase;
 import org.apache.cayenne.unit.di.server.UseServerRuntime;
+import org.junit.Test;
 
 import java.sql.Types;
 import java.util.List;
@@ -86,6 +87,7 @@ public class DataContextEJBQLOrderByIT extends ServerCase {
         tPainting.insert(33006, 33002, "C", 500);
     }
 
+    @Test
     public void testOrderByDefault() throws Exception {
 
         createThreePaintings();
@@ -111,6 +113,7 @@ public class DataContextEJBQLOrderByIT extends ServerCase {
         assertEquals(33001, Cayenne.intPKForObject((Persistent) results2.get(2)));
     }
 
+    @Test
     public void testOrderByAsc() throws Exception {
 
         createThreePaintings();
@@ -136,6 +139,7 @@ public class DataContextEJBQLOrderByIT extends ServerCase {
         assertEquals(33001, Cayenne.intPKForObject((Persistent) results2.get(2)));
     }
 
+    @Test
     public void testOrderByDesc() throws Exception {
         createThreePaintings();
 
@@ -160,6 +164,7 @@ public class DataContextEJBQLOrderByIT extends ServerCase {
         assertEquals(33003, Cayenne.intPKForObject((Persistent) results2.get(2)));
     }
 
+    @Test
     public void testOrderByQualified() throws Exception {
         createThreePaintings();
 
@@ -182,6 +187,7 @@ public class DataContextEJBQLOrderByIT extends ServerCase {
         assertEquals(33001, Cayenne.intPKForObject((Persistent) results2.get(1)));
     }
 
+    @Test
     public void testOrderByMultiple() throws Exception {
         createFourPaintings();
 
@@ -197,6 +203,7 @@ public class DataContextEJBQLOrderByIT extends ServerCase {
         assertEquals(33001, Cayenne.intPKForObject((Persistent) results1.get(3)));
     }
 
+    @Test
     public void testOrderByPath() throws Exception {
         createTwoArtistsTwoPaintings();