You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2017/12/07 10:09:30 UTC

[01/30] cayenne git commit: CAY-2377. Clean up deprecated code.

Repository: cayenne
Updated Branches:
  refs/heads/master 59d93045f -> f95604505


CAY-2377. Clean up deprecated code.


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

Branch: refs/heads/master
Commit: b3f7402c5e81177c613f760599bb886ba21cbcb6
Parents: 0327a10
Author: Arseni Bulatski <an...@gmail.com>
Authored: Mon Oct 23 11:33:07 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:26 2017 +0300

----------------------------------------------------------------------
 .../dbsync/reverse/dbload/DbLoaderDelegate.java | 11 ---
 .../reverse/dbload/DefaultDbLoaderDelegate.java | 11 ---
 .../main/java/org/apache/cayenne/di/Binder.java | 24 -----
 .../apache/cayenne/di/spi/DefaultBinder.java    | 14 ---
 .../di/spi/DefaultInjectorInjectionTest.java    | 29 ------
 cayenne-java8/pom.xml                           | 92 -------------------
 .../cayenne/java8/CayenneJava8Module.java       | 28 ------
 .../org/apache/cayenne/java8/Java8Module.java   | 42 ---------
 .../java8/Java8ServerModuleProvider.java        | 48 ----------
 ...iguration.server.CayenneServerModuleProvider | 20 -----
 .../cayenne/java8/Java8ModuleProviderTest.java  | 32 -------
 .../cayenne/lifecycle/sort/SortWeight.java      | 49 -----------
 .../sort/WeightedAshwoodEntitySorter.java       | 44 ---------
 .../apache/cayenne/lifecycle/db/SortRoot.java   |  2 -
 .../sort/WeightedAshwoodEntitySorterTest.java   | 72 ---------------
 .../cayenne/project/CayenneProjectModule.java   | 27 ------
 .../org/apache/cayenne/CayenneDataObject.java   | 13 ---
 .../org/apache/cayenne/access/DataDomain.java   | 12 ---
 .../org/apache/cayenne/access/DataRowStore.java | 49 -----------
 .../cayenne/configuration/CayenneRuntime.java   | 16 ----
 .../apache/cayenne/configuration/Constants.java | 63 -------------
 .../cayenne/datasource/DriverDataSource.java    | 57 ------------
 .../org/apache/cayenne/dba/JdbcAdapter.java     | 20 -----
 .../java/org/apache/cayenne/exp/Expression.java | 34 -------
 .../cayenne/exp/parser/JavaCharStream.java      | 18 ----
 .../apache/cayenne/exp/parser/SimpleNode.java   | 27 ------
 .../org/apache/cayenne/log/JdbcEventLogger.java | 37 --------
 .../apache/cayenne/log/NoopJdbcEventLogger.java | 25 ------
 .../cayenne/log/Slf4jJdbcEventLogger.java       | 60 -------------
 .../org/apache/cayenne/map/EntityResolver.java  | 34 -------
 .../reflect/LifecycleCallbackRegistry.java      |  8 --
 .../resource/ClassLoaderResourceLocator.java    | 22 -----
 docs/doc/src/main/resources/UPGRADE.txt         | 80 +++++++++++++++++
 .../apache/cayenne/tools/DbGeneratorMojo.java   | 11 ---
 .../apache/cayenne/tools/DbImporterMojo.java    | 54 ------------
 .../cayenne/tools/OldReverseEngineering.java    | 93 --------------------
 .../apache/cayenne/wocompat/EOModelHelper.java  | 10 ---
 .../wocompat/parser/SimpleCharStream.java       | 18 ----
 pom.xml                                         |  1 -
 39 files changed, 80 insertions(+), 1227 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderDelegate.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderDelegate.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderDelegate.java
index 77b854e..fd608ca 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderDelegate.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderDelegate.java
@@ -49,15 +49,4 @@ public interface DbLoaderDelegate {
      */
     boolean dbRelationshipLoaded(DbEntity entity, DbRelationship relationship);
 
-    /**
-     * @deprecated since 4.0 no longer invoked as DbLoader does not deal with object layer anymore.
-     */
-    @Deprecated
-    void objEntityAdded(ObjEntity entity);
-
-    /**
-     * @deprecated since 4.0 no longer invoked as DbLoader does not deal with object layer anymore.
-     */
-    @Deprecated
-    void objEntityRemoved(ObjEntity entity);
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DefaultDbLoaderDelegate.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DefaultDbLoaderDelegate.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DefaultDbLoaderDelegate.java
index 6b06be8..2d6ac94 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DefaultDbLoaderDelegate.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/dbload/DefaultDbLoaderDelegate.java
@@ -50,15 +50,4 @@ public class DefaultDbLoaderDelegate implements DbLoaderDelegate {
         return true;
     }
 
-    @Deprecated
-    @Override
-    public void objEntityAdded(ObjEntity entity) {
-
-    }
-
-    @Deprecated
-    @Override
-    public void objEntityRemoved(ObjEntity entity) {
-
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-di/src/main/java/org/apache/cayenne/di/Binder.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/main/java/org/apache/cayenne/di/Binder.java b/cayenne-di/src/main/java/org/apache/cayenne/di/Binder.java
index c0c6da5..c106d1d 100644
--- a/cayenne-di/src/main/java/org/apache/cayenne/di/Binder.java
+++ b/cayenne-di/src/main/java/org/apache/cayenne/di/Binder.java
@@ -44,18 +44,6 @@ public interface Binder {
     <T> BindingBuilder<T> bind(Key<T> key);
 
     /**
-     * Starts a binding of a java.util.Map&lt;String, ?&gt; distinguished by its binding name.
-     * Map binding should continue using returned MapBuilder. This is somewhat equivalent
-     * of using "bind(Map.class, bindingName)", however returned MapBuilder provides extra
-     * DI capabilities.
-     *
-     * @deprecated since 4.0, use use type-safe methods {@link Binder#bindMap(Class)}
-     *             or {@link Binder#bindMap(Class, String)}
-     */
-    @Deprecated
-    <T> MapBuilder<T> bindMap(String bindingName);
-
-    /**
      * Starts a binding of a java.util.Map&lt;String, T&gt; distinguished by its values type.
      * Map binding should continue using returned MapBuilder.
      * This is a type safe way of binding a map.
@@ -75,18 +63,6 @@ public interface Binder {
     <T> MapBuilder<T> bindMap(Class<T> valueType, String bindingName);
 
     /**
-     * Starts a binding of a java.util.List&lt;?&gt; distinguished by its binding name.
-     * List binding should continue using returned ListBuilder. This is somewhat equivalent of
-     * using "bind(List.class, bindingName)", however returned ListBuilder provides extra
-     * DI capabilities.
-     *
-     * @deprecated since 4.0, use type-safe methods {@link Binder#bindList(Class)}
-     *             or {@link Binder#bindList(Class, String)}
-     */
-    @Deprecated
-    <T> ListBuilder<T> bindList(String bindingName);
-
-    /**
      * Starts a binding of a java.util.List&lt;T&gt; distinguished by its values type and binding name.
      * List binding should continue using returned ListBuilder. This is somewhat equivalent of
      * using "bind(List.class, bindingName)", however returned ListBuilder provides extra

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-di/src/main/java/org/apache/cayenne/di/spi/DefaultBinder.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/main/java/org/apache/cayenne/di/spi/DefaultBinder.java b/cayenne-di/src/main/java/org/apache/cayenne/di/spi/DefaultBinder.java
index d09824e..3bbc405 100644
--- a/cayenne-di/src/main/java/org/apache/cayenne/di/spi/DefaultBinder.java
+++ b/cayenne-di/src/main/java/org/apache/cayenne/di/spi/DefaultBinder.java
@@ -46,13 +46,6 @@ class DefaultBinder implements Binder {
 		return new DefaultBindingBuilder<>(key, injector);
 	}
 
-	@SuppressWarnings("unchecked")
-	@Override
-	@Deprecated
-	public <T> ListBuilder<T> bindList(String bindingName) {
-		return (ListBuilder<T>)bindList(Object.class, bindingName);
-	}
-
 	/**
 	 * @since 4.0
 	 */
@@ -69,13 +62,6 @@ class DefaultBinder implements Binder {
 		return new DefaultListBuilder<>(Key.getListOf(valueType, bindingName), injector);
 	}
 
-	@SuppressWarnings("unchecked")
-	@Override
-	@Deprecated
-	public <T> MapBuilder<T> bindMap(String bindingName) {
-		return (MapBuilder<T>)bindMap(Object.class, bindingName);
-	}
-
 	/**
 	 * @since 4.0
 	 */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java
----------------------------------------------------------------------
diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java
index a56fcb6..a9b67d2 100644
--- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java
+++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java
@@ -184,35 +184,6 @@ public class DefaultInjectorInjectionTest {
     }
 
     @Test
-    @SuppressWarnings("deprecation")
-    public void mapInjectionDeprecated() {
-        final String bindingName = "xyz";
-        final Object test = "test_map";
-        Module module = binder -> {
-            binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class);
-            binder.bindMap(bindingName).put("test", test).put("abc", "def");
-        };
-
-        DefaultInjector injector = new DefaultInjector(module);
-        // Even with old version of binding we should use new version of key...
-        Map<String, Object> map = injector.getInstance(Key.getMapOf(String.class, Object.class, bindingName));
-        assertNotNull(map);
-        assertEquals(test, map.get("test"));
-
-        try {
-            // Old version of getting by key will fail...
-            injector.getInstance(Key.get(Map.class, bindingName));
-            fail("DI Exception should be thrown");
-        } catch (DIRuntimeException ignored) {
-        }
-
-        // Check that injection is working
-        MockInterface1 interface1 = injector.getInstance(MockInterface1.class);
-        assertThat(interface1, instanceOf(MockImplementation1_MapConfiguration.class));
-        assertEquals(";abc=def;test=test_map", interface1.getName());
-    }
-
-    @Test
     public void testMapInjection() {
         Module module = binder -> {
             binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-java8/pom.xml
----------------------------------------------------------------------
diff --git a/cayenne-java8/pom.xml b/cayenne-java8/pom.xml
deleted file mode 100644
index b2517b8..0000000
--- a/cayenne-java8/pom.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
-	license agreements. See the NOTICE file distributed with this work for additional 
-	information regarding copyright ownership. The ASF licenses this file to 
-	you under the Apache License, Version 2.0 (the "License"); you may not use 
-	this file except in compliance with the License. You may obtain a copy of 
-	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
-	by applicable law or agreed to in writing, software distributed under the 
-	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
-	OF ANY KIND, either express or implied. See the License for the specific 
-	language governing permissions and limitations under the License. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<parent>
-		<artifactId>cayenne-parent</artifactId>
-		<groupId>org.apache.cayenne</groupId>
-		<version>4.1.M2-SNAPSHOT</version>
-	</parent>
-
-	<!-- DEPRECATED SINCE 4.1 -->
-	<artifactId>cayenne-java8</artifactId>
-	<name>cayenne-java8: Cayenne Java8 Extensions</name>
-	<packaging>jar</packaging>
-
-	<dependencies>
-
-		<!-- Compile dependencies -->
-		<dependency>
-			<groupId>org.apache.cayenne</groupId>
-			<artifactId>cayenne-server</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-
-		<!-- Test dependencies -->
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.cayenne.build-tools</groupId>
-			<artifactId>cayenne-test-utilities</artifactId>
-			<version>${project.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.hsqldb</groupId>
-			<artifactId>hsqldb</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.cayenne</groupId>
-			<artifactId>cayenne-server</artifactId>
-			<version>${project.version}</version>
-			<type>test-jar</type>
-			<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>
-			<!-- This ensures LICENSE and NOTICE inclusion in all jars -->
-            <plugin>
-                <artifactId>maven-remote-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>process</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-			<plugin>
-				<artifactId>maven-checkstyle-plugin</artifactId>
-				<!--<configuration> <suppressionsLocation>${project.basedir}/cayenne-checkstyle-suppression.xml</suppressionsLocation> 
-					</configuration> -->
-			</plugin>
-			<plugin>
-				<artifactId>maven-pmd-plugin</artifactId>
-			</plugin>
-		</plugins>
-	</build>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-java8/src/main/java/org/apache/cayenne/java8/CayenneJava8Module.java
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/main/java/org/apache/cayenne/java8/CayenneJava8Module.java b/cayenne-java8/src/main/java/org/apache/cayenne/java8/CayenneJava8Module.java
deleted file mode 100644
index 6bae6ef..0000000
--- a/cayenne-java8/src/main/java/org/apache/cayenne/java8/CayenneJava8Module.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.java8;
-
-/**
- * Left as a placeholder for backwards compatibility with apps compiled against 4.0.M4.
- *
- * @deprecated since 4.0.M5 in favor of {@link Java8Module}.
- */
-@Deprecated
-public class CayenneJava8Module extends Java8Module {
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-java8/src/main/java/org/apache/cayenne/java8/Java8Module.java
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/main/java/org/apache/cayenne/java8/Java8Module.java b/cayenne-java8/src/main/java/org/apache/cayenne/java8/Java8Module.java
deleted file mode 100644
index 91cea24..0000000
--- a/cayenne-java8/src/main/java/org/apache/cayenne/java8/Java8Module.java
+++ /dev/null
@@ -1,42 +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.java8;
-
-import org.apache.cayenne.configuration.server.ServerModule;
-import org.apache.cayenne.di.Binder;
-import org.apache.cayenne.di.Module;
-import org.apache.cayenne.access.types.LocalDateTimeValueType;
-import org.apache.cayenne.access.types.LocalDateValueType;
-import org.apache.cayenne.access.types.LocalTimeValueType;
-
-/**
- * @since 4.0
- * @deprecated since 4.1 Java 8 types are in cayenne-server by default
- */
-@Deprecated
-public class Java8Module implements Module {
-
-    @Override
-    public void configure(Binder binder) {
-        ServerModule.contributeValueObjectTypes(binder)
-                .add(LocalDateValueType.class)
-                .add(LocalTimeValueType.class)
-                .add(LocalDateTimeValueType.class);
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-java8/src/main/java/org/apache/cayenne/java8/Java8ServerModuleProvider.java
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/main/java/org/apache/cayenne/java8/Java8ServerModuleProvider.java b/cayenne-java8/src/main/java/org/apache/cayenne/java8/Java8ServerModuleProvider.java
deleted file mode 100644
index c35024c..0000000
--- a/cayenne-java8/src/main/java/org/apache/cayenne/java8/Java8ServerModuleProvider.java
+++ /dev/null
@@ -1,48 +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.java8;
-
-import org.apache.cayenne.configuration.server.CayenneServerModuleProvider;
-import org.apache.cayenne.di.Module;
-
-import java.util.Collection;
-import java.util.Collections;
-
-/**
- * @since 4.0
- * @deprecated since 4.1 java 8 types are in cayenne-server by default
- */
-@Deprecated
-public class Java8ServerModuleProvider implements CayenneServerModuleProvider {
-
-    @Override
-    public Module module() {
-        return new Java8Module();
-    }
-
-    @Override
-    public Class<? extends Module> moduleType() {
-        return Java8Module.class;
-    }
-
-    @Override
-    public Collection<Class<? extends Module>> overrides() {
-        return Collections.emptyList();
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-java8/src/main/resources/META-INF/services/org.apache.cayenne.configuration.server.CayenneServerModuleProvider
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/main/resources/META-INF/services/org.apache.cayenne.configuration.server.CayenneServerModuleProvider b/cayenne-java8/src/main/resources/META-INF/services/org.apache.cayenne.configuration.server.CayenneServerModuleProvider
deleted file mode 100644
index 68a42dc..0000000
--- a/cayenne-java8/src/main/resources/META-INF/services/org.apache.cayenne.configuration.server.CayenneServerModuleProvider
+++ /dev/null
@@ -1,20 +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.
-##################################################################
-
-org.apache.cayenne.java8.Java8ServerModuleProvider
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-java8/src/test/java/org/apache/cayenne/java8/Java8ModuleProviderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-java8/src/test/java/org/apache/cayenne/java8/Java8ModuleProviderTest.java b/cayenne-java8/src/test/java/org/apache/cayenne/java8/Java8ModuleProviderTest.java
deleted file mode 100644
index 3aec491..0000000
--- a/cayenne-java8/src/test/java/org/apache/cayenne/java8/Java8ModuleProviderTest.java
+++ /dev/null
@@ -1,32 +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.java8;
-
-import org.apache.cayenne.configuration.server.CayenneServerModuleProvider;
-import org.apache.cayenne.unit.util.ModuleProviderChecker;
-import org.junit.Test;
-
-@Deprecated
-public class Java8ModuleProviderTest {
-
-    @Test
-    public void testProviderPresent() {
-        ModuleProviderChecker.testProviderPresent(Java8ServerModuleProvider.class, CayenneServerModuleProvider.class);
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/sort/SortWeight.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/sort/SortWeight.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/sort/SortWeight.java
deleted file mode 100644
index 2a4c360..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/sort/SortWeight.java
+++ /dev/null
@@ -1,49 +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.lifecycle.sort;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * An annotation that defines the insertion sorting "weight" of an entity that is used
- * when sorting DB operations. This annotation allows to override the topological sorting
- * algorithm used by Cayenne by default in special occasions.
- * 
- * @since 3.1
- *
- * @deprecated since 4.0, use instead {@link org.apache.cayenne.ashwood.SortWeight}
- * @see org.apache.cayenne.ashwood.SortWeight
- */
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Deprecated
-public @interface SortWeight {
-
-    /**
-     * Returns the "weight" of the entity used for the purpose of the DB operations
-     * sorting. Entities with lower values will be inserted before entities with higher
-     * values. The opposite is true for the delete operations.
-     */
-    int value() default 1;
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorter.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorter.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorter.java
deleted file mode 100644
index cb3a661..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorter.java
+++ /dev/null
@@ -1,44 +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.lifecycle.sort;
-
-import org.apache.cayenne.map.ObjEntity;
-
-/**
- * EntitySorter that takes into account entity "weights", and otherwise delegating to
- * another (topological) sorter.
- * 
- * @since 3.1
- * @deprecated since 4.0, moved to cayenne-server, use {@link org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter}
- * @see org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter
- */
-@Deprecated
-public class WeightedAshwoodEntitySorter extends org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter {
-
-    @Override
-    protected void addWeightForEntity(ObjEntity entity) {
-        Class<?> type = entityResolver
-                .getClassDescriptor(entity.getName())
-                .getObjectClass();
-       SortWeight weight = type.getAnnotation(SortWeight.class);
-        if (weight != null) {
-            entityWeights.put(entity.getDbEntity(), weight.value());
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/SortRoot.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/SortRoot.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/SortRoot.java
index c2e98fb..38a1834 100644
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/SortRoot.java
+++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/SortRoot.java
@@ -19,9 +19,7 @@
 package org.apache.cayenne.lifecycle.db;
 
 import org.apache.cayenne.lifecycle.db.auto._SortRoot;
-import org.apache.cayenne.lifecycle.sort.SortWeight;
 
-@SortWeight(2)
 public class SortRoot extends _SortRoot {
 	private static final long serialVersionUID = 1L;
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
deleted file mode 100644
index 4d54caf..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/sort/WeightedAshwoodEntitySorterTest.java
+++ /dev/null
@@ -1,72 +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.lifecycle.sort;
-
-import org.apache.cayenne.configuration.server.ServerRuntime;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.EntityResolver;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.Arrays;
-import java.util.List;
-
-import static org.junit.Assert.assertEquals;
-
-@Deprecated
-public class WeightedAshwoodEntitySorterTest {
-
-    private ServerRuntime runtime;
-
-    @Before
-    public void setUp() throws Exception {
-        runtime = ServerRuntime.builder().addConfig("cayenne-lifecycle.xml").build();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        runtime.shutdown();
-    }
-
-    @Test
-    public void testSortDbEntities() {
-
-        EntityResolver resolver = runtime.getDataDomain().getEntityResolver();
-
-        // since it is impossible to ensure non-coincidental sort order of unrelated
-        // DbEntities (without overriding DbEntity.hashCode()), we'll test on 2 entities
-        // with a relationship, and reverse the topological order with SortWeight annotation.
-
-        List<DbEntity> eSorted = Arrays.asList(resolver.getDbEntity("SORT_DEP"), resolver.getDbEntity("SORT_ROOT"));
-
-        List<DbEntity> e1 = Arrays.asList(resolver.getDbEntity("SORT_ROOT"), resolver.getDbEntity("SORT_DEP"));
-
-        List<DbEntity> e2 = Arrays.asList(resolver.getDbEntity("SORT_DEP"), resolver.getDbEntity("SORT_ROOT"));
-
-        WeightedAshwoodEntitySorter sorter = new WeightedAshwoodEntitySorter();
-        sorter.setEntityResolver(resolver);
-
-        sorter.sortDbEntities(e1, false);
-        assertEquals(eSorted, e1);
-
-        sorter.sortDbEntities(e2, false);
-        assertEquals(eSorted, e2);
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-project/src/main/java/org/apache/cayenne/project/CayenneProjectModule.java
----------------------------------------------------------------------
diff --git a/cayenne-project/src/main/java/org/apache/cayenne/project/CayenneProjectModule.java b/cayenne-project/src/main/java/org/apache/cayenne/project/CayenneProjectModule.java
deleted file mode 100644
index 6642638..0000000
--- a/cayenne-project/src/main/java/org/apache/cayenne/project/CayenneProjectModule.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.project;
-
-/**
- * @since 3.1
- * @deprecated since 4.0 renamed to {@link ProjectModule}.
- */
-@Deprecated
-public class CayenneProjectModule extends ProjectModule {
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
index 3cad849..bdef93f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
@@ -124,17 +124,4 @@ public class CayenneDataObject extends BaseDataObject {
 		out.writeObject(values);
 	}
 
-	/**
-	 * Convenience method to invoke {@link Cayenne#makePath(String...)} from
-	 * within a DataObject subclass to create a dotted path using the generated
-	 * string constants for attributes and relationships.
-	 *
-	 * @deprecated since 4.1, use {@link Cayenne#makePath(String...)} instead
-	 * @see Cayenne#makePath(String...)
-	 * @since 3.1
-	 */
-	@Deprecated
-	public static String makePath(String... pathParts) {
-		return Cayenne.makePath(pathParts);
-	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java
index 9caa59d..bb68fdb 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomain.java
@@ -68,18 +68,6 @@ public class DataDomain implements QueryEngine, DataChannel {
 	public static final boolean VALIDATING_OBJECTS_ON_COMMIT_DEFAULT = true;
 
 	/**
-	 * @deprecated since 4.0 See {@link Constants#SERVER_EXTERNAL_TX_PROPERTY}.
-	 */
-	@Deprecated
-	public static final String USING_EXTERNAL_TRANSACTIONS_PROPERTY = "cayenne.DataDomain.usingExternalTransactions";
-
-	/**
-	 * @deprecated since 4.0 See {@link Constants#SERVER_EXTERNAL_TX_PROPERTY}.
-	 */
-	@Deprecated
-	public static final boolean USING_EXTERNAL_TRANSACTIONS_DEFAULT = false;
-
-	/**
 	 * @since 3.1
 	 */
 	@Inject

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/access/DataRowStore.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataRowStore.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataRowStore.java
index 18d76db..e03d2ed 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataRowStore.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataRowStore.java
@@ -54,54 +54,15 @@ public class DataRowStore implements Serializable {
 
     private static Logger logger = LoggerFactory.getLogger(DataRowStore.class);
 
-    /**
-     * @deprecated since 4.0, never used actually
-     */
-    @Deprecated
-    public static final String SNAPSHOT_EXPIRATION_PROPERTY = "cayenne.DataRowStore.snapshot.expiration";
-
-    /**
-     * @deprecated since 4.0, use {@link org.apache.cayenne.configuration.Constants#SNAPSHOT_CACHE_SIZE_PROPERTY}
-     */
-    @Deprecated
-    public static final String SNAPSHOT_CACHE_SIZE_PROPERTY = "cayenne.DataRowStore.snapshot.size";
-
-    /**
-     * @deprecated since 4.0 does nothing. Previously it used to check if need to create {@link EventBridge}.
-     */
-    @Deprecated
-    public static final String REMOTE_NOTIFICATION_PROPERTY = "cayenne.DataRowStore.remote.notify";
-
-    /**
-     * @deprecated since 4.0 {@link DataRowStoreFactory} establishes {@link EventBridge}.
-     */
-    @Deprecated
-    public static final String EVENT_BRIDGE_FACTORY_PROPERTY = "cayenne.DataRowStore.EventBridge.factory";
-
     // default property values
 
     public static final long SNAPSHOT_EXPIRATION_DEFAULT = 2 * 60 * 60; // default expiration time is 2 hours
     public static final int SNAPSHOT_CACHE_SIZE_DEFAULT = 10000;
 
-    @Deprecated
-    public static final boolean REMOTE_NOTIFICATION_DEFAULT = false;
-
-    /**
-     * @deprecated since 4.0 does nothing.
-     */
-    @Deprecated
-    public static final String EVENT_BRIDGE_FACTORY_DEFAULT = "org.apache.cayenne.event.JavaGroupsBridgeFactory";
-
     protected String name;
     private int maxSize;
     protected ConcurrentMap<ObjectId, DataRow> snapshots;
 
-    /**
-     * @deprecated since 4.0 does nothing. Previously it used to check if need to create {@link EventBridge}.
-     */
-    @Deprecated
-    protected boolean notifyingRemoteListeners;
-
     protected transient EventManager eventManager;
     protected transient EventBridge remoteNotificationsHandler;
 
@@ -520,16 +481,6 @@ public class DataRowStore implements Serializable {
         }
     }
 
-    @Deprecated
-    public boolean isNotifyingRemoteListeners() {
-        return notifyingRemoteListeners;
-    }
-
-    @Deprecated
-    public void setNotifyingRemoteListeners(boolean notifyingRemoteListeners) {
-        this.notifyingRemoteListeners = notifyingRemoteListeners;
-    }
-
     // deserialization support
     private void readObject(ObjectInputStream in) throws IOException,
             ClassNotFoundException {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/configuration/CayenneRuntime.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/CayenneRuntime.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/CayenneRuntime.java
index 822a1b0..1ce12d8 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/CayenneRuntime.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/CayenneRuntime.java
@@ -135,20 +135,4 @@ public abstract class CayenneRuntime {
         return injector.getInstance(ObjectContextFactory.class).createContext(parentChannel);
     }
 
-    /**
-     * @deprecated since 3.1 use better named {@link #newContext()} instead.
-     */
-    @Deprecated
-    public ObjectContext getContext() {
-        return newContext();
-    }
-
-    /**
-     * @deprecated since 3.1 use better named {@link #newContext(DataChannel)}
-     * instead.
-     */
-    @Deprecated
-    public ObjectContext getContext(DataChannel parentChannel) {
-        return newContext(parentChannel);
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/configuration/Constants.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/Constants.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/Constants.java
index ce2efcf..b993eea 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/Constants.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/Constants.java
@@ -215,67 +215,4 @@ public interface Constants {
      */
     String SNAPSHOT_CACHE_SIZE_PROPERTY = "cayenne.DataRowStore.snapshot.size";
 
-    /**
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_SERVICE_URL_PROPERTY = "cayenne.rop.service_url";
-
-    /**
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_SERVICE_USERNAME_PROPERTY = "cayenne.rop.service_username";
-
-    /**
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_SERVICE_PASSWORD_PROPERTY = "cayenne.rop.service_password";
-
-    /**
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_SERVICE_REALM_PROPERTY = "cayenne.rop.service_realm";
-
-    /**
-     * A boolean property that defines whether ALPN should be used.
-     * Possible values are "true" or "false".
-     *
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_SERVICE_USE_ALPN_PROPERTY = "cayenne.rop.service_use_alpn";
-
-    /**
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_SERVICE_SHARED_SESSION_PROPERTY = "cayenne.rop.shared_session_name";
-
-    /**
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_SERVICE_TIMEOUT_PROPERTY = "cayenne.rop.service_timeout";
-
-    /**
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_CHANNEL_EVENTS_PROPERTY = "cayenne.rop.channel_events";
-
-    /**
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_CONTEXT_CHANGE_EVENTS_PROPERTY = "cayenne.rop.context_change_events";
-
-    /**
-     * @deprecated  since 4.0 moved to cayenne-client org.apache.cayenne.configuration.rop.client.ClientConstants.
-     */
-    @Deprecated
-    String ROP_CONTEXT_LIFECYCLE_EVENTS_PROPERTY = "cayenne.rop.context_lifecycle_events";
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java b/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
index 70c223f..9d999eb 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
@@ -202,63 +202,6 @@ public class DriverDataSource implements DataSource {
 
 	/**
 	 * @since 3.0
-	 * @deprecated since 4.0. Connection parameters are immutable and not
-	 *             readable.
-	 */
-	@Deprecated
-	public String getConnectionUrl() {
-		return connectionUrl;
-	}
-
-	/**
-	 * @since 3.0
-	 * @deprecated since 4.0. Connection parameters are immutable.
-	 */
-	@Deprecated
-	public void setConnectionUrl(String connectionUrl) {
-		this.connectionUrl = connectionUrl;
-	}
-
-	/**
-	 * @since 3.0
-	 * @deprecated since 4.0. Connection parameters are immutable and not
-	 *             readable.
-	 */
-	@Deprecated
-	public String getPassword() {
-		return password;
-	}
-
-	/**
-	 * @deprecated since 4.0. Connection parameters are immutable.
-	 * @since 3.0
-	 */
-	@Deprecated
-	public void setPassword(String password) {
-		this.password = password;
-	}
-
-	/**
-	 * @since 3.0
-	 * @deprecated since 4.0. Connection parameters are immutable and not
-	 *             readable.
-	 */
-	@Deprecated
-	public String getUserName() {
-		return userName;
-	}
-
-	/**
-	 * @since 3.0
-	 * @deprecated since 4.0. Connection parameters are immutable.
-	 */
-	@Deprecated
-	public void setUserName(String userName) {
-		this.userName = userName;
-	}
-
-	/**
-	 * @since 3.0
 	 */
 	@Override
 	public boolean isWrapperFor(Class<?> iface) throws SQLException {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
index 2b39416..b8138fb 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
@@ -626,26 +626,6 @@ public class JdbcAdapter implements DbAdapter {
 	}
 
 	/**
-	 * @since 3.1
-	 * @deprecated since 4.0 BatchQueryBuilderfactory is attached to the
-	 * DataNode.
-	 */
-	@Deprecated
-	public BatchTranslatorFactory getBatchQueryBuilderFactory() {
-		return batchQueryBuilderFactory;
-	}
-
-	/**
-	 * @since 3.1
-	 * @deprecated since 4.0 BatchQueryBuilderfactory is attached to the
-	 * DataNode.
-	 */
-	@Deprecated
-	public void setBatchQueryBuilderFactory(BatchTranslatorFactory batchQueryBuilderFactory) {
-		this.batchQueryBuilderFactory = batchQueryBuilderFactory;
-	}
-
-	/**
 	 * Simply returns this, as JdbcAdapter is not a wrapper.
 	 *
 	 * @since 4.0

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java
index 6bfad77..9d9c47a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java
@@ -170,19 +170,6 @@ public abstract class Expression implements Serializable, XMLSerializable {
 	protected int type;
 
 	/**
-	 * Parses string, converting it to Expression. If string does not represent
-	 * a semantically correct expression, an ExpressionException is thrown.
-	 * 
-	 * @since 1.1
-	 * @deprecated since 4.0 use
-	 *             {@link ExpressionFactory#exp(String, Object...)}
-	 */
-	@Deprecated
-	public static Expression fromString(String expressionString) {
-		return exp(expressionString);
-	}
-
-	/**
 	 * Returns a map of path aliases for this expression. It returns a non-empty
 	 * map only if this is a path expression and the aliases are known at the
 	 * expression creation time. Otherwise an empty map is returned.
@@ -692,16 +679,6 @@ public abstract class Expression implements Serializable, XMLSerializable {
 	}
 
 	/**
-	 * Stores a String representation of Expression using a provided
-	 * PrintWriter.
-	 * 
-	 * @since 1.1
-	 * @deprecated since 4.0 use {@link #appendAsString(Appendable)}.
-	 */
-	@Deprecated
-	public abstract void encodeAsString(PrintWriter pw);
-
-	/**
 	 * Appends own content as a String to the provided Appendable.
 	 * 
 	 * @since 4.0
@@ -711,17 +688,6 @@ public abstract class Expression implements Serializable, XMLSerializable {
 
 	/**
 	 * Stores a String representation of Expression as EJBQL using a provided
-	 * PrintWriter. DB path expressions produce non-standard EJBQL path
-	 * expressions.
-	 * 
-	 * @since 3.0
-	 * @deprecated since 4.0 use {@link #appendAsEJBQL(Appendable, String)}
-	 */
-	@Deprecated
-	public abstract void encodeAsEJBQL(PrintWriter pw, String rootId);
-
-	/**
-	 * Stores a String representation of Expression as EJBQL using a provided
 	 * Appendable. DB path expressions produce non-standard EJBQL path
 	 * expressions.
 	 * 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/JavaCharStream.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/JavaCharStream.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/JavaCharStream.java
index 4065980..f481e13 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/JavaCharStream.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/JavaCharStream.java
@@ -352,24 +352,6 @@ public class JavaCharStream {
         }
     }
 
-    @Deprecated
-    /**
-     * @deprecated
-     * @see #getEndColumn
-     */
-    public int getColumn() {
-        return bufcolumn[bufpos];
-    }
-
-    @Deprecated
-    /**
-     * @deprecated
-     * @see #getEndLine
-     */
-    public int getLine() {
-        return bufline[bufpos];
-    }
-
     /**
      * Get end column.
      */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/SimpleNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/SimpleNode.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/SimpleNode.java
index 117fd12..d33bfb8 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/SimpleNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/parser/SimpleNode.java
@@ -294,19 +294,6 @@ public abstract class SimpleNode extends Expression implements Node {
 		}
 	}
 
-	/**
-	 * @deprecated since 4.0 use {@link #appendAsString(Appendable)}.
-	 */
-	@Override
-	@Deprecated
-	public void encodeAsString(PrintWriter pw) {
-		try {
-			appendAsString(pw);
-		} catch (IOException e) {
-			throw new CayenneRuntimeException("Unexpected IO exception appending to PrintWriter", e);
-		}
-	}
-
 	@Override
 	public Object getOperand(int index) {
 		Node child = jjtGetChild(index);
@@ -423,20 +410,6 @@ public abstract class SimpleNode extends Expression implements Node {
 	}
 
 	/**
-	 * @since 3.0
-	 * @deprecated since 4.0 use {@link #appendAsEJBQL(Appendable, String)}.
-	 */
-	@Override
-	@Deprecated
-	public void encodeAsEJBQL(PrintWriter pw, String rootId) {
-		try {
-			appendAsEJBQL(pw, rootId);
-		} catch (IOException e) {
-			throw new CayenneRuntimeException("Unexpected IO exception appending to PrintWriter", e);
-		}
-	}
-
-	/**
 	 * @since 4.0
 	 */
 	public void appendAsEJBQL(Appendable out, String rootId) throws IOException {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/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 9d0f2e8..124e6ba 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
@@ -36,43 +36,6 @@ public interface JdbcEventLogger {
 	 */
 	void log(String message);
 
-	/**
-	 * Logs database connection event using container data source.
-	 * 
-	 * @deprecated since 4.0 connection events are logged by the DataSources
-	 *             using their own logger.
-	 */
-	@Deprecated
-	void logConnect(String dataSource);
-
-	/**
-	 * @deprecated since 4.0 connection events are logged by the DataSources
-	 *             using their own logger.
-	 */
-	@Deprecated
-	void logConnect(String url, String userName, String password);
-
-	/**
-	 * @deprecated since 4.0 connection events are logged by the DataSources
-	 *             using their own logger.
-	 */
-	@Deprecated
-	void logPoolCreated(DataSourceInfo dsi);
-
-	/**
-	 * @deprecated since 4.0 connection events are logged by the DataSources
-	 *             using their own logger.
-	 */
-	@Deprecated
-	void logConnectSuccess();
-
-	/**
-	 * @deprecated since 4.0 connection events are logged by the DataSources
-	 *             using their own logger.
-	 */
-	@Deprecated
-	void logConnectFailure(Throwable th);
-
 	void logGeneratedKey(DbAttribute attribute, Object value);
 
 	/**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
index 8329fb9..75f6f58 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
@@ -43,31 +43,6 @@ public class NoopJdbcEventLogger implements JdbcEventLogger {
 	public void log(String message) {
 	}
 
-	@Deprecated
-	@Override
-	public void logConnect(String dataSource) {
-	}
-
-	@Deprecated
-	@Override
-	public void logConnect(String url, String userName, String password) {
-	}
-
-	@Deprecated
-	@Override
-	public void logPoolCreated(DataSourceInfo dsi) {
-	}
-
-	@Deprecated
-	@Override
-	public void logConnectSuccess() {
-	}
-
-	@Deprecated
-	@Override
-	public void logConnectFailure(Throwable th) {
-	}
-
 	@Override
 	public void logGeneratedKey(DbAttribute attribute, Object value) {
 	}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java
index 4a3dd56..a18e5e1 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java
@@ -156,66 +156,6 @@ public class Slf4jJdbcEventLogger implements JdbcEventLogger {
 		}
 	}
 
-	@Deprecated
-	@Override
-	public void logConnect(String dataSource) {
-		if (isLoggable()) {
-			logger.info("Connecting. JNDI path: " + dataSource);
-		}
-	}
-
-	@Deprecated
-	@Override
-	public void logConnect(String url, String userName, String password) {
-		if (isLoggable()) {
-			// append URL on the same line to make log somewhat grep-friendly
-			logger.info("Opening connection: " + url + "\n\tLogin: " + userName + "\n\tPassword: *******");
-		}
-	}
-
-	@Deprecated
-	@Override
-	public void logPoolCreated(DataSourceInfo dsi) {
-		if (isLoggable()) {
-			StringBuilder buf = new StringBuilder("Created connection pool: ");
-
-			if (dsi != null) {
-				// append URL on the same line to make log somewhat
-				// grep-friendly
-				buf.append(dsi.getDataSourceUrl());
-
-				if (dsi.getAdapterClassName() != null) {
-					buf.append("\n\tCayenne DbAdapter: ").append(dsi.getAdapterClassName());
-				}
-
-				buf.append("\n\tDriver class: ").append(dsi.getJdbcDriver());
-
-				if (dsi.getMinConnections() >= 0) {
-					buf.append("\n\tMin. connections in the pool: ").append(dsi.getMinConnections());
-				}
-				if (dsi.getMaxConnections() >= 0) {
-					buf.append("\n\tMax. connections in the pool: ").append(dsi.getMaxConnections());
-				}
-			} else {
-				buf.append(" pool information unavailable");
-			}
-
-			logger.info(buf.toString());
-		}
-	}
-
-	@Deprecated
-	@Override
-	public void logConnectSuccess() {
-		logger.info("+++ Connecting: SUCCESS.");
-	}
-
-	@Deprecated
-	@Override
-	public void logConnectFailure(Throwable th) {
-		logger.info("*** Connecting: FAILURE.", th);
-	}
-
 	@Override
 	public void logGeneratedKey(DbAttribute attribute, Object value) {
 		if (isLoggable()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
index 849ad31..8d4cd5d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
@@ -247,14 +247,6 @@ public class EntityResolver implements MappingNamespace, Serializable {
     }
 
     /**
-     * @deprecated since 4.0 use {@link #getResults()}.
-     */
-    @Deprecated
-    public Collection<SQLResult> getResultSets() {
-        return getResults();
-    }
-
-    /**
      * @since 4.0
      */
     public Collection<SQLResult> getResults() {
@@ -386,16 +378,6 @@ public class EntityResolver implements MappingNamespace, Serializable {
         }
     }
 
-    /**
-     * Removes all entity mappings from the cache.
-     *
-     * @deprecated since 4.0 in favor of {@link #refreshMappingCache()}.
-     */
-    @Deprecated
-    public void clearCache() {
-        refreshMappingCache();
-    }
-
     private void checkMappingCache() {
         if (mappingCache == null) {
             refreshMappingCache();
@@ -472,14 +454,6 @@ public class EntityResolver implements MappingNamespace, Serializable {
     }
 
     /**
-     * @deprecated since 4.0 use {@link #getInheritanceTree(String)}.
-     */
-    @Deprecated
-    public EntityInheritanceTree lookupInheritanceTree(String entityName) {
-        return getInheritanceTree(entityName);
-    }
-
-    /**
      * Looks in the DataMap's that this object was created with for the
      * ObjEntity that maps to the services the specified class
      *
@@ -571,14 +545,6 @@ public class EntityResolver implements MappingNamespace, Serializable {
     }
 
     /**
-     * @deprecated since 4.0. Use q.getMetaData(resolver).getProcedure()
-     */
-    @Deprecated
-    public Procedure lookupProcedure(Query q) {
-        return q.getMetaData(this).getProcedure();
-    }
-
-    /**
      * @deprecated since 4.0 use {@link #getProcedure(String)}.
      */
     @Deprecated

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java b/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java
index 38a6c3b..3b01d5e 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java
@@ -161,14 +161,6 @@ public class LifecycleCallbackRegistry {
 	}
 
 	/**
-	 * @since 4.0 renamed to {@link #addCallback(LifecycleEvent, Class, String)}.
-	 */
-	@Deprecated
-	public void addListener(LifecycleEvent type, Class<?> entityClass, String methodName) {
-		addCallback(type, entityClass, methodName);
-	}
-
-	/**
 	 * Adds a listener, mapping its methods to events based on annotations.
 	 * 
 	 * @since 3.1

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java b/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java
index de57322..56ab1b6 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/resource/ClassLoaderResourceLocator.java
@@ -66,26 +66,4 @@ public class ClassLoaderResourceLocator implements ResourceLocator {
         return resources;
     }
 
-    /**
-     * @deprecated since 4.0 unused, as AdhocObjectFactory.getClassLoader() is
-     *             used instead.
-     */
-    @Deprecated
-    protected ClassLoader getClassLoader() {
-        ClassLoader loader = Thread.currentThread().getContextClassLoader();
-
-        if (loader == null) {
-            loader = getClass().getClassLoader();
-        }
-
-        if (loader == null) {
-            loader = ClassLoader.getSystemClassLoader();
-        }
-
-        if (loader == null) {
-            throw new IllegalStateException("Can't detect ClassLoader to use for resource location");
-        }
-
-        return loader;
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index e2ecdc4..8a62c7f 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -4,6 +4,86 @@ Apache Cayenne Upgrade Information
 IMPORTANT: be sure to read all notes for the intermediate releases between your
            current release and the release you are upgrading to.
 -------------------------------------------------------------------------------
+UPGRADING TO 4.1.M2
+
+* Per CAY-2377 Cleanup deprecated code
+      - removed void objEntityAdded(ObjEntity entity) in org.apache.cayenne.dbsync.reverse.dbload.DefaultDbLoaderDelegate
+      and in org.apache.cayenne.dbsync.reverse.DbLoaderDelegate;
+      - removed void objEntityRemoved(ObjEntity entity) in org.apache.cayenne.dbsync.reverse.dbload.DefaultDbLoaderDelegate
+      and in org.apache.cayenne.dbsync.reverse.DbLoaderDelegate;
+      - removed cayenne-java8 module and remove cayenne-java8 module from pom.xml;
+      - removed org.apache.cayenne.lifecycle.sort.SortWeight and org.apache.cayenne.lifecycle.sort.WeightedAshwoodEntitySorter
+      with tests. Since 4.0 moved to cayenne server org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter,
+      org.apache.cayenne.ashwood.SortWeight;
+      - removed CayenneProjectModule from org.apache.cayenne.project since 4.0 renamed to ProjectModule;
+      - removed int getLine() renamed to getEndLine() and int getColumn() renamed to getEndColumn() in
+      org.apache.cayenne.wocompat.parser.SimpleCharStream;
+      - removed EOModelHelper(String path) since 4.0 use EOModelHelper(URL) in org.apache.cayenne.wocompat.EOModelHelper;
+      - removed <T> ListBuilder<T> bindList(String bindingName) since 4.0 use type-safe methods Binder#bindList(Class)
+      or Binder#bindList(Class, String) in org.apache.cayenne.di.Binder and org.apache.cayenne.di.spi.DefaultBinder;
+      - removed <T> MapBuilder<T> bindMap(String bindingName) since 4.0 use type-safe methods Binder#bindMap(Class) or
+      Binder#bindMap(Class, String) in org.apache.cayenne.di.Binder and org.apache.cayenne.di.spi.DefaultBinder with test
+      in DefaultInjectorInjectionTest void mapInjectionDeprecated();
+      - removed String oldDriver = "" use {@code <dataSource>} tag to set connection properties in
+      org.apache.cayenne.tools.DbGeneratorMojo;
+      - removed void setUrl(String url); void setDriver(String driver), void setMeaningfulPkTables(String meaningfulPkTables),
+      void setDefaultPackage(String defaultPackage) in org.apache.cayenne.tools.DbImporterMojo;
+      - removed String oldUrl = ""; String oldMeaningfulPkTables = ""; String oldDriver = ""; String oldDefaultPackage = "";
+      public OldReverseEngineering reverseEngineering; in org.apache.cayenne.tools.DbImporterMojo;
+      - removed org.apache.cayenne.tools.OldReverseEngineering
+      - removed void setDriver(String driver) in org.apache.cayenne.tools.DbGeneratorMojo;
+      - removed String makePath(String... pathParts) in org.apache.cayenne.CayenneDataObject;
+      - removed void addListener(LifecycleEvent type, Class<?> entityClass, String methodName);
+      since 4.0 renamed to addCallback(LifecycleEvent, Class, String) in org.apache.cayenne.reflect.LifecycleCallbackRegistry
+      - removed ClassLoader getClassLoader() {since 4.0 unused, as AdhocObjectFactory.getClassLoader() is used instead} in
+      org.apache.cayenne.resource.ClassLoaderResourceLocator;
+      - removed int getLine(); int getColumn(); {@see #getEndColumn, @see #getEndLine} in org.apache.cayenne.exp.parser.JavaCharStream;
+      - removed void encodeAsEJBQL(PrintWriter pw, String rootId); void encodeAsString(PrintWriter pw) since 4.0 use
+      {appendAsEJBQL(Appendable, String), appendAsString(Appendable)} in org.apache.cayenne.exp.parser.SimpleNode;
+      - removed void setPassword(String password); void setUserName(String userName) {since 4.0. Connection parameters are immutable.} in
+      org.apache.cayenne.datasource.DriverDataSource;
+      - removed String getUserName(); String getPassword() {since 4.0. Connection parameters are immutable and not readable.} in
+      org.apache.cayenne.datasource.DriverDataSource;
+      - removed void setConnectionUrl(String connectionUrl)  {since 4.0. Connection parameters are immutable and not readable.} in
+      org.apache.cayenne.datasource.DriverDataSource;
+      - removed void getConnectionUrl()  {since 4.0. Connection parameters are immutable and not readable.} in
+      org.apache.cayenne.datasource.DriverDataSource;
+      - removed BatchTranslatorFactory getBatchQueryBuilderFactory(); void setBatchQueryBuilderFactory(BatchTranslatorFactory batchQueryBuilderFactory)
+      {since 4.0 BatchQueryBuilderfactory is attached to the DataNode} in org.apache.cayenne.dba.JdbcAdapter;
+      - removed Expression fromString(String expressionString) {since 4.0 use ExpressionFactory#exp(String, Object...)} in
+      org.apache.cayenne.exp.Expression;
+      - removed abstract void encodeAsEJBQL(PrintWriter pw, String rootId); {since 4.0 use appendAsEJBQL(Appendable, String)} in
+      org.apache.cayenne.exp.Expression;
+      - removed abstract void encodeAsString(PrintWriter pw); {since 4.0 use appendAsString(Appendable)} in
+      org.apache.cayenne.exp.Expression;
+      - removed ObjectContext getContext(); ObjectContext getContext(DataChannel parentChannel)
+      {since 3.1 use better named newContext(); newContext(DataChannel)} instead} in org.apache.cayenne.configuration.CayenneRuntime;
+      - removed ROP_SERVICE_URL_PROPERTY, ROP_SERVICE_USERNAME_PROPERTY, ROP_SERVICE_PASSWORD_PROPERTY, ROP_SERVICE_REALM_PROPERTY,
+      ROP_SERVICE_USE_ALPN_PROPERTY, ROP_SERVICE_SHARED_SESSION_PROPERTY, ROP_SERVICE_TIMEOUT_PROPERTY, ROP_CHANNEL_EVENTS_PROPERTY,
+      ROP_CONTEXT_CHANGE_EVENTS_PROPERTY, ROP_CONTEXT_LIFECYCLE_EVENTS_PROPERTY {since 4.0 moved to cayenne-client
+      org.apache.cayenne.configuration.rop.client.ClientConstants} in org.apache.cayenne.configuration.Constants;
+      - removed void logConnect(String dataSource); void logConnect(String url, String userName, String password);
+      void logPoolCreated(DataSourceInfo dsi); void logConnectSuccess(); void logConnectFailure(Throwable th);
+      {since 4.0 connection events are logged by the DataSources using their own logger} in
+      org.apache.cayenne.log.JdbcEventLogger and in org.apache.cayenne.log.NoopJdbcEventLogger and in org.apache.cayenne.log.Slf4jJdbcEventLogger;
+      - removed void clearCache(); {since 4.0 in favor of refreshMappingCache()} in org.apache.cayenne.map.EntityResolver;
+      - removed Collection<SQLResult> getResultSets(); {since 4.0 use getResults()} in org.apache.cayenne.map.EntityResolver;
+      - removed EntityInheritanceTree lookupInheritanceTree(String entityName) {since 4.0 use getInheritanceTree(String)} in org.apache.cayenne.map.EntityResolver;
+      - removed Procedure lookupProcedure(Query q) {since 4.0 use q.getMetaData(resolver).getProcedure()} in org.apache.cayenne.map.EntityResolver;
+      - removed final String USING_EXTERNAL_TRANSACTIONS_PROPERTY = "cayenne.DataDomain.usingExternalTransactions"; final boolean USING_EXTERNAL_TRANSACTIONS_DEFAULT = false;
+      {since 4.0 See Constants#SERVER_EXTERNAL_TX_PROPERTY} in org.apache.cayenne.access.DataDomain;
+      - removed static final String EVENT_BRIDGE_FACTORY_DEFAULT = "org.apache.cayenne.event.JavaGroupsBridgeFactory"; static final String
+      REMOTE_NOTIFICATION_PROPERTY = "cayenne.DataRowStore.remote.notify"; static final String SNAPSHOT_EXPIRATION_PROPERTY = "cayenne.DataRowStore.snapshot.expiration";
+      {since 4.0 does nothing} in org.apache.cayenne.access.DataRowStore;
+      - removed static final String SNAPSHOT_CACHE_SIZE_PROPERTY = "cayenne.DataRowStore.snapshot.size"; {since 4.0, use org.apache.cayenne.configuration.Constants#SNAPSHOT_CACHE_SIZE_PROPERTY}
+      in org.apache.cayenne.access.DataRowStore;
+      - removed static final String EVENT_BRIDGE_FACTORY_PROPERTY = "cayenne.DataRowStore.EventBridge.factory"; {since 4.0 DataRowStoreFactory establishes EventBridge}
+       in org.apache.cayenne.access.DataRowStore;
+      - removed static final boolean REMOTE_NOTIFICATION_DEFAULT = false; {without usages} in org.apache.cayenne.access.DataRowStore;
+      - removed boolean notifyingRemoteListeners; {since 4.0 does nothing} in org.apache.cayenne.access.DataRowStore;
+      - removed boolean isNotifyingRemoteListeners(); void setNotifyingRemoteListeners(boolean notifyingRemoteListeners); {since 4.0 never used} in org.apache.cayenne.access.DataRowStore;
+
+
 
 UPGRADING TO 4.1.M1
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbGeneratorMojo.java
----------------------------------------------------------------------
diff --git a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbGeneratorMojo.java b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbGeneratorMojo.java
index cd47dc3..2b50ade 100644
--- a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbGeneratorMojo.java
+++ b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbGeneratorMojo.java
@@ -111,12 +111,6 @@ public class DbGeneratorMojo extends AbstractMojo {
     @Parameter(defaultValue = "true")
     private boolean createFK;
 
-    /**
-     * @deprecated use {@code <dataSource>} tag to set connection properties
-     */
-    @Deprecated @Parameter(name = "driver", property = "driver")
-    private final String oldDriver = "";             // TODO remove in 4.0.BETA
-
     public void execute() throws MojoExecutionException, MojoFailureException {
 
         Logger logger = new MavenLogger(this);
@@ -169,9 +163,4 @@ public class DbGeneratorMojo extends AbstractMojo {
         return injector.getInstance(DataMapLoader.class).load(new URLResource(map.toURI().toURL()));
     }
 
-    @Deprecated
-    public void setDriver(String driver) {
-        throw new UnsupportedOperationException("Connection properties were replaced with <dataSource> tag since 4.0.M5.\n" +
-                "\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects");
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
----------------------------------------------------------------------
diff --git a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
index fc1a4e4..ab04c83 100644
--- a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
+++ b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
@@ -76,36 +76,6 @@ public class DbImporterMojo extends AbstractMojo {
     @Parameter(name = "dbimport", property = "dbimport", alias = "dbImport")
     private ReverseEngineering dbImportConfig = new ReverseEngineering();
 
-    /**
-     * @deprecated use {@code <dataSource>} tag to set connection properties
-     */
-    @Deprecated @Parameter(name = "url", property = "url")
-    private final String oldUrl = "";                // TODO remove in 4.0.BETA
-
-    /**
-     * @deprecated moved to {@code <dbimport>} section
-     */
-    @Deprecated @Parameter(name = "meaningfulPkTables", property = "meaningfulPkTables")
-    private final String oldMeaningfulPkTables = ""; // TODO remove in 4.0.BETA
-
-    /**
-     * @deprecated use {@code <dataSource>} tag to set connection properties
-     */
-    @Deprecated @Parameter(name = "driver", property = "driver")
-    private final String oldDriver = "";             // TODO remove in 4.0.BETA
-
-    /**
-     * @deprecated moved to {@code <dbimport>} section
-     */
-    @Deprecated @Parameter(name = "defaultPackage", property = "defaultPackage")
-    private final String oldDefaultPackage = "";     // TODO remove in 4.0.BETA
-
-    /**
-     * @deprecated renamed to {@code <dbimport>},  remove in 4.0.BETA
-     */
-    @Deprecated @Parameter
-    public OldReverseEngineering reverseEngineering;
-
     public void execute() throws MojoExecutionException, MojoFailureException {
 
         Logger logger = new MavenLogger(this);
@@ -196,30 +166,6 @@ public class DbImporterMojo extends AbstractMojo {
         return dbImportConfig;
     }
 
-    // TODO ⬇⬇⬇ All following setters should be removed in 4.0.BETA ⬇⬇⬇
-    @Deprecated
-    public void setUrl(String url) {
-        throw new UnsupportedOperationException("\nConnection properties were replaced with <dataSource> tag since 4.0.M5.\n" +
-                "\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects");
-    }
-
-    @Deprecated
-    public void setDriver(String driver) {
-        throw new UnsupportedOperationException("\nConnection properties were replaced with <dataSource> tag since 4.0.M5.\n" +
-                "\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects");
-    }
-
-    @Deprecated
-    public void setMeaningfulPkTables(String meaningfulPkTables) {
-        throw new UnsupportedOperationException("\nmeaningfulPkTables property has been moved to <dbimport> tag since 4.0.M5.\n" +
-                "\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects");
-    }
-
-    @Deprecated
-    public void setDefaultPackage(String defaultPackage) {
-        throw new UnsupportedOperationException("\ndefaultPackage property has been moved to <dbimport> tag since 4.0.M5.\n" +
-                "\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects");
-    }
 }
 
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/OldReverseEngineering.java
----------------------------------------------------------------------
diff --git a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/OldReverseEngineering.java b/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/OldReverseEngineering.java
deleted file mode 100644
index b2fd7e6..0000000
--- a/maven-plugins/cayenne-maven-plugin/src/main/java/org/apache/cayenne/tools/OldReverseEngineering.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne.tools;
-
-import java.util.Collection;
-import java.util.LinkedList;
-
-import org.apache.cayenne.dbsync.reverse.dbimport.Catalog;
-import org.apache.cayenne.dbsync.reverse.dbimport.ExcludeColumn;
-import org.apache.cayenne.dbsync.reverse.dbimport.ExcludeProcedure;
-import org.apache.cayenne.dbsync.reverse.dbimport.ExcludeTable;
-import org.apache.cayenne.dbsync.reverse.dbimport.IncludeColumn;
-import org.apache.cayenne.dbsync.reverse.dbimport.IncludeProcedure;
-import org.apache.cayenne.dbsync.reverse.dbimport.IncludeTable;
-import org.apache.cayenne.dbsync.reverse.dbimport.Schema;
-
-/**
- * @since 4.0
- * @deprecated this class exists only to catch old configuration and warn about it.
- *             Can be deleted with deprecated members of {@link DbImporterMojo}.
- */
-@Deprecated
-public class OldReverseEngineering {
-    private String name;
-    private Boolean skipRelationshipsLoading;
-    private Boolean skipPrimaryKeyLoading;
-    private String meaningfulPkTables;
-    private String stripFromTableNames;
-    private boolean usePrimitives;
-
-    private final Collection<Schema> schemaCollection = new LinkedList<>();
-    private final Collection<String> tableTypes = new LinkedList<>();
-    private final Collection<Catalog> catalogCollection = new LinkedList<>();
-    private final Collection<IncludeTable> includeTableCollection = new LinkedList<>();
-    private final Collection<ExcludeTable> excludeTableCollection = new LinkedList<>();
-    private final Collection<IncludeColumn> includeColumnCollection = new LinkedList<>();
-    private final Collection<ExcludeColumn> excludeColumnCollection = new LinkedList<>();
-    private final Collection<IncludeProcedure> includeProcedureCollection = new LinkedList<>();
-    private final Collection<ExcludeProcedure> excludeProcedureCollection = new LinkedList<>();
-
-    private void throwException() {
-        throw new UnsupportedOperationException("\n<reverseEngineering> tag has been renamed to <dbimport> since 4.0.M5.\n" +
-                "\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects");
-    }
-
-    public void setName(String name) {
-        throwException();
-    }
-    public void addTableType(String type) {
-        throwException();
-    }
-    public void addCatalog(Catalog catalog) {
-        throwException();
-    }
-    public void addSchema(Schema schema) {
-        throwException();
-    }
-    public void addIncludeColumn(IncludeColumn includeColumn) {
-        throwException();
-    }
-    public void addExcludeColumn(ExcludeColumn excludeColumn) {
-        throwException();
-    }
-    public void addIncludeTable(IncludeTable includeTable) {
-        throwException();
-    }
-    public void addExcludeTable(ExcludeTable excludeTable) {
-        throwException();
-    }
-    public void addIncludeProcedure(IncludeProcedure includeProcedure) {
-        throwException();
-    }
-    public void addExcludeProcedure(ExcludeProcedure excludeProcedure) {
-        throwException();
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java
index 31a9567..21dbc8b 100644
--- a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java
+++ b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelHelper.java
@@ -50,16 +50,6 @@ public class EOModelHelper {
 	protected DataMap dataMap;
 	private Map prototypeValues;
 
-	/**
-	 * Creates helper instance and tries to locate EOModel and load index file.
-	 * 
-	 * @deprecated since 4.0, use {@link #EOModelHelper(URL)}.
-	 */
-	@Deprecated
-	public EOModelHelper(String path) throws Exception {
-		this(new File(path).toURI().toURL());
-	}
-
 	public EOModelHelper(URL modelUrl) throws Exception {
 
 		this.modelUrl = modelUrl;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/SimpleCharStream.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/SimpleCharStream.java b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/SimpleCharStream.java
index 7b94e10..827ee88 100644
--- a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/SimpleCharStream.java
+++ b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/parser/SimpleCharStream.java
@@ -214,24 +214,6 @@ public class SimpleCharStream
      return (c);
   }
 
-  /**
-   * @deprecated 
-   * @see #getEndColumn
-   */
-  @Deprecated
-  public int getColumn() {
-     return bufcolumn[bufpos];
-  }
-
-  /**
-   * @deprecated 
-   * @see #getEndLine
-   */
-  @Deprecated
-  public int getLine() {
-     return bufline[bufpos];
-  }
-
   public int getEndColumn() {
      return bufcolumn[bufpos];
   }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/b3f7402c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 0f86ba0..5ce82ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,7 +63,6 @@
 		<module>cayenne-dbsync</module>
 		<module>cayenne-di</module>
 		<module>cayenne-gradle-plugin</module>
-		<module>cayenne-java8</module>
 		<module>cayenne-jcache</module>
 		<module>cayenne-joda</module>
 		<module>cayenne-lifecycle</module>


[25/30] cayenne git commit: CAY-2377. Cleanup ServerRuntime and ServerRuntimeBuilder

Posted by nt...@apache.org.
CAY-2377. Cleanup ServerRuntime and ServerRuntimeBuilder


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

Branch: refs/heads/master
Commit: ad9d9347cca4afb3fef3f0f42872dcc8096e9d59
Parents: 72a3a52
Author: Arseni Bulatski <an...@gmail.com>
Authored: Mon Nov 13 10:45:18 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:48 2017 +0300

----------------------------------------------------------------------
 .../configuration/server/ServerRuntime.java     | 47 --------------------
 .../server/ServerRuntimeBuilder.java            | 12 +----
 .../configuration/server/ServerRuntimeTest.java | 39 ++--------------
 .../unit/di/server/ServerRuntimeProvider.java   |  9 ++--
 docs/doc/src/main/resources/UPGRADE.txt         |  3 ++
 5 files changed, 14 insertions(+), 96 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad9d9347/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntime.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntime.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntime.java
index b8c55f6..4a0f22f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntime.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntime.java
@@ -65,53 +65,6 @@ public class ServerRuntime extends CayenneRuntime {
         return new ServerRuntimeBuilder(name);
     }
 
-    @Deprecated
-    private static Collection<Module> collectModules(final String[] configurationLocations, Module... extraModules) {
-        Collection<Module> modules = new ArrayList<>();
-        modules.add(new ServerModule());
-
-        if (configurationLocations.length > 0) {
-            modules.add(binder -> {
-                ListBuilder<String> locationsBinder = ServerModule.contributeProjectLocations(binder);
-                for (String c : configurationLocations) {
-                    locationsBinder.add(c);
-                }
-            });
-        }
-
-        if (extraModules != null) {
-            modules.addAll(asList(extraModules));
-        }
-
-        return modules;
-    }
-
-    /**
-     * Creates a server runtime configuring it with a standard set of services
-     * contained in {@link ServerModule}. CayenneServerModule is created with
-     * provided 'configurationLocation'. An optional array of extra modules may
-     * contain service overrides and/or user services.
-     *
-     * @deprecated since 4.0 use {@link ServerRuntime#builder()}.
-     */
-    @Deprecated
-    public ServerRuntime(String configurationLocation, Module... extraModules) {
-        this(collectModules(new String[]{configurationLocation}, extraModules));
-    }
-
-    /**
-     * Creates a server runtime configuring it with a standard set of services
-     * contained in {@link ServerModule}. CayenneServerModule is created with
-     * one or more 'configurationLocations'. An optional array of extra modules
-     * may contain service overrides and/or user services.
-     *
-     * @deprecated since 4.0 use {@link ServerRuntime#builder()}.
-     */
-    @Deprecated
-    public ServerRuntime(String[] configurationLocations, Module... extraModules) {
-        this(collectModules(configurationLocations, extraModules));
-    }
-
     /**
      * Creates a server runtime configuring it with a standard set of services
      * contained in {@link ServerModule}. CayenneServerModule is created with

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad9d9347/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
index 208eb3b..6bb1742 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
@@ -61,12 +61,8 @@ public class ServerRuntimeBuilder {
 
     /**
      * Creates an empty builder.
-     *
-     * @deprecated since 4.0.M5 in favor of {@link ServerRuntime#builder()}
      */
-    @Deprecated
-    // TODO remove once we are comfortable with removal of the deprecated API
-    public ServerRuntimeBuilder() {
+    protected ServerRuntimeBuilder() {
         this(null);
     }
 
@@ -74,12 +70,8 @@ public class ServerRuntimeBuilder {
      * Creates a builder with a fixed name of the DataDomain of the resulting
      * ServerRuntime. Specifying explicit name is often needed for consistency
      * in runtimes merged from multiple configs, each having its own name.
-     *
-     * @deprecated since 4.0.M5 in favor of {@link ServerRuntime#builder(String)}
      */
-    @Deprecated
-    // TODO make private once we are comfortable with removal of the deprecated API
-    public ServerRuntimeBuilder(String name) {
+    protected ServerRuntimeBuilder(String name) {
         this.configs = new LinkedHashSet<>();
         this.modules = new ArrayList<>();
         this.name = name;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad9d9347/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java
index e422a94..2928712 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java
@@ -37,6 +37,7 @@ import org.junit.Test;
 
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import static java.util.Arrays.asList;
@@ -73,38 +74,6 @@ public class ServerRuntimeTest {
 
     }
 
-    @Deprecated
-    @Test
-    public void testDefaultConstructor_SingleLocation() {
-        ServerRuntime runtime = new ServerRuntime("xxxx");
-
-        List<String> locations = runtime.getInjector().getInstance(
-                Key.getListOf(String.class, Constants.SERVER_PROJECT_LOCATIONS_LIST));
-
-        assertEquals(Arrays.asList("xxxx"), locations);
-
-        Collection<Module> modules = runtime.getModules();
-        assertEquals(2, modules.size());
-        Module m0 = modules.iterator().next();
-        assertTrue(m0 instanceof ServerModule);
-    }
-
-    @Test
-    @Deprecated
-    public void testDefaultConstructor_MultipleLocations() {
-        ServerRuntime runtime = new ServerRuntime(new String[]{"xxxx", "yyyy"});
-
-        List<String> locations = runtime.getInjector().getInstance(
-                Key.getListOf(String.class, Constants.SERVER_PROJECT_LOCATIONS_LIST));
-
-        assertEquals(Arrays.asList("xxxx", "yyyy"), locations);
-
-        Collection<Module> modules = runtime.getModules();
-        assertEquals(2, modules.size());
-        Module m0 = modules.iterator().next();
-        assertTrue(m0 instanceof ServerModule);
-    }
-
     @Test
     @Deprecated
     public void testConstructor_Modules() {
@@ -125,7 +94,6 @@ public class ServerRuntimeTest {
     }
 
     @Test
-    @Deprecated
     public void testGetDataChannel_CustomModule() {
         final DataChannel channel = new DataChannel() {
 
@@ -148,12 +116,11 @@ public class ServerRuntimeTest {
 
         Module module = binder -> binder.bind(DataChannel.class).toInstance(channel);
 
-        ServerRuntime runtime = new ServerRuntime("Yuis", module);
+        ServerRuntime runtime = new ServerRuntime(Collections.singleton(module));
         assertSame(channel, runtime.getChannel());
     }
 
     @Test
-    @Deprecated
     public void testGetObjectContext_CustomModule() {
         final ObjectContext context = new DataContext();
         final ObjectContextFactory factory = new ObjectContextFactory() {
@@ -169,7 +136,7 @@ public class ServerRuntimeTest {
 
         Module module = binder -> binder.bind(ObjectContextFactory.class).toInstance(factory);
 
-        ServerRuntime runtime = new ServerRuntime("mnYw", module);
+        ServerRuntime runtime = new ServerRuntime(Collections.singleton(module));
         assertSame(context, runtime.newContext());
         assertSame(context, runtime.newContext());
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad9d9347/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
index 5155cdb..1531f91 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
@@ -51,7 +51,7 @@ public class ServerRuntimeProvider implements Provider<ServerRuntime> {
         this.unitDbAdapter = unitDbAdapter;
     }
 
-    @SuppressWarnings("deprecation")
+    @SuppressWarnings("unchecked")
     @Override
     public ServerRuntime get() throws ConfigurationException {
 
@@ -61,9 +61,12 @@ public class ServerRuntimeProvider implements Provider<ServerRuntime> {
                     + "annotate your test case with @UseServerRuntime");
         }
 
-        Collection<? extends Module> modules = getExtraModules();
+        Collection modules = getExtraModules();
 
-        return new ServerRuntime(configurationLocation, modules.toArray(new Module[modules.size()]));
+        return ServerRuntime.builder()
+                        .addConfig(configurationLocation)
+                        .addModules(modules)
+                        .build();
     }
 
     protected Collection<? extends Module> getExtraModules() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad9d9347/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index cc3ebc1..23ce6cd 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -266,6 +266,9 @@ UPGRADING TO 4.1.M2
 
       - removed setDataMap from buildQuery() in SQLTemplateDescriptor, SelectQueryDescriptor, ProcedureQueryDescriptor and EJBQLQueryDescriptor;
       - removed setDataMap from org.apache.cayenne.AbstractQuery and from org.apache.cayenne.query.EJBQLQuery;
+      - removed ServerRuntime(String configurationLocation, Module... extraModules), ServerRuntime(String[] configurationLocations, Module... extraModules) and
+      Collection<Module> collectModules(final String[] configurationLocations, Module... extraModules) from org.apache.cayenne.configuration.server.ServerRuntime;
+
 
 UPGRADING TO 4.1.M1
 


[26/30] cayenne git commit: CAY-2377. Cleanup deprecated code.

Posted by nt...@apache.org.
CAY-2377. Cleanup deprecated code.


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

Branch: refs/heads/master
Commit: 62056c6bfb192cce28bda826fba711b2e430eef4
Parents: 97a5188
Author: Arseni Bulatski <an...@gmail.com>
Authored: Tue Nov 14 11:44:36 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 11:35:09 2017 +0300

----------------------------------------------------------------------
 .../configuration/server/ServerRuntimeTest.java |   1 -
 docs/doc/src/main/resources/UPGRADE.txt         | 300 ++-----------------
 2 files changed, 33 insertions(+), 268 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/62056c6b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java
index 2928712..c4c4ce8 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeTest.java
@@ -75,7 +75,6 @@ public class ServerRuntimeTest {
     }
 
     @Test
-    @Deprecated
     public void testConstructor_Modules() {
 
         final boolean[] configured = new boolean[2];

http://git-wip-us.apache.org/repos/asf/cayenne/blob/62056c6b/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 7a94e9e..877b4be 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -7,273 +7,39 @@ IMPORTANT: be sure to read all notes for the intermediate releases between your
 UPGRADING TO 4.1.M2
 
 * Per CAY-2377 Cleanup deprecated code
-      - removed void objEntityAdded(ObjEntity entity) in org.apache.cayenne.dbsync.reverse.dbload.DefaultDbLoaderDelegate
-      and in org.apache.cayenne.dbsync.reverse.DbLoaderDelegate;
-      - removed void objEntityRemoved(ObjEntity entity) in org.apache.cayenne.dbsync.reverse.dbload.DefaultDbLoaderDelegate
-      and in org.apache.cayenne.dbsync.reverse.DbLoaderDelegate;
-      - removed cayenne-java8 module and remove cayenne-java8 module from pom.xml;
-      - removed org.apache.cayenne.lifecycle.sort.SortWeight and org.apache.cayenne.lifecycle.sort.WeightedAshwoodEntitySorter
-      with tests. Since 4.0 moved to cayenne server org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter,
-      org.apache.cayenne.ashwood.SortWeight;
-      - removed CayenneProjectModule from org.apache.cayenne.project since 4.0 renamed to ProjectModule;
-      - removed int getLine() renamed to getEndLine() and int getColumn() renamed to getEndColumn() in
-      org.apache.cayenne.wocompat.parser.SimpleCharStream;
-      - removed EOModelHelper(String path) since 4.0 use EOModelHelper(URL) in org.apache.cayenne.wocompat.EOModelHelper;
-      - removed <T> ListBuilder<T> bindList(String bindingName) since 4.0 use type-safe methods Binder#bindList(Class)
-      or Binder#bindList(Class, String) in org.apache.cayenne.di.Binder and org.apache.cayenne.di.spi.DefaultBinder;
-      - removed <T> MapBuilder<T> bindMap(String bindingName) since 4.0 use type-safe methods Binder#bindMap(Class) or
-      Binder#bindMap(Class, String) in org.apache.cayenne.di.Binder and org.apache.cayenne.di.spi.DefaultBinder with test
-      in DefaultInjectorInjectionTest void mapInjectionDeprecated();
-      - removed String oldDriver = "" use {@code <dataSource>} tag to set connection properties in
-      org.apache.cayenne.tools.DbGeneratorMojo;
-      - removed void setUrl(String url); void setDriver(String driver), void setMeaningfulPkTables(String meaningfulPkTables),
-      void setDefaultPackage(String defaultPackage) in org.apache.cayenne.tools.DbImporterMojo;
-      - removed String oldUrl = ""; String oldMeaningfulPkTables = ""; String oldDriver = ""; String oldDefaultPackage = "";
-      public OldReverseEngineering reverseEngineering; in org.apache.cayenne.tools.DbImporterMojo;
-      - removed org.apache.cayenne.tools.OldReverseEngineering
-      - removed void setDriver(String driver) in org.apache.cayenne.tools.DbGeneratorMojo;
-      - removed String makePath(String... pathParts) in org.apache.cayenne.CayenneDataObject;
-      - removed void addListener(LifecycleEvent type, Class<?> entityClass, String methodName);
-      since 4.0 renamed to addCallback(LifecycleEvent, Class, String) in org.apache.cayenne.reflect.LifecycleCallbackRegistry
-      - removed ClassLoader getClassLoader() {since 4.0 unused, as AdhocObjectFactory.getClassLoader() is used instead} in
-      org.apache.cayenne.resource.ClassLoaderResourceLocator;
-      - removed int getLine(); int getColumn(); {@see #getEndColumn, @see #getEndLine} in org.apache.cayenne.exp.parser.JavaCharStream;
-      - removed void encodeAsEJBQL(PrintWriter pw, String rootId); void encodeAsString(PrintWriter pw) since 4.0 use
-      {appendAsEJBQL(Appendable, String), appendAsString(Appendable)} in org.apache.cayenne.exp.parser.SimpleNode;
-      - removed void setPassword(String password); void setUserName(String userName) {since 4.0. Connection parameters are immutable.} in
-      org.apache.cayenne.datasource.DriverDataSource;
-      - removed String getUserName(); String getPassword() {since 4.0. Connection parameters are immutable and not readable.} in
-      org.apache.cayenne.datasource.DriverDataSource;
-      - removed void setConnectionUrl(String connectionUrl)  {since 4.0. Connection parameters are immutable and not readable.} in
-      org.apache.cayenne.datasource.DriverDataSource;
-      - removed void getConnectionUrl()  {since 4.0. Connection parameters are immutable and not readable.} in
-      org.apache.cayenne.datasource.DriverDataSource;
-      - removed BatchTranslatorFactory getBatchQueryBuilderFactory(); void setBatchQueryBuilderFactory(BatchTranslatorFactory batchQueryBuilderFactory)
-      {since 4.0 BatchQueryBuilderfactory is attached to the DataNode} in org.apache.cayenne.dba.JdbcAdapter;
-      - removed Expression fromString(String expressionString) {since 4.0 use ExpressionFactory#exp(String, Object...)} in
-      org.apache.cayenne.exp.Expression;
-      - removed abstract void encodeAsEJBQL(PrintWriter pw, String rootId); {since 4.0 use appendAsEJBQL(Appendable, String)} in
-      org.apache.cayenne.exp.Expression;
-      - removed abstract void encodeAsString(PrintWriter pw); {since 4.0 use appendAsString(Appendable)} in
-      org.apache.cayenne.exp.Expression;
-      - removed ObjectContext getContext(); ObjectContext getContext(DataChannel parentChannel)
-      {since 3.1 use better named newContext(); newContext(DataChannel)} instead} in org.apache.cayenne.configuration.CayenneRuntime;
-      - removed ROP_SERVICE_URL_PROPERTY, ROP_SERVICE_USERNAME_PROPERTY, ROP_SERVICE_PASSWORD_PROPERTY, ROP_SERVICE_REALM_PROPERTY,
-      ROP_SERVICE_USE_ALPN_PROPERTY, ROP_SERVICE_SHARED_SESSION_PROPERTY, ROP_SERVICE_TIMEOUT_PROPERTY, ROP_CHANNEL_EVENTS_PROPERTY,
-      ROP_CONTEXT_CHANGE_EVENTS_PROPERTY, ROP_CONTEXT_LIFECYCLE_EVENTS_PROPERTY {since 4.0 moved to cayenne-client
-      org.apache.cayenne.configuration.rop.client.ClientConstants} in org.apache.cayenne.configuration.Constants;
-      - removed void logConnect(String dataSource); void logConnect(String url, String userName, String password);
-      void logPoolCreated(DataSourceInfo dsi); void logConnectSuccess(); void logConnectFailure(Throwable th);
-      {since 4.0 connection events are logged by the DataSources using their own logger} in
-      org.apache.cayenne.log.JdbcEventLogger and in org.apache.cayenne.log.NoopJdbcEventLogger and in org.apache.cayenne.log.Slf4jJdbcEventLogger;
-      - removed void clearCache(); {since 4.0 in favor of refreshMappingCache()} in org.apache.cayenne.map.EntityResolver;
-      - removed Collection<SQLResult> getResultSets(); {since 4.0 use getResults()} in org.apache.cayenne.map.EntityResolver;
-      - removed EntityInheritanceTree lookupInheritanceTree(String entityName) {since 4.0 use getInheritanceTree(String)} in org.apache.cayenne.map.EntityResolver;
-      - removed Procedure lookupProcedure(Query q) {since 4.0 use q.getMetaData(resolver).getProcedure()} in org.apache.cayenne.map.EntityResolver;
-      - removed final String USING_EXTERNAL_TRANSACTIONS_PROPERTY = "cayenne.DataDomain.usingExternalTransactions"; final boolean USING_EXTERNAL_TRANSACTIONS_DEFAULT = false;
-      {since 4.0 See Constants#SERVER_EXTERNAL_TX_PROPERTY} in org.apache.cayenne.access.DataDomain;
-      - removed static final String EVENT_BRIDGE_FACTORY_DEFAULT = "org.apache.cayenne.event.JavaGroupsBridgeFactory"; static final String
-      REMOTE_NOTIFICATION_PROPERTY = "cayenne.DataRowStore.remote.notify"; static final String SNAPSHOT_EXPIRATION_PROPERTY = "cayenne.DataRowStore.snapshot.expiration";
-      {since 4.0 does nothing} in org.apache.cayenne.access.DataRowStore;
-      - removed static final String SNAPSHOT_CACHE_SIZE_PROPERTY = "cayenne.DataRowStore.snapshot.size"; {since 4.0, use org.apache.cayenne.configuration.Constants#SNAPSHOT_CACHE_SIZE_PROPERTY}
-      in org.apache.cayenne.access.DataRowStore;
-      - removed static final String EVENT_BRIDGE_FACTORY_PROPERTY = "cayenne.DataRowStore.EventBridge.factory"; {since 4.0 DataRowStoreFactory establishes EventBridge}
-       in org.apache.cayenne.access.DataRowStore;
-      - removed static final boolean REMOTE_NOTIFICATION_DEFAULT = false; {without usages} in org.apache.cayenne.access.DataRowStore;
-      - removed boolean notifyingRemoteListeners; {since 4.0 does nothing} in org.apache.cayenne.access.DataRowStore;
-      - removed boolean isNotifyingRemoteListeners(); void setNotifyingRemoteListeners(boolean notifyingRemoteListeners); {since 4.0 never used} in org.apache.cayenne.access.DataRowStore;
-      - removed <taskdef name="cdataport" classname="org.apache.cayenne.tools.DataPortTask"/> in org.apache.cayenne.tools.antlib.xml;
-      - removed org.apache.cayenne.tools.AntDataPortDelegate and org.apache.cayenne.tools.DataPortTask;
-      - removed AntDataPortDelegateTest in org.apache.cayenne.tools.AntDataPortDelegateTest;
-      - removed List<?> filter(List<?> items) in org.apache.cayenne.dbsync.NamePatternMatcher {begore used in AntDataPortDelegate wich was removed};
-      - removed org.apache.cayenne.access.DataPort;
-      - removed org.apache.cayenne.access.DataPortDelegate;
-      - removed org.apache.cayenne.cache.invalidation.InvalidationFunction;
-      - removed DataMap loadEOModel(String path) {since 4.0 in favor of loadEOModel(URL)} in org.apache.cayenne.wocompat;
-      - removed DataMap loadEOModel(String path, boolean generateClientClass) {since 4.0 in favor of loadEOModel(URL, boolean)} in org.apache.cayenne.wocompat;
-      - removed Map loadModeIndex(URL url) {since 4.0 in favor of loadModeIndex(URL)} in org.apache.cayenne.wocompat;
-      - removed org.apache.cayenne.lifecycle.audit;
-      - removed org.apache.cayenne.lifecycle.changeset;
-      - removed org.apache.cayenne.lifecycle.audit in tests;
-      - removed from org.apache.cayenne.lifecycle.db and org.apache.cayenne.lifecycle.db.auto classes with @Audit annotation;
-      - removed Audit db-entities, obj-entities and relationships from lifecycle-map.map.xml;
-      - removed org.apache.cayenne.lifecycle.unit {no usage};
-      - removed org.apache.cayenne.access.Transaction {since 4.0. For manual transaction management use BaseTransaction or
-      ServerRuntime#performInTransaction(org.apache.cayenne.tx.TransactionalOperation) Also note that since 4.0 an actual Transaction is an interface
-      located in a different package: org.apache.cayenne.tx.Transaction};
-      - removed boolean isClosingConnection(); void setClosingConnection(boolean flag) {since 4.0 always returns false; since 4.0 does nothing.
-      Connection closing is outside the scope of this iterator. See ConnectionAwareResultIterator} in org.apache.cayenne.jdbc.JDBCResultIterator;
-      - removed Expression expWithParameters(Map<String, ?> parameters) {since 4.0 use #params(Map)} in org.apache.cayenne.exp.Expression;
-      - removed Expression expWithParameters(Map<String, ?> parameters, boolean pruneMissing) {since 4.0 use #params(Map, boolean)}
-      in org.apache.cayenne.exp.Expression;
-      - removed org.apache.cayenne.exp.Expression_ParamsLegacyTest;
-      - removed Property(final String name) {use factory method Property.create("propertyName", PropertyType.class)} in org.apache.cayenne.exp.Property;
-      - removed void testDeprecatedConstruct(); in org.apache.cayenne.exp.PropertyTest;
-      - removed void testDeprecatedConstruct(); in org.apache.cayenne.query.ColumnSelectIT;
-      - removed void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting); {since 4.0 use
-      logQueryParameters(String, ParameterBinding[])} in org.apache.cayenne.log.JdbcEventLogger;
-      - removed void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting) in org.apache.cayenne.log.Slf4jJdbcEventLogger;
-      - removed void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting) in org.apache.cayenne.log.NoopJdbcEventLogger;
-      - removed void logQuery(String sql, List<?> params); {since 4.0 use logQuery(String, ParameterBinding[])} in org.apache.cayenne.log.JdbcEventLogger;
-      - removed void logQuery(String queryStr, List<?> params) in org.apache.cayenne.log.Slf4jJdbcEventLogger;
-      - removed void logQuery(String sql, List<?> params) in org.apache.cayenne.log.NoopJdbcEventLogger;
-      - removed void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time); {since 4.0 use logQuery(String, ParameterBinding[])}
-      in org.apache.cayenne.log.JdbcEventLogger;
-      - removed void logQuery(String queryStr, List<DbAttribute> attrs, List<?> params, long time); in org.apache.cayenne.log.Slf4jJdbcEventLogger;
-      - removed void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time); in org.apache.cayenne.log.NoopJdbcEventLogger;
-      - removed void logQuery(String queryStr, List<DbAttribute> attrs, List<?> params, long time) in org.apache.cayenne.log.FormattedSlf4jJdbcEventLogger;
-      - removed void buildLog(StringBuilder buffer, String prefix, String postfix, List<DbAttribute> attributes, List<?> parameters, boolean isInserting);
-      {since 4.0 uses old style of parameter logging} in org.apache.cayenne.log.Slf4jJdbcEventLogger;
-      - removed void sqlLiteralForObject(StringBuilder buffer, Object object); {his should go away once we can remove 4.0 deprecated API. The actual logic for printing a value is now
-      spread around the ExtendedTypes} in org.apache.cayenne.log.Slf4jJdbcEventLogger;
-      - removed test void testSqlLiteralForObject() in org.apache.cayenne.log;
-      - removed QuotingStrategy getQuotingStrategy(boolean needQuotes); {since 4.0 use getQuotingStrategy()} in org.apache.cayenne.dba.DbAdapter;
-      - removed QuotingStrategy getQuotingStrategy(boolean isQuoteStrategy) in org.apache.cayenne.dba.AutoAdapter and org.apache.cayenne.dba.JdbcAdapter;
-      - removed String quoteFullyQualifiedName(DbEntity entity); {since 4.0 renamed to quotedFullyQualifiedName(DbEntity)} in org.apache.cayenne.dba.QuotingStrategy;
-      - removed String quoteFullyQualifiedName(DbEntity entity); in org.apache.cayenne.dba.DefaultQuotingStrategy;
-      - removed String quoteString(String identifier); in org.apache.cayenne.dba.QuotingStrategy;
-      - removed String quoteString(String name); in org.apache.cayenne.dba.DefaultQuotingStrategy;
-      - removed DriverDataSource(String driverClassName, String connectionUrl) {since 4.0 as class loading should not happen here. Use DriverDataSource(Driver, String, String, String)}
-      in org.apache.cayenne.datasource.DriverDataSource;
-      - removed DriverDataSource(String driverClassName, String connectionUrl, String userName, String password) {since 4.0 as class loading should not happen here.
-      Use DriverDataSource(Driver, String, String, String)} in org.apache.cayenne.datasource.DriverDataSource;
-      - removed static Driver loadDriver(String driverClassName) {since 4.0 as class loading should not happen here} in org.apache.cayenne.datasource.DriverDataSource;
-      - removed Query getOrginatingQuery(); {since 4.0, use QueryMetadata#getOriginatingQuery()} in org.apache.cayenne.query.QueryMetadata;
-      - removed Query getOrginatingQuery(); in org.apache.Cayenne.query.QueryMetadataProxy;
-      - removed Query getOrginatingQuery(); in org.apache.cayenne.access.DataDomainQuery;
-      - removed Query getOrginatingQuery(); in org.apache.cayenne.access.ObjectsFromDataRowsQuery;
-      - removed Ehcache getDefaultCache() {since 4.0 - this method is no longer in use. If you are overriding it, override cacheName(QueryMetadata) instead.}
-      in org.apache.cayenne.cache.EhCacheQueryCache;
-      - removed ServerRuntimeBuilder builder() {since 4.0.M5 in favor of ServerRuntime#builder()} in org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
-      - removed ServerRuntimeBuilder builder(String name) {since 4.0.M5 in favor of ServerRuntime#builder(String)} in org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
-      - removed ObjEntity lookupObjEntity(Class<?> entityClass) {since 4.0, use getObjEntity(Class)} in org.apache.cayenne.map.EntityResolver;
-      - removed synchronized ObjEntity lookupObjEntity(Class aClass) in org.apache.cayenne.map.MockEntityResolver;
-      - removed boolean isIndexedByClass() {since 4.0. There's no replacement. This property is meaningless and is no longer respected by the code} in org.apache.cayenne.map.EntityResolver;
-      - removed void setIndexedByClass(boolean b) {since 4.0. There's no replacement. This property is meaningless and is no longer
-      respected by the code} in org.apache.cayenne.map.EntityResolver;
-      - removed protected boolean indexedByClass; in org.apache.cayenne.map.EntityResolver;
-      - removed void setEntityListenerFactory(EntityListenerFactory entityListenerFactory); {since 4.0 this method does nothing, as EntityResolver no longer loads listeners from its DataMaps.}
-      in org.apache.cayenne.map.EntityResolver;
-      - removed Procedure lookupProcedure(String procedureName) {since 4.0 use getProcedure(String)} in org.apache.cayenne.map.EntityResolver;
-      - removed ObjEntity lookupObjEntity(Object object) {4.0 a corresponding getObjEntity method should be used} in org.apache.cayenne.map.EntityResolver;
-      - removed Class<?> getJavaClass() {since 4.0 this method based on statically defined class loading algorithm is not going to work in environments like OSGi.
-      AdhocObjectFactory should be used as it can provide the environment-specific class loading policy.} in prg.apache.cayenne.map.Embeddable;
-      - removed void addDefaultEntityListener(EntityListener listener) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
-      - removed EntityListener getDefaultEntityListener(String className) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
-      - removed List<EntityListener> getDefaultEntityListeners() {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
-      - removed void removeDefaultEntityListener(String className) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
-      - removed void removeDefaultEntityListener(String className) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
-      - removed void addEntityListener(EntityListener listener) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.ObjEntity;
-      - removed EntityListener getEntityListener(String className) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.ObjEntity;
-      - removed List<EntityListener> getEntityListeners() {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
-      - removed boolean isExcludingDefaultListeners() {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
-      - removed boolean isExcludingSuperclassListeners() {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
-      - removed void removeEntityListener(String className) {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
-      - removed void setExcludingDefaultListeners(boolean excludingDefaultListeners) {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
-      - removed void setExcludingSuperclassListeners(boolean excludingSuperclassListeners) in org.apache.cayenne.map.ObjEntity;
-      - removed boolean excludingDefaultListeners in org.apache.cayenne.map.ObjEntity;
-      - removed boolean excludingSuperclassListeners in org.apache.cayenne.map.ObjEntity;
-      - removed List<EntityListener> defaultEntityListeners; {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
-      - removed List<EntityListener> entityListeners;  in org.apache.cayenne.map.ObjEntity;
-      - removed EntityListener getEntityListener(String className) in org.apache.cayenne.map.MockMappingNamespace;
-      - removed Query getOrginatingQuery() in org.apache.cayenne.remote.RangeQuery;
-      - removed EventBridge createServerEventBridge() {since 4.0. Factory creation should is handled by the client connection} in org.apache.cayenne.remote.RemoteSession;
-      - removed Query getOrginatingQuery() {use DefaultQueryMetadata#getOriginatingQuery()} in org.apache.cayenne.query.DefaultQueryMetadata;
-      - removed Query getOrginatingQuery() in org.apache.cayenne.query.MockQueryMetadata;
-      - removed Query getOrginatingQuery() {since 4.0, use BaseQueryMetadata#getOriginatingQuery()} in org.apache.cayenne.query.BaseQueryMetadata;
-      - removed Query getOrginatingQuery() in org.apache.cayenne.lifecycle.StringIdQuery;
-      - removed void setDataMap(DataMap dataMap) on org.apache.cayenne.lifecycle.StringIdQuery;
-      - removed void useLocalCache(String... cacheGroups) {since 4.0, use CacheableQuery#useLocalCache(String)} in org.apache.cayenne.org.apacche.cayenne.query.CacheableQuery with test
-      void testUseLocalCacheOld() in org.apache.cayenne.query.SelectQueryCacheKeyIT;
-      - removed int size() {since 4.0 use getRows().size()} in org.apache.cayenne.query.BatchQuery;
-      - removed DataMap getDataMap(); {since 4.0, QueryDescriptor#getDataMap() should be used instead} in org.apache.cayenne.query.Query;
-      - removed DataMap getDataMap()  in org.apache.cayenne.lifecycle.StringIdQuery;
-      - removed DataMap getDataMap() in org.apache.cayenne.query.RefreshQuery;
-      - removed DataMap getDataMap() in org.apache.cayenne.query.MockQuery;
-      - removed DataMap getDataMap() in org.apache.cayenne.query.IndirectQuery;
-      - removed DataMap getDataMap() in org.apache.cayenne.remote.IncrementalQuery;
-      - removed @deprecated from DataMap gerDataMap() in org.apache.cayenne.access.DataDomainQuery;
-      - removed @deprecated from DataMap gerDataMap() in org.apache.cayenne.access.ObjectsFromDataRowsQuery;
-      - removed DataMap getDataMap() in org.apache.cayenne.query.AbstractQuery;
-      - removed DataMap getDataMap() in org.apache.cayenne.query.BatchQuery;
-      - removed DataMap getDataMap() in org.apache.cayenne.query.EJBQLQuery;
-      - removed DataMap getDataMap() in org.apache.cayenne.query.QueryChain;
-      - removed DataMap getDataMap() in org.apache.cayenne.remote.RangeQuery;
-      - removed void setDataMap(DataMap dataMap) in org.apache.cayenne.query.IndirectQuery;
-      - removed void setDataMap(DataMap dataMap) in org.apache.cayenne.query.QueryChain;
-      - removed DataMap dataMap in org.apache.cayenne.query.QueryChain;
-      - removed DataMap dataMap in org.apache.cayenne.query.BatchQuery;
-      - removed void setDataMap(DataMap dataMap) in org.apache.cayenne.query.BatchQuery;
-      - change in void testUseSharedCache(): removed getCacheGroups() in org.apache.cayenne.query.SelectQueryCacheKeyIT;
-      - removed in void testCreateReplacementQuery_Bare()  getCacheGroups() in org.apache.cayenne.queryObjectSelect_CompileIT;
-      - removed in void testCreateReplacementQuery_Full()  getCacheGroups() in org.apache.cayenne.queryObjectSelect_CompileIT;
-      - removed String[] getCacheGroups() in org.apache.cayenne.query.QueryMetadataProxy;
-      - removed String[] getCacheGroups() {since 4.0, use ueryMetadataWrapper#getCacheKey()} in org.apache.cayenne.query.QueryMetadataWrapper;
-      - removed String[] getCacheGroups() {since 4.0, use IncrementalSelectQuery#getCacheGroup()} in org.apache.cayenne.remote.IncrementalSelectQuery;
-      - removed String[] getCacheGroups() {since 4.0, use CacheableQuery#getCacheGroup()} in org.apache.cayenne.query.CacheableQuery;
-      - removed String[] getCacheGroups() in org.apache.cayenne.access.ObjectsFromDataRowsQuery;
-      - removed String[] getCacheGroups() in org.apache.cayenne.query.MockQueryMetadata;
-      - removed String[] getCacheGroups() {since 4.0, use DefaultQueryMetadata#getCacheGroup()} in org.apache.cayenne.query.DefaultQueryMetadata;
-      - removed String[] getCacheGroups() in org.apache.cayenne.access.DataDomainQuery;
-      - removed String[] getCacheGroups() {since 4.0, use BaseQueryMetadata#getCacheGroup()} in org.apache.cayenne.query.BaseQueryMetadata;
-      - removed String[] getCacheGroups() in org.apache.cayenne.remote.RangeQuery;
-      - removed String[] getCacheGroups() in org.apache.cayenne.lifecycle.id.StringIdQuery;
-      - removed String[] getCacheGroups() in org.apache.cayenne.query.QueryMetadata;
-      - removed useSharedCache from void testUseSharedCache()  in org.apache.cayenne.query.SelectQueryCacheKeyIT;
-      - removed void useSharedCache(String... cacheGroups) {since 4.0, use CacheableQuery#useSharedCache(String)} in org.apache.cayenne.query.CacheableQuery;
-      - removed void setCacheGroups(String... groups) {since 4.0, use BaseQueryMetadata#setCacheGroup(String)} in org.apache.cayenne.query.BaseQueryMetadata;
-      - removed void setCacheGroups(String... cacheGroups) {since 4.0 only first cache group will be used use IncrementalSelectQuery#setCacheGroup(String)}
-      in org.apache.cayenne.remote.IncrementalSelectQuery;
-      - removed void setCacheGroups(String... cacheGroups) {since 4.0, use CacheableQuery#setCacheGroup(String)}
-      in org.apache.cayenne.query.CacheableQuery;
-      - removed applyObjectLayerDefaults() from org.apache.cayenne.configuration.server.DataDomainProvider;
-      - removed void applyObjectLayerDefaults() {since 4.0 does nothing} in org.apache.cayenne.map.EntityResolver;
-      - removed dataNode.setDataSourceLocation(nodeDescriptor.getParameters()); from org.apache.cayenne.configuration.server.DefaultDataNodeFactory;
-      - removed void testDataSourceLocation() in org.apache.cayenne.access.DataNodeIT;
-      - removed void setDataSourceLocation(String dataSourceLocation) from org.apache.cayenne.access.MockDataNode;
-      - removed void setDataSourceLocation(String dataSourceLocation) {since 4.0. This information is irrelevant at the DataNode level} from
-      org.apache.cayenne.access.DataNode;
-      - removed assertEquals(nodeDescriptor1.getParameters(), node1.getDataSourceLocation()); from org.apache.cayenne.configuration.server.DataDomainProviderTest;
-      - removed void getDataSourceLocation(String dataSourceLocation) from org.apache.cayenne.access.MockDataNode;
-      - removed void getDataSourceLocation(String dataSourceLocation) {since 4.0. This information is irrelevant at the DataNode level} from
-      org.apache.cayenne.access.DataNode;
-      - removed OSQueryCache in org.apache.cayenne.cache with tests;
-      - removed EhCacheQueryCache in org.apache.cayenne.cache with tests;
-      - removed Tstmap and _Tstmap org.apache.cayenne.testdo.testmap;
-      - removed MultiTier and _MultiTier in org.apache.cayenne.testdo.mt;
-      - removed ClientMultiTier and _ClientMultiTier in org.apache.cayenne.testdo.mt;
-      - removed NamedQueryTest in org.apache.cayenne.query.NamedQueryTest;
-      - removed NamedQuery in org.apache.cayenne.query;
-      - removed int size() in org.apache.cayenne.jcache.JCacheQueryCache and org.apache.cayenne.cache.NestedQueryCache;
-      - removed int size() in org.apache.cayenne.cache.QueryCache;
-      - deprecated getEOName() in org.apache.cayenne.wocompat.EOQuery;
-      - changes in org.apache.cayenne.modeler.DisplayEventType: Query getName change to QueryDescriptor getName();
-      - removed append(getName()) from toString() in org.apache.cayenne.query.AbstractQuery;
-      - removed getName() from org.apache.cayenne.wocompat.EOQueryTest, org.apache.cayenne.query.SelectQueryTest,
-      org.apache.cayenne.query.EJBQLQueryIT, org.apache.cayenne.query.SQLTemplate_LegacyTest, org.apache.cayenne.map.SelectQueryDescriptorTest
-      org.apache.cayenne.map.SQLTemplateDescriptorTest;
-      - removed getName() from org.apache.cayenne.query.AbstractQuery, from org.apache.cayenne.query.BatchQuery, org.apache.cayenne.access.DataDomainQuery,
-      org.apache.cayenne.query.EJBQLQuery, org.apache.cayenne.IncrementalQuery, org.apache.cayenne.remote.IncrementalSelectQuery, org.apache.cayenne.query.IndirectQuery,
-      org.apache.cayenne.access.ObjectsFromDataRowsQuery, org.apache.cayenne.query.QueryChain, org.apache.cayenne.remote.RangeQuery, org.apache.cayenne.lifecycle.id.StringIdQuery,
-      org.apache.cayenne.query.MockQuery, org.apache.cayenne.query.RefreshQuery; org.apache.cayenne.query.Query;
-      - removed setName(String name) from org.apache.cayenne.remote.IncrementalSelectQuery, org.apache.cayenne.map.SelectQueryDescriptor, org.apache.cayenne.map.SQLTemplateDescriptor,
-      org.apache.cayenne.map.ProcedureQueryDescriptor, org.apache.cayenne.query.FluentSelect, org.apache.cayenne.query.AbstractQuery org.apache.cayenne.query.EJBQLQuery, org.apache.cayenne.BatchQuery
-      org.apache.cayenne.query.QueryChain org.apache.cayenne.lifecycle.StringIdQuery;
-      - removed setName(String name) in org.apache.cayenne.query.SelectQueryCacheKeyIT, org.apache.cayenne.query.SQLTemplateCacheKeyIT, org.apache.cayenne.query.ProcedureQueryCacheKeyIT,
-      org.apache.cayenne.query.SQLTemplate_LegacyTest, org.apache.cayenne.query.MockAbstractQuery;
-
-      - removed String cacheKey from boolean resolve(Object root, EntityResolver resolver) arguments;
-
-      - removed setDataMap from buildQuery() in SQLTemplateDescriptor, SelectQueryDescriptor, ProcedureQueryDescriptor and EJBQLQueryDescriptor;
-      - removed setDataMap from org.apache.cayenne.AbstractQuery and from org.apache.cayenne.query.EJBQLQuery;
-      - removed ServerRuntime(String configurationLocation, Module... extraModules), ServerRuntime(String[] configurationLocations, Module... extraModules) and
-      Collection<Module> collectModules(final String[] configurationLocations, Module... extraModules) from org.apache.cayenne.configuration.server.ServerRuntime;
-      - removed org.apache.cayenne.configuration.rop.client.;
-      - removed ClientRuntime(Map<String, String> properties, Collection<Module> extraModules), ClientRuntime(Map<String, String> properties, Module... extraModules),
-      Collection<Module> collectModules(Map<String, String> properties, Module... extraModules), Collection<Module> collectModules(Map<String, String> properties, Collection<Module> extraModules)
-      from org.apache.cayenne.configuration.rop.client.ClientRuntime;
-      - removed ClientModule(Map<String, String> properties) in org.apache.cayenne.configuration.rop.client.ClientModule;
-      - removed ConfigurationLocations from org.apache.cayenne.configuration.ServerModule;
+      Per CAY-2377 Cleanup deprecated code
+            - Cleanup JdbcEventLogger and implementations.
+            - Remove getName(), setName(String name), getDataMap(), setDataMap(DataMap dataMap) from org.apache.cayenne.query.Query and from implementations.
+            - Cleanup org.apache.cayenne.map.*.
+            - Remove getQuotingStrategy(boolean isQuoteStrategy) from org.apache.cayenne.dba.DbAdapter, from org.apache.cayenne.dba.QuotingStrategy
+            and from implementations.
+            - Remove getCacheGroups(), getOrginatingQuery() from org.apache.cayenne.query.QueryMetadata and from implementations.
+            - Remove getCacheGroups(), useSharedCache(String... cacheGroups), setCacheGroups(String... cacheGroups) from org.aapche.cayenne.query.QueryMetadata and from implementations.
+            - Cleanup org.apache.cayenne.cache.EhCacheQueryCache and org.apache.cayenne.cache.NestedQueryCache.
+            - Cleanup org.apache.cayenne.access.*.
+            - Cleanup org.apache.cayenne.exp.*.
+            - Cleanup org.apache.cayenne.wocompat.*.
+            - Remove objEntityAdded(ObjEntity entity) and objEntityRemoved(ObjEntity entity) from org.apache.cayenne.dbsync.reverse.DbLoaderDelegate and from implementations.
+            - Cleanup org.apache.cayenne.tools.DbGeneratorMojo.
+            - Remove bindList(String bindingName) and bindMap(String bindingName) from org.apache.cayenne.di.Binder and from implementations.
+            - Cleanup org.apache.cayenne.configuration.*.
+
+            Was removed
+            - java-8 module
+            - org.apache.cayenne.lifecycle.audit
+            - org.apache.cayenne.lifecycle.changeset
+            - org.apache.cayenne.lifecycle.sort.SortWeight
+            - org.apache.cayenne.lifecycle.sort.WeightedAshwoodEntitySorter
+            - org.apache.cayenne.tools.OldReverseEngineering
+            - org.apache.cayenne.tools.AntDataPortDelegate
+            - org.apache.cayenne.tools.DataPortTask
+            - org.apache.cayenne.access.DataPort
+            - org.apache.cayenne.access.DataPortDelegate
+            - org.apache.cayenne.cache.invalidation.InvalidationFunction
+            - org.apache.cayenne.cache.OSQueryCache
+            - org.apache.cayenne.cache.EhCacheQueryCache
+            - org.apache.cayenne.query.NamedQuery
+            - org.apache.cayenne.project.CayenneProjectModule
 
 
 UPGRADING TO 4.1.M1


[27/30] cayenne git commit: CAY-2377.Change RELEASE-NOTES.txt, return code deprecated sicne 4.1

Posted by nt...@apache.org.
CAY-2377.Change RELEASE-NOTES.txt, return code deprecated sicne 4.1


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

Branch: refs/heads/master
Commit: 6b299bc5d62c20fbca9625458842c83a2f75ebf7
Parents: 62056c6
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Nov 15 11:51:49 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Thu Dec 7 10:35:40 2017 +0300

----------------------------------------------------------------------
 .../invalidation/InvalidationFunction.java      | 39 ++++++++++++++++++++
 .../rop/client/ClientModuleTest.java            |  5 ++-
 .../rop/client/ClientRuntimeBuilderTest.java    |  5 ++-
 .../rop/client/ClientRuntimeTest.java           |  6 ++-
 .../org/apache/cayenne/CayenneDataObject.java   | 13 +++++++
 docs/doc/src/main/resources/RELEASE-NOTES.txt   |  1 +
 .../java/org/apache/cayenne/modeler/Main.java   |  9 +----
 7 files changed, 67 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b299bc5/cayenne-cache-invalidation/src/main/java/org/apache/cayenne/cache/invalidation/InvalidationFunction.java
----------------------------------------------------------------------
diff --git a/cayenne-cache-invalidation/src/main/java/org/apache/cayenne/cache/invalidation/InvalidationFunction.java b/cayenne-cache-invalidation/src/main/java/org/apache/cayenne/cache/invalidation/InvalidationFunction.java
new file mode 100644
index 0000000..d7d1a96
--- /dev/null
+++ b/cayenne-cache-invalidation/src/main/java/org/apache/cayenne/cache/invalidation/InvalidationFunction.java
@@ -0,0 +1,39 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+
+package org.apache.cayenne.cache.invalidation;
+
+import org.apache.cayenne.Persistent;
+
+import java.util.Collection;
+import java.util.function.Function;
+
+/**
+ * @since 4.0
+ * @deprecated since 4.1 plain Function&gt;Persistent, Collection&gt;CacheGroupDescriptor>> can be used.
+ */
+@Deprecated
+public interface InvalidationFunction extends Function<Persistent, Collection<CacheGroupDescriptor>> {
+
+    /**
+     * @return collection of cache groups to invalidate for given object
+     */
+    Collection<CacheGroupDescriptor> apply(Persistent persistent);
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b299bc5/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
index 983d906..2480c26 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
@@ -32,7 +32,10 @@ import org.junit.Test;
 import java.util.HashMap;
 import java.util.Map;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
 @SuppressWarnings("deprecation")
 public class ClientModuleTest {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b299bc5/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
index d5298a1..7ac2e8f 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
@@ -27,8 +27,11 @@ import java.util.Map;
 import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.configuration.Constants;
 import org.apache.cayenne.configuration.server.ServerModule;
-import org.apache.cayenne.di.*;
+import org.apache.cayenne.di.DIBootstrap;
+import org.apache.cayenne.di.Injector;
+import org.apache.cayenne.di.Key;
 import org.apache.cayenne.di.Module;
+import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.remote.ClientChannel;
 import org.apache.cayenne.remote.ClientConnection;
 import org.apache.cayenne.remote.MockClientConnection;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b299bc5/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
index 0559875..1b28d45 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
@@ -33,7 +33,11 @@ import org.junit.Test;
 import java.util.HashMap;
 import java.util.Map;
 
-import static org.junit.Assert.*;
+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;
 
 @SuppressWarnings("deprecation")
 public class ClientRuntimeTest {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b299bc5/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
index bdef93f..3cad849 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/CayenneDataObject.java
@@ -124,4 +124,17 @@ public class CayenneDataObject extends BaseDataObject {
 		out.writeObject(values);
 	}
 
+	/**
+	 * Convenience method to invoke {@link Cayenne#makePath(String...)} from
+	 * within a DataObject subclass to create a dotted path using the generated
+	 * string constants for attributes and relationships.
+	 *
+	 * @deprecated since 4.1, use {@link Cayenne#makePath(String...)} instead
+	 * @see Cayenne#makePath(String...)
+	 * @since 3.1
+	 */
+	@Deprecated
+	public static String makePath(String... pathParts) {
+		return Cayenne.makePath(pathParts);
+	}
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b299bc5/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 01cab73..deb9ec4 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -13,6 +13,7 @@ Date:
 ----------------------------------
 Changes/New Features:
 
+CAY-2377 Cleanup deprecated code.
 
 Bug Fixes:
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b299bc5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
index 460d374..34edece 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
@@ -21,7 +21,6 @@ package org.apache.cayenne.modeler;
 
 import org.apache.cayenne.configuration.server.ServerModule;
 import org.apache.cayenne.dbsync.DbSyncModule;
-import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
@@ -108,13 +107,7 @@ public class Main {
     protected Collection<Module> appendModules(Collection<Module> modules) {
         // TODO: this is dirty... "CayenneModeler" is not a project name, and ServerModule is out of place inside
         // the Modeler... If we need ServerRuntime for certain operations, those should start their own stack...
-        modules.add(new ServerModule(){
-            @Override
-            public void configure(Binder binder) {
-                super.configure(binder);
-                ServerModule.contributeProjectLocations(binder).add("CayenneModeler");
-            }
-        });
+        modules.add(new ServerModule());
 
         modules.add(new ProjectModule());
         modules.add(new DbSyncModule());


[02/30] cayenne git commit: CAY-2377. Cleanup org.apache.cayenne.map

Posted by nt...@apache.org.
CAY-2377. Cleanup org.apache.cayenne.map


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

Branch: refs/heads/master
Commit: 4af8de54d6b7bcf997e03cf7981a0790151e8509
Parents: 5a912ad
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Oct 25 13:32:52 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:46 2017 +0300

----------------------------------------------------------------------
 .../java/org/apache/cayenne/map/DataMap.java    |  75 ------------
 .../java/org/apache/cayenne/map/Embeddable.java |  19 ---
 .../org/apache/cayenne/map/EntityListener.java  |  79 ------------
 .../cayenne/map/EntityListenerFactory.java      |  44 -------
 .../org/apache/cayenne/map/EntityResolver.java  |  70 -----------
 .../java/org/apache/cayenne/map/ObjEntity.java  | 121 -------------------
 .../apache/cayenne/map/MockEntityResolver.java  |   6 -
 .../cayenne/map/MockMappingNamespace.java       |   4 -
 docs/doc/src/main/resources/UPGRADE.txt         |  32 ++++-
 9 files changed, 30 insertions(+), 420 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/4af8de54/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
index 1cffde2..f52f5b5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
@@ -146,11 +146,6 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
 	private SortedMap<String, SQLResult> results;
 
 	/**
-	 * @deprecated since 4.0 unused as listeners are no longer tied to a DataMap.
-	 */
-	private List<EntityListener> defaultEntityListeners;
-
-	/**
 	 * @since 3.1
 	 */
 	protected transient Resource configurationSource;
@@ -180,7 +175,6 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
 		dbEntityMap = new TreeMap<>();
 		procedureMap = new TreeMap<>();
 		queryDescriptorMap = new TreeMap<>();
-		defaultEntityListeners = new ArrayList<>(3);
 		results = new TreeMap<>();
 		setName(mapName);
 		initWithProperties(properties);
@@ -720,75 +714,6 @@ public class DataMap implements Serializable, ConfigurationNode, XMLSerializable
 	}
 
 	/**
-	 * Returns an unmodifiable list of default {@link EntityListener} objects.
-	 * Note that since the order of listeners is significant a list, not just a
-	 * generic Collection is returned.
-	 * 
-	 * @since 3.0
-	 * @deprecated since 4.0 unused as listeners are no longer tied to a
-	 *             DataMap.
-	 */
-	@Deprecated
-	public List<EntityListener> getDefaultEntityListeners() {
-		return Collections.unmodifiableList(defaultEntityListeners);
-	}
-
-	/**
-	 * Adds a new EntityListener.
-	 * 
-	 * @since 3.0
-	 * @throws IllegalArgumentException
-	 *             if a listener for the same class name is already registered.
-	 * @deprecated since 4.0 unused as listeners are no longer tied to a
-	 *             DataMap.
-	 */
-	@Deprecated
-	public void addDefaultEntityListener(EntityListener listener) {
-		for (EntityListener next : defaultEntityListeners) {
-			if (listener.getClassName().equals(next.getClassName())) {
-				throw new IllegalArgumentException("Duplicate default listener for " + next.getClassName());
-			}
-		}
-
-		defaultEntityListeners.add(listener);
-	}
-
-	/**
-	 * Removes a listener matching class name.
-	 * 
-	 * @since 3.0
-	 * @deprecated since 4.0 unused as listeners are no longer tied to a
-	 *             DataMap.
-	 */
-	@Deprecated
-	public void removeDefaultEntityListener(String className) {
-		Iterator<EntityListener> it = defaultEntityListeners.iterator();
-		while (it.hasNext()) {
-			EntityListener next = it.next();
-			if (className.equals(next.getClassName())) {
-				it.remove();
-				break;
-			}
-		}
-	}
-
-	/**
-	 * @since 3.0
-	 * @deprecated since 4.0 unused, as listeners are no longer tied to a
-	 *             DataMap.
-	 */
-	@Deprecated
-	public EntityListener getDefaultEntityListener(String className) {
-		for (EntityListener listener : defaultEntityListeners) {
-			if (className.equals(listener.getClassName())) {
-				return listener;
-			}
-		}
-
-		return null;
-	}
-
-	/**
 	 * Returns all DbEntities in this DataMap.
 	 */
 	public Collection<DbEntity> getDbEntities() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4af8de54/cayenne-server/src/main/java/org/apache/cayenne/map/Embeddable.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/Embeddable.java b/cayenne-server/src/main/java/org/apache/cayenne/map/Embeddable.java
index d6a354e..f784e64 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/Embeddable.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/Embeddable.java
@@ -74,25 +74,6 @@ public class Embeddable implements ConfigurationNode, XMLSerializable, Serializa
 	}
 
 	/**
-	 * Returns Java class of the embeddable.
-	 * 
-	 * @deprecated since 4.0 this method based on statically defined class
-	 *             loading algorithm is not going to work in environments like
-	 *             OSGi. {@link AdhocObjectFactory} should be used as it can
-	 *             provide the environment-specific class loading policy.
-	 */
-	@Deprecated
-	public Class<?> getJavaClass() {
-		String name = getClassName();
-
-		try {
-			return Util.getJavaClass(name);
-		} catch (ClassNotFoundException e) {
-			throw new CayenneRuntimeException("Failed to load class " + name + ": " + e.getMessage(), e);
-		}
-	}
-
-	/**
 	 * Returns EmbeddableAttribute of this Embeddable that maps to
 	 * <code>dbAttribute</code> parameter. Returns null if no such attribute is
 	 * found.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4af8de54/cayenne-server/src/main/java/org/apache/cayenne/map/EntityListener.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityListener.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityListener.java
deleted file mode 100644
index f9486bc..0000000
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityListener.java
+++ /dev/null
@@ -1,79 +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 java.io.Serializable;
-
-import org.apache.cayenne.configuration.ConfigurationNodeVisitor;
-import org.apache.cayenne.util.XMLEncoder;
-import org.apache.cayenne.util.XMLSerializable;
-
-/**
- * A mapping descriptor of an entity listener class that declares one or more
- * callback methods to be notified of the entity events.
- * 
- * @since 3.0
- * @deprecated since 4.0, as EntityResolver no longer loads listeners from its
- *             DataMaps.
- */
-@Deprecated
-public class EntityListener implements Serializable, XMLSerializable {
-
-    protected String className;
-    protected CallbackMap callbacks;
-
-    public EntityListener() {
-        this(null);
-    }
-
-    public EntityListener(String className) {
-        this.className = className;
-        this.callbacks = new CallbackMap();
-    }
-
-    public String getClassName() {
-        return className;
-    }
-
-    public void setClassName(String className) {
-        this.className = className;
-    }
-
-    /**
-     * Returns an object that stores callback methods of this listener.
-     * 
-     * @return callback map
-     */
-    public CallbackMap getCallbackMap() {
-        return callbacks;
-    }
-
-    @Override
-    public void encodeAsXML(XMLEncoder encoder, ConfigurationNodeVisitor delegate) {
-        encoder.print("<entity-listener class=\"");
-        encoder.print(className);
-        encoder.println("\">");
-        encoder.indent(1);
-
-        getCallbackMap().encodeCallbacksAsXML(encoder);
-
-        encoder.indent(-1);
-        encoder.println("</entity-listener>");
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4af8de54/cayenne-server/src/main/java/org/apache/cayenne/map/EntityListenerFactory.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityListenerFactory.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityListenerFactory.java
deleted file mode 100644
index 5457967..0000000
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityListenerFactory.java
+++ /dev/null
@@ -1,44 +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;
-
-/**
- * A factory used to create entity listeners. By default listeners are created
- * using a noop constructor on the listener class, however if a user needs to
- * customize listener creation process (e.g. perform dependency injection,
- * etc.), a custom factory can be installed on the EntityResolver.
- * EntityListenerFactory also supports defining listener interfaces, not just
- * classes).
- * 
- * @since 3.0
- * @deprecated since 4.0, as EntityResolver no longer loads listeners from its
- *             DataMaps.
- */
-public interface EntityListenerFactory {
-
-    /**
-     * Creates an instance of entity listener of a given class. "entity"
-     * parameter denotes ObjEntity for which the listener is installed. It is
-     * null if this is a default listener.
-     * 
-     * @return a listener of the given class. May return null to indicate that a
-     *         configured listener should be suppressed.
-     */
-    Object createListener(EntityListener listenerMapping, ObjEntity entity);
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4af8de54/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
index 8d4cd5d..74668ac 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
@@ -56,9 +56,6 @@ public class EntityResolver implements MappingNamespace, Serializable {
     protected static final Logger logger = LoggerFactory.getLogger(EntityResolver.class);
     protected static AtomicLong incrementer = new AtomicLong();
 
-    @Deprecated
-    protected boolean indexedByClass;
-
     protected Collection<DataMap> maps;
     protected transient MappingNamespace mappingCache;
     protected EntityResolver clientEntityResolver;
@@ -507,51 +504,11 @@ public class EntityResolver implements MappingNamespace, Serializable {
         return entity;
     }
 
-    /**
-     * @deprecated since 4.0, use {@link #getObjEntity(Class)}.
-     */
-    public ObjEntity lookupObjEntity(Class<?> entityClass) {
-        return getObjEntity(entityClass);
-    }
-
     public ObjEntity getObjEntity(Persistent object) {
         checkMappingCache();
         return mappingCache.getObjEntity(object);
     }
 
-    /**
-     * Looks in the DataMap's that this object was created with for the
-     * ObjEntity that services the specified data Object
-     * 
-     * @return the required ObjEntity, or null if none matches the specifier
-     * @since 4.0 a corresponding getObjEntity method should be used.
-     */
-    @Deprecated
-    public ObjEntity lookupObjEntity(Object object) {
-        if (object instanceof ObjEntity) {
-            return (ObjEntity) object;
-        }
-
-        if (object instanceof Persistent) {
-            ObjectId id = ((Persistent) object).getObjectId();
-            if (id != null) {
-                return getObjEntity(id.getEntityName());
-            }
-        } else if (object instanceof Class) {
-            return getObjEntity((Class<?>) object);
-        }
-
-        return getObjEntity(object.getClass());
-    }
-
-    /**
-     * @deprecated since 4.0 use {@link #getProcedure(String)}.
-     */
-    @Deprecated
-    public Procedure lookupProcedure(String procedureName) {
-        return getProcedure(procedureName);
-    }
-
     public synchronized void removeDataMap(DataMap map) {
         if (maps.remove(map)) {
             refreshMappingCache();
@@ -559,23 +516,6 @@ public class EntityResolver implements MappingNamespace, Serializable {
     }
 
     /**
-     * @deprecated since 4.0. There's no replacement. This property is
-     *             meaningless and is no longer respected by the code.
-     */
-    @Deprecated
-    public boolean isIndexedByClass() {
-        return indexedByClass;
-    }
-
-    /**
-     * @deprecated since 4.0. There's no replacement. This property is
-     *             meaningless.
-     */
-    public void setIndexedByClass(boolean b) {
-        indexedByClass = b;
-    }
-
-    /**
      * Returns an object that compiles and stores {@link ClassDescriptor}
      * instances for all entities.
      * 
@@ -613,16 +553,6 @@ public class EntityResolver implements MappingNamespace, Serializable {
     }
 
     /**
-     * @since 3.0
-     * @deprecated since 4.0 this method does nothing, as EntityResolver no
-     *             longer loads listeners from its DataMaps.
-     */
-    @Deprecated
-    public void setEntityListenerFactory(EntityListenerFactory entityListenerFactory) {
-        // noop
-    }
-
-    /**
      * Java default deserialization seems not to invoke constructor by default -
      * invoking it manually
      */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4af8de54/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java b/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
index 536d2cf..5c5dcf4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/ObjEntity.java
@@ -80,16 +80,8 @@ public class ObjEntity extends Entity implements ObjEntityListener, Configuratio
     protected String clientClassName;
     protected String clientSuperClassName;
 
-    @Deprecated
-    protected List<EntityListener> entityListeners;
     protected CallbackMap callbacks;
 
-    @Deprecated
-    protected boolean excludingDefaultListeners;
-
-    @Deprecated
-    protected boolean excludingSuperclassListeners;
-
     protected Map<String, String> attributeOverrides;
 
     public ObjEntity() {
@@ -100,7 +92,6 @@ public class ObjEntity extends Entity implements ObjEntityListener, Configuratio
         setName(name);
         this.lockType = LOCK_TYPE_NONE;
         this.callbacks = new CallbackMap();
-        this.entityListeners = new ArrayList<>(2);
         this.attributeOverrides = new TreeMap<>();
     }
 
@@ -279,75 +270,6 @@ public class ObjEntity extends Entity implements ObjEntityListener, Configuratio
     }
 
     /**
-     * Returns an unmodifiable list of registered {@link EntityListener}
-     * objects. Note that since the order of listeners is significant a list,
-     * not just a generic Collection is returned.
-     * 
-     * @since 3.0
-     * @deprecated since 4.0 unused, as listeners are no longer mapped in a
-     *             DataMap.
-     */
-    @Deprecated
-    public List<EntityListener> getEntityListeners() {
-        return Collections.unmodifiableList(entityListeners);
-    }
-
-    /**
-     * Adds a new EntityListener.
-     * 
-     * @since 3.0
-     * @throws IllegalArgumentException
-     *             if a listener for the same class name is already registered.
-     * @deprecated since 4.0 unused, as listeners are no longer mapped in a
-     *             DataMap.
-     */
-    @Deprecated
-    public void addEntityListener(EntityListener listener) {
-        for (EntityListener next : entityListeners) {
-            if (listener.getClassName().equals(next.getClassName())) {
-                throw new IllegalArgumentException("Duplicate listener for " + next.getClassName());
-            }
-        }
-
-        entityListeners.add(listener);
-    }
-
-    /**
-     * Removes a listener matching class name.
-     * 
-     * @since 3.0
-     * @deprecated since 4.0 unused, as listeners are no longer mapped in a
-     *             DataMap.
-     */
-    @Deprecated
-    public void removeEntityListener(String className) {
-        Iterator<EntityListener> it = entityListeners.iterator();
-        while (it.hasNext()) {
-            EntityListener next = it.next();
-            if (className.equals(next.getClassName())) {
-                it.remove();
-                break;
-            }
-        }
-    }
-
-    /**
-     * @since 3.0
-     * @deprecated since 4.0 unused, as listeners are no longer mapped in a
-     *             DataMap.
-     */
-    @Deprecated
-    public EntityListener getEntityListener(String className) {
-        for (EntityListener next : entityListeners) {
-            if (className.equals(next.getClassName())) {
-                return next;
-            }
-        }
-
-        return null;
-    }
-
-    /**
      * Returns an object that stores callback methods of this entity.
      * 
      * @since 3.0
@@ -1223,47 +1145,4 @@ public class ObjEntity extends Entity implements ObjEntityListener, Configuratio
         // does nothing currently
     }
 
-    /**
-     * Returns true if the default lifecycle listeners should not be notified of
-     * this entity lifecycle events.
-     * 
-     * @since 3.0
-     * @deprecated since 4.0 unused, as listeners are no longer mapped in a
-     *             DataMap.
-     */
-    @Deprecated
-    public boolean isExcludingDefaultListeners() {
-        return excludingDefaultListeners;
-    }
-
-    /**
-     * @deprecated since 4.0 unused, as listeners are no longer mapped in a
-     *             DataMap.
-     */
-    @Deprecated
-    public void setExcludingDefaultListeners(boolean excludingDefaultListeners) {
-        this.excludingDefaultListeners = excludingDefaultListeners;
-    }
-
-    /**
-     * Returns true if the lifeycle listeners defined on the superclasses should
-     * not be notified of this entity lifecycle events.
-     * 
-     * @since 3.0
-     * @deprecated since 4.0 unused, as listeners are no longer mapped in a
-     *             DataMap.
-     */
-    @Deprecated
-    public boolean isExcludingSuperclassListeners() {
-        return excludingSuperclassListeners;
-    }
-
-    /**
-     * @deprecated since 4.0 unused, as listeners are no longer mapped in a
-     *             DataMap.
-     */
-    @Deprecated
-    public void setExcludingSuperclassListeners(boolean excludingSuperclassListeners) {
-        this.excludingSuperclassListeners = excludingSuperclassListeners;
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4af8de54/cayenne-server/src/test/java/org/apache/cayenne/map/MockEntityResolver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/MockEntityResolver.java b/cayenne-server/src/test/java/org/apache/cayenne/map/MockEntityResolver.java
index b9169a4..a7eae6a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/MockEntityResolver.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/MockEntityResolver.java
@@ -32,12 +32,6 @@ public class MockEntityResolver extends EntityResolver {
         this.mockObjEntity = mockObjEntity;
     }
 
-    @Override
-    @Deprecated
-    public synchronized ObjEntity lookupObjEntity(Class aClass) {
-        return mockObjEntity;
-    }
-
     public synchronized ObjEntity lookupObjEntity(DataObject dataObject) {
         return mockObjEntity;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4af8de54/cayenne-server/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java b/cayenne-server/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java
index 73cc8ff..c3fd5ee 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/MockMappingNamespace.java
@@ -40,10 +40,6 @@ public class MockMappingNamespace implements MappingNamespace {
 		return null;
 	}
 
-	public EntityListener getEntityListener(String className) {
-		return null;
-	}
-
 	public void addDbEntity(DbEntity entity) {
 		dbEntities.put(entity.getName(), entity);
 	}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4af8de54/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 7ffa685..27b9388 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -146,8 +146,36 @@ UPGRADING TO 4.1.M2
       in org.apache.cayenne.cache.EhCacheQueryCache;
       - removed ServerRuntimeBuilder builder() {since 4.0.M5 in favor of ServerRuntime#builder()} in org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
       - removed ServerRuntimeBuilder builder(String name) {since 4.0.M5 in favor of ServerRuntime#builder(String)} in org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
-
-
+      - removed ObjEntity lookupObjEntity(Class<?> entityClass) {since 4.0, use getObjEntity(Class)} in org.apache.cayenne.map.EntityResolver;
+      - removed synchronized ObjEntity lookupObjEntity(Class aClass) in org.apache.cayenne.map.MockEntityResolver;
+      - removed boolean isIndexedByClass() {since 4.0. There's no replacement. This property is meaningless and is no longer respected by the code} in org.apache.cayenne.map.EntityResolver;
+      - removed void setIndexedByClass(boolean b) {since 4.0. There's no replacement. This property is meaningless and is no longer
+      respected by the code} in org.apache.cayenne.map.EntityResolver;
+      - removed protected boolean indexedByClass; in org.apache.cayenne.map.EntityResolver;
+      - removed void setEntityListenerFactory(EntityListenerFactory entityListenerFactory); {since 4.0 this method does nothing, as EntityResolver no longer loads listeners from its DataMaps.}
+      in org.apache.cayenne.map.EntityResolver;
+      - removed Procedure lookupProcedure(String procedureName) {since 4.0 use getProcedure(String)} in org.apache.cayenne.map.EntityResolver;
+      - removed ObjEntity lookupObjEntity(Object object) {4.0 a corresponding getObjEntity method should be used} in org.apache.cayenne.map.EntityResolver;
+      - removed Class<?> getJavaClass() {since 4.0 this method based on statically defined class loading algorithm is not going to work in environments like OSGi.
+      AdhocObjectFactory should be used as it can provide the environment-specific class loading policy.} in prg.apache.cayenne.map.Embeddable;
+      - removed void addDefaultEntityListener(EntityListener listener) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
+      - removed EntityListener getDefaultEntityListener(String className) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
+      - removed List<EntityListener> getDefaultEntityListeners() {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
+      - removed void removeDefaultEntityListener(String className) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
+      - removed void removeDefaultEntityListener(String className) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
+      - removed void addEntityListener(EntityListener listener) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.ObjEntity;
+      - removed EntityListener getEntityListener(String className) {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.ObjEntity;
+      - removed List<EntityListener> getEntityListeners() {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
+      - removed boolean isExcludingDefaultListeners() {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
+      - removed boolean isExcludingSuperclassListeners() {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
+      - removed void removeEntityListener(String className) {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
+      - removed void setExcludingDefaultListeners(boolean excludingDefaultListeners) {since 4.0 unused, as listeners are no longer mapped in a DataMap} in org.apache.cayenne.map.ObjEntity;
+      - removed void setExcludingSuperclassListeners(boolean excludingSuperclassListeners) in org.apache.cayenne.map.ObjEntity;
+      - removed boolean excludingDefaultListeners in org.apache.cayenne.map.ObjEntity;
+      - removed boolean excludingSuperclassListeners in org.apache.cayenne.map.ObjEntity;
+      - removed List<EntityListener> defaultEntityListeners; {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
+      - removed List<EntityListener> entityListeners;  in org.apache.cayenne.map.ObjEntity;
+      - removed EntityListener getEntityListener(String className) in org.apache.cayenne.map.MockMappingNamespace;
 
 UPGRADING TO 4.1.M1
 


[23/30] cayenne git commit: CAY-2377. Remove getName() and setName(String name)

Posted by nt...@apache.org.
CAY-2377. Remove getName() and setName(String name)


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

Branch: refs/heads/master
Commit: 4cd3d7a59d11f4b79febe966ae700d45f8a76671
Parents: 5904907
Author: Arseni Bulatski <an...@gmail.com>
Authored: Fri Nov 10 12:46:24 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:48 2017 +0300

----------------------------------------------------------------------
 .../cayenne/lifecycle/id/StringIdQuery.java     | 12 ----------
 .../apache/cayenne/access/DataDomainQuery.java  |  5 ----
 .../access/ObjectsFromDataRowsQuery.java        |  5 ----
 .../cayenne/map/EJBQLQueryDescriptor.java       |  1 -
 .../cayenne/map/ProcedureQueryDescriptor.java   |  1 -
 .../cayenne/map/SQLTemplateDescriptor.java      |  1 -
 .../cayenne/map/SelectQueryDescriptor.java      |  1 -
 .../org/apache/cayenne/query/AbstractQuery.java | 25 +-------------------
 .../org/apache/cayenne/query/BatchQuery.java    | 13 ----------
 .../org/apache/cayenne/query/EJBQLQuery.java    | 12 ----------
 .../org/apache/cayenne/query/FluentSelect.java  |  3 +--
 .../org/apache/cayenne/query/IndirectQuery.java | 11 ---------
 .../java/org/apache/cayenne/query/Query.java    | 10 --------
 .../org/apache/cayenne/query/QueryChain.java    | 13 ----------
 .../org/apache/cayenne/query/RefreshQuery.java  |  9 -------
 .../apache/cayenne/remote/IncrementalQuery.java |  5 ----
 .../cayenne/remote/IncrementalSelectQuery.java  | 12 ----------
 .../org/apache/cayenne/remote/RangeQuery.java   |  5 ----
 .../cayenne/map/SQLTemplateDescriptorTest.java  |  8 -------
 .../cayenne/map/SelectQueryDescriptorTest.java  |  9 -------
 .../org/apache/cayenne/query/EJBQLQueryIT.java  | 10 --------
 .../apache/cayenne/query/MockAbstractQuery.java |  4 ----
 .../org/apache/cayenne/query/MockQuery.java     |  5 ----
 .../cayenne/query/ProcedureQueryCacheKeyIT.java |  2 --
 .../cayenne/query/SQLTemplateCacheKeyIT.java    |  2 --
 .../cayenne/query/SQLTemplate_LegacyTest.java   |  6 -----
 .../cayenne/query/SelectQueryCacheKeyIT.java    |  2 --
 .../apache/cayenne/query/SelectQueryTest.java   | 11 ---------
 docs/doc/src/main/resources/UPGRADE.txt         | 15 ++++++++++++
 .../modeler/util/state/DisplayEventType.java    |  5 ++--
 .../org/apache/cayenne/wocompat/EOQuery.java    | 10 ++++----
 .../apache/cayenne/wocompat/EOQueryTest.java    |  1 -
 32 files changed, 25 insertions(+), 209 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
index 3428c67..89646d2 100644
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
+++ b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
@@ -68,9 +68,6 @@ public class StringIdQuery implements Query {
         return Arrays.asList(stringIds);
     }
 
-    @Deprecated
-    protected String name;
-
     protected Collection<String> stringIds;
 
     protected transient Map<String, SelectQuery> idQueriesByEntity;
@@ -247,13 +244,4 @@ public class StringIdQuery implements Query {
         throw new UnsupportedOperationException(
                 "This query was supposed to be replace with a set of SelectQueries during the route phase");
     }
-
-    @Deprecated
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
index 0922c66..5937cc5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
@@ -70,11 +70,6 @@ class DataDomainQuery implements Query, QueryMetadata {
         return null;
     }
 
-    @Deprecated
-    public String getName() {
-        return null;
-    }
-
     public void route(QueryRouter router, EntityResolver resolver, Query substitutedQuery) {
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
index f2027f5..a53b310 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
@@ -68,11 +68,6 @@ class ObjectsFromDataRowsQuery implements Query, QueryMetadata {
         return null;
     }
 
-    @Deprecated
-    public String getName() {
-        return null;
-    }
-
     public DataMap getDataMap() {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
index ed7f2e0..e3f8029 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
@@ -52,7 +52,6 @@ public class EJBQLQueryDescriptor extends QueryDescriptor {
     @Override
     public EJBQLQuery buildQuery() {
         EJBQLQuery ejbqlQuery = new EJBQLQuery(this.getEjbql());
-        ejbqlQuery.setName(this.getName());
         ejbqlQuery.setDataMap(dataMap);
         ejbqlQuery.initWithProperties(this.getProperties());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
index a3ad9cf..4577c55 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
@@ -57,7 +57,6 @@ public class ProcedureQueryDescriptor extends QueryDescriptor {
             procedureQuery.setRoot(root);
         }
 
-        procedureQuery.setName(this.getName());
         procedureQuery.setDataMap(dataMap);
         procedureQuery.setResultEntityName(this.getResultEntityName());
         procedureQuery.initWithProperties(this.getProperties());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
index e9c14f7..fb1fb69 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
@@ -75,7 +75,6 @@ public class SQLTemplateDescriptor extends QueryDescriptor {
             template.setRoot(root);
         }
 
-        template.setName(name);
         template.setDataMap(dataMap);
         template.initWithProperties(this.getProperties());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
index 7a677fb..6788c5f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
@@ -128,7 +128,6 @@ public class SelectQueryDescriptor extends QueryDescriptor {
     public SelectQuery<?> buildQuery() {
         SelectQuery<Object> selectQuery = new SelectQuery<>();
         selectQuery.setRoot(this.getRoot());
-        selectQuery.setName(this.getName());
         selectQuery.setDataMap(dataMap);
         selectQuery.setQualifier(this.getQualifier());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
index 8589d0b..7e2dcae 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
@@ -39,8 +39,6 @@ public abstract class AbstractQuery extends CacheableQuery {
     protected Object root;
 
     @Deprecated
-    protected String name;
-    @Deprecated
     protected DataMap dataMap;
 
     /**
@@ -52,33 +50,13 @@ public abstract class AbstractQuery extends CacheableQuery {
     }
 
     /**
-     * Returns a symbolic name of the query.
-     * 
-     * @since 1.1
-     */
-    @Deprecated
-    public String getName() {
-        return name;
-    }
-
-    /**
-     * Sets a symbolic name of the query.
-     * 
-     * @since 1.1
-     */
-    @Deprecated
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    /**
      * Returns default select parameters.
      * 
      * @since 1.2
      */
     public QueryMetadata getMetaData(EntityResolver resolver) {
         BaseQueryMetadata md = new BaseQueryMetadata();
-        md.resolve(getRoot(), resolver, getName());
+        md.resolve(getRoot(), resolver, null);
         return md;
     }
 
@@ -124,7 +102,6 @@ public abstract class AbstractQuery extends CacheableQuery {
     public String toString() {
         return new ToStringBuilder(this)
                 .append("root", root)
-                .append("name", getName())
                 .toString();
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
index bc46999..9b0cf47 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
@@ -41,9 +41,6 @@ public abstract class BatchQuery implements Query {
      */
     protected DbEntity dbEntity;
 
-    @Deprecated
-    protected String name;
-
     /**
      * @since 4.0
      */
@@ -67,16 +64,6 @@ public abstract class BatchQuery implements Query {
         return rows;
     }
 
-    @Override
-    @Deprecated
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
     /**
      * Returns default select parameters.
      * 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
index 64232ce..b01e286 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
@@ -40,8 +40,6 @@ import java.util.Map;
 public class EJBQLQuery extends CacheableQuery {
 
     @Deprecated
-    protected String name;
-    @Deprecated
     protected DataMap dataMap;
     protected String ejbqlStatement;
     
@@ -129,16 +127,6 @@ public class EJBQLQuery extends CacheableQuery {
         return expression;
     }
 
-    @Deprecated
-    public String getName() {
-        return name;
-    }
-
-    @Deprecated
-    public void setName(String name) {
-        this.name = name;
-    }
-
     /**
      * Returns unmodifiable map of combined named and positional parameters. Positional
      * parameter keys are Integers, while named parameter keys are strings.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/query/FluentSelect.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/FluentSelect.java b/cayenne-server/src/main/java/org/apache/cayenne/query/FluentSelect.java
index 8f2360c..c5286cb 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/FluentSelect.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/FluentSelect.java
@@ -58,7 +58,7 @@ public abstract class FluentSelect<T> extends IndirectQuery implements Select<T>
     /**
      * Translates self to a SelectQuery.
      */
-    @SuppressWarnings({"deprecation", "unchecked"})
+    @SuppressWarnings("unchecked")
     @Override
     protected Query createReplacementQuery(EntityResolver resolver) {
 
@@ -87,7 +87,6 @@ public abstract class FluentSelect<T> extends IndirectQuery implements Select<T>
             throw new CayenneRuntimeException("Undefined root entity of the query");
         }
 
-        replacement.setName(name);
         replacement.setQualifier(where);
         replacement.addOrderings(orderings);
         replacement.setPrefetchTree(prefetches);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
index 5d9f290..556d0e9 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
@@ -51,17 +51,6 @@ public abstract class IndirectQuery implements Query {
 		return getReplacementQuery(resolver).getMetaData(resolver);
 	}
 
-	@Override
-	@Deprecated
-	public String getName() {
-		return name;
-	}
-
-	@Deprecated
-	public void setName(String name) {
-		this.name = name;
-	}
-
 	/**
 	 * Delegates routing to a replacement query.
 	 */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java b/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java
index a3eda27..fac3978 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java
@@ -62,14 +62,4 @@ public interface Query extends Serializable {
      * @since 1.2
      */
     SQLAction createSQLAction(SQLActionVisitor visitor);
-
-    /**
-     * Returns a symbolic name of the query. The name is normally used as a key to find
-     * queries stored in the DataMap.
-     * 
-     * @since 1.1
-     * @deprecated {@link QueryDescriptor#getName()} should be used instead
-     */
-    @Deprecated
-    String getName();
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
index d13fc6d..be7d047 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
@@ -38,9 +38,6 @@ public class QueryChain implements Query {
 
     protected Collection<Query> chain;
 
-    @Deprecated
-    protected String name;
-
     /**
      * Creates an empty QueryChain.
      */
@@ -109,16 +106,6 @@ public class QueryChain implements Query {
                 + "and should've been split into separate queries during routing phase.");
     }
 
-    @Deprecated
-    public String getName() {
-        return name;
-    }
-
-    @Deprecated
-    public void setName(String name) {
-        this.name = name;
-    }
-
     /**
      * Returns default metadata.
      */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java
index cd0fbb6..f1d488d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java
@@ -85,10 +85,6 @@ public class RefreshQuery implements Query {
         return new BaseQueryMetadata();
     }
 
-    public String getName() {
-        return null;
-    }
-
     public void route(QueryRouter router, EntityResolver resolver, Query substitutedQuery) {
         // noop
     }
@@ -138,11 +134,6 @@ public class RefreshQuery implements Query {
                 return wrappedMd;
             }
 
-            @Deprecated
-            public String getName() {
-                return query.getName();
-            }
-
             public void route(
                     QueryRouter router,
                     EntityResolver resolver,

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java
index c832cd5..51c7946 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java
@@ -70,9 +70,4 @@ class IncrementalQuery implements Query {
     public SQLAction createSQLAction(SQLActionVisitor visitor) {
         return query.createSQLAction(visitor);
     }
-
-    @Deprecated
-    public String getName() {
-        return query.getName();
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
index 1957337..daca4f8 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
@@ -145,12 +145,6 @@ class IncrementalSelectQuery<T> extends SelectQuery<T> {
 	}
 
 	@Override
-	@Deprecated
-	public String getName() {
-		return query.getName();
-	}
-
-	@Override
 	public List<Ordering> getOrderings() {
 		return query.getOrderings();
 	}
@@ -249,12 +243,6 @@ class IncrementalSelectQuery<T> extends SelectQuery<T> {
 	}
 
 	@Override
-	@Deprecated
-	public void setName(String name) {
-		query.setName(name);
-	}
-
-	@Override
 	public void setPageSize(int pageSize) {
 		query.setPageSize(pageSize);
 	}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
index 019d323..f2b5e78 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
@@ -149,11 +149,6 @@ class RangeQuery implements Query {
         throw new UnsupportedOperationException();
     }
 
-    @Deprecated
-    public String getName() {
-        throw new UnsupportedOperationException();
-    }
-
     public void route(QueryRouter router, EntityResolver resolver, Query substitutedQuery) {
         throw new UnsupportedOperationException();
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/test/java/org/apache/cayenne/map/SQLTemplateDescriptorTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/SQLTemplateDescriptorTest.java b/cayenne-server/src/test/java/org/apache/cayenne/map/SQLTemplateDescriptorTest.java
index 7bb3631..a2cdea3 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/SQLTemplateDescriptorTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/SQLTemplateDescriptorTest.java
@@ -38,14 +38,6 @@ public class SQLTemplateDescriptorTest {
     }
 
     @Test
-    public void testGetQueryName() throws Exception {
-        SQLTemplateDescriptor builder = QueryDescriptor.sqlTemplateDescriptor();
-        builder.setName("xyz");
-
-        assertEquals("xyz", builder.buildQuery().getName());
-    }
-
-    @Test
     public void testGetQueryRoot() throws Exception {
         DataMap map = new DataMap();
         ObjEntity entity = new ObjEntity("A");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/test/java/org/apache/cayenne/map/SelectQueryDescriptorTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/map/SelectQueryDescriptorTest.java b/cayenne-server/src/test/java/org/apache/cayenne/map/SelectQueryDescriptorTest.java
index 4c2a8e3..65db9be 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/map/SelectQueryDescriptorTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/map/SelectQueryDescriptorTest.java
@@ -39,15 +39,6 @@ public class SelectQueryDescriptorTest {
     }
 
     @Test
-    public void testGetQueryName() throws Exception {
-        SelectQueryDescriptor builder = QueryDescriptor.selectQueryDescriptor();
-        builder.setRoot("FakeRoot");
-        builder.setName("xyz");
-
-        assertEquals("xyz", builder.buildQuery().getName());
-    }
-
-    @Test
     public void testGetQueryRoot() throws Exception {
         DataMap map = new DataMap();
         ObjEntity entity = new ObjEntity("A");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/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 1225f4b..5e74757 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
@@ -214,16 +214,6 @@ public class EJBQLQueryIT extends ServerCase {
     }
 
     @Test
-    public void testGetName() {
-        String ejbql = "select a FROM Artist a";
-        EJBQLQuery query = new EJBQLQuery(ejbql);
-
-        assertNull(query.getName());
-        query.setName("XYZ");
-        assertEquals("XYZ", query.getName());
-    }
-
-    @Test
     public void testUniqueKeyEntity() {
         // insertValue();
         EntityResolver resolver = runtime.getDataDomain().getEntityResolver();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/test/java/org/apache/cayenne/query/MockAbstractQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/MockAbstractQuery.java b/cayenne-server/src/test/java/org/apache/cayenne/query/MockAbstractQuery.java
index 62eacf2..e0f00e4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/MockAbstractQuery.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/MockAbstractQuery.java
@@ -28,10 +28,6 @@ public class MockAbstractQuery extends AbstractQuery {
 
     }
 
-    public MockAbstractQuery(String name) {
-        setName(name);
-    }
-
     @Override
     public SQLAction createSQLAction(SQLActionVisitor visitor) {
         return null;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java b/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java
index 0373425..c9b3c89 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java
@@ -46,11 +46,6 @@ public class MockQuery implements Query {
         return selecting;
     }
 
-    @Deprecated
-    public String getName() {
-        return null;
-    }
-
     public SQLAction createSQLAction(SQLActionVisitor visitor) {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/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 eb9ec49..3b451c3 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
@@ -48,7 +48,6 @@ public class ProcedureQueryCacheKeyIT extends ServerCase {
         assertEquals(QueryCacheStrategy.NO_CACHE, md1.getCacheStrategy());
         assertNull(md1.getCacheKey());
 
-        query.setName("XYZ");
         QueryMetadata md2 = query.getMetaData(resolver);
         assertEquals(QueryCacheStrategy.NO_CACHE, md2.getCacheStrategy());
         assertNull(md2.getCacheKey());
@@ -90,7 +89,6 @@ public class ProcedureQueryCacheKeyIT extends ServerCase {
         ProcedureQuery query = new ProcedureQuery("ABC", Artist.class);
 
         query.setCacheStrategy(QueryCacheStrategy.SHARED_CACHE);
-        query.setName("XYZ");
 
         QueryMetadata md1 = query.getMetaData(resolver);
         assertEquals(QueryCacheStrategy.SHARED_CACHE, md1.getCacheStrategy());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/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 b87db01..796220a 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
@@ -46,7 +46,6 @@ public class SQLTemplateCacheKeyIT extends ServerCase {
         assertEquals(QueryCacheStrategy.NO_CACHE, md1.getCacheStrategy());
         assertNull(md1.getCacheKey());
 
-        query.setName("XYZ");
         QueryMetadata md2 = query.getMetaData(resolver);
         assertEquals(QueryCacheStrategy.NO_CACHE, md2.getCacheStrategy());
         assertNull(md2.getCacheKey());
@@ -82,7 +81,6 @@ public class SQLTemplateCacheKeyIT extends ServerCase {
         SQLTemplate query = new SQLTemplate(Artist.class, "SELECT ME");
 
         query.setCacheStrategy(QueryCacheStrategy.SHARED_CACHE);
-        query.setName("XYZ");
 
         QueryMetadata md1 = query.getMetaData(resolver);
         assertEquals(QueryCacheStrategy.SHARED_CACHE, md1.getCacheStrategy());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplate_LegacyTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplate_LegacyTest.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplate_LegacyTest.java
index 527a21b..0a72b66 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplate_LegacyTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SQLTemplate_LegacyTest.java
@@ -39,25 +39,19 @@ public class SQLTemplate_LegacyTest {
 	@Deprecated
 	public void testQueryWithParameters() {
 		SQLTemplate q1 = new SQLTemplate("E1", "SELECT");
-		q1.setName("QName");
 
 		Query q2 = q1.queryWithParameters(Collections.EMPTY_MAP);
 		assertNotNull(q2);
 		assertNotSame(q1, q2);
 		assertTrue(q2 instanceof SQLTemplate);
 
-		assertNull(q2.getName());
-
 		Query q3 = q1.queryWithParameters(Collections.singletonMap("a", "b"));
 		assertNotNull(q3);
 		assertNotSame(q1, q3);
-		assertNull(q3.getName());
-		assertFalse(q1.getName().equals(q3.getName()));
 
 		Query q4 = q1.queryWithParameters(Collections.singletonMap("a", "b"));
 		assertNotNull(q4);
 		assertNotSame(q3, q4);
-		assertEquals(q3.getName(), q4.getName());
 	}
 
 	@SuppressWarnings("unchecked")

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/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 7c74b1d..398797c 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
@@ -50,7 +50,6 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertEquals(QueryCacheStrategy.NO_CACHE, md1.getCacheStrategy());
         assertNull(md1.getCacheKey());
 
-        query.setName("XYZ");
         QueryMetadata md2 = query.getMetaData(resolver);
         assertEquals(QueryCacheStrategy.NO_CACHE, md2.getCacheStrategy());
         assertNull(md2.getCacheKey());
@@ -126,7 +125,6 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         SelectQuery<Artist> query = new SelectQuery<>(Artist.class);
 
         query.setCacheStrategy(QueryCacheStrategy.SHARED_CACHE);
-        query.setName("XYZ");
 
         QueryMetadata md1 = query.getMetaData(resolver);
         assertEquals(QueryCacheStrategy.SHARED_CACHE, md1.getCacheStrategy());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryTest.java b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryTest.java
index df6f46e..3718fd9 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/SelectQueryTest.java
@@ -140,17 +140,6 @@ public class SelectQueryTest {
 		assertNotNull(q1.getQualifier());
 		assertTrue(q1.getQualifier() != query.getQualifier());
 	}
-
-	@Test
-	public void testQueryWithParamsSkipName() {
-		query.setRoot(Artist.class);
-		query.setDistinct(true);
-		query.setName("name");
-
-		SelectQuery<?> q1 = query.queryWithParameters(Collections.<String, Object> emptyMap());
-		assertEquals("name", query.getName());
-		assertNull(q1.getName());
-	}
 	
 	@Test
 	public void testAndQualifier() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 357972a..199a9c2 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -246,6 +246,21 @@ UPGRADING TO 4.1.M2
       - removed NamedQuery in org.apache.cayenne.query;
       - removed int size() in org.apache.cayenne.jcache.JCacheQueryCache and org.apache.cayenne.cache.NestedQueryCache;
       - removed int size() in org.apache.cayenne.cache.QueryCache;
+      - deprecated getEOName() in org.apache.cayenne.wocompat.EOQuery;
+      - changes in org.apache.cayenne.modeler.DisplayEventType: Query getName change to QueryDescriptor getName();
+      - removed append(getName()) from toString() in org.apache.cayenne.query.AbstractQuery;
+      - removed getName() from org.apache.cayenne.wocompat.EOQueryTest, org.apache.cayenne.query.SelectQueryTest,
+      org.apache.cayenne.query.EJBQLQueryIT, org.apache.cayenne.query.SQLTemplate_LegacyTest, org.apache.cayenne.map.SelectQueryDescriptorTest
+      org.apache.cayenne.map.SQLTemplateDescriptorTest;
+      - removed getName() from org.apache.cayenne.query.AbstractQuery, from org.apache.cayenne.query.BatchQuery, org.apache.cayenne.access.DataDomainQuery,
+      org.apache.cayenne.query.EJBQLQuery, org.apache.cayenne.IncrementalQuery, org.apache.cayenne.remote.IncrementalSelectQuery, org.apache.cayenne.query.IndirectQuery,
+      org.apache.cayenne.access.ObjectsFromDataRowsQuery, org.apache.cayenne.query.QueryChain, org.apache.cayenne.remote.RangeQuery, org.apache.cayenne.lifecycle.id.StringIdQuery,
+      org.apache.cayenne.query.MockQuery, org.apache.cayenne.query.RefreshQuery; org.apache.cayenne.query.Query;
+      - removed setName(String name) from org.apache.cayenne.remote.IncrementalSelectQuery, org.apache.cayenne.map.SelectQueryDescriptor, org.apache.cayenne.map.SQLTemplateDescriptor,
+      org.apache.cayenne.map.ProcedureQueryDescriptor, org.apache.cayenne.query.FluentSelect, org.apache.cayenne.query.AbstractQuery org.apache.cayenne.query.EJBQLQuery, org.apache.cayenne.BatchQuery
+      org.apache.cayenne.query.QueryChain org.apache.cayenne.lifecycle.StringIdQuery;
+      - removed setName(String name) in org.apache.cayenne.query.SelectQueryCacheKeyIT, org.apache.cayenne.query.SQLTemplateCacheKeyIT, org.apache.cayenne.query.ProcedureQueryCacheKeyIT,
+      org.apache.cayenne.query.SQLTemplate_LegacyTest, org.apache.cayenne.query.MockAbstractQuery;
 
 UPGRADING TO 4.1.M1
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
index 24afff3..3821762 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
@@ -24,6 +24,7 @@ import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.Embeddable;
+import org.apache.cayenne.map.QueryDescriptor;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.pref.ProjectStatePreferences;
 import org.apache.cayenne.query.Query;
@@ -54,8 +55,8 @@ public abstract class DisplayEventType {
             return ((DataMap) object).getName();
         } else if (object instanceof Embeddable) {
             return ((Embeddable) object).getClassName();
-        } else if (object instanceof Query) {
-            return ((Query) object).getName();
+        } else if (object instanceof QueryDescriptor) {
+            return ((QueryDescriptor) object).getName();
         } else {
             return "";
         }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
index b37d10c..e1d21d8 100644
--- a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
+++ b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOQuery.java
@@ -109,12 +109,12 @@ public class EOQuery<T> extends SelectQuery<T> {
 		}
 	}
 
+	/**
+	 * Since 4.1 is unused.
+	 */
+	@Deprecated
 	public String getEOName() {
-		if (root instanceof EOObjEntity) {
-			return ((EOObjEntity) root).localQueryName(getName());
-		} else {
-			return getName();
-		}
+		return null;
 	}
 
 	public Collection getBindingNames() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/4cd3d7a5/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
index f48d9a2..8dcea27 100644
--- a/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
+++ b/modeler/cayenne-wocompat/src/test/java/org/apache/cayenne/wocompat/EOQueryTest.java
@@ -51,7 +51,6 @@ public class EOQueryTest {
 
         EOQuery query = new EOQuery(map.getObjEntity("Entity1"), (Map) fspecMap
                 .get("E1FS1"));
-        assertNull(query.getName());
 
         assertNotNull(query.getQualifier());
         assertEquals(


[17/30] cayenne git commit: CAY-2377. Cleanup org.apache.cayenne.remote and org.apache.cayenne.query

Posted by nt...@apache.org.
CAY-2377. Cleanup org.apache.cayenne.remote and org.apache.cayenne.query


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

Branch: refs/heads/master
Commit: 98a2d238a39b5d758491d0f447255be8e3231aad
Parents: 4af8de5
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Oct 25 13:55:07 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:47 2017 +0300

----------------------------------------------------------------------
 .../apache/cayenne/query/BaseQueryMetadata.java |  8 -----
 .../cayenne/query/DefaultQueryMetadata.java     |  9 ------
 .../org/apache/cayenne/remote/RangeQuery.java   |  5 ---
 .../apache/cayenne/remote/RemoteSession.java    | 32 --------------------
 .../apache/cayenne/query/MockQueryMetadata.java |  5 ---
 docs/doc/src/main/resources/UPGRADE.txt         |  7 +++++
 6 files changed, 7 insertions(+), 59 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/98a2d238/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 a450b3b..0eb0e1b 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
@@ -351,14 +351,6 @@ class BaseQueryMetadata implements QueryMetadata, Serializable {
 	}
 
 	/**
-	 * @deprecated since 4.0, use {@link BaseQueryMetadata#getOriginatingQuery()}
-	 */
-	@Deprecated
-	public Query getOrginatingQuery() {
-		return null;
-	}
-
-	/**
 	 * @since 4.0
 	 */
 	public Query getOriginatingQuery() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/98a2d238/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java
index 47aa751..43d9a25 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java
@@ -74,15 +74,6 @@ class DefaultQueryMetadata implements QueryMetadata {
     }
 
     /**
-     * @since 3.0
-     * @deprecated use {@link DefaultQueryMetadata#getOriginatingQuery()}
-     */
-    @Deprecated
-    public Query getOrginatingQuery() {
-        return null;
-    }
-
-    /**
      * @since 4.0
      */
     public Query getOriginatingQuery() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/98a2d238/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
index 970b5a7..bb54e62 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
@@ -72,11 +72,6 @@ class RangeQuery implements Query {
 
         return new QueryMetadataProxy(originatingMetadata) {
 
-            @Deprecated
-            public Query getOrginatingQuery() {
-                return getOriginatingQuery();
-            }
-
             public Query getOriginatingQuery() {
                 return originatingQuery;
             }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/98a2d238/cayenne-server/src/main/java/org/apache/cayenne/remote/RemoteSession.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/RemoteSession.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/RemoteSession.java
index 8841d0a..461e79d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/RemoteSession.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/RemoteSession.java
@@ -109,38 +109,6 @@ public class RemoteSession implements Serializable {
         return eventBridgeFactory != null;
     }
 
-    /**
-     * Creates an EventBridge that will listen for server events. Returns null if server
-     * events support is not configured in the descriptor.
-     * 
-     * @throws CayenneRuntimeException if EventBridge startup fails for any reason.
-     * 
-     * @deprecated since 4.0. Factory creation should is handled by the client connection.
-     */
-    @Deprecated
-    public EventBridge createServerEventBridge() throws CayenneRuntimeException {
-
-        if (!isServerEventsEnabled()) {
-            return null;
-        }
-
-        try {
-            EventBridgeFactory factory = (EventBridgeFactory) Class.forName(
-                    eventBridgeFactory).newInstance();
-
-            Map<String, String> parameters = eventBridgeParameters != null
-                    ? eventBridgeParameters
-                    : Collections.<String, String>emptyMap();
-
-            // must use "name", not the sessionId as an external subject for the event
-            // bridge
-            return factory.createEventBridge(SUBJECTS, name, parameters);
-        }
-        catch (Exception ex) {
-            throw new CayenneRuntimeException("Error creating EventBridge.", ex);
-        }
-    }
-
     @Override
     public String toString() {
         ToStringBuilder builder = new ToStringBuilder(this)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/98a2d238/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java b/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java
index 1b7df00..ddfac88 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java
@@ -108,11 +108,6 @@ public class MockQueryMetadata implements QueryMetadata {
         return null;
     }
 
-    @Deprecated
-    public Query getOrginatingQuery() {
-        return null;
-    }
-
     public Query getOriginatingQuery() {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/98a2d238/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 27b9388..f1f1558 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -176,6 +176,13 @@ UPGRADING TO 4.1.M2
       - removed List<EntityListener> defaultEntityListeners; {since 4.0 unused as listeners are no longer tied to a DataMap} in org.apache.cayenne.map.DataMap;
       - removed List<EntityListener> entityListeners;  in org.apache.cayenne.map.ObjEntity;
       - removed EntityListener getEntityListener(String className) in org.apache.cayenne.map.MockMappingNamespace;
+      - removed Query getOrginatingQuery() in org.apache.cayenne.remote.RangeQuery;
+      - removed EventBridge createServerEventBridge() {since 4.0. Factory creation should is handled by the client connection} in org.apache.cayenne.remote.RemoteSession;
+      - removed Query getOrginatingQuery() {use DefaultQueryMetadata#getOriginatingQuery()} in org.apache.cayenne.query.DefaultQueryMetadata;
+      - removed Query getOrginatingQuery() in org.apache.cayenne.query.MockQueryMetadata;
+      - removed Query getOrginatingQuery() {since 4.0, use BaseQueryMetadata#getOriginatingQuery()} in org.apache.cayenne.query.BaseQueryMetadata;
+      
+
 
 UPGRADING TO 4.1.M1
 


[20/30] cayenne git commit: CAY-2377. Cleanup deprecated code

Posted by nt...@apache.org.
CAY-2377. Cleanup deprecated code


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

Branch: refs/heads/master
Commit: f98da6900c062c09cea800bc1d3b5cf22db05cb0
Parents: 4cd3d7a
Author: Arseni Bulatski <an...@gmail.com>
Authored: Mon Nov 13 09:04:57 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:48 2017 +0300

----------------------------------------------------------------------
 .../src/main/java/org/apache/cayenne/query/AbstractQuery.java    | 2 +-
 .../main/java/org/apache/cayenne/query/BaseQueryMetadata.java    | 4 +---
 .../main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java   | 2 +-
 .../java/org/apache/cayenne/query/ProcedureQueryMetadata.java    | 2 +-
 .../main/java/org/apache/cayenne/query/SQLTemplateMetadata.java  | 2 +-
 .../main/java/org/apache/cayenne/query/SelectQueryMetadata.java  | 2 +-
 docs/doc/src/main/resources/UPGRADE.txt                          | 4 ++++
 7 files changed, 10 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/f98da690/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
index 7e2dcae..246daea 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
@@ -56,7 +56,7 @@ public abstract class AbstractQuery extends CacheableQuery {
      */
     public QueryMetadata getMetaData(EntityResolver resolver) {
         BaseQueryMetadata md = new BaseQueryMetadata();
-        md.resolve(getRoot(), resolver, null);
+        md.resolve(getRoot(), resolver);
         return md;
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f98da690/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 e8d8ce9..e1cd167 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
@@ -91,12 +91,10 @@ class BaseQueryMetadata implements QueryMetadata, Serializable {
 		setPrefetchTree(info.getPrefetchTree());
 	}
 
-	boolean resolve(Object root, EntityResolver resolver, String cacheKey) {
+	boolean resolve(Object root, EntityResolver resolver) {
 
 		if (lastRoot != root || lastEntityResolver != resolver) {
 
-			this.cacheKey = cacheKey;
-
 			this.classDescriptor = null;
 			this.dbEntity = null;
 			this.dataMap = null;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f98da690/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java
index 620f8e7..79c22fa 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQueryMetadata.java
@@ -43,7 +43,7 @@ class EJBQLQueryMetadata extends BaseQueryMetadata {
 
         ObjEntity root = expression.getRootDescriptor().getEntity();
 
-        if (!super.resolve(root, resolver, null)) {
+        if (!super.resolve(root, resolver)) {
             return false;
         }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f98da690/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java
index 7a2e35a..4e70ba9 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/ProcedureQueryMetadata.java
@@ -47,7 +47,7 @@ class ProcedureQueryMetadata extends BaseQueryMetadata {
             Object resultRoot,
             EntityResolver resolver,
             ProcedureQuery query) {
-        if (super.resolve(resultRoot, resolver, null)) {
+        if (super.resolve(resultRoot, resolver)) {
             procedure = null;
 
             if (root != null) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f98da690/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java
index 236c0c7..96d329a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SQLTemplateMetadata.java
@@ -33,7 +33,7 @@ class SQLTemplateMetadata extends BaseQueryMetadata {
 
 	boolean resolve(Object root, EntityResolver resolver, SQLTemplate query) {
 
-		if (super.resolve(root, resolver, null)) {
+		if (super.resolve(root, resolver)) {
 
 			resultSetMapping = query.getResult() != null ? query.getResult().getResolvedComponents(resolver) : null;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f98da690/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQueryMetadata.java
index 37a0301..66c947d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/SelectQueryMetadata.java
@@ -75,7 +75,7 @@ class SelectQueryMetadata extends BaseQueryMetadata {
 
 	boolean resolve(Object root, EntityResolver resolver, SelectQuery<?> query) {
 
-		if (super.resolve(root, resolver, null)) {
+		if (super.resolve(root, resolver)) {
 			// generate unique cache key, but only if we are caching..
 			if (cacheStrategy != null && cacheStrategy != QueryCacheStrategy.NO_CACHE) {
 				this.cacheKey = makeCacheKey(query, resolver);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f98da690/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 199a9c2..e7fcec5 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -262,6 +262,10 @@ UPGRADING TO 4.1.M2
       - removed setName(String name) in org.apache.cayenne.query.SelectQueryCacheKeyIT, org.apache.cayenne.query.SQLTemplateCacheKeyIT, org.apache.cayenne.query.ProcedureQueryCacheKeyIT,
       org.apache.cayenne.query.SQLTemplate_LegacyTest, org.apache.cayenne.query.MockAbstractQuery;
 
+      - removed String cacheKey from boolean resolve(Object root, EntityResolver resolver) arguments;
+
+
+
 UPGRADING TO 4.1.M1
 
 * Per CAY-2351 Minimum supported Java version is now Java 8. There is no options to use Cayenne 4.1 with earlier


[06/30] cayenne git commit: CAY-2377. Cleanup deprecated code.

Posted by nt...@apache.org.
CAY-2377. Cleanup deprecated code.


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

Branch: refs/heads/master
Commit: 13056c18c415682c3ea58e1b4595a1110100bf81
Parents: 0ece129
Author: Arseni Bulatski <an...@gmail.com>
Authored: Tue Oct 24 12:35:27 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:46 2017 +0300

----------------------------------------------------------------------
 assembly/pom.xml                                |  6 --
 .../org/apache/cayenne/access/Transaction.java  | 56 ------------
 .../cayenne/access/jdbc/JDBCResultIterator.java | 21 -----
 .../java/org/apache/cayenne/exp/Expression.java | 39 ---------
 .../java/org/apache/cayenne/exp/Property.java   | 13 ---
 .../org/apache/cayenne/query/SelectQuery.java   |  2 +-
 .../exp/Expression_ParamsLegacyTest.java        | 92 --------------------
 .../org/apache/cayenne/exp/PropertyTest.java    |  9 --
 .../apache/cayenne/query/ColumnSelectIT.java    | 13 ---
 docs/doc/src/main/resources/UPGRADE.txt         | 13 ++-
 10 files changed, 13 insertions(+), 251 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/assembly/pom.xml
----------------------------------------------------------------------
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 1f5efd0..96c42e2 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -90,12 +90,6 @@
 			<version>${project.version}</version>
 		</dependency>
 
-        <dependency>
-            <groupId>org.apache.cayenne</groupId>
-            <artifactId>cayenne-java8</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
 		 <dependency>
             <groupId>org.apache.cayenne</groupId>
             <artifactId>cayenne-dbcp2</artifactId>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/cayenne-server/src/main/java/org/apache/cayenne/access/Transaction.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/Transaction.java b/cayenne-server/src/main/java/org/apache/cayenne/access/Transaction.java
deleted file mode 100644
index 779ba34..0000000
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/Transaction.java
+++ /dev/null
@@ -1,56 +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.configuration.server.ServerRuntime;
-import org.apache.cayenne.tx.BaseTransaction;
-
-/**
- * @deprecated since 4.0. For manual transaction management use
- *             {@link BaseTransaction} static methods or better -
- *             {@link ServerRuntime#performInTransaction(org.apache.cayenne.tx.TransactionalOperation)}
- *             . Also note that since 4.0 an actual Transaction is an interface
- *             located in a different package:
- *             {@link org.apache.cayenne.tx.Transaction}
- */
-@Deprecated
-public abstract class Transaction {
-
-    /**
-     * Binds a Transaction to the current thread.
-     * 
-     * @since 1.2
-     */
-    @Deprecated
-    public static void bindThreadTransaction(org.apache.cayenne.tx.Transaction transaction) {
-        BaseTransaction.bindThreadTransaction(transaction);
-    }
-
-    /**
-     * Returns a Transaction associated with the current thread, or null if
-     * there is no such Transaction.
-     * 
-     * @since 1.2
-     */
-    @Deprecated
-    public static org.apache.cayenne.tx.Transaction getThreadTransaction() {
-        return BaseTransaction.getThreadTransaction();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
index d6a4a34..bdd97db 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/jdbc/JDBCResultIterator.java
@@ -166,25 +166,4 @@ public class JDBCResultIterator<T> implements ResultIterator<T> {
         }
     }
 
-    /**
-     * @deprecated since 4.0 always returns false. Connection closing is outside
-     *             the scope of this iterator. See
-     *             {@link ConnectionAwareResultIterator} for a replacement.
-     */
-    @Deprecated
-    public boolean isClosingConnection() {
-        return false;
-    }
-
-    /**
-     * Sets the <code>closingConnection</code> property.
-     * 
-     * @deprecated since 4.0 does nothing. Connection closing is outside the
-     *             scope of this iterator. See
-     *             {@link ConnectionAwareResultIterator} for a replacement.
-     */
-    @Deprecated
-    public void setClosingConnection(boolean flag) {
-        // noop
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java b/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java
index 9d9c47a..ce2636f 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/exp/Expression.java
@@ -337,45 +337,6 @@ public abstract class Expression implements Serializable, XMLSerializable {
 	}
 
 	/**
-	 * A shortcut for <code>expWithParams(params, true)</code>.
-	 * 
-	 * @deprecated since 4.0 use {@link #params(Map)}
-	 */
-	@Deprecated
-	public Expression expWithParameters(Map<String, ?> parameters) {
-		return expWithParameters(parameters, true);
-	}
-
-	/**
-	 * Creates and returns a new Expression instance using this expression as a
-	 * prototype. All ExpressionParam operands are substituted with the values
-	 * in the <code>params</code> map.
-	 * <p>
-	 * <i>Null values in the <code>params</code> map should be explicitly
-	 * created in the map for the corresponding key. </i>
-	 * </p>
-	 * 
-	 * @param parameters
-	 *            a map of parameters, with each key being a string name of an
-	 *            expression parameter, and value being the value that should be
-	 *            used in the final expression.
-	 * @param pruneMissing
-	 *            If <code>true</code>, subexpressions that rely on missing
-	 *            parameters will be pruned from the resulting tree. If
-	 *            <code>false</code> , any missing values will generate an
-	 *            exception.
-	 * @return Expression resulting from the substitution of parameters with
-	 *         real values, or null if the whole expression was pruned, due to
-	 *         the missing parameters.
-	 * 
-	 * @deprecated since 4.0 use {@link #params(Map, boolean)} instead.
-	 */
-	@Deprecated
-	public Expression expWithParameters(Map<String, ?> parameters, boolean pruneMissing) {
-		return params(parameters, pruneMissing);
-	}
-
-	/**
 	 * Creates a new expression that joins this object with another expression,
 	 * using specified join type. It is very useful for incrementally building
 	 * chained expressions, like long AND or OR statements.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/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 07b63a0..8260333 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
@@ -85,19 +85,6 @@ public class Property<E> {
     private final Class<? super E> type;
 
     /**
-     * Constructs a new property with the given name.
-     *
-     * @param name name of the property (usually it's obj path)
-     *
-     * @see Property#create(String, Class)
-     * @deprecated use factory method Property.create("propertyName", PropertyType.class)
-     */
-    @Deprecated
-	public Property(final String name) {
-        this(name, null);
-    }
-
-    /**
      * Constructs a new property with the given name and type.
      *
      * @param name of the property (usually it's obj path)

http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/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 b2d5bd1..da8b83d 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
@@ -446,7 +446,7 @@ public class SelectQuery<T> extends AbstractQuery implements ParameterizedQuery,
 	 * Returns a query built using this query as a prototype, using a set of
 	 * parameters to build the qualifier.
 	 * 
-	 * @see org.apache.cayenne.exp.Expression#expWithParameters(java.util.Map,
+	 * @see org.apache.cayenne.exp.Expression#params(java.util.Map,
 	 *      boolean) parameter substitution.
 	 */
 	public SelectQuery<T> queryWithParameters(Map<String, ?> parameters, boolean pruneMissing) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_ParamsLegacyTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_ParamsLegacyTest.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_ParamsLegacyTest.java
deleted file mode 100644
index efe4667..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/Expression_ParamsLegacyTest.java
+++ /dev/null
@@ -1,92 +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.exp;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.HashMap;
-
-import org.junit.Test;
-
-/**
- * Testing deprecated Expression.expWithParameters(..) API.
- * 
- * @deprecated since 4.0
- */
-@Deprecated
-public class Expression_ParamsLegacyTest {
-
-	@SuppressWarnings("serial")
-	@Test
-	public void testExpWithParams_Prune() throws Exception {
-		Expression e = ExpressionFactory
-				.exp("k1 = $test or k2 = $v2 or k3 = $v3");
-
-		Expression ep = e.expWithParameters(new HashMap<String, Object>() {
-			{
-				put("test", "T");
-				put("v2", "K");
-				put("v3", 5);
-			}
-		}, true);
-
-		assertEquals("(k1 = \"T\") or (k2 = \"K\") or (k3 = 5)", ep.toString());
-	}
-
-	@SuppressWarnings("serial")
-	@Test
-	public void testExpWithParams_PrunePartial() throws Exception {
-		Expression e = ExpressionFactory
-				.exp("k1 = $test or k2 = $v2 or k3 = $v3");
-
-		Expression ep = e.expWithParameters(new HashMap<String, Object>() {
-			{
-				put("test", "T");
-				put("v3", 5);
-			}
-		}, true);
-
-		assertEquals("(k1 = \"T\") or (k3 = 5)", ep.toString());
-	}
-
-	@SuppressWarnings("serial")
-	@Test
-	public void testExpWithParams_NoPrune() throws Exception {
-		Expression e = ExpressionFactory
-				.exp("k1 = $test or k2 = $v2 or k3 = $v3");
-
-		Expression ep = e.expWithParameters(new HashMap<String, Object>() {
-			{
-				put("test", "T");
-				put("v2", "K");
-				put("v3", 5);
-			}
-		}, false);
-
-		assertEquals("(k1 = \"T\") or (k2 = \"K\") or (k3 = 5)", ep.toString());
-	}
-
-	@Test(expected = ExpressionException.class)
-	public void testExpWithParams_NoPrune_Partial() throws Exception {
-		Expression e = ExpressionFactory
-				.exp("k1 = $test or k2 = $v2 or k3 = $v3");
-		e.expWithParameters(new HashMap<String, Object>(), false);
-	}
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/cayenne-server/src/test/java/org/apache/cayenne/exp/PropertyTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/exp/PropertyTest.java b/cayenne-server/src/test/java/org/apache/cayenne/exp/PropertyTest.java
index 83b5868..4260bf6 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/exp/PropertyTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/exp/PropertyTest.java
@@ -288,15 +288,6 @@ public class PropertyTest {
         assertEquals("test.path", ex.toString());
     }
 
-    @SuppressWarnings("deprecation")
-    @Test
-    public void testDeprecatedConstruct() {
-        Property<String> p = new Property<>("p");
-        assertNull(p.getType());
-        assertEquals("p", p.getName());
-        assertEquals(new ASTObjPath("p"), p.getExpression());
-    }
-
     @Test
     public void testCreationWithName() {
         Property<String> p1 = new Property<>("p1", String.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java
index fe4edba..84fadd4 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java
@@ -1007,19 +1007,6 @@ public class ColumnSelectIT extends ServerCase {
     }
 
     /*
-     * Test deprecated property constructor
-     */
-
-    @Test
-    @SuppressWarnings("deprecation")
-    public void testDeprecateConstructor() {
-        Property<String> property = new Property<>("artistName");
-        List<String> names = ObjectSelect.columnQuery(Artist.class, property).select(context);
-        assertEquals(20, names.size());
-    }
-
-
-    /*
      * Test selection from nested context
      */
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/13056c18/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 4c720e8..a5635bf 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -98,7 +98,18 @@ UPGRADING TO 4.1.M2
       - removed from org.apache.cayenne.lifecycle.db and org.apache.cayenne.lifecycle.db.auto classes with @Audit annotation;
       - removed Audit db-entities, obj-entities and relationships from lifecycle-map.map.xml;
       - removed org.apache.cayenne.lifecycle.unit {no usage};
-
+      - removed org.apache.cayenne.access.Transaction {since 4.0. For manual transaction management use BaseTransaction or
+      ServerRuntime#performInTransaction(org.apache.cayenne.tx.TransactionalOperation) Also note that since 4.0 an actual Transaction is an interface
+      located in a different package: org.apache.cayenne.tx.Transaction};
+      - removed boolean isClosingConnection(); void setClosingConnection(boolean flag) {since 4.0 always returns false; since 4.0 does nothing.
+      Connection closing is outside the scope of this iterator. See ConnectionAwareResultIterator} in org.apache.cayenne.jdbc.JDBCResultIterator;
+      - removed Expression expWithParameters(Map<String, ?> parameters) {since 4.0 use #params(Map)} in org.apache.cayenne.exp.Expression;
+      - removed Expression expWithParameters(Map<String, ?> parameters, boolean pruneMissing) {since 4.0 use #params(Map, boolean)}
+      in org.apache.cayenne.exp.Expression;
+      - removed org.apache.cayenne.exp.Expression_ParamsLegacyTest;
+      - removed Property(final String name) {use factory method Property.create("propertyName", PropertyType.class)} in org.apache.cayenne.exp.Property;
+      - removed void testDeprecatedConstruct(); in org.apache.cayenne.exp.PropertyTest;
+      - removed void testDeprecatedConstruct(); in org.apache.cayenne.query.ColumnSelectIT;
 
 
 UPGRADING TO 4.1.M1


[29/30] cayenne git commit: CAY-2377 Upgrade notes

Posted by nt...@apache.org.
CAY-2377 Upgrade notes


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

Branch: refs/heads/master
Commit: 07111dff6aa83e63b5a9e4ee3ed2590211446a36
Parents: 9e768db
Author: Nikita Timofeev <st...@gmail.com>
Authored: Thu Dec 7 12:25:31 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Thu Dec 7 12:25:31 2017 +0300

----------------------------------------------------------------------
 docs/doc/src/main/resources/UPGRADE.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/07111dff/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 266c5ab..0c9fc00 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -6,7 +6,7 @@ IMPORTANT: be sure to read all notes for the intermediate releases between your
 -------------------------------------------------------------------------------
 UPGRADING TO 4.1.M2
 
-* Per CAY-2377 Cleanup deprecated code
+* Per CAY-2377 All code deprecated in Cayenne 4.0 was removed, please review your code before upgrading.
 
 * Per CAY-2372 three new modules extracted from Cayenne core. No changes to the packages or api have been made,
     so you should only include additional module to your project (if it where used).


[07/30] cayenne git commit: CAY-2377. Remove org.apache.cayenne.lifecycle.changeset and org.apache.cayenne.lifecycle.audit

Posted by nt...@apache.org.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml b/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml
index d6763ab..6f79663 100644
--- a/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml
+++ b/cayenne-lifecycle/src/test/resources/lifecycle-map.map.xml
@@ -4,37 +4,6 @@
 	 xsi:schemaLocation="http://cayenne.apache.org/schema/10/modelMap http://cayenne.apache.org/schema/10/modelMap.xsd"
 	 project-version="10">
 	<property name="defaultPackage" value="org.apache.cayenne.lifecycle.db"/>
-	<db-entity name="AUDITABLE1">
-		<db-attribute name="CHAR_PROPERTY1" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="AUDITABLE2">
-		<db-attribute name="CHAR_PROPERTY1" type="VARCHAR" length="200"/>
-		<db-attribute name="CHAR_PROPERTY2" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="AUDITABLE_CHILD1">
-		<db-attribute name="AUDITABLE1_ID" type="INTEGER"/>
-		<db-attribute name="CHAR_PROPERTY1" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="AUDITABLE_CHILD2">
-		<db-attribute name="AUDITABLE1_ID" type="INTEGER"/>
-		<db-attribute name="CHAR_PROPERTY1" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="AUDITABLE_CHILD3">
-		<db-attribute name="AUDITABLE2_ID" type="INTEGER"/>
-		<db-attribute name="CHAR_PROPERTY1" type="VARCHAR" length="200"/>
-		<db-attribute name="CHAR_PROPERTY2" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-	</db-entity>
-	<db-entity name="AUDITABLE_CHILD_UUID">
-		<db-attribute name="CHAR_PROPERTY1" type="VARCHAR" length="200"/>
-		<db-attribute name="CHAR_PROPERTY2" type="VARCHAR" length="200"/>
-		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
-		<db-attribute name="UUID" type="VARCHAR" length="200"/>
-	</db-entity>
 	<db-entity name="E1">
 		<db-attribute name="ID" type="BIGINT" isPrimaryKey="true" isMandatory="true"/>
 	</db-entity>
@@ -62,28 +31,6 @@
 		<db-attribute name="ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/>
 		<db-attribute name="UUID" type="VARCHAR" length="200"/>
 	</db-entity>
-	<obj-entity name="Auditable1" className="org.apache.cayenne.lifecycle.db.Auditable1" dbEntityName="AUDITABLE1">
-		<obj-attribute name="charProperty1" type="java.lang.String" db-attribute-path="CHAR_PROPERTY1"/>
-	</obj-entity>
-	<obj-entity name="Auditable2" className="org.apache.cayenne.lifecycle.db.Auditable2" dbEntityName="AUDITABLE2">
-		<obj-attribute name="charProperty1" type="java.lang.String" db-attribute-path="CHAR_PROPERTY1"/>
-		<obj-attribute name="charProperty2" type="java.lang.String" db-attribute-path="CHAR_PROPERTY2"/>
-	</obj-entity>
-	<obj-entity name="AuditableChild1" className="org.apache.cayenne.lifecycle.db.AuditableChild1" dbEntityName="AUDITABLE_CHILD1">
-		<obj-attribute name="charProperty1" type="java.lang.String" db-attribute-path="CHAR_PROPERTY1"/>
-	</obj-entity>
-	<obj-entity name="AuditableChild2" className="org.apache.cayenne.lifecycle.db.AuditableChild2" dbEntityName="AUDITABLE_CHILD2">
-		<obj-attribute name="charProperty1" type="java.lang.String" db-attribute-path="CHAR_PROPERTY1"/>
-	</obj-entity>
-	<obj-entity name="AuditableChild3" className="org.apache.cayenne.lifecycle.db.AuditableChild3" dbEntityName="AUDITABLE_CHILD3">
-		<obj-attribute name="charProperty1" type="java.lang.String" db-attribute-path="CHAR_PROPERTY1"/>
-		<obj-attribute name="charProperty2" type="java.lang.String" db-attribute-path="CHAR_PROPERTY2"/>
-	</obj-entity>
-	<obj-entity name="AuditableChildUuid" className="org.apache.cayenne.lifecycle.db.AuditableChildUuid" dbEntityName="AUDITABLE_CHILD_UUID">
-		<obj-attribute name="charProperty1" type="java.lang.String" db-attribute-path="CHAR_PROPERTY1"/>
-		<obj-attribute name="charProperty2" type="java.lang.String" db-attribute-path="CHAR_PROPERTY2"/>
-		<obj-attribute name="uuid" type="java.lang.String" db-attribute-path="UUID"/>
-	</obj-entity>
 	<obj-entity name="E1" className="org.apache.cayenne.lifecycle.db.E1" dbEntityName="E1"/>
 	<obj-entity name="E2" className="org.apache.cayenne.lifecycle.db.E2" dbEntityName="E2"/>
 	<obj-entity name="E3" className="org.apache.cayenne.lifecycle.db.E3" dbEntityName="E3"/>
@@ -93,24 +40,6 @@
 	<obj-entity name="UuidRoot1" className="org.apache.cayenne.lifecycle.db.UuidRoot1" dbEntityName="UUID_ROOT1">
 		<obj-attribute name="uuid" type="java.lang.String" db-attribute-path="UUID"/>
 	</obj-entity>
-	<db-relationship name="children1" source="AUDITABLE1" target="AUDITABLE_CHILD1" toMany="true">
-		<db-attribute-pair source="ID" target="AUDITABLE1_ID"/>
-	</db-relationship>
-	<db-relationship name="children2" source="AUDITABLE1" target="AUDITABLE_CHILD2" toMany="true">
-		<db-attribute-pair source="ID" target="AUDITABLE1_ID"/>
-	</db-relationship>
-	<db-relationship name="children" source="AUDITABLE2" target="AUDITABLE_CHILD3" toMany="true">
-		<db-attribute-pair source="ID" target="AUDITABLE2_ID"/>
-	</db-relationship>
-	<db-relationship name="parent" source="AUDITABLE_CHILD1" target="AUDITABLE1">
-		<db-attribute-pair source="AUDITABLE1_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="parent" source="AUDITABLE_CHILD2" target="AUDITABLE1">
-		<db-attribute-pair source="AUDITABLE1_ID" target="ID"/>
-	</db-relationship>
-	<db-relationship name="parent" source="AUDITABLE_CHILD3" target="AUDITABLE2">
-		<db-attribute-pair source="AUDITABLE2_ID" target="ID"/>
-	</db-relationship>
 	<db-relationship name="e34s" source="E3" target="E34" toDependentPK="true" toMany="true">
 		<db-attribute-pair source="ID" target="E3_ID"/>
 	</db-relationship>
@@ -129,11 +58,6 @@
 	<db-relationship name="deps" source="SORT_ROOT" target="SORT_DEP" toMany="true">
 		<db-attribute-pair source="ID" target="ROOT_ID"/>
 	</db-relationship>
-	<obj-relationship name="children1" source="Auditable1" target="AuditableChild1" deleteRule="Deny" db-relationship-path="children1"/>
-	<obj-relationship name="children" source="Auditable2" target="AuditableChild3" deleteRule="Deny" db-relationship-path="children"/>
-	<obj-relationship name="parent" source="AuditableChild1" target="Auditable1" deleteRule="Nullify" db-relationship-path="parent"/>
-	<obj-relationship name="parent" source="AuditableChild2" target="Auditable1" deleteRule="Nullify" db-relationship-path="parent"/>
-	<obj-relationship name="parent" source="AuditableChild3" target="Auditable2" deleteRule="Nullify" db-relationship-path="parent"/>
 	<obj-relationship name="e4s" source="E3" target="E4" deleteRule="Deny" db-relationship-path="e34s.e4"/>
 	<obj-relationship name="e3s" source="E4" target="E3" deleteRule="Deny" db-relationship-path="e34s.e3"/>
 	<obj-relationship name="root" source="SortDep" target="SortRoot" deleteRule="Nullify" db-relationship-path="root"/>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 5ccc1d7..4c720e8 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -92,7 +92,12 @@ UPGRADING TO 4.1.M2
       - removed DataMap loadEOModel(String path) {since 4.0 in favor of loadEOModel(URL)} in org.apache.cayenne.wocompat;
       - removed DataMap loadEOModel(String path, boolean generateClientClass) {since 4.0 in favor of loadEOModel(URL, boolean)} in org.apache.cayenne.wocompat;
       - removed Map loadModeIndex(URL url) {since 4.0 in favor of loadModeIndex(URL)} in org.apache.cayenne.wocompat;
-
+      - removed org.apache.cayenne.lifecycle.audit;
+      - removed org.apache.cayenne.lifecycle.changeset;
+      - removed org.apache.cayenne.lifecycle.audit in tests;
+      - removed from org.apache.cayenne.lifecycle.db and org.apache.cayenne.lifecycle.db.auto classes with @Audit annotation;
+      - removed Audit db-entities, obj-entities and relationships from lifecycle-map.map.xml;
+      - removed org.apache.cayenne.lifecycle.unit {no usage};
 
 
 


[05/30] cayenne git commit: CAY-2377. Changes in JDBCEventLogger and impl

Posted by nt...@apache.org.
CAY-2377. Changes in JDBCEventLogger and impl


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

Branch: refs/heads/master
Commit: cb1ed5d65de53f4b311d8786b9ad9ee06a37b97a
Parents: 13056c1
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Oct 25 11:18:06 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:46 2017 +0300

----------------------------------------------------------------------
 .../log/FormattedSlf4jJdbcEventLogger.java      |  12 --
 .../org/apache/cayenne/log/JdbcEventLogger.java |  18 --
 .../apache/cayenne/log/NoopJdbcEventLogger.java |  15 --
 .../cayenne/log/Slf4jJdbcEventLogger.java       | 177 -------------------
 .../cayenne/log/Slf4jJdbcEventLoggerTest.java   |  10 --
 docs/doc/src/main/resources/UPGRADE.txt         |  18 +-
 6 files changed, 17 insertions(+), 233 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/cb1ed5d6/cayenne-server/src/main/java/org/apache/cayenne/log/FormattedSlf4jJdbcEventLogger.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/FormattedSlf4jJdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/FormattedSlf4jJdbcEventLogger.java
index 7994f58..b38c90e 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/log/FormattedSlf4jJdbcEventLogger.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/log/FormattedSlf4jJdbcEventLogger.java
@@ -120,16 +120,4 @@ public class FormattedSlf4jJdbcEventLogger extends Slf4jJdbcEventLogger {
         return result;
     }
 
-    @Override
-    @Deprecated
-    public void logQuery(
-            String queryStr,
-            List<DbAttribute> attrs,
-            List<?> params,
-            long time) {
-        if (isLoggable()) {
-            super.logQuery(formatQuery(queryStr), attrs, params, time);
-        }
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cb1ed5d6/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 124e6ba..28fd49e 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
@@ -39,18 +39,6 @@ public interface JdbcEventLogger {
 	void logGeneratedKey(DbAttribute attribute, Object value);
 
 	/**
-	 * @deprecated since 4.0 use {@link #logQuery(String, ParameterBinding[])}.
-	 */
-	@Deprecated
-	void logQuery(String sql, List<?> params);
-
-	/**
-	 * @deprecated since 4.0 use {@link #logQuery(String, ParameterBinding[])}.
-	 */
-	@Deprecated
-	void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time);
-
-	/**
 	 * @since 4.0
 	 */
 	void logQuery(String sql, ParameterBinding[] bindings);
@@ -60,12 +48,6 @@ public interface JdbcEventLogger {
 	 */
 	void logQueryParameters(String label, ParameterBinding[] bindings);
 
-	/**
-	 * @deprecated since 4.0 use {@link #logQueryParameters(String, ParameterBinding[])}
-	 */
-	@Deprecated
-	void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting);
-
 	void logSelectCount(int count, long time);
 
 	/**

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cb1ed5d6/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
index 75f6f58..abe6adf 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/log/NoopJdbcEventLogger.java
@@ -46,27 +46,12 @@ public class NoopJdbcEventLogger implements JdbcEventLogger {
 	@Override
 	public void logGeneratedKey(DbAttribute attribute, Object value) {
 	}
-
-	@Deprecated
-	@Override
-	public void logQuery(String sql, List<?> params) {
-	}
-
-	@Deprecated
-	@Override
-	public void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time) {
-	}
 	
 	@Override
 	public void logQuery(String sql, ParameterBinding[] bindings) {
 	}
 
 	@Override
-	@Deprecated
-	public void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting) {
-	}
-
-	@Override
 	public void logQueryParameters(String label, ParameterBinding[] bindings) {
 	}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cb1ed5d6/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java b/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java
index a18e5e1..d29b585 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/log/Slf4jJdbcEventLogger.java
@@ -59,96 +59,6 @@ public class Slf4jJdbcEventLogger implements JdbcEventLogger {
 				Constants.QUERY_EXECUTION_TIME_LOGGING_THRESHOLD_PROPERTY, 0);
 	}
 
-	// this should go away once we can remove 4.0 deprecated API. The actual logic for printing a value is now
-    // spread around the ExtendedTypes
-	@Deprecated
-	void sqlLiteralForObject(StringBuilder buffer, Object object) {
-		if (object == null) {
-			buffer.append("NULL");
-		} else if (object instanceof String) {
-			buffer.append('\'');
-			// lets escape quotes
-			String literal = (String) object;
-			if (literal.length() > TRIM_VALUES_THRESHOLD) {
-				literal = literal.substring(0, TRIM_VALUES_THRESHOLD) + "...";
-			}
-
-			int curPos = 0;
-			int endPos = 0;
-
-			while ((endPos = literal.indexOf('\'', curPos)) >= 0) {
-				buffer.append(literal.substring(curPos, endPos + 1)).append('\'');
-				curPos = endPos + 1;
-			}
-
-			if (curPos < literal.length())
-				buffer.append(literal.substring(curPos));
-
-			buffer.append('\'');
-		}
-		// handle byte pretty formatting
-		else if (object instanceof Byte) {
-			IDUtil.appendFormattedByte(buffer, (Byte) object);
-		} else if (object instanceof Number) {
-			// process numeric value (do something smart in the future)
-			buffer.append(object);
-		} else if (object instanceof java.sql.Date) {
-			buffer.append('\'').append(object).append('\'');
-		} else if (object instanceof java.sql.Time) {
-			buffer.append('\'').append(object).append('\'');
-		} else if (object instanceof java.util.Date) {
-			long time = ((java.util.Date) object).getTime();
-			buffer.append('\'').append(new java.sql.Timestamp(time)).append('\'');
-		} else if (object instanceof java.util.Calendar) {
-			long time = ((java.util.Calendar) object).getTimeInMillis();
-			buffer.append(object.getClass().getName()).append('(').append(new java.sql.Timestamp(time)).append(')');
-		} else if (object instanceof Character) {
-			buffer.append(((Character) object).charValue());
-		} else if (object instanceof Boolean) {
-			buffer.append('\'').append(object).append('\'');
-		} else if (object instanceof Enum<?>) {
-			// buffer.append(object.getClass().getName()).append(".");
-			buffer.append(((Enum<?>) object).name()).append("=");
-			if (object instanceof ExtendedEnumeration) {
-				Object value = ((ExtendedEnumeration) object).getDatabaseValue();
-				if (value instanceof String)
-					buffer.append("'");
-				buffer.append(value);
-				if (value instanceof String)
-					buffer.append("'");
-			} else {
-				buffer.append(((Enum<?>) object).ordinal());
-				// FIXME -- this isn't quite right
-			}
-		} else if (object instanceof ParameterBinding) {
-			sqlLiteralForObject(buffer, ((ParameterBinding) object).getValue());
-		} else if (object.getClass().isArray()) {
-			buffer.append("< ");
-
-			int len = Array.getLength(object);
-			boolean trimming = false;
-			if (len > TRIM_VALUES_THRESHOLD) {
-				len = TRIM_VALUES_THRESHOLD;
-				trimming = true;
-			}
-
-			for (int i = 0; i < len; i++) {
-				if (i > 0) {
-					buffer.append(",");
-				}
-				sqlLiteralForObject(buffer, Array.get(object, i));
-			}
-
-			if (trimming) {
-				buffer.append("...");
-			}
-
-			buffer.append('>');
-		} else {
-			buffer.append(object.getClass().getName()).append("@").append(System.identityHashCode(object));
-		}
-	}
-
 	@Override
 	public void log(String message) {
 		if (message != null) {
@@ -164,63 +74,6 @@ public class Slf4jJdbcEventLogger implements JdbcEventLogger {
 		}
 	}
 
-	/**
-	 * @deprecated since 4.0 use
-	 *             {@link #logQuery(String, ParameterBinding[], long)}.
-	 */
-	@Deprecated
-	@Override
-	public void logQuery(String queryStr, List<?> params) {
-		logQuery(queryStr, null, params, -1);
-	}
-
-	/**
-	 * @deprecated since 4.0 uses old style of parameter logging.
-	 */
-	@Deprecated
-	private void buildLog(StringBuilder buffer, String prefix, String postfix, List<DbAttribute> attributes,
-			List<?> parameters, boolean isInserting) {
-		if (parameters != null && parameters.size() > 0) {
-			Iterator<DbAttribute> attributeIterator = null;
-			int position = 0;
-
-			if (attributes != null)
-				attributeIterator = attributes.iterator();
-
-			for (Object parameter : parameters) {
-				// If at the beginning, output the prefix, otherwise a
-				// separator.
-				if (position++ == 0)
-					buffer.append(prefix);
-				else
-					buffer.append(", ");
-
-				// Find the next attribute and SKIP generated attributes. Only
-				// skip when logging inserts, though. Should show previously
-				// generated keys on DELETE, UPDATE, or SELECT.
-				DbAttribute attribute = null;
-				while (attributeIterator != null && attributeIterator.hasNext()) {
-					attribute = attributeIterator.next();
-
-					if (!isInserting || !attribute.isGenerated())
-						break;
-				}
-
-				buffer.append(position);
-
-				if (attribute != null) {
-					buffer.append("->");
-					buffer.append(attribute.getName());
-				}
-
-				buffer.append(":");
-				sqlLiteralForObject(buffer, parameter);
-			}
-
-			buffer.append(postfix);
-		}
-	}
-
 	private boolean isInserting(String query) {
 		if (query == null || query.length() == 0)
 			return false;
@@ -243,36 +96,6 @@ public class Slf4jJdbcEventLogger implements JdbcEventLogger {
 		}
 	}
 
-	@Deprecated
-	@Override
-	public void logQuery(String queryStr, List<DbAttribute> attrs, List<?> params, long time) {
-		if (isLoggable()) {
-			StringBuilder buffer = new StringBuilder(queryStr);
-			buildLog(buffer, " [bind: ", "]", attrs, params, isInserting(queryStr));
-
-			// log preparation time only if it is something significant
-			if (time > 5) {
-				buffer.append(" - prepared in ").append(time).append(" ms.");
-			}
-
-			logger.info(buffer.toString());
-		}
-	}
-
-	/**
-	 * @deprecated since 4.0
-	 */
-	@Deprecated
-	@Override
-	public void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting) {
-		String prefix = "[" + label + ": ";
-		if (isLoggable() && parameters.size() > 0) {
-			StringBuilder buffer = new StringBuilder();
-			buildLog(buffer, prefix, "]", attrs, parameters, isInserting);
-			logger.info(buffer.toString());
-		}
-	}
-
 	@Override
 	public void logQueryParameters(String label, ParameterBinding[] bindings) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cb1ed5d6/cayenne-server/src/test/java/org/apache/cayenne/log/Slf4jJdbcEventLoggerTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/log/Slf4jJdbcEventLoggerTest.java b/cayenne-server/src/test/java/org/apache/cayenne/log/Slf4jJdbcEventLoggerTest.java
index 5074ee4..a41861c 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/log/Slf4jJdbcEventLoggerTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/log/Slf4jJdbcEventLoggerTest.java
@@ -30,16 +30,6 @@ import static org.junit.Assert.assertTrue;
 public class Slf4jJdbcEventLoggerTest {
 
     @Test
-    public void testSqlLiteralForObject() throws Exception {
-        StringBuilder buf = new StringBuilder();
-
-        // test unsupported type
-        new Slf4jJdbcEventLogger(new DefaultRuntimeProperties(Collections.<String, String>emptyMap()))
-                .sqlLiteralForObject(buf, new Object());
-        assertTrue(buf.length() > 0);
-    }
-
-    @Test
     public void testAppendFormattedByte() throws Exception {
         assertFormatting((byte) 0, "00");
         assertFormatting((byte) 1, "01");

http://git-wip-us.apache.org/repos/asf/cayenne/blob/cb1ed5d6/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index a5635bf..30de007 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -110,7 +110,23 @@ UPGRADING TO 4.1.M2
       - removed Property(final String name) {use factory method Property.create("propertyName", PropertyType.class)} in org.apache.cayenne.exp.Property;
       - removed void testDeprecatedConstruct(); in org.apache.cayenne.exp.PropertyTest;
       - removed void testDeprecatedConstruct(); in org.apache.cayenne.query.ColumnSelectIT;
-
+      - removed void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting); {since 4.0 use
+      logQueryParameters(String, ParameterBinding[])} in org.apache.cayenne.log.JdbcEventLogger;
+      - removed void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting) in org.apache.cayenne.log.Slf4jJdbcEventLogger;
+      - removed void logQueryParameters(String label, List<DbAttribute> attrs, List<Object> parameters, boolean isInserting) in org.apache.cayenne.log.NoopJdbcEventLogger;
+      - removed void logQuery(String sql, List<?> params); {since 4.0 use logQuery(String, ParameterBinding[])} in org.apache.cayenne.log.JdbcEventLogger;
+      - removed void logQuery(String queryStr, List<?> params) in org.apache.cayenne.log.Slf4jJdbcEventLogger;
+      - removed void logQuery(String sql, List<?> params) in org.apache.cayenne.log.NoopJdbcEventLogger;
+      - removed void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time); {since 4.0 use logQuery(String, ParameterBinding[])}
+      in org.apache.cayenne.log.JdbcEventLogger;
+      - removed void logQuery(String queryStr, List<DbAttribute> attrs, List<?> params, long time); in org.apache.cayenne.log.Slf4jJdbcEventLogger;
+      - removed void logQuery(String sql, List<DbAttribute> attrs, List<?> params, long time); in org.apache.cayenne.log.NoopJdbcEventLogger;
+      - removed void logQuery(String queryStr, List<DbAttribute> attrs, List<?> params, long time) in org.apache.cayenne.log.FormattedSlf4jJdbcEventLogger;
+      - removed void buildLog(StringBuilder buffer, String prefix, String postfix, List<DbAttribute> attributes, List<?> parameters, boolean isInserting);
+      {since 4.0 uses old style of parameter logging} in org.apache.cayenne.log.Slf4jJdbcEventLogger;
+      - removed void sqlLiteralForObject(StringBuilder buffer, Object object); {his should go away once we can remove 4.0 deprecated API. The actual logic for printing a value is now
+      spread around the ExtendedTypes} in org.apache.cayenne.log.Slf4jJdbcEventLogger;
+      - removed test void testSqlLiteralForObject() in org.apache.cayenne.log;
 
 UPGRADING TO 4.1.M1
 


[09/30] cayenne git commit: CAY-2377. Remove getOrginatingQuery()

Posted by nt...@apache.org.
CAY-2377. Remove getOrginatingQuery()


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

Branch: refs/heads/master
Commit: 5a912add56882ed87d24566402c4894847d39053
Parents: c470d37
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Oct 25 12:42:25 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:46 2017 +0300

----------------------------------------------------------------------
 .../main/java/org/apache/cayenne/query/QueryMetadataProxy.java | 6 ------
 docs/doc/src/main/resources/UPGRADE.txt                        | 1 +
 2 files changed, 1 insertion(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/5a912add/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java
index 259aa51..821c7e9 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java
@@ -88,12 +88,6 @@ public class QueryMetadataProxy implements QueryMetadata {
         return mdDelegate.getObjEntity();
     }
 
-    @Deprecated
-    @Override
-    public Query getOrginatingQuery() {
-        return mdDelegate.getOriginatingQuery();
-    }
-
     @Override
     public Query getOriginatingQuery() {
         return mdDelegate.getOriginatingQuery();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/5a912add/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 964e212..7ffa685 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -139,6 +139,7 @@ UPGRADING TO 4.1.M2
       Use DriverDataSource(Driver, String, String, String)} in org.apache.cayenne.datasource.DriverDataSource;
       - removed static Driver loadDriver(String driverClassName) {since 4.0 as class loading should not happen here} in org.apache.cayenne.datasource.DriverDataSource;
       - removed Query getOrginatingQuery(); {since 4.0, use QueryMetadata#getOriginatingQuery()} in org.apache.cayenne.query.QueryMetadata;
+      - removed Query getOrginatingQuery(); in org.apache.Cayenne.query.QueryMetadataProxy;
       - removed Query getOrginatingQuery(); in org.apache.cayenne.access.DataDomainQuery;
       - removed Query getOrginatingQuery(); in org.apache.cayenne.access.ObjectsFromDataRowsQuery;
       - removed Ehcache getDefaultCache() {since 4.0 - this method is no longer in use. If you are overriding it, override cacheName(QueryMetadata) instead.}


[14/30] cayenne git commit: CAY-2377. Cleanup deprecated code

Posted by nt...@apache.org.
CAY-2377. Cleanup deprecated code


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

Branch: refs/heads/master
Commit: ad04fb80819446a3476e73aa82d720f51a1f099a
Parents: 98a2d23
Author: Arseni Bulatski <an...@gmail.com>
Authored: Thu Oct 26 09:51:16 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:47 2017 +0300

----------------------------------------------------------------------
 .../cayenne/lifecycle/id/StringIdQuery.java     |  9 --------
 .../org/apache/cayenne/query/BatchQuery.java    |  7 -------
 .../apache/cayenne/query/CacheableQuery.java    | 17 ---------------
 .../cayenne/query/SelectQueryCacheKeyIT.java    | 22 --------------------
 docs/doc/src/main/resources/UPGRADE.txt         |  7 ++++++-
 5 files changed, 6 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad04fb80/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
index 56c500f..bec2c9c 100644
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
+++ b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
@@ -162,11 +162,6 @@ public class StringIdQuery implements Query {
                 return false;
             }
 
-            @Deprecated
-            public Query getOrginatingQuery() {
-                return null;
-            }
-
             public Query getOriginatingQuery() {
                 return null;
             }
@@ -273,8 +268,4 @@ public class StringIdQuery implements Query {
         return dataMap;
     }
 
-    @Deprecated
-    public void setDataMap(DataMap dataMap) {
-        this.dataMap = dataMap;
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad04fb80/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
index de191a7..695224a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
@@ -157,11 +157,4 @@ public abstract class BatchQuery implements Query {
         return dbAttributes;
     }
 
-    /**
-     * @deprecated since 4.0 use getRows().size().
-     */
-    @Deprecated
-    public int size() {
-        return rows.size();
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad04fb80/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
index 0780381..bc3d3a9 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
@@ -114,23 +114,6 @@ public abstract class CacheableQuery implements Query {
     }
 
     /**
-     * Instructs Cayenne to look for query results in the "local" cache when
-     * running the query. This is a short-hand notation for:
-     *
-     * <pre>
-     * query.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE);
-     * query.setCacheGroups(&quot;group1&quot;, &quot;group2&quot;);
-     * </pre>
-     * @deprecated since 4.0, use {@link CacheableQuery#useLocalCache(String)}
-     * @since 4.0
-     */
-    @Deprecated
-    public void useLocalCache(String... cacheGroups) {
-        setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE);
-        setCacheGroups(cacheGroups);
-    }
-
-    /**
      * Instructs Cayenne to look for query results in the "shared" cache when
      * running the query. This is a short-hand notation for:
      *

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad04fb80/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 5b4bc94..cfde82f 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
@@ -89,28 +89,6 @@ public class SelectQueryCacheKeyIT extends ServerCase {
     }
 
     @Test
-    public void testUseLocalCacheOld() {
-
-        SelectQuery<Artist> q1 = new SelectQuery<>(Artist.class);
-        q1.useLocalCache();
-
-        QueryMetadata md1 = q1.getMetaData(resolver);
-        assertEquals(QueryCacheStrategy.LOCAL_CACHE, md1.getCacheStrategy());
-        assertNotNull(md1.getCacheKey());
-        assertNull(md1.getCacheGroups());
-        assertNull(md1.getCacheGroup());
-
-        SelectQuery<Artist> q2 = new SelectQuery<>(Artist.class);
-        q2.useLocalCache("g1", "g2");
-
-        QueryMetadata md2 = q2.getMetaData(resolver);
-        assertEquals(QueryCacheStrategy.LOCAL_CACHE, md2.getCacheStrategy());
-        assertNotNull(md2.getCacheKey());
-        assertEquals(1, md2.getCacheGroups().length);
-        assertEquals("g1", md2.getCacheGroup());
-    }
-
-    @Test
     public void testSharedCache() {
 
         SelectQuery<Artist> query = new SelectQuery<>(Artist.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad04fb80/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index f1f1558..73a6cce 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -181,7 +181,12 @@ UPGRADING TO 4.1.M2
       - removed Query getOrginatingQuery() {use DefaultQueryMetadata#getOriginatingQuery()} in org.apache.cayenne.query.DefaultQueryMetadata;
       - removed Query getOrginatingQuery() in org.apache.cayenne.query.MockQueryMetadata;
       - removed Query getOrginatingQuery() {since 4.0, use BaseQueryMetadata#getOriginatingQuery()} in org.apache.cayenne.query.BaseQueryMetadata;
-      
+      - removed Query getOrginatingQuery() in org.apache.cayenne.lifecycle.StringIdQuery;
+      - removed void setDataMap(DataMap dataMap) on org.apache.cayenne.lifecycle.StringIdQuery;
+      - removed void useLocalCache(String... cacheGroups) {since 4.0, use CacheableQuery#useLocalCache(String)} in org.apache.cayenne.org.apacche.cayenne.query.CacheableQuery with test
+      void testUseLocalCacheOld() in org.apache.cayenne.query.SelectQueryCacheKeyIT;
+      - removed int size() {since 4.0 use getRows().size()} in org.apache.cayenne.query.BatchQuery;
+
 
 
 UPGRADING TO 4.1.M1


[03/30] cayenne git commit: CAY-2377. Changes in org.apache.cayenne.dba

Posted by nt...@apache.org.
CAY-2377. Changes in org.apache.cayenne.dba


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

Branch: refs/heads/master
Commit: 7c09e7f25d763a23367defa7145a8a745c7cc13d
Parents: cb1ed5d
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Oct 25 11:53:40 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:46 2017 +0300

----------------------------------------------------------------------
 .../cayenne/datasource/DriverDataSource.java    | 53 --------------------
 .../org/apache/cayenne/dba/AutoAdapter.java     |  9 ----
 .../java/org/apache/cayenne/dba/DbAdapter.java  |  7 ---
 .../cayenne/dba/DefaultQuotingStrategy.java     | 15 ------
 .../org/apache/cayenne/dba/JdbcAdapter.java     |  9 ----
 .../org/apache/cayenne/dba/QuotingStrategy.java | 15 ------
 docs/doc/src/main/resources/UPGRADE.txt         | 12 +++++
 7 files changed, 12 insertions(+), 108 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/7c09e7f2/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java b/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
index 9d999eb..b5ccc5a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/datasource/DriverDataSource.java
@@ -47,59 +47,6 @@ public class DriverDataSource implements DataSource {
 	protected String password;
 
 	/**
-	 * Loads JDBC driver using current thread class loader.
-	 * 
-	 * @since 3.0
-	 * @deprecated since 4.0 as class loading should not happen here.
-	 */
-	@Deprecated
-	private static Driver loadDriver(String driverClassName) {
-
-		Class<?> driverClass;
-		try {
-			driverClass = Util.getJavaClass(driverClassName);
-		} catch (Exception ex) {
-			throw new CayenneRuntimeException("Can not load JDBC driver named '%s': %s", driverClassName, ex.getMessage());
-		}
-
-		try {
-			return (Driver) driverClass.newInstance();
-		} catch (Exception ex) {
-			throw new CayenneRuntimeException("Error instantiating driver '%s': %s", driverClassName, ex.getMessage());
-		}
-	}
-
-	/**
-	 * Creates a new DriverDataSource. If "driverClassName" is null,
-	 * DriverDataSource will consult DriverManager for a registered driver for
-	 * the given URL. So when specifying null, a user must take care of
-	 * registering the driver. "connectionUrl" on the other hand must NOT be
-	 * null.
-	 * 
-	 * @deprecated since 4.0 as class loading should not happen here. Use {
-	 *             {@link #DriverDataSource(Driver, String, String, String)}.
-	 */
-	@Deprecated
-	public DriverDataSource(String driverClassName, String connectionUrl) {
-		this(driverClassName, connectionUrl, null, null);
-	}
-
-	/**
-	 * Creates a new DriverDataSource. If "driverClassName" is null,
-	 * DriverDataSource will consult DriverManager for a registered driver for
-	 * the given URL. So when specifying null, a user must take care of
-	 * registering the driver. "connectionUrl" on the other hand must NOT be
-	 * null.
-	 * 
-	 * @deprecated since 4.0 as class loading should not happen here. Use
-	 *             {@link #DriverDataSource(Driver, String, String, String)}.
-	 */
-	@Deprecated
-	public DriverDataSource(String driverClassName, String connectionUrl, String userName, String password) {
-		this(loadDriver(driverClassName), connectionUrl, userName, password);
-	}
-
-	/**
 	 * Creates a DriverDataSource wrapping a given Driver. If "driver" is null,
 	 * DriverDataSource will consult DriverManager for a registered driver for
 	 * the given URL. So when specifying null, a user must take care of

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7c09e7f2/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
index cb436e6..44f1b25 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
@@ -220,15 +220,6 @@ public class AutoAdapter implements DbAdapter {
 	}
 
 	/**
-	 * @deprecated since 4.0
-	 */
-	@Deprecated
-	@Override
-	public QuotingStrategy getQuotingStrategy(boolean isQuoteStrategy) {
-		return getAdapter().getQuotingStrategy(isQuoteStrategy);
-	}
-
-	/**
 	 * @since 4.0
 	 */
 	@Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7c09e7f2/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java
index e89ae4b..12d4f9a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java
@@ -194,13 +194,6 @@ public interface DbAdapter {
 	void createTableAppendColumn(StringBuffer sqlBuffer, DbAttribute column);
 
 	/**
-	 * @since 3.0
-	 * @deprecated since 4.0 use {@link #getQuotingStrategy()}.
-	 */
-	@Deprecated
-	QuotingStrategy getQuotingStrategy(boolean needQuotes);
-
-	/**
 	 * Returns SQL identifier quoting strategy object
 	 *
 	 * @since 4.0

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7c09e7f2/cayenne-server/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java
index 1019f7b..93ccdcb 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/DefaultQuotingStrategy.java
@@ -37,21 +37,6 @@ public class DefaultQuotingStrategy implements QuotingStrategy {
         this.endQuote = endQuote;
     }
 
-    /**
-     * @deprecated since 4.0
-     */
-    @Override
-    @Deprecated
-    public String quoteString(String name) {
-        return quotedIdentifier((DataMap) null, name);
-    }
-
-    @Override
-    @Deprecated
-    public String quoteFullyQualifiedName(DbEntity entity) {
-        return quotedFullyQualifiedName(entity);
-    }
-
     @Override
     public String quotedFullyQualifiedName(DbEntity entity) {
         return quotedIdentifier(entity.getDataMap(), entity.getCatalog(), entity.getSchema(), entity.getName());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7c09e7f2/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
index b8138fb..f4b0a1c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
@@ -610,15 +610,6 @@ public class JdbcAdapter implements DbAdapter {
 	}
 
 	/**
-	 * @since 3.0
-	 * @deprecated since 4.0 use {@link #getQuotingStrategy()}.
-	 */
-	@Deprecated
-	public QuotingStrategy getQuotingStrategy(boolean needQuotes) {
-		return getQuotingStrategy();
-	}
-
-	/**
 	 * @since 4.0
 	 */
 	public QuotingStrategy getQuotingStrategy() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7c09e7f2/cayenne-server/src/main/java/org/apache/cayenne/dba/QuotingStrategy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/QuotingStrategy.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/QuotingStrategy.java
index 0b004f5..a94dd72 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/QuotingStrategy.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/QuotingStrategy.java
@@ -30,21 +30,6 @@ import org.apache.cayenne.map.Entity;
 public interface QuotingStrategy {
 
     /**
-     * Returns a properly quoted identifier.
-     * 
-     * @deprecated since 4.0
-     */
-    @Deprecated
-    String quoteString(String identifier);
-
-    /**
-     * @deprecated since 4.0 renamed to
-     *             {@link #quotedFullyQualifiedName(DbEntity)}.
-     */
-    @Deprecated
-    String quoteFullyQualifiedName(DbEntity entity);
-
-    /**
      * Builds a fully qualified name from catalog, schema, name parts of
      * DbEntity, inclosing them in quotations according to this strategy
      * algorithm. Analog of "quotedIdentifier(entity.getCatalog(),

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7c09e7f2/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 30de007..1da0c9c 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -127,6 +127,18 @@ UPGRADING TO 4.1.M2
       - removed void sqlLiteralForObject(StringBuilder buffer, Object object); {his should go away once we can remove 4.0 deprecated API. The actual logic for printing a value is now
       spread around the ExtendedTypes} in org.apache.cayenne.log.Slf4jJdbcEventLogger;
       - removed test void testSqlLiteralForObject() in org.apache.cayenne.log;
+      - removed QuotingStrategy getQuotingStrategy(boolean needQuotes); {since 4.0 use getQuotingStrategy()} in org.apache.cayenne.dba.DbAdapter;
+      - removed QuotingStrategy getQuotingStrategy(boolean isQuoteStrategy) in org.apache.cayenne.dba.AutoAdapter and org.apache.cayenne.dba.JdbcAdapter;
+      - removed String quoteFullyQualifiedName(DbEntity entity); {since 4.0 renamed to quotedFullyQualifiedName(DbEntity)} in org.apache.cayenne.dba.QuotingStrategy;
+      - removed String quoteFullyQualifiedName(DbEntity entity); in org.apache.cayenne.dba.DefaultQuotingStrategy;
+      - removed String quoteString(String identifier); in org.apache.cayenne.dba.QuotingStrategy;
+      - removed String quoteString(String name); in org.apache.cayenne.dba.DefaultQuotingStrategy;
+      - removed DriverDataSource(String driverClassName, String connectionUrl) {since 4.0 as class loading should not happen here. Use DriverDataSource(Driver, String, String, String)}
+      in org.apache.cayenne.datasource.DriverDataSource;
+      - removed DriverDataSource(String driverClassName, String connectionUrl, String userName, String password) {since 4.0 as class loading should not happen here.
+      Use DriverDataSource(Driver, String, String, String)} in org.apache.cayenne.datasource.DriverDataSource;
+      - removed static Driver loadDriver(String driverClassName) {since 4.0 as class loading should not happen here} in org.apache.cayenne.datasource.DriverDataSource;
+
 
 UPGRADING TO 4.1.M1
 


[28/30] cayenne git commit: Merge remote-tracking branch 'remotes/parent/pr/247' into asf-master

Posted by nt...@apache.org.
Merge remote-tracking branch 'remotes/parent/pr/247' into asf-master

# Conflicts:
#	docs/doc/src/main/resources/RELEASE-NOTES.txt
#	docs/doc/src/main/resources/UPGRADE.txt


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

Branch: refs/heads/master
Commit: 9e768dbcb61521ee9858792b52af8d96bbf3c857
Parents: 59d9304 6b299bc
Author: Nikita Timofeev <st...@gmail.com>
Authored: Thu Dec 7 12:23:36 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Thu Dec 7 12:23:36 2017 +0300

----------------------------------------------------------------------
 assembly/pom.xml                                |   6 -
 .../cayenne/tools/AntDataPortDelegate.java      | 170 --------
 .../org/apache/cayenne/tools/DataPortTask.java  | 209 ----------
 .../org/apache/cayenne/tools/antlib.xml         |   1 -
 .../cayenne/tools/AntDataPortDelegateTest.java  |  53 ---
 .../invalidation/InvalidationFunction.java      |   2 +-
 .../rop/client/ClientLocalRuntime.java          |  78 ----
 .../configuration/rop/client/ClientModule.java  |  26 --
 .../configuration/rop/client/ClientRuntime.java |  49 ---
 .../rop/client/ClientRuntimeBuilder.java        |   2 +-
 .../CayenneContextWithDataContextIT.java        |   5 -
 .../access/ClientServerChannelQueryIT.java      |   7 -
 .../rop/client/ClientModuleTest.java            |  46 +--
 .../rop/client/ClientRuntimeBuilderTest.java    |  59 +++
 .../rop/client/ClientRuntimeTest.java           |  71 +---
 .../apache/cayenne/query/NamedQueryTest.java    |  43 --
 .../dbsync/filter/NamePatternMatcher.java       |  34 --
 .../dbsync/reverse/dbload/DbLoaderDelegate.java |  11 -
 .../reverse/dbload/DefaultDbLoaderDelegate.java |  11 -
 .../main/java/org/apache/cayenne/di/Binder.java |  24 --
 .../apache/cayenne/di/spi/DefaultBinder.java    |  14 -
 .../di/spi/DefaultInjectorInjectionTest.java    |  29 --
 cayenne-java8/pom.xml                           |  92 -----
 .../cayenne/java8/CayenneJava8Module.java       |  28 --
 .../org/apache/cayenne/java8/Java8Module.java   |  42 --
 .../java8/Java8ServerModuleProvider.java        |  48 ---
 ...iguration.server.CayenneServerModuleProvider |  20 -
 .../cayenne/java8/Java8ModuleProviderTest.java  |  32 --
 .../apache/cayenne/jcache/JCacheQueryCache.java |   6 -
 .../cayenne/lifecycle/audit/Auditable.java      |  47 ---
 .../lifecycle/audit/AuditableAggregator.java    |  72 ----
 .../cayenne/lifecycle/audit/AuditableChild.java |  62 ---
 .../audit/AuditableEntityDescriptor.java        |  82 ----
 .../lifecycle/audit/AuditableFilter.java        | 247 ------------
 .../lifecycle/audit/AuditableOperation.java     |  32 --
 .../lifecycle/audit/AuditableProcessor.java     |  45 ---
 .../cayenne/lifecycle/changeset/ChangeSet.java  |  47 ---
 .../lifecycle/changeset/ChangeSetFilter.java    |  74 ----
 .../lifecycle/changeset/GenericChangeSet.java   | 137 -------
 .../lifecycle/changeset/PropertyChange.java     |  54 ---
 .../cayenne/lifecycle/id/StringIdQuery.java     |  33 --
 .../cayenne/lifecycle/sort/SortWeight.java      |  49 ---
 .../sort/WeightedAshwoodEntitySorter.java       |  44 --
 .../lifecycle/audit/AuditableFilterIT.java      | 250 ------------
 .../lifecycle/audit/AuditableFilterTest.java    | 184 ---------
 .../lifecycle/audit/MockAuditableChild.java     |  26 --
 .../apache/cayenne/lifecycle/db/Auditable1.java |  29 --
 .../apache/cayenne/lifecycle/db/Auditable2.java |  29 --
 .../cayenne/lifecycle/db/AuditableChild1.java   |  27 --
 .../cayenne/lifecycle/db/AuditableChild2.java   |  25 --
 .../cayenne/lifecycle/db/AuditableChild3.java   |  27 --
 .../lifecycle/db/AuditableChildUuid.java        |  30 --
 .../apache/cayenne/lifecycle/db/SortRoot.java   |   2 -
 .../cayenne/lifecycle/db/auto/_Auditable1.java  |  43 --
 .../cayenne/lifecycle/db/auto/_Auditable2.java  |  51 ---
 .../lifecycle/db/auto/_AuditableChild1.java     |  38 --
 .../lifecycle/db/auto/_AuditableChild2.java     |  38 --
 .../lifecycle/db/auto/_AuditableChild3.java     |  46 ---
 .../lifecycle/db/auto/_AuditableChildUuid.java  |  43 --
 .../sort/WeightedAshwoodEntitySorterTest.java   |  72 ----
 .../lifecycle/unit/AuditableServerCase.java     |  83 ----
 .../src/test/resources/lifecycle-map.map.xml    |  76 ----
 .../cayenne/project/CayenneProjectModule.java   |  27 --
 .../org/apache/cayenne/access/DataDomain.java   |  12 -
 .../apache/cayenne/access/DataDomainQuery.java  |  16 -
 .../org/apache/cayenne/access/DataNode.java     |  20 -
 .../org/apache/cayenne/access/DataPort.java     | 324 ---------------
 .../apache/cayenne/access/DataPortDelegate.java |  77 ----
 .../org/apache/cayenne/access/DataRowStore.java |  49 ---
 .../access/ObjectsFromDataRowsQuery.java        |  16 -
 .../org/apache/cayenne/access/Transaction.java  |  56 ---
 .../cayenne/access/jdbc/JDBCResultIterator.java |  21 -
 .../apache/cayenne/cache/EhCacheQueryCache.java | 210 ----------
 .../apache/cayenne/cache/NestedQueryCache.java  |  11 -
 .../org/apache/cayenne/cache/OSQueryCache.java  | 401 -------------------
 .../org/apache/cayenne/cache/QueryCache.java    |  11 +-
 .../cayenne/configuration/CayenneRuntime.java   |  16 -
 .../apache/cayenne/configuration/Constants.java |  63 ---
 .../server/DataDomainProvider.java              |   1 -
 .../server/DefaultDataNodeFactory.java          |   2 -
 .../configuration/server/ServerModule.java      |  28 --
 .../configuration/server/ServerRuntime.java     |  47 ---
 .../server/ServerRuntimeBuilder.java            |  28 +-
 .../cayenne/datasource/DriverDataSource.java    | 110 -----
 .../org/apache/cayenne/dba/AutoAdapter.java     |   9 -
 .../java/org/apache/cayenne/dba/DbAdapter.java  |   7 -
 .../cayenne/dba/DefaultQuotingStrategy.java     |  15 -
 .../org/apache/cayenne/dba/JdbcAdapter.java     |  29 --
 .../org/apache/cayenne/dba/QuotingStrategy.java |  15 -
 .../java/org/apache/cayenne/exp/Expression.java |  73 ----
 .../java/org/apache/cayenne/exp/Property.java   |  13 -
 .../cayenne/exp/parser/JavaCharStream.java      |  18 -
 .../apache/cayenne/exp/parser/SimpleNode.java   |  27 --
 .../log/FormattedSlf4jJdbcEventLogger.java      |  12 -
 .../org/apache/cayenne/log/JdbcEventLogger.java |  55 ---
 .../apache/cayenne/log/NoopJdbcEventLogger.java |  40 --
 .../cayenne/log/Slf4jJdbcEventLogger.java       | 237 -----------
 .../java/org/apache/cayenne/map/DataMap.java    |  75 ----
 .../cayenne/map/EJBQLQueryDescriptor.java       |   2 -
 .../java/org/apache/cayenne/map/Embeddable.java |  19 -
 .../org/apache/cayenne/map/EntityListener.java  |  79 ----
 .../cayenne/map/EntityListenerFactory.java      |  44 --
 .../org/apache/cayenne/map/EntityResolver.java  | 114 ------
 .../java/org/apache/cayenne/map/ObjEntity.java  | 121 ------
 .../cayenne/map/ProcedureQueryDescriptor.java   |   2 -
 .../cayenne/map/SQLTemplateDescriptor.java      |   2 -
 .../cayenne/map/SelectQueryDescriptor.java      |   2 -
 .../org/apache/cayenne/query/AbstractQuery.java |  44 +-
 .../apache/cayenne/query/BaseQueryMetadata.java |  35 +-
 .../org/apache/cayenne/query/BatchQuery.java    |  43 --
 .../apache/cayenne/query/CacheableQuery.java    |  53 ---
 .../cayenne/query/DefaultQueryMetadata.java     |  17 -
 .../org/apache/cayenne/query/EJBQLQuery.java    |  31 --
 .../cayenne/query/EJBQLQueryMetadata.java       |   2 +-
 .../org/apache/cayenne/query/FluentSelect.java  |   3 +-
 .../org/apache/cayenne/query/IndirectQuery.java |  28 --
 .../org/apache/cayenne/query/NamedQuery.java    | 294 --------------
 .../cayenne/query/ProcedureQueryMetadata.java   |   2 +-
 .../java/org/apache/cayenne/query/Query.java    |  17 -
 .../org/apache/cayenne/query/QueryChain.java    |  35 --
 .../org/apache/cayenne/query/QueryMetadata.java |  20 -
 .../cayenne/query/QueryMetadataProxy.java       |  12 -
 .../cayenne/query/QueryMetadataWrapper.java     |  10 -
 .../org/apache/cayenne/query/RefreshQuery.java  |  18 -
 .../cayenne/query/SQLTemplateMetadata.java      |   2 +-
 .../org/apache/cayenne/query/SelectQuery.java   |   2 +-
 .../cayenne/query/SelectQueryMetadata.java      |   2 +-
 .../reflect/LifecycleCallbackRegistry.java      |   8 -
 .../apache/cayenne/remote/IncrementalQuery.java |  14 -
 .../cayenne/remote/IncrementalSelectQuery.java  |  31 --
 .../org/apache/cayenne/remote/RangeQuery.java   |  22 -
 .../apache/cayenne/remote/RemoteSession.java    |  32 --
 .../resource/ClassLoaderResourceLocator.java    |  22 -
 .../DataContextQueryCachingEhCacheIT.java       |  60 ---
 .../DataContextQueryCachingOSCacheIT.java       |  48 ---
 .../org/apache/cayenne/access/DataNodeIT.java   |   9 -
 .../org/apache/cayenne/access/MockDataNode.java |  10 -
 .../cayenne/cache/EhCacheQueryCacheTest.java    | 132 ------
 .../cache/EhCacheQueryCache_WithConfigTest.java |  90 -----
 .../apache/cayenne/cache/OSQueryCacheTest.java  | 138 -------
 .../server/DataDomainProviderTest.java          |   2 -
 .../configuration/server/ServerRuntimeTest.java |  40 +-
 .../exp/Expression_ParamsLegacyTest.java        |  92 -----
 .../org/apache/cayenne/exp/PropertyTest.java    |   9 -
 .../cayenne/log/Slf4jJdbcEventLoggerTest.java   |  10 -
 .../apache/cayenne/map/MockEntityResolver.java  |   6 -
 .../cayenne/map/MockMappingNamespace.java       |   4 -
 .../cayenne/map/SQLTemplateDescriptorTest.java  |   8 -
 .../cayenne/map/SelectQueryDescriptorTest.java  |   9 -
 .../apache/cayenne/query/ColumnSelectIT.java    |  13 -
 .../org/apache/cayenne/query/EJBQLQueryIT.java  |  10 -
 .../apache/cayenne/query/MockAbstractQuery.java |   4 -
 .../org/apache/cayenne/query/MockQuery.java     |  10 -
 .../apache/cayenne/query/MockQueryMetadata.java |  10 -
 .../apache/cayenne/query/NamedQueryTest.java    |  83 ----
 .../cayenne/query/ObjectSelect_CompileIT.java   |   3 -
 .../cayenne/query/ProcedureQueryCacheKeyIT.java |   2 -
 .../cayenne/query/SQLTemplateCacheKeyIT.java    |   2 -
 .../cayenne/query/SQLTemplate_LegacyTest.java   |   6 -
 .../cayenne/query/SelectQueryCacheKeyIT.java    |  28 +-
 .../apache/cayenne/query/SelectQueryTest.java   |  11 -
 .../cayenne/testdo/mt/ClientMultiTier.java      |  36 --
 .../org/apache/cayenne/testdo/mt/MultiTier.java |  36 --
 .../testdo/mt/auto/_ClientMultiTier.java        |  44 --
 .../cayenne/testdo/mt/auto/_MultiTier.java      |  44 --
 .../apache/cayenne/testdo/testmap/Tstmap.java   |  36 --
 .../cayenne/testdo/testmap/auto/_Tstmap.java    | 118 ------
 .../unit/di/server/ServerRuntimeProvider.java   |   9 +-
 .../apache/cayenne/unit/jira/CAY_743Test.java   |   9 +-
 docs/doc/src/main/resources/RELEASE-NOTES.txt   |   1 +
 docs/doc/src/main/resources/UPGRADE.txt         |   2 +
 .../apache/cayenne/tools/DbGeneratorMojo.java   |  11 -
 .../apache/cayenne/tools/DbImporterMojo.java    |  54 ---
 .../cayenne/tools/OldReverseEngineering.java    |  93 -----
 .../java/org/apache/cayenne/modeler/Main.java   |   2 +-
 .../modeler/util/state/DisplayEventType.java    |   5 +-
 .../apache/cayenne/wocompat/EOModelHelper.java  |  10 -
 .../cayenne/wocompat/EOModelProcessor.java      |  24 --
 .../org/apache/cayenne/wocompat/EOQuery.java    |  10 +-
 .../wocompat/parser/SimpleCharStream.java       |  18 -
 .../apache/cayenne/wocompat/EOQueryTest.java    |   1 -
 pom.xml                                         |   1 -
 .../apache/cayenne/tutorial/Http2Client.java    |   9 +-
 .../tutorial/persistent/client/Main.java        |   4 +-
 184 files changed, 125 insertions(+), 8018 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/9e768dbc/assembly/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/9e768dbc/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectIT.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cayenne/blob/9e768dbc/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --cc docs/doc/src/main/resources/RELEASE-NOTES.txt
index 6b2313b,deb9ec4..e4f1ced
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@@ -13,7 -13,7 +13,8 @@@ Date
  ----------------------------------
  Changes/New Features:
  
 +CAY-2372 Extract new modules from cayenne-server
+ CAY-2377 Cleanup deprecated code.
  
  Bug Fixes:
  

http://git-wip-us.apache.org/repos/asf/cayenne/blob/9e768dbc/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --cc docs/doc/src/main/resources/UPGRADE.txt
index 07fc3ec,877b4be..266c5ab
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@@ -6,13 -6,41 +6,15 @@@ IMPORTANT: be sure to read all notes fo
  -------------------------------------------------------------------------------
  UPGRADING TO 4.1.M2
  
+ * Per CAY-2377 Cleanup deprecated code
 -      Per CAY-2377 Cleanup deprecated code
 -            - Cleanup JdbcEventLogger and implementations.
 -            - Remove getName(), setName(String name), getDataMap(), setDataMap(DataMap dataMap) from org.apache.cayenne.query.Query and from implementations.
 -            - Cleanup org.apache.cayenne.map.*.
 -            - Remove getQuotingStrategy(boolean isQuoteStrategy) from org.apache.cayenne.dba.DbAdapter, from org.apache.cayenne.dba.QuotingStrategy
 -            and from implementations.
 -            - Remove getCacheGroups(), getOrginatingQuery() from org.apache.cayenne.query.QueryMetadata and from implementations.
 -            - Remove getCacheGroups(), useSharedCache(String... cacheGroups), setCacheGroups(String... cacheGroups) from org.aapche.cayenne.query.QueryMetadata and from implementations.
 -            - Cleanup org.apache.cayenne.cache.EhCacheQueryCache and org.apache.cayenne.cache.NestedQueryCache.
 -            - Cleanup org.apache.cayenne.access.*.
 -            - Cleanup org.apache.cayenne.exp.*.
 -            - Cleanup org.apache.cayenne.wocompat.*.
 -            - Remove objEntityAdded(ObjEntity entity) and objEntityRemoved(ObjEntity entity) from org.apache.cayenne.dbsync.reverse.DbLoaderDelegate and from implementations.
 -            - Cleanup org.apache.cayenne.tools.DbGeneratorMojo.
 -            - Remove bindList(String bindingName) and bindMap(String bindingName) from org.apache.cayenne.di.Binder and from implementations.
 -            - Cleanup org.apache.cayenne.configuration.*.
+ 
 -            Was removed
 -            - java-8 module
 -            - org.apache.cayenne.lifecycle.audit
 -            - org.apache.cayenne.lifecycle.changeset
 -            - org.apache.cayenne.lifecycle.sort.SortWeight
 -            - org.apache.cayenne.lifecycle.sort.WeightedAshwoodEntitySorter
 -            - org.apache.cayenne.tools.OldReverseEngineering
 -            - org.apache.cayenne.tools.AntDataPortDelegate
 -            - org.apache.cayenne.tools.DataPortTask
 -            - org.apache.cayenne.access.DataPort
 -            - org.apache.cayenne.access.DataPortDelegate
 -            - org.apache.cayenne.cache.invalidation.InvalidationFunction
 -            - org.apache.cayenne.cache.OSQueryCache
 -            - org.apache.cayenne.cache.EhCacheQueryCache
 -            - org.apache.cayenne.query.NamedQuery
 -            - org.apache.cayenne.project.CayenneProjectModule
 +* Per CAY-2372 three new modules extracted from Cayenne core. No changes to the packages or api have been made,
 +    so you should only include additional module to your project (if it where used).
  
 +    - cayenne-web module contains all logic related to bootstrapping Cayenne inside servlet container.
 +      WebModule is autoloaded, so you shouldn't add it to runtime explicitly anymore.
 +    - cayenne-osgi module contains OSGi related functionality.
 +    - cayenne-rop-server ROP server part.
  
  UPGRADING TO 4.1.M1
  

http://git-wip-us.apache.org/repos/asf/cayenne/blob/9e768dbc/pom.xml
----------------------------------------------------------------------


[24/30] cayenne git commit: CAY-2377. Remove setDataMap(DataMap dataMap)

Posted by nt...@apache.org.
CAY-2377. Remove setDataMap(DataMap dataMap)


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

Branch: refs/heads/master
Commit: 72a3a52710f2a34e70a6db04b1ef79566cd26202
Parents: f98da69
Author: Arseni Bulatski <an...@gmail.com>
Authored: Mon Nov 13 09:19:40 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:48 2017 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/map/EJBQLQueryDescriptor.java     |  1 -
 .../org/apache/cayenne/map/ProcedureQueryDescriptor.java |  1 -
 .../org/apache/cayenne/map/SQLTemplateDescriptor.java    |  1 -
 .../org/apache/cayenne/map/SelectQueryDescriptor.java    |  1 -
 .../java/org/apache/cayenne/query/AbstractQuery.java     | 11 -----------
 .../main/java/org/apache/cayenne/query/EJBQLQuery.java   | 11 -----------
 docs/doc/src/main/resources/UPGRADE.txt                  |  3 ++-
 7 files changed, 2 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/72a3a527/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
index e3f8029..987d1db 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EJBQLQueryDescriptor.java
@@ -52,7 +52,6 @@ public class EJBQLQueryDescriptor extends QueryDescriptor {
     @Override
     public EJBQLQuery buildQuery() {
         EJBQLQuery ejbqlQuery = new EJBQLQuery(this.getEjbql());
-        ejbqlQuery.setDataMap(dataMap);
         ejbqlQuery.initWithProperties(this.getProperties());
 
         return ejbqlQuery;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/72a3a527/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
index 4577c55..0d1044b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/ProcedureQueryDescriptor.java
@@ -57,7 +57,6 @@ public class ProcedureQueryDescriptor extends QueryDescriptor {
             procedureQuery.setRoot(root);
         }
 
-        procedureQuery.setDataMap(dataMap);
         procedureQuery.setResultEntityName(this.getResultEntityName());
         procedureQuery.initWithProperties(this.getProperties());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/72a3a527/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
index fb1fb69..e1c3afe 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/SQLTemplateDescriptor.java
@@ -75,7 +75,6 @@ public class SQLTemplateDescriptor extends QueryDescriptor {
             template.setRoot(root);
         }
 
-        template.setDataMap(dataMap);
         template.initWithProperties(this.getProperties());
 
         // init SQL

http://git-wip-us.apache.org/repos/asf/cayenne/blob/72a3a527/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java b/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
index 6788c5f..e9c9b5d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/SelectQueryDescriptor.java
@@ -128,7 +128,6 @@ public class SelectQueryDescriptor extends QueryDescriptor {
     public SelectQuery<?> buildQuery() {
         SelectQuery<Object> selectQuery = new SelectQuery<>();
         selectQuery.setRoot(this.getRoot());
-        selectQuery.setDataMap(dataMap);
         selectQuery.setQualifier(this.getQualifier());
 
         List<Ordering> orderings = this.getOrderings();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/72a3a527/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
index 246daea..22b1e88 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
@@ -38,17 +38,6 @@ public abstract class AbstractQuery extends CacheableQuery {
      */
     protected Object root;
 
-    @Deprecated
-    protected DataMap dataMap;
-
-    /**
-     * @since 3.1
-     */
-    @Deprecated
-    public void setDataMap(DataMap dataMap) {
-        this.dataMap = dataMap;
-    }
-
     /**
      * Returns default select parameters.
      * 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/72a3a527/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
index b01e286..ab4e820 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
@@ -39,8 +39,6 @@ import java.util.Map;
  */
 public class EJBQLQuery extends CacheableQuery {
 
-    @Deprecated
-    protected DataMap dataMap;
     protected String ejbqlStatement;
     
     protected Map<String, Object> namedParameters;
@@ -55,15 +53,6 @@ public class EJBQLQuery extends CacheableQuery {
 
     public EJBQLQuery() {
     }
-    
-    
-    /**
-     * @since 3.1
-     */
-    @Deprecated
-    public void setDataMap(DataMap dataMap) {
-        this.dataMap = dataMap;
-    }
 
     public void initWithProperties(Map<String, ?> properties) {
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/72a3a527/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index e7fcec5..cc3ebc1 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -264,7 +264,8 @@ UPGRADING TO 4.1.M2
 
       - removed String cacheKey from boolean resolve(Object root, EntityResolver resolver) arguments;
 
-
+      - removed setDataMap from buildQuery() in SQLTemplateDescriptor, SelectQueryDescriptor, ProcedureQueryDescriptor and EJBQLQueryDescriptor;
+      - removed setDataMap from org.apache.cayenne.AbstractQuery and from org.apache.cayenne.query.EJBQLQuery;
 
 UPGRADING TO 4.1.M1
 


[30/30] cayenne git commit: CAY-2377 Cleanup deprecated code - minor cleanup

Posted by nt...@apache.org.
CAY-2377 Cleanup deprecated code
 - minor cleanup


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

Branch: refs/heads/master
Commit: f95604505a132df947b7bdda5a822c2ff8c3edcb
Parents: 07111df
Author: Nikita Timofeev <st...@gmail.com>
Authored: Thu Dec 7 13:09:14 2017 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Thu Dec 7 13:09:14 2017 +0300

----------------------------------------------------------------------
 .../configuration/rop/client/ClientRuntimeBuilder.java  |  2 +-
 .../main/java/org/apache/cayenne/cache/QueryCache.java  |  2 +-
 .../configuration/server/ServerRuntimeBuilder.java      |  7 -------
 .../configuration/server/ServerRuntimeBuilderIT.java    | 12 ++++++------
 .../configuration/server/ServerRuntimeBuilderTest.java  | 10 +++++-----
 .../src/main/java/org/apache/cayenne/modeler/Main.java  |  4 ++--
 .../cayenne/modeler/util/state/DisplayEventType.java    |  1 -
 7 files changed, 15 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/f9560450/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java
index ca826b1..def7070 100644
--- a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java
+++ b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java
@@ -53,7 +53,7 @@ public class ClientRuntimeBuilder {
     Injector serverInjector;
     private Map<String, String> properties;
 
-     ClientRuntimeBuilder() {
+    ClientRuntimeBuilder() {
         modules = new ArrayList<>();
         autoLoadModules = true;
         local = false;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f9560450/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java b/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java
index cdcf436..de74ea6 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java
@@ -73,7 +73,7 @@ public interface QueryCache {
      *
      * @since 4.0
      */
-    void removeGroup(String grou3pKey, Class<?> keyType, Class<?> valueType);
+    void removeGroup(String groupKey, Class<?> keyType, Class<?> valueType);
 
     /**
      * Clears all cache entries.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f9560450/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
index 6bb1742..baae18a 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
@@ -60,13 +60,6 @@ public class ServerRuntimeBuilder {
     private boolean autoLoadModules;
 
     /**
-     * Creates an empty builder.
-     */
-    protected ServerRuntimeBuilder() {
-        this(null);
-    }
-
-    /**
      * Creates a builder with a fixed name of the DataDomain of the resulting
      * ServerRuntime. Specifying explicit name is often needed for consistency
      * in runtimes merged from multiple configs, each having its own name.

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f9560450/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java
index dc9fe1e..55a1037 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderIT.java
@@ -82,7 +82,7 @@ public class ServerRuntimeBuilderIT extends ServerCase {
 	@Test
 	public void testConfigFree_WithDBParams() {
 
-		localRuntime = new ServerRuntimeBuilder().jdbcDriver(dsi.getJdbcDriver()).url(dsi.getDataSourceUrl())
+		localRuntime = new ServerRuntimeBuilder(null).jdbcDriver(dsi.getJdbcDriver()).url(dsi.getDataSourceUrl())
 				.password(dsi.getPassword()).user(dsi.getUserName()).minConnections(1).maxConnections(2).build();
 
 		List<DataRow> result = SQLSelect.dataRowQuery("SELECT * FROM ARTIST").select(localRuntime.newContext());
@@ -92,7 +92,7 @@ public class ServerRuntimeBuilderIT extends ServerCase {
 	@Test
 	public void tesConfigFree_WithDBParams() {
 
-		localRuntime = new ServerRuntimeBuilder().addConfig(CayenneProjects.TESTMAP_PROJECT)
+		localRuntime = new ServerRuntimeBuilder(null).addConfig(CayenneProjects.TESTMAP_PROJECT)
 				.jdbcDriver(dsi.getJdbcDriver()).url(dsi.getDataSourceUrl()).password(dsi.getPassword())
 				.user(dsi.getUserName()).minConnections(1).maxConnections(2).build();
 
@@ -109,7 +109,7 @@ public class ServerRuntimeBuilderIT extends ServerCase {
 	@Test
 	public void testConfigFree_WithDataSource() {
 
-		localRuntime = new ServerRuntimeBuilder().dataSource(dataSource).build();
+		localRuntime = new ServerRuntimeBuilder(null).dataSource(dataSource).build();
 
 		List<DataRow> result = SQLSelect.dataRowQuery("SELECT * FROM ARTIST").select(localRuntime.newContext());
 		assertEquals(2, result.size());
@@ -118,7 +118,7 @@ public class ServerRuntimeBuilderIT extends ServerCase {
 	@Test
 	public void testNoNodeConfig_WithDataSource() {
 
-		localRuntime = new ServerRuntimeBuilder().addConfig(CayenneProjects.TESTMAP_PROJECT).dataSource(dataSource)
+		localRuntime = new ServerRuntimeBuilder(null).addConfig(CayenneProjects.TESTMAP_PROJECT).dataSource(dataSource)
 				.build();
 
 		DataMap map = localRuntime.getDataDomain().getDataMap("testmap");
@@ -133,7 +133,7 @@ public class ServerRuntimeBuilderIT extends ServerCase {
 
 	@Test
 	public void test_UnnamedDomain_MultiLocation() {
-		localRuntime = new ServerRuntimeBuilder().addConfigs(CayenneProjects.TESTMAP_PROJECT,
+		localRuntime = new ServerRuntimeBuilder(null).addConfigs(CayenneProjects.TESTMAP_PROJECT,
 				CayenneProjects.EMBEDDABLE_PROJECT).build();
 
 		assertEquals("cayenne", localRuntime.getDataDomain().getName());
@@ -151,7 +151,7 @@ public class ServerRuntimeBuilderIT extends ServerCase {
 	 */
 	@Test
 	public void test_UnnamedDomain_CustomNameProjectFile() {
-		localRuntime = new ServerRuntimeBuilder().addConfigs(CayenneProjects.CUSTOM_NAME_PROJECT).build();
+		localRuntime = new ServerRuntimeBuilder(null).addConfigs(CayenneProjects.CUSTOM_NAME_PROJECT).build();
 		assertEquals("cayenne", localRuntime.getDataDomain().getName());
 
 		ObjectContext context = localRuntime.newContext();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f9560450/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderTest.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderTest.java
index f709894..1912339 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilderTest.java
@@ -52,7 +52,7 @@ public class ServerRuntimeBuilderTest {
 	public void test_NoLocation() {
 
 		// this is meaningless (no DataSource), but should work...
-		runtime = new ServerRuntimeBuilder().build();
+		runtime = new ServerRuntimeBuilder(null).build();
 
 		List<String> locations = runtime.getInjector().getInstance(
 				Key.getListOf(String.class, Constants.SERVER_PROJECT_LOCATIONS_LIST));
@@ -67,7 +67,7 @@ public class ServerRuntimeBuilderTest {
 	@Test
 	public void test_SingleLocation() {
 
-		runtime = new ServerRuntimeBuilder().addConfig("xxxx").build();
+		runtime = new ServerRuntimeBuilder(null).addConfig("xxxx").build();
 
 		List<String> locations = runtime.getInjector().getInstance(
 				Key.getListOf(String.class, Constants.SERVER_PROJECT_LOCATIONS_LIST));
@@ -83,7 +83,7 @@ public class ServerRuntimeBuilderTest {
 	@Test
 	public void test_MultipleLocations() {
 
-		runtime = new ServerRuntimeBuilder().addConfigs("xxxx", "yyyy").build();
+		runtime = new ServerRuntimeBuilder(null).addConfigs("xxxx", "yyyy").build();
 
 		List<String> locations = runtime.getInjector().getInstance(
 				Key.getListOf(String.class, Constants.SERVER_PROJECT_LOCATIONS_LIST));
@@ -100,7 +100,7 @@ public class ServerRuntimeBuilderTest {
 
 		Module m = mock(Module.class);
 
-		runtime = new ServerRuntimeBuilder().addModule(m).build();
+		runtime = new ServerRuntimeBuilder(null).addModule(m).build();
 
 		Collection<Module> modules = runtime.getModules();
 		assertEquals(3, modules.size());
@@ -111,7 +111,7 @@ public class ServerRuntimeBuilderTest {
 
 	@Test
 	public void test_UnnamedDomain_NoLocation() {
-		runtime = new ServerRuntimeBuilder().build();
+		runtime = new ServerRuntimeBuilder(null).build();
 		assertEquals("cayenne", runtime.getDataDomain().getName());
 	}
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f9560450/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
index 34edece..5b2e5d2 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
@@ -105,8 +105,8 @@ public class Main {
     }
 
     protected Collection<Module> appendModules(Collection<Module> modules) {
-        // TODO: this is dirty... "CayenneModeler" is not a project name, and ServerModule is out of place inside
-        // the Modeler... If we need ServerRuntime for certain operations, those should start their own stack...
+        // TODO: this is dirty... ServerModule is out of place inside the Modeler...
+        // If we need ServerRuntime for certain operations, those should start their own stack...
         modules.add(new ServerModule());
 
         modules.add(new ProjectModule());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/f9560450/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
index 3821762..aa3ed61 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/state/DisplayEventType.java
@@ -27,7 +27,6 @@ import org.apache.cayenne.map.Embeddable;
 import org.apache.cayenne.map.QueryDescriptor;
 import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.pref.ProjectStatePreferences;
-import org.apache.cayenne.query.Query;
 import org.apache.cayenne.util.CayenneMapEntry;
 
 public abstract class DisplayEventType {


[22/30] cayenne git commit: CAY-2377. Cleanup cayenne-client and ServerModule

Posted by nt...@apache.org.
CAY-2377. Cleanup cayenne-client and ServerModule


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

Branch: refs/heads/master
Commit: 97a518866d7d32bc401c9bc274cd045810622c99
Parents: 2849f5c
Author: Arseni Bulatski <an...@gmail.com>
Authored: Tue Nov 14 09:56:46 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:48 2017 +0300

----------------------------------------------------------------------
 .../rop/client/ClientRuntimeBuilderTest.java    |  1 +
 .../configuration/server/ServerModule.java      | 28 --------------------
 .../apache/cayenne/unit/jira/CAY_743Test.java   |  9 ++++++-
 docs/doc/src/main/resources/UPGRADE.txt         |  1 +
 .../java/org/apache/cayenne/modeler/Main.java   |  9 ++++++-
 5 files changed, 18 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/97a51886/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
index 3213c40..d5298a1 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
@@ -28,6 +28,7 @@ import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.configuration.Constants;
 import org.apache.cayenne.configuration.server.ServerModule;
 import org.apache.cayenne.di.*;
+import org.apache.cayenne.di.Module;
 import org.apache.cayenne.remote.ClientChannel;
 import org.apache.cayenne.remote.ClientConnection;
 import org.apache.cayenne.remote.MockClientConnection;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/97a51886/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
index 9dd4001..8992f44 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerModule.java
@@ -137,9 +137,6 @@ public class ServerModule implements Module {
 
     private static final int DEFAULT_MAX_ID_QUALIFIER_SIZE = 10000;
 
-    @Deprecated
-    protected String[] configurationLocations;
-
     /**
      * Sets transaction management to either external or internal transactions. Default is internally-managed transactions.
      *
@@ -275,28 +272,6 @@ public class ServerModule implements Module {
      * @since 4.0
      */
     public ServerModule() {
-        this.configurationLocations = new String[0];
-    }
-
-    /**
-     * Creates a ServerModule with at least one configuration location. For multi-module projects additional locations
-     * can be specified as well.
-     *
-     * @deprecated since 4.0 use {@link ServerRuntimeBuilder#addConfig(String)} and/or
-     * {@link ServerModule#contributeProjectLocations(Binder)} to specify locations.
-     */
-    @Deprecated
-    public ServerModule(String firstConfigLocation, String... configurationLocations) {
-        if (configurationLocations == null) {
-            configurationLocations = new String[0];
-        }
-
-        this.configurationLocations = new String[configurationLocations.length + 1];
-        this.configurationLocations[0] = firstConfigLocation;
-
-        if (configurationLocations.length > 0) {
-            System.arraycopy(configurationLocations, 0, this.configurationLocations, 1, configurationLocations.length);
-        }
     }
 
     public void configure(Binder binder) {
@@ -350,9 +325,6 @@ public class ServerModule implements Module {
 
         // configure explicit configurations
         ListBuilder<String> locationsListBuilder = contributeProjectLocations(binder);
-        for (String location : configurationLocations) {
-            locationsListBuilder.add(location);
-        }
 
         binder.bind(ConfigurationNameMapper.class).to(DefaultConfigurationNameMapper.class);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/97a51886/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_743Test.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_743Test.java b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_743Test.java
index ffea9c6..3b3d928 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_743Test.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/unit/jira/CAY_743Test.java
@@ -20,6 +20,7 @@ package org.apache.cayenne.unit.jira;
 
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.configuration.server.ServerModule;
+import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.map.DataMap;
@@ -35,7 +36,13 @@ public class CAY_743Test {
     public void testLoad2MapsWithCrossMapInheritance() throws Exception {
 
         Injector injector = DIBootstrap.createInjector(new ServerModule(
-                "cay743/cayenne-domain.xml"));
+                ){
+            @Override
+            public void configure(Binder binder) {
+                super.configure(binder);
+                ServerModule.contributeProjectLocations(binder).add("cay743/cayenne-domain.xml");
+            }
+        });
 
         try {
             DataDomain domain = injector.getInstance(DataDomain.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/97a51886/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 4c80f33..7a94e9e 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -273,6 +273,7 @@ UPGRADING TO 4.1.M2
       Collection<Module> collectModules(Map<String, String> properties, Module... extraModules), Collection<Module> collectModules(Map<String, String> properties, Collection<Module> extraModules)
       from org.apache.cayenne.configuration.rop.client.ClientRuntime;
       - removed ClientModule(Map<String, String> properties) in org.apache.cayenne.configuration.rop.client.ClientModule;
+      - removed ConfigurationLocations from org.apache.cayenne.configuration.ServerModule;
 
 
 UPGRADING TO 4.1.M1

http://git-wip-us.apache.org/repos/asf/cayenne/blob/97a51886/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
index ff5f225..460d374 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/Main.java
@@ -21,6 +21,7 @@ package org.apache.cayenne.modeler;
 
 import org.apache.cayenne.configuration.server.ServerModule;
 import org.apache.cayenne.dbsync.DbSyncModule;
+import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.DIBootstrap;
 import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
@@ -107,7 +108,13 @@ public class Main {
     protected Collection<Module> appendModules(Collection<Module> modules) {
         // TODO: this is dirty... "CayenneModeler" is not a project name, and ServerModule is out of place inside
         // the Modeler... If we need ServerRuntime for certain operations, those should start their own stack...
-        modules.add(new ServerModule("CayenneModeler"));
+        modules.add(new ServerModule(){
+            @Override
+            public void configure(Binder binder) {
+                super.configure(binder);
+                ServerModule.contributeProjectLocations(binder).add("CayenneModeler");
+            }
+        });
 
         modules.add(new ProjectModule());
         modules.add(new DbSyncModule());


[16/30] cayenne git commit: CAY-2377. Remove getCacheGroups()

Posted by nt...@apache.org.
CAY-2377. Remove getCacheGroups()


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

Branch: refs/heads/master
Commit: 44dec79f53084f61ec19dccd41baaceca950a902
Parents: 185646f
Author: Arseni Bulatski <an...@gmail.com>
Authored: Fri Oct 27 14:00:46 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:47 2017 +0300

----------------------------------------------------------------------
 .../cayenne/lifecycle/id/StringIdQuery.java       |  5 -----
 .../apache/cayenne/access/DataDomainQuery.java    |  5 -----
 .../cayenne/access/ObjectsFromDataRowsQuery.java  |  5 -----
 .../apache/cayenne/query/BaseQueryMetadata.java   | 12 ------------
 .../org/apache/cayenne/query/CacheableQuery.java  |  9 ---------
 .../cayenne/query/DefaultQueryMetadata.java       |  8 --------
 .../org/apache/cayenne/query/QueryMetadata.java   | 13 -------------
 .../apache/cayenne/query/QueryMetadataProxy.java  |  6 ------
 .../cayenne/query/QueryMetadataWrapper.java       | 10 ----------
 .../cayenne/remote/IncrementalSelectQuery.java    |  9 ---------
 .../org/apache/cayenne/remote/RangeQuery.java     |  5 -----
 .../cayenne/cache/EhCacheQueryCacheTest.java      |  4 ++--
 .../cache/EhCacheQueryCache_WithConfigTest.java   |  2 +-
 .../apache/cayenne/query/MockQueryMetadata.java   |  5 -----
 .../cayenne/query/ObjectSelect_CompileIT.java     |  3 ---
 .../cayenne/query/SelectQueryCacheKeyIT.java      |  2 --
 docs/doc/src/main/resources/UPGRADE.txt           | 18 ++++++++++++++++++
 17 files changed, 21 insertions(+), 100 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
index a6d6f72..b207de0 100644
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
+++ b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
@@ -190,11 +190,6 @@ public class StringIdQuery implements Query {
                 return null;
             }
 
-            @Deprecated
-            public String[] getCacheGroups() {
-                return null;
-            }
-
             public String getCacheGroup() {
                 return null;
             }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
index a1cfda1..0922c66 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
@@ -78,11 +78,6 @@ class DataDomainQuery implements Query, QueryMetadata {
     public void route(QueryRouter router, EntityResolver resolver, Query substitutedQuery) {
     }
 
-    @Deprecated
-    public String[] getCacheGroups() {
-        return null;
-    }
-
     /**
      * @since 4.0
      */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
index 7d68beb..f2027f5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
@@ -101,11 +101,6 @@ class ObjectsFromDataRowsQuery implements Query, QueryMetadata {
         return null;
     }
 
-    @Deprecated
-    public String[] getCacheGroups() {
-        return null;
-    }
-
     public String getCacheGroup() {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/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 0eb0e1b..ecfaa56 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
@@ -302,18 +302,6 @@ class BaseQueryMetadata implements QueryMetadata, Serializable {
 
 	/**
 	 * @since 3.0
-	 * @deprecated since 4.0, use {@link BaseQueryMetadata#getCacheGroup()}
-	 */
-	@Deprecated
-	public String[] getCacheGroups() {
-		if(cacheGroup == null) {
-			return null;
-		}
-		return new String[]{cacheGroup};
-	}
-
-	/**
-	 * @since 3.0
 	 * @deprecated since 4.0, use {@link BaseQueryMetadata#setCacheGroup(String)}
 	 */
 	@Deprecated

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
index bc3d3a9..c5b339b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
@@ -48,15 +48,6 @@ public abstract class CacheableQuery implements Query {
     }
 
     /**
-     * @since 3.0
-     * @deprecated since 4.0, use {@link CacheableQuery#getCacheGroup()}
-     */
-    @Deprecated
-    public String[] getCacheGroups() {
-        return getBaseMetaData().getCacheGroups();
-    }
-
-    /**
      * @since 4.0
      */
     public String getCacheGroup() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java
index 43d9a25..70a7aa9 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/DefaultQueryMetadata.java
@@ -108,14 +108,6 @@ class DefaultQueryMetadata implements QueryMetadata {
     }
 
     /**
-     * @deprecated since 4.0, use {@link DefaultQueryMetadata#getCacheGroup()}
-     */
-    @Deprecated
-    public String[] getCacheGroups() {
-        return null;
-    }
-
-    /**
      * @since 4.0
      */
     @Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java
index a0f1705..edb1118 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java
@@ -143,19 +143,6 @@ public interface QueryMetadata {
     String getCacheKey();
 
     /**
-     * Returns an optional array of cache "groups". Cache groups allow to invalidate query
-     * caches in bulk on different events. Usually the first group in the array is
-     * considered to be the "main" group that is used for declarative cache invalidation
-     * with some cache providers.
-     * 
-     * @since 3.0
-     * @deprecated since 4.0 only single cache group supported, use {@link QueryMetadata#getCacheGroup()} instead
-     * @see QueryMetadata#getCacheGroup()
-     */
-    @Deprecated
-    String[] getCacheGroups();
-
-    /**
      * Returns an optional cache "group".
      * Cache groups allow to invalidate query caches in bulk on different events.
      *

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java
index 821c7e9..d0940b4 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataProxy.java
@@ -38,12 +38,6 @@ public class QueryMetadataProxy implements QueryMetadata {
         this.mdDelegate = mdDelegate;
     }
 
-    @Deprecated
-    @Override
-    public String[] getCacheGroups() {
-        return mdDelegate.getCacheGroups();
-    }
-
     public String getCacheGroup() {
         return mdDelegate.getCacheGroup();
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java
index f14223c..877ad5c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadataWrapper.java
@@ -70,16 +70,6 @@ class QueryMetadataWrapper extends QueryMetadataProxy {
     }
 
     /**
-     * @deprecated since 4.0, use {@link QueryMetadataWrapper#getCacheKey()}
-     */
-    @Deprecated
-    public String[] getCacheGroups() {
-        return (overrideExists(QueryMetadata.CACHE_GROUPS_PROPERTY))
-                ? (String[]) overrides.get(QueryMetadata.CACHE_GROUPS_PROPERTY)
-                : super.getCacheGroups();
-    }
-
-    /**
      * @since 4.0
      */
     public String getCacheGroup() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
index 7314488..3191f77 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
@@ -132,15 +132,6 @@ class IncrementalSelectQuery<T> extends SelectQuery<T> {
 	}
 
 	/**
-	 * @deprecated since 4.0, use {@link IncrementalSelectQuery#getCacheGroup()}
-	 */
-	@Override
-	@Deprecated
-	public String[] getCacheGroups() {
-		return query.getCacheGroups();
-	}
-
-	/**
 	 * @since 4.0
 	 */
 	@Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
index 406d1e6..019d323 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
@@ -88,11 +88,6 @@ class RangeQuery implements Query {
                 return cacheKey;
             }
 
-            @Deprecated
-            public String[] getCacheGroups() {
-                return null;
-            }
-
             public String getCacheGroup() {
                 return null;
             }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
index 77a135a..cd6e96b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
@@ -95,7 +95,7 @@ public class EhCacheQueryCacheTest {
 
         QueryMetadata md = mock(QueryMetadata.class);
         when(md.getCacheKey()).thenReturn("k1");
-        when(md.getCacheGroups()).thenReturn(new String[] { "cg1" });
+        when(md.getCacheGroup()).thenReturn("cg1");
 
         assertEquals(lists[0], cache.get(md, factory));
         assertEquals(lists[0], cache.get(md, factory));
@@ -117,7 +117,7 @@ public class EhCacheQueryCacheTest {
 
         QueryMetadata md = mock(QueryMetadata.class);
         when(md.getCacheKey()).thenReturn("k1");
-        when(md.getCacheGroups()).thenReturn(new String[] { "cg1" });
+        when(md.getCacheGroup()).thenReturn("cg1");
 
         assertEquals(lists[0], cache.get(md, factory));
         assertEquals(lists[0], cache.get(md, factory));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
index 21cddaa..1596119 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
@@ -62,7 +62,7 @@ public class EhCacheQueryCache_WithConfigTest {
 
         QueryMetadata md = mock(QueryMetadata.class);
         when(md.getCacheKey()).thenReturn("k1");
-        when(md.getCacheGroups()).thenReturn(new String[] { "cg1" });
+        when(md.getCacheGroup()).thenReturn("cg1");
 
         assertEquals(lists[0], cache.get(md, factory));
         assertEquals(lists[0], cache.get(md, factory));

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java b/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java
index ddfac88..c88250b 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/MockQueryMetadata.java
@@ -67,11 +67,6 @@ public class MockQueryMetadata implements QueryMetadata {
         return null;
     }
 
-    @Deprecated
-    public String[] getCacheGroups() {
-        return null;
-    }
-
     public String getCacheGroup() {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java b/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java
index 7af84e1..f395227 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/ObjectSelect_CompileIT.java
@@ -66,7 +66,6 @@ public class ObjectSelect_CompileIT extends ServerCase {
 		assertNull(selectQuery.getPrefetchTree());
 
 		assertEquals(QueryCacheStrategy.NO_CACHE, selectQuery.getCacheStrategy());
-		assertNull(selectQuery.getCacheGroups());
 		assertNull(selectQuery.getCacheGroup());
 		assertEquals(0, selectQuery.getFetchLimit());
 		assertEquals(0, selectQuery.getFetchOffset());
@@ -102,9 +101,7 @@ public class ObjectSelect_CompileIT extends ServerCase {
 		assertEquals(PrefetchTreeNode.JOINT_PREFETCH_SEMANTICS, childPrefetch.getSemantics());
 
 		assertEquals(QueryCacheStrategy.LOCAL_CACHE, selectQuery.getCacheStrategy());
-		assertArrayEquals(new String[] { "cg2" }, selectQuery.getCacheGroups());
 		assertEquals("cg2", selectQuery.getCacheGroup());
-
 		assertEquals(46, selectQuery.getFetchLimit());
 		assertEquals(9, selectQuery.getFetchOffset());
 		assertEquals(6, selectQuery.getPageSize());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/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 cfde82f..9a194d1 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
@@ -109,7 +109,6 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         QueryMetadata md1 = q1.getMetaData(resolver);
         assertEquals(QueryCacheStrategy.SHARED_CACHE, md1.getCacheStrategy());
         assertNotNull(md1.getCacheKey());
-        assertNull(md1.getCacheGroups());
         assertNull(md1.getCacheGroup());
         
         SelectQuery<Artist> q2 = new SelectQuery<>(Artist.class);
@@ -118,7 +117,6 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         QueryMetadata md2 = q2.getMetaData(resolver);
         assertEquals(QueryCacheStrategy.SHARED_CACHE, md2.getCacheStrategy());
         assertNotNull(md2.getCacheKey());
-        assertEquals(1, md2.getCacheGroups().length);
         assertEquals("g1", md2.getCacheGroup());
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/44dec79f/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index c618ccf..8ae598a 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -204,6 +204,24 @@ UPGRADING TO 4.1.M2
       - removed DataMap dataMap in org.apache.cayenne.query.QueryChain;
       - removed DataMap dataMap in org.apache.cayenne.query.BatchQuery;
       - removed void setDataMap(DataMap dataMap) in org.apache.cayenne.query.BatchQuery;
+      - change in void testGet_WithFactory_WithCacheGroups() from getCacheGroups() to getCacheGroup() in org.apache.cayenne.cache.EhCacheQueryCacheTest;
+      - change in void testRemoveGroup_WithFactory_WithCacheGroups() from getCacheGroups() to getCacheGroup() in org.apache.cayenne.cache.EhCacheQueryCacheTest;
+      - change in void testRemoveGroup_WithFactory_WithCacheGroups() from getCacheGroups() to getCacheGroup() in org.apache.cayenne.cache.EhCacheQueryCacheTest_WithConfigTest;
+      - change in void testUseSharedCache(): removed getCacheGroups() in org.apache.cayenne.query.SelectQueryCacheKeyIT;
+      - removed in void testCreateReplacementQuery_Bare()  getCacheGroups() in org.apache.cayenne.queryObjectSelect_CompileIT;
+      - removed in void testCreateReplacementQuery_Full()  getCacheGroups() in org.apache.cayenne.queryObjectSelect_CompileIT;
+      - removed String[] getCacheGroups() in org.apache.cayenne.query.QueryMetadataProxy;
+      - removed String[] getCacheGroups() {since 4.0, use ueryMetadataWrapper#getCacheKey()} in org.apache.cayenne.query.QueryMetadataWrapper;
+      - removed String[] getCacheGroups() {since 4.0, use IncrementalSelectQuery#getCacheGroup()} in org.apache.cayenne.remote.IncrementalSelectQuery;
+      - removed String[] getCacheGroups() {since 4.0, use CacheableQuery#getCacheGroup()} in org.apache.cayenne.query.CacheableQuery;
+      - removed String[] getCacheGroups() in org.apache.cayenne.access.ObjectsFromDataRowsQuery;
+      - removed String[] getCacheGroups() in org.apache.cayenne.query.MockQueryMetadata;
+      - removed String[] getCacheGroups() {since 4.0, use DefaultQueryMetadata#getCacheGroup()} in org.apache.cayenne.query.DefaultQueryMetadata;
+      - removed String[] getCacheGroups() in org.apache.cayenne.access.DataDomainQuery;
+      - removed String[] getCacheGroups() {since 4.0, use BaseQueryMetadata#getCacheGroup()} in org.apache.cayenne.query.BaseQueryMetadata;
+      - removed String[] getCacheGroups() in org.apache.cayenne.remote.RangeQuery;
+      - removed String[] getCacheGroups() in org.apache.cayenne.lifecycle.id.StringIdQuery;
+      - removed String[] getCacheGroups() in org.apache.cayenne.query.QueryMetadata;
 
 
 UPGRADING TO 4.1.M1


[15/30] cayenne git commit: CAY-2377. Cleanup JCacheQueryCache and NestedQueryCache

Posted by nt...@apache.org.
CAY-2377. Cleanup JCacheQueryCache  and NestedQueryCache


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

Branch: refs/heads/master
Commit: 5904907e10c907b495f8f7daad9d3975550d3e87
Parents: 060340b
Author: Arseni Bulatski <an...@gmail.com>
Authored: Fri Nov 10 10:40:45 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:47 2017 +0300

----------------------------------------------------------------------
 .../apache/cayenne/CayenneContextWithDataContextIT.java  |  5 -----
 .../cayenne/access/ClientServerChannelQueryIT.java       |  7 -------
 .../java/org/apache/cayenne/jcache/JCacheQueryCache.java |  6 ------
 .../java/org/apache/cayenne/cache/NestedQueryCache.java  | 11 -----------
 .../main/java/org/apache/cayenne/cache/QueryCache.java   | 11 +----------
 docs/doc/src/main/resources/UPGRADE.txt                  |  2 ++
 6 files changed, 3 insertions(+), 39 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/5904907e/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 5449531..6bddc00 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/CayenneContextWithDataContextIT.java
@@ -106,16 +106,11 @@ public class CayenneContextWithDataContextIT extends ClientCase {
         SelectQuery query = new SelectQuery(ClientMtTable1.class);
         query.setCacheStrategy(QueryCacheStrategy.LOCAL_CACHE);
 
-        assertEquals(0, clientContext.getQueryCache().size());
-        assertEquals(0, serverContext.getQueryCache().size());
-
         List<?> results = clientContext.performQuery(query);
 
-        assertEquals(1, clientContext.getQueryCache().size());
         assertSame(results, clientContext.getQueryCache().get(
                 query.getMetaData(clientContext.getEntityResolver())));
 
-        assertEquals(0, serverContext.getQueryCache().size());
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/cayenne/blob/5904907e/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 967d679..d5afa0a 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
@@ -97,13 +97,6 @@ public class ClientServerChannelQueryIT extends ClientCase {
         // read page 1
         assertTrue(results.get(0) instanceof ClientMtTable1);
 
-        // now kick out the server-side list from local cache, and see if the query would
-        // recover...
-        QueryCache qc = serverChannel.getQueryCache();
-        assertEquals(1, qc.size());
-        qc.clear();
-        assertEquals(0, qc.size());
-
         assertTrue(results.get(3) instanceof ClientMtTable1);
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/5904907e/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheQueryCache.java
----------------------------------------------------------------------
diff --git a/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheQueryCache.java b/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheQueryCache.java
index a91efc4..a6d0e17 100644
--- a/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheQueryCache.java
+++ b/cayenne-jcache/src/main/java/org/apache/cayenne/jcache/JCacheQueryCache.java
@@ -106,12 +106,6 @@ public class JCacheQueryCache implements QueryCache {
         }
     }
 
-    @Override
-    @Deprecated
-    public int size() {
-        return -1;
-    }
-
     protected Cache<String, List> createIfAbsent(QueryMetadata metadata) {
         return createIfAbsent(cacheName(metadata));
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/5904907e/cayenne-server/src/main/java/org/apache/cayenne/cache/NestedQueryCache.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/cache/NestedQueryCache.java b/cayenne-server/src/main/java/org/apache/cayenne/cache/NestedQueryCache.java
index 8b96057..7f50e5d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/cache/NestedQueryCache.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/cache/NestedQueryCache.java
@@ -114,17 +114,6 @@ public class NestedQueryCache implements QueryCache {
         delegate.removeGroup(groupKey, keyType, valueType);
     }
 
-    /**
-     * Returns a shared cache size.
-     * @see QueryCache#size()
-     * @deprecated since 4.0
-     */
-    @Override
-    @Deprecated
-    public int size() {
-        return delegate.size();
-    }
-
     private String qualifiedKey(String key) {
         return key != null ? namespace + key : null;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/5904907e/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java b/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java
index fb21b83..cdcf436 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/cache/QueryCache.java
@@ -73,7 +73,7 @@ public interface QueryCache {
      *
      * @since 4.0
      */
-    void removeGroup(String groupKey, Class<?> keyType, Class<?> valueType);
+    void removeGroup(String grou3pKey, Class<?> keyType, Class<?> valueType);
 
     /**
      * Clears all cache entries.
@@ -82,13 +82,4 @@ public interface QueryCache {
      */
     @Deprecated
     void clear();
-
-    /**
-     * Returns the number of entries currently in the cache, including expired but not
-     * removed entries.
-     *
-     * @deprecated since 4.0. Please use implementation specific methods to perform cache management tasks.
-     */
-    @Deprecated
-    int size();
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/5904907e/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 38ed27b..357972a 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -244,6 +244,8 @@ UPGRADING TO 4.1.M2
       - removed ClientMultiTier and _ClientMultiTier in org.apache.cayenne.testdo.mt;
       - removed NamedQueryTest in org.apache.cayenne.query.NamedQueryTest;
       - removed NamedQuery in org.apache.cayenne.query;
+      - removed int size() in org.apache.cayenne.jcache.JCacheQueryCache and org.apache.cayenne.cache.NestedQueryCache;
+      - removed int size() in org.apache.cayenne.cache.QueryCache;
 
 UPGRADING TO 4.1.M1
 


[12/30] cayenne git commit: CAY-2377. Cleanup org.apache.cayenne.cache

Posted by nt...@apache.org.
CAY-2377. Cleanup org.apache.cayenne.cache


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

Branch: refs/heads/master
Commit: 47a8795fd2f8b396bb67ac61c0423681d581ff24
Parents: a10d4ba
Author: Arseni Bulatski <an...@gmail.com>
Authored: Thu Nov 9 08:59:16 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:47 2017 +0300

----------------------------------------------------------------------
 .../apache/cayenne/cache/EhCacheQueryCache.java | 198 ---------
 .../org/apache/cayenne/cache/OSQueryCache.java  | 401 -------------------
 .../DataContextQueryCachingEhCacheIT.java       |  60 ---
 .../DataContextQueryCachingOSCacheIT.java       |  48 ---
 .../cayenne/cache/EhCacheQueryCacheTest.java    | 132 ------
 .../cache/EhCacheQueryCache_WithConfigTest.java |  90 -----
 .../apache/cayenne/cache/OSQueryCacheTest.java  | 138 -------
 docs/doc/src/main/resources/UPGRADE.txt         |   5 +-
 8 files changed, 2 insertions(+), 1070 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/47a8795f/cayenne-server/src/main/java/org/apache/cayenne/cache/EhCacheQueryCache.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/cache/EhCacheQueryCache.java b/cayenne-server/src/main/java/org/apache/cayenne/cache/EhCacheQueryCache.java
deleted file mode 100644
index 5eff2cd..0000000
--- a/cayenne-server/src/main/java/org/apache/cayenne/cache/EhCacheQueryCache.java
+++ /dev/null
@@ -1,198 +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.cache;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.di.BeforeScopeEnd;
-import org.apache.cayenne.query.QueryMetadata;
-import org.slf4j.Logger;
-
-import net.sf.ehcache.CacheManager;
-import net.sf.ehcache.Ehcache;
-import net.sf.ehcache.Element;
-import org.slf4j.LoggerFactory;
-
-/**
- * @deprecated since 4.0 please use JCacheQueryCache (provided by "cayenne-jcache" module)
- */
-@Deprecated
-public class EhCacheQueryCache implements QueryCache {
-
-    /**
-     * Default cache group name.
-     */
-    private static final String DEFAULT_CACHE_NAME = "cayenne.default.cachegroup";
-
-    private static final Logger logger = LoggerFactory.getLogger(EhCacheQueryCache.class);
-
-    protected CacheManager cacheManager;
-
-    public EhCacheQueryCache() {
-        cacheManager = new CacheManager();
-        init();
-    }
-
-    public EhCacheQueryCache(String configFile) {
-        cacheManager = new CacheManager(configFile);
-        init();
-    }
-
-    public EhCacheQueryCache(CacheManager cacheManager) {
-        if (cacheManager != null) {
-            this.cacheManager = cacheManager;
-            init();
-        } else {
-            throw new CayenneRuntimeException("CacheManager cannot be null.");
-        }
-    }
-
-    private void init() {
-        cacheManager.addCacheIfAbsent(DEFAULT_CACHE_NAME);
-    }
-
-    @SuppressWarnings("rawtypes")
-    public List get(QueryMetadata metadata) {
-        String key = metadata.getCacheKey();
-        if (key == null) {
-            return null;
-        }
-
-        String cacheName = cacheName(metadata);
-        Ehcache cache = cacheManager.getCache(cacheName);
-
-        if (cache == null) {
-            return null;
-        }
-
-        Element result = cache.get(key);
-        return result != null ? (List) result.getObjectValue() : null;
-    }
-
-    @SuppressWarnings("rawtypes")
-    public List get(QueryMetadata metadata, QueryCacheEntryFactory factory) {
-
-        String key = metadata.getCacheKey();
-        if (key == null) {
-            // TODO: we should really throw here... The method declares that it
-            // never returns null
-            return null;
-        }
-
-        String cacheName = cacheName(metadata);
-
-        // create empty cache for cache group here, as we have a factory to
-        // create an object, and should never ever return null from this
-        // method.
-        Ehcache cache = cacheManager.addCacheIfAbsent(cacheName);
-        Element result = cache.get(key);
-
-        if (result != null) {
-            return (List) result.getObjectValue();
-        }
-
-        // if no result in cache locking the key to write
-        // and putting it to the cache
-        cache.acquireWriteLockOnKey(key);
-        try {
-
-            // now that we locked the key, let's reread the cache again, in case
-            // an object appeared there already
-            result = cache.get(key);
-
-            if (result != null) {
-                return (List) result.getObjectValue();
-            }
-
-            // if not succeeded in reading again putting
-            // object to the cache ourselves
-            List object = factory.createObject();
-            if (object == null) {
-                throw new CayenneRuntimeException("Null object created: %s", metadata.getCacheKey());
-            }
-
-            cache.put(new Element(key, object));
-            return object;
-
-        } finally {
-            cache.releaseWriteLockOnKey(key);
-        }
-    }
-
-    /**
-     * @since 4.0
-     */
-	protected String cacheName(QueryMetadata metadata) {
-		if (metadata.getCacheGroup() != null) {
-			return metadata.getCacheGroup();
-		}
-
-		return DEFAULT_CACHE_NAME;
-	}
-
-    @SuppressWarnings("rawtypes")
-    public void put(QueryMetadata metadata, List results) {
-        String key = metadata.getCacheKey();
-        if (key != null) {
-            String cacheName = cacheName(metadata);
-            Ehcache cache = cacheManager.addCacheIfAbsent(cacheName);
-            cache.put(new Element(key, results));
-        }
-    }
-
-    public void remove(String key) {
-        if (key != null) {
-            for (String cache : cacheManager.getCacheNames()) {
-                cacheManager.getCache(cache).remove(key);
-            }
-        }
-    }
-
-    public void removeGroup(String groupKey) {
-        Ehcache cache = cacheManager.getEhcache(groupKey);
-        if(cache != null) {
-            cache.removeAll();
-        }
-    }
-
-    public void removeGroup(String groupKey, Class<?> keyType, Class<?> valueType) {
-        removeGroup(groupKey);
-    }
-
-    public void clear() {
-        cacheManager.removalAll();
-    }
-
-    public int size() {
-        int size = 0;
-        for (String cache : cacheManager.getCacheNames()) {
-            size += cacheManager.getCache(cache).getSize();
-        }
-        return size;
-    }
-
-    /**
-     * Shuts down EhCache CacheManager
-     */
-    @BeforeScopeEnd
-    public void shutdown() {
-        cacheManager.shutdown();
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47a8795f/cayenne-server/src/main/java/org/apache/cayenne/cache/OSQueryCache.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/cache/OSQueryCache.java b/cayenne-server/src/main/java/org/apache/cayenne/cache/OSQueryCache.java
deleted file mode 100644
index 70e1bb0..0000000
--- a/cayenne-server/src/main/java/org/apache/cayenne/cache/OSQueryCache.java
+++ /dev/null
@@ -1,401 +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.cache;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.di.BeforeScopeEnd;
-import org.apache.cayenne.query.QueryMetadata;
-
-import com.opensymphony.oscache.base.CacheEntry;
-import com.opensymphony.oscache.base.NeedsRefreshException;
-import com.opensymphony.oscache.general.GeneralCacheAdministrator;
-
-/**
- * A {@link QueryCache} implementation based on OpenSymphony OSCache. Query cache
- * parameters are initialized from "/oscache.properties" file per <a
- * href="http://www.opensymphony.com/oscache/wiki/Configuration.html">OSCache</a>
- * documentation. In addition to the standard OSCache parameters, Cayenne provider allows
- * to setup global cache expiration parameters, and parameters matching the main query
- * cache group (i.e. the cache groups specified first). A sample oscache.properties may
- * look like this:
- * 
- * <pre>
- * # OSCache configuration file
- *                        
- * # OSCache standard configuration per
- * #     http://www.opensymphony.com/oscache/wiki/Configuration.html
- * # ---------------------------------------------------------------
- *                        
- * #cache.memory=true
- * #cache.blocking=false
- * cache.capacity=5000
- * cache.algorithm=com.opensymphony.oscache.base.algorithm.LRUCache
- *                        
- * # Cayenne specific properties
- * # ---------------------------------------------------------------
- *                        
- * # Default refresh period in seconds:
- * cayenne.default.refresh = 60
- *                        
- * # Default expiry specified as cron expressions per
- * #    http://www.opensymphony.com/oscache/wiki/Cron%20Expressions.html
- * # expire entries every hour on the 10's minute
- * cayenne.default.cron = 10 * * * *
- *                        
- * # Same parameters can be overridden per query
- * cayenne.group.xyz.refresh = 120
- * cayenne.group.xyz.cron = 10 1 * * *
- * </pre>
- * 
- * Further extension of OSQueryCache is possible by using OSCache listener API.
- * 
- * @since 3.0
- * @deprecated since 4.0 as OSCache project is abandoned
- */
-@Deprecated
-public class OSQueryCache implements QueryCache {
-
-    public static final int DEFAULT_REFRESH_PERIOD = CacheEntry.INDEFINITE_EXPIRY;
-
-    static String DEFAULT_REFRESH_KEY = "cayenne.default.refresh";
-    static String DEFAULT_CRON_KEY = "cayenne.default.cron";
-
-    static String GROUP_PREFIX = "cayenne.group.";
-    static String REFRESH_SUFFIX = ".refresh";
-    static String CRON_SUFFIX = ".cron";
-
-    protected GeneralCacheAdministrator osCache;
-
-    RefreshSpecification defaultRefreshSpecification;
-    Map<String, RefreshSpecification> refreshSpecifications;
-    Properties properties;
-
-    public OSQueryCache() {
-        OSCacheAdministrator admin = new OSCacheAdministrator();
-        init(admin, admin.getProperties());
-    }
-
-    public OSQueryCache(GeneralCacheAdministrator cache, Properties properties) {
-        init(cache, properties);
-    }
-
-    /**
-     * Returns a collection of group names that have been configured explicitly via
-     * properties.
-     */
-    @SuppressWarnings("rawtypes")
-    public Collection getGroupNames() {
-        return refreshSpecifications != null
-                ? Collections.unmodifiableCollection(refreshSpecifications.keySet())
-                : Collections.EMPTY_SET;
-    }
-
-    public String getCronExpression(String groupName) {
-
-        RefreshSpecification spec = null;
-
-        if (refreshSpecifications != null) {
-            spec = refreshSpecifications.get(groupName);
-        }
-
-        if (spec == null) {
-            spec = defaultRefreshSpecification;
-        }
-
-        return spec.cronExpression;
-    }
-
-    public int getRrefreshPeriod(String groupName) {
-
-        RefreshSpecification spec = null;
-
-        if (refreshSpecifications != null) {
-            spec = refreshSpecifications.get(groupName);
-        }
-
-        if (spec == null) {
-            spec = defaultRefreshSpecification;
-        }
-
-        return spec.refreshPeriod;
-    }
-
-    /**
-     * Returns the underlying OSCache manager object.
-     */
-    public GeneralCacheAdministrator getOsCache() {
-        return osCache;
-    }
-
-    /**
-     * Returns configuration properties. Usually this is the contents of
-     * "oscache.properties" file.
-     */
-    public Properties getProperties() {
-        return properties;
-    }
-
-    void init(GeneralCacheAdministrator cache, Properties properties) {
-        this.properties = properties;
-        this.osCache = cache;
-        this.defaultRefreshSpecification = new RefreshSpecification();
-
-        // load defaults and per-query settings
-        if (properties != null) {
-
-            // first extract defaults...
-            String defaultRefresh = properties.getProperty(DEFAULT_REFRESH_KEY);
-            if (defaultRefresh != null) {
-                defaultRefreshSpecification.setRefreshPeriod(defaultRefresh);
-            }
-
-            String defaultCron = properties.getProperty(DEFAULT_CRON_KEY);
-            if (defaultCron != null) {
-                defaultRefreshSpecification.cronExpression = defaultCron;
-            }
-
-            // now check for per-query settings
-            for (final Map.Entry<Object, Object> entry : properties.entrySet()) {
-
-                if (entry.getKey() == null || entry.getValue() == null) {
-                    continue;
-                }
-
-                String key = entry.getKey().toString();
-                if (key.startsWith(GROUP_PREFIX)) {
-
-                    if (key.endsWith(REFRESH_SUFFIX)) {
-                        String name = key.substring(GROUP_PREFIX.length(), key.length()
-                                - REFRESH_SUFFIX.length());
-
-                        initRefreshPolicy(name, entry.getValue());
-                    }
-                    else if (key.endsWith(CRON_SUFFIX)) {
-                        String name = key.substring(GROUP_PREFIX.length(), key.length()
-                                - CRON_SUFFIX.length());
-
-                        initCronPolicy(name, entry.getValue());
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Called internally for each group that is configured with cron policy in the
-     * properties. Exposed mainly for the benefit of subclasses. When overriding, call
-     * 'super'.
-     */
-    protected void initCronPolicy(String groupName, Object value) {
-        nonNullSpec(groupName).cronExpression = value != null ? value.toString() : null;
-    }
-
-    /**
-     * Called internally for each group that is configured with refresh policy in the
-     * properties. Exposed mainly for the benefit of subclasses. When overriding, call
-     * 'super'.
-     */
-    protected void initRefreshPolicy(String groupName, Object value) {
-        nonNullSpec(groupName).setRefreshPeriod(value);
-    }
-
-    private RefreshSpecification nonNullSpec(String name) {
-        if (refreshSpecifications == null) {
-            refreshSpecifications = new HashMap<>();
-        }
-
-        RefreshSpecification spec = refreshSpecifications.get(name);
-        if (spec == null) {
-            spec = new RefreshSpecification();
-            spec.cronExpression = defaultRefreshSpecification.cronExpression;
-            spec.refreshPeriod = defaultRefreshSpecification.refreshPeriod;
-            refreshSpecifications.put(name, spec);
-        }
-
-        return spec;
-    }
-
-    @SuppressWarnings("rawtypes")
-    public List get(QueryMetadata metadata) {
-        String key = metadata.getCacheKey();
-        if (key == null) {
-            return null;
-        }
-
-        RefreshSpecification refresh = getRefreshSpecification(metadata);
-
-        try {
-            return (List) osCache.getFromCache(
-                    key,
-                    refresh.refreshPeriod,
-                    refresh.cronExpression);
-        }
-        catch (NeedsRefreshException e) {
-            osCache.cancelUpdate(key);
-            return null;
-        }
-    }
-
-    /**
-     * Returns a non-null cached value. If it is not present in the cache, it is obtained
-     * by calling {@link QueryCacheEntryFactory#createObject()}. Whether the cache
-     * provider will block on the entry update or not is controlled by "cache.blocking"
-     * configuration property and is "false" by default.
-     */
-    @SuppressWarnings("rawtypes")
-    public List get(QueryMetadata metadata, QueryCacheEntryFactory factory) {
-        String key = metadata.getCacheKey();
-        if (key == null) {
-            return null;
-        }
-
-        RefreshSpecification refresh = getRefreshSpecification(metadata);
-
-        try {
-            return (List) osCache.getFromCache(
-                    key,
-                    refresh.refreshPeriod,
-                    refresh.cronExpression);
-        }
-        catch (NeedsRefreshException e) {
-            boolean updated = false;
-            try {
-                List result = factory.createObject();
-                if (result == null) {
-                    throw new CayenneRuntimeException("Null on cache rebuilding: %s", metadata.getCacheKey());
-                }
-                put(metadata, result);
-                updated = true;
-                return result;
-            } finally {
-                if (!updated) {
-                    // It is essential that cancelUpdate is called if the
-                    // cached content could not be rebuilt
-                    osCache.cancelUpdate(key);
-                }
-            }
-        }
-    }
-
-    /**
-     * Returns non-null RefreshSpecification for the QueryMetadata.
-     */
-    RefreshSpecification getRefreshSpecification(QueryMetadata metadata) {
-
-        RefreshSpecification refresh = null;
-
-        if (refreshSpecifications != null) {
-            String group = metadata.getCacheGroup();
-            if (group != null) {
-                refresh = refreshSpecifications.get(group);
-            }
-        }
-
-        return refresh != null ? refresh : defaultRefreshSpecification;
-    }
-
-    @SuppressWarnings("rawtypes")
-    public void put(QueryMetadata metadata, List results) {
-        String key = metadata.getCacheKey();
-        if (key != null) {
-            osCache.putInCache(key, results, new String[]{metadata.getCacheGroup()});
-        }
-    }
-
-    public void remove(String key) {
-        if (key != null) {
-            osCache.removeEntry(key);
-        }
-    }
-
-    public void removeGroup(String groupKey) {
-        if (groupKey != null) {
-            osCache.flushGroup(groupKey);
-        }
-    }
-
-    public void removeGroup(String groupKey, Class<?> keyType, Class<?> valueType) {
-        removeGroup(groupKey);
-    }
-
-    public void clear() {
-        osCache.flushAll();
-    }
-
-    public int size() {
-        return osCache.getCache().getSize();
-    }
-
-    public int capacity() {
-        return osCache.getCache().getCapacity();
-    }
-    
-    /**
-     * Shuts down EhCache CacheManager
-     */
-    @BeforeScopeEnd
-    public void shutdown() {
-        osCache.destroy();
-    }
-
-    final static class RefreshSpecification {
-
-        int refreshPeriod;
-        String cronExpression;
-
-        RefreshSpecification() {
-            this.refreshPeriod = DEFAULT_REFRESH_PERIOD;
-        }
-
-        RefreshSpecification(int refrehsPeriod, String cronExpression) {
-            this.refreshPeriod = refrehsPeriod;
-            this.cronExpression = cronExpression;
-        }
-
-        void setRefreshPeriod(Object value) {
-            try {
-                refreshPeriod = Integer.parseInt(value.toString());
-            }
-            catch (NumberFormatException e) {
-                // ignore...
-            }
-        }
-    }
-
-    final static class OSCacheAdministrator extends GeneralCacheAdministrator {
-
-        OSCacheAdministrator() {
-        }
-
-        OSCacheAdministrator(Properties properties) {
-            super(properties);
-        }
-
-        Properties getProperties() {
-            return super.config.getProperties();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47a8795f/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingEhCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingEhCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingEhCacheIT.java
deleted file mode 100644
index 129de52..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingEhCacheIT.java
+++ /dev/null
@@ -1,60 +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.test.jdbc.TableHelper;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.After;
-import org.junit.Before;
-
-@SuppressWarnings("deprecation")
-@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextQueryCachingEhCacheIT extends DataContextQueryCachingIT {
-    
-    protected org.apache.cayenne.cache.EhCacheQueryCache domainCache;
-    protected org.apache.cayenne.cache.EhCacheQueryCache contextCache;
-
-    @Before
-    public void setUp() throws Exception {
-        tArtist = new TableHelper(dbHelper, "ARTIST");
-        tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
-
-        tPainting = new TableHelper(dbHelper, "PAINTING");
-        tPainting.setColumns(
-                "PAINTING_ID",
-                "PAINTING_TITLE",
-                "ARTIST_ID",
-                "ESTIMATED_PRICE");
-
-        domain = context.getParentDataDomain();
-        oldCache = domain.getQueryCache();
-        
-        domainCache = new org.apache.cayenne.cache.EhCacheQueryCache();
-        contextCache = new org.apache.cayenne.cache.EhCacheQueryCache();
-        domain.setQueryCache(domainCache);
-        context.setQueryCache(contextCache);
-    }
-    
-    @After
-    public void tearDown() throws Exception {
-        domainCache.shutdown();
-        contextCache.shutdown();
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47a8795f/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingOSCacheIT.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingOSCacheIT.java b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingOSCacheIT.java
deleted file mode 100644
index 0d7a8bb..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextQueryCachingOSCacheIT.java
+++ /dev/null
@@ -1,48 +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.test.jdbc.TableHelper;
-import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.UseServerRuntime;
-import org.junit.Before;
-
-@SuppressWarnings("deprecation")
-@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-public class DataContextQueryCachingOSCacheIT extends DataContextQueryCachingIT {
-
-    // runs super tests with a different setup...
-    @Before
-    public void setUp() throws Exception {
-        tArtist = new TableHelper(dbHelper, "ARTIST");
-        tArtist.setColumns("ARTIST_ID", "ARTIST_NAME");
-
-        tPainting = new TableHelper(dbHelper, "PAINTING");
-        tPainting.setColumns(
-                "PAINTING_ID",
-                "PAINTING_TITLE",
-                "ARTIST_ID",
-                "ESTIMATED_PRICE");
-
-        domain = context.getParentDataDomain();
-        oldCache = domain.getQueryCache();
-        domain.setQueryCache(new org.apache.cayenne.cache.OSQueryCache());
-        context.setQueryCache(new org.apache.cayenne.cache.OSQueryCache());
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47a8795f/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
deleted file mode 100644
index cd6e96b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCacheTest.java
+++ /dev/null
@@ -1,132 +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.cache;
-
-import net.sf.ehcache.CacheManager;
-import org.apache.cayenne.query.QueryMetadata;
-import org.junit.After;
-import org.junit.Before;
-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.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-@SuppressWarnings("deprecation")
-public class EhCacheQueryCacheTest {
-
-    private CacheManager cacheManager;
-
-    @Before
-    public void setUp() throws Exception {
-        cacheManager = new CacheManager();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        cacheManager.shutdown();
-    }
-
-    @Test
-    public void testGet() {
-
-        EhCacheQueryCache cache = new EhCacheQueryCache(cacheManager);
-
-        QueryMetadata md = mock(QueryMetadata.class);
-        when(md.getCacheKey()).thenReturn("k1");
-
-        assertNull(cache.get(md));
-
-        List<?> results = new ArrayList<Object>();
-        cache.put(md, results);
-        assertSame(results, cache.get(md));
-    }
-
-    @Test
-    public void testGet_WithFactory() {
-
-        EhCacheQueryCache cache = new EhCacheQueryCache(cacheManager);
-
-        ArrayList[] lists = new ArrayList[] { new ArrayList<>(), new ArrayList<>(), new ArrayList<>() };
-        QueryCacheEntryFactory factory = mock(QueryCacheEntryFactory.class);
-        when(factory.createObject()).thenReturn(lists[0], lists[1], lists[2]);
-
-        QueryMetadata md = mock(QueryMetadata.class);
-        when(md.getCacheKey()).thenReturn("k1");
-
-        assertEquals(lists[0], cache.get(md, factory));
-        assertEquals(lists[0], cache.get(md, factory));
-        assertEquals(lists[0], cache.get(md, factory));
-
-        List<?> results = new ArrayList<Object>();
-        cache.put(md, results);
-        assertSame(results, cache.get(md));
-    }
-
-    @Test
-    public void testGet_WithFactory_WithCacheGroups() {
-
-        EhCacheQueryCache cache = new EhCacheQueryCache(cacheManager);
-
-        ArrayList[] lists = new ArrayList[] { new ArrayList<>(), new ArrayList<>(), new ArrayList<>() };
-        QueryCacheEntryFactory factory = mock(QueryCacheEntryFactory.class);
-        when(factory.createObject()).thenReturn(lists[0], lists[1], lists[2]);
-
-        QueryMetadata md = mock(QueryMetadata.class);
-        when(md.getCacheKey()).thenReturn("k1");
-        when(md.getCacheGroup()).thenReturn("cg1");
-
-        assertEquals(lists[0], cache.get(md, factory));
-        assertEquals(lists[0], cache.get(md, factory));
-        assertEquals(lists[0], cache.get(md, factory));
-
-        List<?> results = new ArrayList<Object>();
-        cache.put(md, results);
-        assertSame(results, cache.get(md));
-    }
-
-    @Test
-    public void testRemoveGroup_WithFactory_WithCacheGroups() {
-
-        EhCacheQueryCache cache = new EhCacheQueryCache(cacheManager);
-
-        ArrayList[] lists = new ArrayList[] { new ArrayList<>(), new ArrayList<>(), new ArrayList<>() };
-        QueryCacheEntryFactory factory = mock(QueryCacheEntryFactory.class);
-        when(factory.createObject()).thenReturn(lists[0], lists[1], lists[2]);
-
-        QueryMetadata md = mock(QueryMetadata.class);
-        when(md.getCacheKey()).thenReturn("k1");
-        when(md.getCacheGroup()).thenReturn("cg1");
-
-        assertEquals(lists[0], cache.get(md, factory));
-        assertEquals(lists[0], cache.get(md, factory));
-
-        cache.removeGroup("cg0");
-        assertEquals(lists[0], cache.get(md, factory));
-
-        cache.removeGroup("cg1");
-        assertEquals(lists[1], cache.get(md, factory));
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47a8795f/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
deleted file mode 100644
index 1596119..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/EhCacheQueryCache_WithConfigTest.java
+++ /dev/null
@@ -1,90 +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.cache;
-
-import net.sf.ehcache.Cache;
-import net.sf.ehcache.CacheManager;
-import org.apache.cayenne.query.QueryMetadata;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.net.URL;
-import java.util.ArrayList;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-@SuppressWarnings("deprecation")
-public class EhCacheQueryCache_WithConfigTest {
-
-    protected CacheManager cacheManager;
-
-    @Before
-    public void setUp() throws Exception {
-        URL config = getClass().getResource("test-ehcache.xml");
-        assertNotNull(config);
-        cacheManager = new CacheManager(config);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        cacheManager.shutdown();
-    }
-
-    @Test
-    public void testRemoveGroup_WithFactory_WithCacheGroups() {
-
-        EhCacheQueryCache cache = new EhCacheQueryCache(cacheManager);
-
-        ArrayList[] lists = new ArrayList[] { new ArrayList<>(), new ArrayList<>(), new ArrayList<>() };
-        QueryCacheEntryFactory factory = mock(QueryCacheEntryFactory.class);
-        when(factory.createObject()).thenReturn(lists[0], lists[1], lists[2]);
-
-        QueryMetadata md = mock(QueryMetadata.class);
-        when(md.getCacheKey()).thenReturn("k1");
-        when(md.getCacheGroup()).thenReturn("cg1");
-
-        assertEquals(lists[0], cache.get(md, factory));
-        assertEquals(lists[0], cache.get(md, factory));
-
-        Cache c1 = cache.cacheManager.getCache("cg1");
-        assertEquals(201, c1.getCacheConfiguration().getTimeToLiveSeconds());
-
-        // remove non-existing
-        cache.removeGroup("cg0");
-        assertEquals(lists[0], cache.get(md, factory));
-
-        Cache c2 = cache.cacheManager.getCache("cg1");
-        assertSame(c1, c2);
-        assertEquals(201, c2.getCacheConfiguration().getTimeToLiveSeconds());
-
-        cache.removeGroup("cg1");
-        assertEquals(lists[1], cache.get(md, factory));
-
-        // make sure the cache still has all the configured settings after
-        // 'removeGroup'
-        Cache c3 = cache.cacheManager.getCache("cg1");
-        assertSame(c1, c3);
-        assertEquals(201, c3.getCacheConfiguration().getTimeToLiveSeconds());
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47a8795f/cayenne-server/src/test/java/org/apache/cayenne/cache/OSQueryCacheTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/cache/OSQueryCacheTest.java b/cayenne-server/src/test/java/org/apache/cayenne/cache/OSQueryCacheTest.java
deleted file mode 100644
index 45aaa1b..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/cache/OSQueryCacheTest.java
+++ /dev/null
@@ -1,138 +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.cache;
-
-import com.opensymphony.oscache.base.CacheEntry;
-import com.opensymphony.oscache.general.GeneralCacheAdministrator;
-import org.apache.cayenne.query.MockQueryMetadata;
-import org.apache.cayenne.query.QueryMetadata;
-import org.junit.Test;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-@SuppressWarnings("deprecation")
-public class OSQueryCacheTest {
-
-    @Test
-    public void testDefaults() {
-        OSQueryCache cache = new OSQueryCache();
-
-        assertNull(cache.refreshSpecifications);
-        assertNull(cache.defaultRefreshSpecification.cronExpression);
-        assertEquals(
-                CacheEntry.INDEFINITE_EXPIRY,
-                cache.defaultRefreshSpecification.refreshPeriod);
-    }
-
-    @Test
-    public void testDefaultOverrides() {
-
-        Properties props = new Properties();
-        props.put(OSQueryCache.DEFAULT_REFRESH_KEY, "15");
-        props.put(OSQueryCache.DEFAULT_CRON_KEY, "9 * * * * *");
-        OSQueryCache cache = new OSQueryCache(new GeneralCacheAdministrator(), props);
-
-        assertNull(cache.refreshSpecifications);
-        assertEquals("9 * * * * *", cache.defaultRefreshSpecification.cronExpression);
-        assertEquals(15, cache.defaultRefreshSpecification.refreshPeriod);
-    }
-
-    @Test
-    public void testQueryOverrides() {
-
-        Properties props = new Properties();
-        props.put(OSQueryCache.GROUP_PREFIX + "ABC" + OSQueryCache.REFRESH_SUFFIX, "25");
-        props.put(
-                OSQueryCache.GROUP_PREFIX + "ABC" + OSQueryCache.CRON_SUFFIX,
-                "12 * * * * *");
-        props.put(OSQueryCache.GROUP_PREFIX + "XYZ" + OSQueryCache.REFRESH_SUFFIX, "35");
-        props.put(
-                OSQueryCache.GROUP_PREFIX + "XYZ" + OSQueryCache.CRON_SUFFIX,
-                "24 * * * * *");
-
-        OSQueryCache cache = new OSQueryCache(new GeneralCacheAdministrator(), props);
-
-        assertNotNull(cache.refreshSpecifications);
-        assertEquals(2, cache.refreshSpecifications.size());
-
-        org.apache.cayenne.cache.OSQueryCache.RefreshSpecification abc = cache.refreshSpecifications.get("ABC");
-        assertNotNull(abc);
-        assertEquals("12 * * * * *", abc.cronExpression);
-        assertEquals(25, abc.refreshPeriod);
-
-        org.apache.cayenne.cache.OSQueryCache.RefreshSpecification xyz = cache.refreshSpecifications.get("XYZ");
-        assertNotNull(xyz);
-        assertEquals("24 * * * * *", xyz.cronExpression);
-        assertEquals(35, xyz.refreshPeriod);
-    }
-
-    @Test
-    public void testGroupNames() {
-
-        Properties props = new Properties();
-        OSQueryCache c1 = new OSQueryCache(new GeneralCacheAdministrator(), props);
-        assertTrue(c1.getGroupNames().isEmpty());
-
-        props.put(OSQueryCache.GROUP_PREFIX + "ABC" + OSQueryCache.REFRESH_SUFFIX, "25");
-        props.put(
-                OSQueryCache.GROUP_PREFIX + "XYZ" + OSQueryCache.CRON_SUFFIX,
-                "24 * * * * *");
-
-        OSQueryCache c2 = new OSQueryCache(new GeneralCacheAdministrator(), props);
-
-        assertEquals(2, c2.getGroupNames().size());
-
-        assertTrue(c2.getGroupNames().contains("ABC"));
-        assertTrue(c2.getGroupNames().contains("XYZ"));
-    }
-
-    @Test
-    public void testSize() {
-        OSQueryCache cache = new OSQueryCache();
-
-        List r1 = new ArrayList();
-        QueryMetadata m1 = new MockQueryMetadata() {
-
-            @Override
-            public String getCacheKey() {
-                return "a";
-            }
-        };
-        cache.put(m1, r1);
-        assertEquals(1, cache.size());
-        
-        List r2 = new ArrayList();
-        QueryMetadata m2 = new MockQueryMetadata() {
-
-            @Override
-            public String getCacheKey() {
-                return "b";
-            }
-        };
-        cache.put(m2, r2);
-        assertEquals(2, cache.size());
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/47a8795f/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 14b8711..676d529 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -204,9 +204,6 @@ UPGRADING TO 4.1.M2
       - removed DataMap dataMap in org.apache.cayenne.query.QueryChain;
       - removed DataMap dataMap in org.apache.cayenne.query.BatchQuery;
       - removed void setDataMap(DataMap dataMap) in org.apache.cayenne.query.BatchQuery;
-      - change in void testGet_WithFactory_WithCacheGroups() from getCacheGroups() to getCacheGroup() in org.apache.cayenne.cache.EhCacheQueryCacheTest;
-      - change in void testRemoveGroup_WithFactory_WithCacheGroups() from getCacheGroups() to getCacheGroup() in org.apache.cayenne.cache.EhCacheQueryCacheTest;
-      - change in void testRemoveGroup_WithFactory_WithCacheGroups() from getCacheGroups() to getCacheGroup() in org.apache.cayenne.cache.EhCacheQueryCacheTest_WithConfigTest;
       - change in void testUseSharedCache(): removed getCacheGroups() in org.apache.cayenne.query.SelectQueryCacheKeyIT;
       - removed in void testCreateReplacementQuery_Bare()  getCacheGroups() in org.apache.cayenne.queryObjectSelect_CompileIT;
       - removed in void testCreateReplacementQuery_Full()  getCacheGroups() in org.apache.cayenne.queryObjectSelect_CompileIT;
@@ -240,6 +237,8 @@ UPGRADING TO 4.1.M2
       - removed void getDataSourceLocation(String dataSourceLocation) from org.apache.cayenne.access.MockDataNode;
       - removed void getDataSourceLocation(String dataSourceLocation) {since 4.0. This information is irrelevant at the DataNode level} from
       org.apache.cayenne.access.DataNode;
+      - removed OSQueryCache in org.apache.cayenne.cache with tests;
+      - removed EhCacheQueryCache in org.apache.cayenne.cache with tests;
 
 UPGRADING TO 4.1.M1
 


[13/30] cayenne git commit: CAY-2377. Remove NamedQuery

Posted by nt...@apache.org.
CAY-2377. Remove NamedQuery


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

Branch: refs/heads/master
Commit: 060340bf6a4ae75e5ff1643e04437a38d8231014
Parents: 47a8795
Author: Arseni Bulatski <an...@gmail.com>
Authored: Thu Nov 9 09:25:39 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:47 2017 +0300

----------------------------------------------------------------------
 .../apache/cayenne/query/NamedQueryTest.java    |  43 ---
 .../org/apache/cayenne/query/NamedQuery.java    | 294 -------------------
 .../apache/cayenne/query/NamedQueryTest.java    |  83 ------
 .../cayenne/testdo/mt/ClientMultiTier.java      |  36 ---
 .../org/apache/cayenne/testdo/mt/MultiTier.java |  36 ---
 .../testdo/mt/auto/_ClientMultiTier.java        |  44 ---
 .../cayenne/testdo/mt/auto/_MultiTier.java      |  44 ---
 .../apache/cayenne/testdo/testmap/Tstmap.java   |  36 ---
 .../cayenne/testdo/testmap/auto/_Tstmap.java    | 118 --------
 docs/doc/src/main/resources/UPGRADE.txt         |   5 +
 10 files changed, 5 insertions(+), 734 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/cayenne-client/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/query/NamedQueryTest.java b/cayenne-client/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
deleted file mode 100644
index 0477cc9..0000000
--- a/cayenne-client/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
+++ /dev/null
@@ -1,43 +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.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.assertNotSame;
-import static org.junit.Assert.assertTrue;
-
-public class NamedQueryTest {
-
-    @SuppressWarnings("deprecation")
-    @Test
-    public void testSerializabilityWithHessian() throws Exception {
-        NamedQuery o = new NamedQuery("abc");
-        Object clone = HessianUtil.cloneViaClientServerSerialization(o, new EntityResolver());
-
-        assertTrue(clone instanceof NamedQuery);
-        NamedQuery c1 = (NamedQuery) clone;
-
-        assertNotSame(o, c1);
-        assertEquals(o.getName(), c1.getName());
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/cayenne-server/src/main/java/org/apache/cayenne/query/NamedQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/NamedQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/NamedQuery.java
deleted file mode 100644
index b8544fa..0000000
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/NamedQuery.java
+++ /dev/null
@@ -1,294 +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.query;
-
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.map.QueryDescriptor;
-import org.apache.cayenne.util.EqualsBuilder;
-import org.apache.cayenne.util.HashCodeBuilder;
-import org.apache.cayenne.util.Util;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * A query that is a reference to a named parameterized query stored in the mapping. The actual query is resolved
- * during execution.
- * 
- * @since 1.2
- * @deprecated since 4.0 you should use {@link MappedSelect} or {@link MappedExec} instead.
- */
-@SuppressWarnings("deprecation")
-@Deprecated
-public class NamedQuery extends IndirectQuery {
-
-    protected Map<String, Object> parameters;
-
-    protected boolean forceNoCache;
-
-    protected BaseQueryMetadata overrideMetadata;
-
-    // metadata fields...
-    transient int hashCode;
-    
-    //to enable serialization
-    @SuppressWarnings("unused")
-    private NamedQuery() {
-    }
-
-    public NamedQuery(String name) {
-        this(name, null);
-    }
-
-    public NamedQuery(String name, Map<String, ?> parameters) {
-        this.name = name;
-
-        // copy parameters map (among other things to make hessian serialization work).
-        if (parameters != null && !parameters.isEmpty()) {
-            this.parameters = new HashMap<>(parameters);
-        }
-    }
-
-    /**
-     * Creates NamedQuery with parameters passed as two matching arrays of keys and
-     * values.
-     */
-    public NamedQuery(String name, String[] keys, Object[] values) {
-        this.name = name;
-        this.parameters = Util.toMap(keys, values);
-    }
-
-    @Override
-    public QueryMetadata getMetaData(EntityResolver resolver) {
-
-        QueryMetadata base = overrideMetadata != null ? overrideMetadata : super.getMetaData(resolver);
-        QueryMetadataWrapper wrapper = new QueryMetadataWrapper(base);
-
-        // override cache policy, forcing refresh if needed
-        if (forceNoCache) {
-            QueryCacheStrategy strategy = base.getCacheStrategy();
-            if (QueryCacheStrategy.LOCAL_CACHE == strategy) {
-                wrapper.override(QueryMetadata.CACHE_STRATEGY_PROPERTY, QueryCacheStrategy.LOCAL_CACHE_REFRESH);
-            } else if (QueryCacheStrategy.SHARED_CACHE == strategy) {
-                wrapper.override(QueryMetadata.CACHE_STRATEGY_PROPERTY, QueryCacheStrategy.SHARED_CACHE_REFRESH);
-            }
-        }
-
-        // override cache key to include parameters
-        if (parameters != null
-                && !parameters.isEmpty()
-                && replacementQuery instanceof NamedQuery
-                && base.getCacheKey() != null) {
-
-            // TODO: andrus, 3/29/2006 this is taken from SelectQuery...probably need a
-            // central place for converting parameters to a cache key
-
-            StringBuilder buffer = new StringBuilder(name);
-
-            if (parameters != null && !parameters.isEmpty()) {
-                buffer.append(parameters.hashCode());
-            }
-
-            wrapper.override(QueryMetadataWrapper.CACHE_KEY_PROPERTY, buffer.toString());
-        }
-
-        return wrapper;
-    }
-
-    @Override
-    protected Query createReplacementQuery(EntityResolver resolver) {
-        Query query = resolveQuery(resolver);
-
-        if (query instanceof ParameterizedQuery) {
-            query = ((ParameterizedQuery) query).createQuery(normalizedParameters());
-        } else if (query instanceof EJBQLQuery) {
-            for (Map.Entry<String, ?> pairs : normalizedParameters().entrySet()) {
-                ((EJBQLQuery) query).setParameter(pairs.getKey(), pairs.getValue());
-            }
-        }
-
-        return query;
-    }
-
-    /**
-     * Returns a non-null parameter map, substituting all persistent objects in the
-     * initial map with ObjectIds. This is needed so that a query could work uniformly on
-     * the server and client sides.
-     */
-    Map<String, ?> normalizedParameters() {
-        if (parameters == null || parameters.isEmpty()) {
-            return Collections.emptyMap();
-        }
-
-        Map<String, Object> substitutes = new HashMap<>(parameters);
-
-        for (Map.Entry<String, ?> entry : parameters.entrySet()) {
-            Object value = entry.getValue();
-
-            if (value instanceof Persistent) {
-                value = ((Persistent) value).getObjectId();
-            }
-
-            substitutes.put(entry.getKey(), value);
-        }
-
-        return substitutes;
-    }
-
-    /**
-     * Returns a query for name, throwing an exception if such query is not mapped in the
-     * EntityResolver.
-     */
-    protected Query resolveQuery(EntityResolver resolver) {
-        QueryDescriptor queryDescriptor = resolver.getQueryDescriptor(getName());
-        Query query = queryDescriptor.buildQuery();
-
-        if (query == this) {
-            throw new CayenneRuntimeException("Named query resolves to self: '%s'", getName());
-        }
-
-        return query;
-    }
-
-    /**
-     * Overrides toString() outputting a short string with query class and name.
-     */
-    @Override
-    public String toString() {
-        String className = getClass().getName();
-        return Util.stripPackageName(className) + ":" + getName();
-    }
-
-    /**
-     * Initializes metadata overrides. Needed to store the metadata for the remote query
-     * proxies that have no access to the actual query.
-     */
-    public void initMetadata(QueryMetadata metadata) {
-        if (metadata != null) {
-            this.overrideMetadata = new BaseQueryMetadata();
-            this.overrideMetadata.copyFromInfo(metadata);
-        }
-        else {
-            this.overrideMetadata = null;
-        }
-    }
-
-    /**
-     * An object is considered equal to this NamedQuery if it is a NamedQuery with the
-     * same queryName and same parameters.
-     */
-    @Override
-    public boolean equals(Object object) {
-        if (this == object) {
-            return true;
-        }
-
-        if (!(object instanceof NamedQuery)) {
-            return false;
-        }
-
-        NamedQuery query = (NamedQuery) object;
-
-        if (!Util.nullSafeEquals(name, query.getName())) {
-            return false;
-        }
-
-        if (query.parameters == null && parameters == null) {
-            return true;
-        }
-
-        if (query.parameters == null || parameters == null) {
-            return false;
-        }
-
-        if (query.parameters.size() != parameters.size()) {
-            return false;
-        }
-
-        EqualsBuilder builder = new EqualsBuilder();
-
-        for (Map.Entry<String, ?> entry : parameters.entrySet()) {
-            String entryKey = entry.getKey();
-            Object entryValue = entry.getValue();
-
-            if (entryValue == null) {
-                if (query.parameters.get(entryKey) != null
-                        || !query.parameters.containsKey(entryKey)) {
-                    return false;
-                }
-            }
-            else {
-                // takes care of comparing primitive arrays, such as byte[]
-                builder.append(entryValue, query.parameters.get(entryKey));
-                if (!builder.isEquals()) {
-                    return false;
-                }
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Implements a standard hashCode contract considering custom 'equals' implementation.
-     */
-    @Override
-    public int hashCode() {
-
-        if (this.hashCode == 0) {
-
-            HashCodeBuilder builder = new HashCodeBuilder(13, 17);
-
-            if (name != null) {
-                builder.append(name.hashCode());
-            }
-
-            if (parameters != null) {
-                Object[] keys = parameters.keySet().toArray();
-                Arrays.sort(keys);
-
-                for (Object key : keys) {
-                    // HashCodeBuilder will take care of processing object if it
-                    // happens to be a primitive array such as byte[]
-                    builder.append(key).append(parameters.get(key));
-                }
-
-            }
-
-            this.hashCode = builder.toHashCode();
-            assert hashCode != 0 : "Generated zero hashCode";
-        }
-
-        return hashCode;
-    }
-
-    public boolean isForceNoCache() {
-        return forceNoCache;
-    }
-
-    public void setForceNoCache(boolean forcingNoCache) {
-        this.forceNoCache = forcingNoCache;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/cayenne-server/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/NamedQueryTest.java b/cayenne-server/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
deleted file mode 100644
index 0660732..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/NamedQueryTest.java
+++ /dev/null
@@ -1,83 +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.query;
-
-import org.apache.cayenne.util.Util;
-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.assertTrue;
-
-@SuppressWarnings("deprecation")
-public class NamedQueryTest {
-
-    @Test
-    public void testName() {
-        NamedQuery query = new NamedQuery("abc");
-
-        assertEquals("abc", query.getName());
-        query.setName("123");
-        assertEquals("123", query.getName());
-    }
-
-    @Test
-    public void testQueryName() {
-        NamedQuery query = new NamedQuery("abc");
-        assertEquals("abc", query.getName());
-    }
-
-    @Test
-    public void testSerializability() throws Exception {
-        NamedQuery o = new NamedQuery("abc");
-        Object clone = Util.cloneViaSerialization(o);
-
-        assertTrue(clone != null);
-        NamedQuery c1 = (NamedQuery) clone;
-
-        assertNotSame(o, c1);
-        assertEquals(o.getName(), c1.getName());
-    }
-
-    /**
-     * Proper 'equals' and 'hashCode' implementations are important when mapping
-     * results obtained in a QueryChain back to the query.
-     */
-    @Test
-    public void testEquals() throws Exception {
-        NamedQuery q1 = new NamedQuery("abc", new String[] { "a", "b" }, new Object[] { "1", "2" });
-
-        NamedQuery q2 = new NamedQuery("abc", new String[] { "a", "b" }, new Object[] { "1", "2" });
-
-        NamedQuery q3 = new NamedQuery("abc", new String[] { "a", "b" }, new Object[] { "1", "3" });
-
-        NamedQuery q4 = new NamedQuery("123", new String[] { "a", "b" }, new Object[] { "1", "2" });
-
-        assertTrue(q1.equals(q2));
-        assertEquals(q1.hashCode(), q2.hashCode());
-
-        assertFalse(q1.equals(q3));
-        assertFalse(q1.hashCode() == q3.hashCode());
-
-        assertFalse(q1.equals(q4));
-        assertFalse(q1.hashCode() == q4.hashCode());
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMultiTier.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMultiTier.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMultiTier.java
deleted file mode 100644
index 77dee02..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/ClientMultiTier.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.mt;
-
-import org.apache.cayenne.testdo.mt.auto._ClientMultiTier;
-
-public class ClientMultiTier extends _ClientMultiTier {
-
-    private static ClientMultiTier instance;
-
-    public ClientMultiTier() {}
-
-    public static ClientMultiTier getInstance() {
-        if(instance == null) {
-            instance = new ClientMultiTier();
-        }
-
-        return instance;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MultiTier.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MultiTier.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MultiTier.java
deleted file mode 100644
index 980d622..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/MultiTier.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.mt;
-
-import org.apache.cayenne.testdo.mt.auto._MultiTier;
-
-public class MultiTier extends _MultiTier {
-
-    private static MultiTier instance;
-
-    private MultiTier() {}
-
-    public static MultiTier getInstance() {
-        if(instance == null) {
-            instance = new MultiTier();
-        }
-
-        return instance;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMultiTier.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMultiTier.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMultiTier.java
deleted file mode 100644
index 6ddc7ee..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_ClientMultiTier.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.query.NamedQuery;
-import org.apache.cayenne.testdo.mt.ClientMtTable1;
-
-/**
- * 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 _ClientMultiTier {
-
-    public static final String ALL_MT_TABLE1_QUERYNAME = "AllMtTable1";
-
-    public static final String MT_QUERY_WITH_LOCAL_CACHE_QUERYNAME = "MtQueryWithLocalCache";
-
-    public static final String PARAMETERIZED_EJBQLMT_QUERY_QUERYNAME = "ParameterizedEJBQLMtQuery";
-
-    public static final String PARAMETERIZED_MT_QUERY_WITH_LOCAL_CACHE_QUERYNAME = "ParameterizedMtQueryWithLocalCache";
-
-    public List<ClientMtTable1> performAllMtTable1(ObjectContext context ) {
-        return context.performQuery(new NamedQuery("AllMtTable1"));
-    }
-
-    public List<ClientMtTable1> performMtQueryWithLocalCache(ObjectContext context ) {
-        return context.performQuery(new NamedQuery("MtQueryWithLocalCache"));
-    }
-
-    public List<ClientMtTable1> performParameterizedMtQueryWithLocalCache(ObjectContext context , String g) {
-        String[] parameters = {
-            "g",
-        };
-
-        Object[] values = {
-            g,
-        };
-
-        return context.performQuery(new NamedQuery("ParameterizedMtQueryWithLocalCache", parameters, values));
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MultiTier.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MultiTier.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MultiTier.java
deleted file mode 100644
index d990c06..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/mt/auto/_MultiTier.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.apache.cayenne.testdo.mt.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.query.NamedQuery;
-import org.apache.cayenne.testdo.mt.MtTable1;
-
-/**
- * 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 _MultiTier {
-
-    public static final String ALL_MT_TABLE1_QUERYNAME = "AllMtTable1";
-
-    public static final String MT_QUERY_WITH_LOCAL_CACHE_QUERYNAME = "MtQueryWithLocalCache";
-
-    public static final String PARAMETERIZED_EJBQLMT_QUERY_QUERYNAME = "ParameterizedEJBQLMtQuery";
-
-    public static final String PARAMETERIZED_MT_QUERY_WITH_LOCAL_CACHE_QUERYNAME = "ParameterizedMtQueryWithLocalCache";
-
-    public List<MtTable1> performAllMtTable1(ObjectContext context ) {
-        return context.performQuery(new NamedQuery("AllMtTable1"));
-    }
-
-    public List<MtTable1> performMtQueryWithLocalCache(ObjectContext context ) {
-        return context.performQuery(new NamedQuery("MtQueryWithLocalCache"));
-    }
-
-    public List<MtTable1> performParameterizedMtQueryWithLocalCache(ObjectContext context , String g) {
-        String[] parameters = {
-            "g",
-        };
-
-        Object[] values = {
-            g,
-        };
-
-        return context.performQuery(new NamedQuery("ParameterizedMtQueryWithLocalCache", parameters, values));
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Tstmap.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Tstmap.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Tstmap.java
deleted file mode 100644
index 0d693f0..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/Tstmap.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.testmap;
-
-import org.apache.cayenne.testdo.testmap.auto._Tstmap;
-
-public class Tstmap extends _Tstmap {
-
-    private static Tstmap instance;
-
-    private Tstmap() {}
-
-    public static Tstmap getInstance() {
-        if(instance == null) {
-            instance = new Tstmap();
-        }
-
-        return instance;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Tstmap.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Tstmap.java b/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Tstmap.java
deleted file mode 100644
index a3642f2..0000000
--- a/cayenne-server/src/test/java/org/apache/cayenne/testdo/testmap/auto/_Tstmap.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package org.apache.cayenne.testdo.testmap.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.query.NamedQuery;
-import org.apache.cayenne.testdo.testmap.Artist;
-import org.apache.cayenne.testdo.testmap.Gallery;
-import org.apache.cayenne.testdo.testmap.Painting;
-
-/**
- * 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 _Tstmap {
-
-    public static final String EJBQL_QUERY_TEST_QUERYNAME = "EjbqlQueryTest";
-
-    public static final String NON_SELECTING_QUERY_QUERYNAME = "NonSelectingQuery";
-
-    public static final String OBJECT_QUERY_QUERYNAME = "ObjectQuery";
-
-    public static final String PARAMETERIZED_NON_SELECTING_QUERY_QUERYNAME = "ParameterizedNonSelectingQuery";
-
-    public static final String PARAMETERIZED_QUERY_WITH_LOCAL_CACHE_QUERYNAME = "ParameterizedQueryWithLocalCache";
-
-    public static final String PARAMETERIZED_QUERY_WITH_SHARED_CACHE_QUERYNAME = "ParameterizedQueryWithSharedCache";
-
-    public static final String PROCEDURE_QUERY_QUERYNAME = "ProcedureQuery";
-
-    public static final String QUERY_WITH_LOCAL_CACHE_QUERYNAME = "QueryWithLocalCache";
-
-    public static final String QUERY_WITH_ORDERING_QUERYNAME = "QueryWithOrdering";
-
-    public static final String QUERY_WITH_PREFETCH_QUERYNAME = "QueryWithPrefetch";
-
-    public static final String QUERY_WITH_QUALIFIER_QUERYNAME = "QueryWithQualifier";
-
-    public static final String QUERY_WITH_SHARED_CACHE_QUERYNAME = "QueryWithSharedCache";
-
-    public static final String SELECT_DATE_TEST_QUERYNAME = "SelectDateTest";
-
-    public static final String SELECT_RETURN_TYPES_LOBS_MAP1_QUERYNAME = "SelectReturnTypesLobsMap1";
-
-    public static final String SELECT_RETURN_TYPES_MAP1_QUERYNAME = "SelectReturnTypesMap1";
-
-    public static final String SELECT_RETURN_TYPES_MAP2_QUERYNAME = "SelectReturnTypesMap2";
-
-    public static final String SELECT_TEST_LOWER_QUERYNAME = "SelectTestLower";
-
-    public static final String SELECT_TEST_UPPER_QUERYNAME = "SelectTestUpper";
-
-    public List<Painting> performObjectQuery(ObjectContext context , Artist artist) {
-        String[] parameters = {
-            "artist",
-        };
-
-        Object[] values = {
-            artist,
-        };
-
-        return context.performQuery(new NamedQuery("ObjectQuery", parameters, values));
-    }
-
-    public List<Artist> performParameterizedQueryWithLocalCache(ObjectContext context , String name) {
-        String[] parameters = {
-            "name",
-        };
-
-        Object[] values = {
-            name,
-        };
-
-        return context.performQuery(new NamedQuery("ParameterizedQueryWithLocalCache", parameters, values));
-    }
-
-    public List<Artist> performParameterizedQueryWithSharedCache(ObjectContext context , String name) {
-        String[] parameters = {
-            "name",
-        };
-
-        Object[] values = {
-            name,
-        };
-
-        return context.performQuery(new NamedQuery("ParameterizedQueryWithSharedCache", parameters, values));
-    }
-
-    public List<Artist> performQueryWithLocalCache(ObjectContext context ) {
-        return context.performQuery(new NamedQuery("QueryWithLocalCache"));
-    }
-
-    public List<Artist> performQueryWithOrdering(ObjectContext context ) {
-        return context.performQuery(new NamedQuery("QueryWithOrdering"));
-    }
-
-    public List<Gallery> performQueryWithPrefetch(ObjectContext context ) {
-        return context.performQuery(new NamedQuery("QueryWithPrefetch"));
-    }
-
-    public List<Artist> performQueryWithQualifier(ObjectContext context , String param1) {
-        String[] parameters = {
-            "param1",
-        };
-
-        Object[] values = {
-            param1,
-        };
-
-        return context.performQuery(new NamedQuery("QueryWithQualifier", parameters, values));
-    }
-
-    public List<Artist> performQueryWithSharedCache(ObjectContext context ) {
-        return context.performQuery(new NamedQuery("QueryWithSharedCache"));
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/060340bf/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 676d529..38ed27b 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -239,6 +239,11 @@ UPGRADING TO 4.1.M2
       org.apache.cayenne.access.DataNode;
       - removed OSQueryCache in org.apache.cayenne.cache with tests;
       - removed EhCacheQueryCache in org.apache.cayenne.cache with tests;
+      - removed Tstmap and _Tstmap org.apache.cayenne.testdo.testmap;
+      - removed MultiTier and _MultiTier in org.apache.cayenne.testdo.mt;
+      - removed ClientMultiTier and _ClientMultiTier in org.apache.cayenne.testdo.mt;
+      - removed NamedQueryTest in org.apache.cayenne.query.NamedQueryTest;
+      - removed NamedQuery in org.apache.cayenne.query;
 
 UPGRADING TO 4.1.M1
 


[21/30] cayenne git commit: CAY-2377. Cleanup cayenne-client

Posted by nt...@apache.org.
CAY-2377. Cleanup cayenne-client


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

Branch: refs/heads/master
Commit: 2849f5c8eef3046c40a234a709d2536981b4b97e
Parents: ad9d934
Author: Arseni Bulatski <an...@gmail.com>
Authored: Tue Nov 14 09:28:57 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:48 2017 +0300

----------------------------------------------------------------------
 .../rop/client/ClientLocalRuntime.java          | 78 --------------------
 .../configuration/rop/client/ClientModule.java  | 26 -------
 .../configuration/rop/client/ClientRuntime.java | 49 ------------
 .../rop/client/ClientRuntimeBuilder.java        |  2 +-
 .../rop/client/ClientModuleTest.java            | 51 +------------
 .../rop/client/ClientRuntimeBuilderTest.java    | 59 ++++++++++++++-
 .../rop/client/ClientRuntimeTest.java           | 77 ++++---------------
 docs/doc/src/main/resources/UPGRADE.txt         |  5 ++
 .../apache/cayenne/tutorial/Http2Client.java    |  9 ++-
 .../tutorial/persistent/client/Main.java        |  4 +-
 10 files changed, 88 insertions(+), 272 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.java b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.java
deleted file mode 100644
index 3f089d1..0000000
--- a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.java
+++ /dev/null
@@ -1,78 +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.configuration.rop.client;
-
-import org.apache.cayenne.DataChannel;
-import org.apache.cayenne.di.Injector;
-import org.apache.cayenne.di.Key;
-import org.apache.cayenne.di.Module;
-import org.apache.cayenne.remote.ClientConnection;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Map;
-
-import static java.util.Arrays.asList;
-
-/**
- * A {@link ClientRuntime} that provides an ROP stack based on a local
- * connection on top of a server stack.
- *
- * @since 3.1
- * @deprecated since 4.0, use {@link ClientRuntimeBuilder#local(Injector)}
- */
-@Deprecated
-public class ClientLocalRuntime extends ClientRuntime {
-
-    /**
-     * @since 4.0 moved to {@link ClientRuntime#CLIENT_SERVER_CHANNEL_KEY}
-     */
-    public static final String CLIENT_SERVER_CHANNEL_KEY = "client-server-channel";
-
-    private static Collection<Module> collectModules(
-            Injector serverInjector,
-            Module... extraModules) {
-
-        Collection<Module> modules = extraModules != null ? asList(extraModules) : Collections.<Module>emptyList();
-        return collectModules(serverInjector, modules);
-    }
-
-    private static Collection<Module> collectModules(final Injector serverInjector, Collection<Module> extraModules) {
-
-        Collection<Module> modules = new ArrayList<>(extraModules.size() + 1);
-        modules.add(binder -> {
-            binder.bind(Key.get(DataChannel.class, ClientRuntime.CLIENT_SERVER_CHANNEL_KEY)).toProviderInstance(
-                    new LocalClientServerChannelProvider(serverInjector));
-            binder.bind(ClientConnection.class).toProviderInstance(new LocalConnectionProvider());
-        });
-
-        modules.addAll(extraModules);
-        return modules;
-    }
-
-    public ClientLocalRuntime(Injector serverInjector, Map<String, String> properties, Collection<Module> extraModules) {
-        super(properties, collectModules(serverInjector, extraModules));
-    }
-
-    public ClientLocalRuntime(Injector serverInjector, Map<String, String> properties, Module... extraModules) {
-        super(properties, collectModules(serverInjector, extraModules));
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
index 690ed2c..8e51fe7 100644
--- a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
+++ b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientModule.java
@@ -46,26 +46,6 @@ import org.apache.cayenne.rop.http.ClientHessianSerializationServiceProvider;
 public class ClientModule implements Module {
 
     /**
-     * @deprecated since 4.0 in favour of {@link ClientRuntimeBuilder}
-     * @see ClientRuntimeBuilder#properties(Map)
-     */
-    @Deprecated
-    protected Map<String, String> properties = null;
-
-    /**
-     * @deprecated since 4.0 in favour of {@link ClientRuntimeBuilder}
-     * @see ClientRuntimeBuilder#properties(Map)
-     */
-    @Deprecated
-    public ClientModule(Map<String, String> properties) {
-        if (properties == null) {
-            throw new NullPointerException("Null 'properties' map");
-        }
-
-        this.properties = properties;
-    }
-
-    /**
      * @since 4.0
      */
     public ClientModule() {
@@ -77,12 +57,6 @@ public class ClientModule implements Module {
         // Contribute always to create binding
         MapBuilder<String> propertiesBuilder = ServerModule.contributeProperties(binder);
 
-        // expose user-provided ROP properties as the main properties map
-        // binding here is left only for backward compatibility, should go away with the deprecated code.
-        if(properties != null) {
-            propertiesBuilder.putAll(properties);
-        }
-
         binder.bind(ObjectContextFactory.class).to(CayenneContextFactory.class);
         binder.bind(ROPSerializationService.class).toProvider(ClientHessianSerializationServiceProvider.class);
         binder.bind(RemoteService.class).to(ProxyRemoteService.class);

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntime.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntime.java b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntime.java
index 2bd113f..dcfb070 100644
--- a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntime.java
+++ b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntime.java
@@ -52,55 +52,6 @@ public class ClientRuntime extends CayenneRuntime {
 		return new ClientRuntimeBuilder();
 	}
 
-	@Deprecated
-	private static Collection<Module> collectModules(Map<String, String> properties, Module... extraModules) {
-
-		Collection<Module> modules = extraModules != null ? asList(extraModules) : Collections.<Module>emptyList();
-		return collectModules(properties, modules);
-	}
-
-	@Deprecated
-	private static Collection<Module> collectModules(Map<String, String> properties, Collection<Module> extraModules) {
-		Collection<Module> modules = new ArrayList<>();
-		modules.add(new ClientModule(properties));
-
-		if(extraModules != null) {
-			modules.addAll(extraModules);
-		}
-
-		return modules;
-	}
-
-	/**
-	 * Creates a client runtime configuring it with a standard set of services
-	 * contained in {@link ClientModule}. CayenneClientModule is created based
-	 * on a set of properties that contain things like connection information,
-	 * etc. Recognized property keys are defined in {@link ClientModule}. An
-	 * optional array of extra modules may contain service overrides and/or user
-	 * services.
-	 *
-	 * @deprecated since 4.0, use {@link ClientRuntime#builder()} instead.
-	 */
-	@Deprecated
-	public ClientRuntime(Map<String, String> properties, Collection<Module> extraModules) {
-		this(collectModules(properties, extraModules));
-	}
-
-	/**
-	 * Creates a client runtime configuring it with a standard set of services
-	 * contained in {@link ClientModule}. CayenneClientModule is created based
-	 * on a set of properties that contain things like connection information,
-	 * etc. Recognized property keys are defined in {@link ClientModule}. An
-	 * optional collection of extra modules may contain service overrides and/or
-	 * user services.
-	 *
-	 * @deprecated since 4.0, use {@link ClientRuntime#builder()} instead.
-	 */
-	@Deprecated
-	public ClientRuntime(Map<String, String> properties, Module... extraModules) {
-		this(collectModules(properties, extraModules));
-	}
-
 	/**
 	 * @since 4.0
 	 */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java
index def7070..ca826b1 100644
--- a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java
+++ b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java
@@ -53,7 +53,7 @@ public class ClientRuntimeBuilder {
     Injector serverInjector;
     private Map<String, String> properties;
 
-    ClientRuntimeBuilder() {
+     ClientRuntimeBuilder() {
         modules = new ArrayList<>();
         autoLoadModules = true;
         local = false;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
index 04ceafe..983d906 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientModuleTest.java
@@ -19,7 +19,6 @@
 package org.apache.cayenne.configuration.rop.client;
 
 import org.apache.cayenne.DataChannel;
-import org.apache.cayenne.configuration.Constants;
 import org.apache.cayenne.configuration.ObjectContextFactory;
 import org.apache.cayenne.di.Binder;
 import org.apache.cayenne.di.DIBootstrap;
@@ -28,42 +27,21 @@ import org.apache.cayenne.event.DefaultEventManager;
 import org.apache.cayenne.remote.ClientChannel;
 import org.apache.cayenne.remote.ClientConnection;
 import org.apache.cayenne.remote.MockClientConnection;
-import org.apache.cayenne.rop.HttpClientConnection;
 import org.junit.Test;
 
 import java.util.HashMap;
 import java.util.Map;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
 
 @SuppressWarnings("deprecation")
 public class ClientModuleTest {
 
     @Test
-    public void testClientConnection() {
-
-        Map<String, String> properties = new HashMap<>();
-        properties.put(ClientConstants.ROP_SERVICE_URL_PROPERTY, "http://localhost/YuM");
-        ClientModule module = new ClientModule(properties);
-
-        Injector injector = DIBootstrap.createInjector(module);
-
-        ClientConnection connection = injector.getInstance(ClientConnection.class);
-        assertNotNull(connection);
-        assertTrue(connection instanceof HttpClientConnection);
-
-        assertSame("Connection must be a singleton", connection, injector
-                .getInstance(ClientConnection.class));
-    }
-
-    @Test
     public void testObjectContextFactory() {
 
         Map<String, String> properties = new HashMap<>();
-        ClientModule module = new ClientModule(properties) {
+        ClientModule module = new ClientModule() {
 
             @Override
             public void configure(Binder binder) {
@@ -86,7 +64,7 @@ public class ClientModuleTest {
     public void testDataChannel() {
 
         Map<String, String> properties = new HashMap<>();
-        ClientModule module = new ClientModule(properties) {
+        ClientModule module = new ClientModule() {
 
             @Override
             public void configure(Binder binder) {
@@ -110,27 +88,4 @@ public class ClientModuleTest {
         assertTrue(clientChannel.getEventManager() instanceof DefaultEventManager);
         assertFalse(clientChannel.isChannelEventsEnabled());
     }
-
-    @Test
-    public void testDataChannel_NoChannelEvents() {
-
-        Map<String, String> properties = new HashMap<>();
-        properties.put(ClientConstants.ROP_CHANNEL_EVENTS_PROPERTY, "true");
-        ClientModule module = new ClientModule(properties) {
-
-            @Override
-            public void configure(Binder binder) {
-                super.configure(binder);
-
-                // use a noop connection to prevent startup errors...
-                binder.bind(ClientConnection.class).to(MockClientConnection.class);
-            }
-        };
-
-        Injector injector = DIBootstrap.createInjector(module);
-
-        DataChannel channel = injector.getInstance(DataChannel.class);
-        ClientChannel clientChannel = (ClientChannel) channel;
-        assertTrue(clientChannel.isChannelEventsEnabled());
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
index c324ead..3213c40 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilderTest.java
@@ -21,11 +21,17 @@ package org.apache.cayenne.configuration.rop.client;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.cayenne.DataChannel;
 import org.apache.cayenne.configuration.Constants;
-import org.apache.cayenne.di.Key;
-import org.apache.cayenne.di.Module;
+import org.apache.cayenne.configuration.server.ServerModule;
+import org.apache.cayenne.di.*;
+import org.apache.cayenne.remote.ClientChannel;
+import org.apache.cayenne.remote.ClientConnection;
+import org.apache.cayenne.remote.MockClientConnection;
+import org.apache.cayenne.rop.HttpClientConnection;
 import org.junit.After;
 import org.junit.Test;
 
@@ -98,4 +104,53 @@ public class ClientRuntimeBuilderTest {
         assertEquals(properties, injectedProperties);
     }
 
+    @Test
+    public void testClientConnection() {
+
+        Map<String, String> properties1 = new HashMap<>();
+        properties1.put(ClientConstants.ROP_SERVICE_URL_PROPERTY, "http://localhost/YuM");
+        ClientModule module = new ClientModule(){
+
+            @Override
+            public void configure(Binder binder) {
+                super.configure(binder);
+                ServerModule.contributeProperties(binder).putAll(properties1);
+            }
+        };
+
+
+        Injector injector = DIBootstrap.createInjector(module);
+
+        ClientConnection connection = injector.getInstance(ClientConnection.class);
+        assertNotNull(connection);
+        assertTrue(connection instanceof HttpClientConnection);
+
+        assertSame("Connection must be a singleton", connection, injector
+                .getInstance(ClientConnection.class));
+    }
+
+    @Test
+    public void testDataChannel_NoChannelEvents() {
+
+        Map<String, String> properties1 = new HashMap<>();
+        properties1.put(ClientConstants.ROP_CHANNEL_EVENTS_PROPERTY, "true");
+        ClientModule module = new ClientModule() {
+
+            @Override
+            public void configure(Binder binder) {
+                super.configure(binder);
+
+                // use a noop connection to prevent startup errors...
+                binder.bind(ClientConnection.class).to(MockClientConnection.class);
+
+                ServerModule.contributeProperties(binder).putAll(properties1);
+            }
+        };
+
+        Injector injector = DIBootstrap.createInjector(module);
+
+        DataChannel channel = injector.getInstance(DataChannel.class);
+        ClientChannel clientChannel = (ClientChannel) channel;
+        assertTrue(clientChannel.isChannelEventsEnabled());
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
----------------------------------------------------------------------
diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
index d33f6c8..0559875 100644
--- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
+++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java
@@ -30,78 +30,19 @@ import org.apache.cayenne.remote.ClientConnection;
 import org.apache.cayenne.remote.MockClientConnection;
 import org.junit.Test;
 
-import java.util.ArrayList;
-import java.util.Collection;
-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.assertNotSame;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
 
 @SuppressWarnings("deprecation")
 public class ClientRuntimeTest {
 
     @Test
-	public void testDefaultConstructor() {
-		ClientRuntime runtime = new ClientRuntime(Collections.<String, String> emptyMap());
-
-		Collection<Module> modules = runtime.getModules();
-		assertEquals(1, modules.size());
-		Object[] marray = modules.toArray();
-
-		assertTrue(marray[0] instanceof ClientModule);
-	}
-
-    @Test
-	public void testConstructor_Modules() {
-
-		final boolean[] configured = new boolean[2];
-
-		Module m1 = binder -> configured[0] = true;
-
-		Module m2 = binder -> configured[1] = true;
-
-		Map<String, String> properties = new HashMap<>();
-
-		ClientRuntime runtime = new ClientRuntime(properties, m1, m2);
-		Collection<Module> modules = runtime.getModules();
-		assertEquals(3, modules.size());
-
-		assertTrue(configured[0]);
-		assertTrue(configured[1]);
-	}
-
-    @Test
-	public void testConstructor_ModulesCollection() {
-
-		final boolean[] configured = new boolean[2];
-
-		Collection<Module> modules = new ArrayList<Module>();
-
-		modules.add(binder -> configured[0] = true);
-
-		modules.add(binder -> configured[1] = true);
-
-		Map<String, String> properties = new HashMap<>();
-
-		ClientRuntime runtime = new ClientRuntime(properties, modules);
-		Collection<Module> cmodules = runtime.getModules();
-		assertEquals(3, cmodules.size());
-
-		assertTrue(configured[0]);
-		assertTrue(configured[1]);
-	}
-
-    @Test
 	public void testGetObjectContext() {
 
 		Map<String, String> properties = new HashMap<>();
-		ClientModule extraModule = new ClientModule(properties) {
+		ClientModule extraModule = new ClientModule() {
 
 			@Override
 			public void configure(Binder binder) {
@@ -112,7 +53,10 @@ public class ClientRuntimeTest {
 			}
 		};
 
-		ClientRuntime runtime = new ClientRuntime(properties, extraModule);
+		ClientRuntime runtime = ClientRuntime.builder()
+								.properties(properties)
+								.addModule(extraModule)
+								.build();
 
 		ObjectContext context = runtime.newContext();
 		assertNotNull(context);
@@ -134,7 +78,10 @@ public class ClientRuntimeTest {
             binder.bind(ClientConnection.class).to(MockClientConnection.class);
 
 
-		ClientRuntime runtime = new ClientRuntime(properties, extraModule);
+		ClientRuntime runtime = ClientRuntime.builder()
+								.properties(properties)
+								.addModule(extraModule)
+								.build();
 
 		DataChannel channel = runtime.getChannel();
 		assertNotNull(channel);
@@ -145,7 +92,9 @@ public class ClientRuntimeTest {
 	public void testShutdown() throws Exception {
 
 		Map<String, String> properties = new HashMap<>();
-		ClientRuntime runtime = new ClientRuntime(properties);
+		ClientRuntime runtime = ClientRuntime.builder()
+								.properties(properties)
+								.build();
 
 		// make sure objects to be shut down are resolved
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 23ce6cd..4c80f33 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -268,6 +268,11 @@ UPGRADING TO 4.1.M2
       - removed setDataMap from org.apache.cayenne.AbstractQuery and from org.apache.cayenne.query.EJBQLQuery;
       - removed ServerRuntime(String configurationLocation, Module... extraModules), ServerRuntime(String[] configurationLocations, Module... extraModules) and
       Collection<Module> collectModules(final String[] configurationLocations, Module... extraModules) from org.apache.cayenne.configuration.server.ServerRuntime;
+      - removed org.apache.cayenne.configuration.rop.client.;
+      - removed ClientRuntime(Map<String, String> properties, Collection<Module> extraModules), ClientRuntime(Map<String, String> properties, Module... extraModules),
+      Collection<Module> collectModules(Map<String, String> properties, Module... extraModules), Collection<Module> collectModules(Map<String, String> properties, Collection<Module> extraModules)
+      from org.apache.cayenne.configuration.rop.client.ClientRuntime;
+      - removed ClientModule(Map<String, String> properties) in org.apache.cayenne.configuration.rop.client.ClientModule;
 
 
 UPGRADING TO 4.1.M1

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/tutorials/tutorial-rop-client-http2/src/main/java/org/apache/cayenne/tutorial/Http2Client.java
----------------------------------------------------------------------
diff --git a/tutorials/tutorial-rop-client-http2/src/main/java/org/apache/cayenne/tutorial/Http2Client.java b/tutorials/tutorial-rop-client-http2/src/main/java/org/apache/cayenne/tutorial/Http2Client.java
index bb97846..fdf9e03 100644
--- a/tutorials/tutorial-rop-client-http2/src/main/java/org/apache/cayenne/tutorial/Http2Client.java
+++ b/tutorials/tutorial-rop-client-http2/src/main/java/org/apache/cayenne/tutorial/Http2Client.java
@@ -33,6 +33,7 @@ import org.apache.cayenne.tutorial.persistent.client.Gallery;
 import org.apache.cayenne.tutorial.persistent.client.Painting;
 
 import javax.net.ssl.HttpsURLConnection;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -65,9 +66,11 @@ public class Http2Client {
         properties.put(ClientConstants.ROP_SERVICE_PASSWORD_PROPERTY, "secret");
         properties.put(ClientConstants.ROP_SERVICE_REALM_PROPERTY, "Cayenne Realm");
 
-        ClientRuntime runtime = new ClientRuntime(properties,
-                new ClientJettyHttp2Module(),
-                new ProtostuffModule());
+        ClientRuntime runtime = ClientRuntime.builder()
+                            .properties(properties)
+                            .addModule(new ClientJettyHttp2Module())
+                            .addModule(new ProtostuffModule())
+                            .build();
 
         ObjectContext context = runtime.newContext();
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/2849f5c8/tutorials/tutorial-rop-client/src/main/java/org/apache/cayenne/tutorial/persistent/client/Main.java
----------------------------------------------------------------------
diff --git a/tutorials/tutorial-rop-client/src/main/java/org/apache/cayenne/tutorial/persistent/client/Main.java b/tutorials/tutorial-rop-client/src/main/java/org/apache/cayenne/tutorial/persistent/client/Main.java
index b86852b..e2434ce 100644
--- a/tutorials/tutorial-rop-client/src/main/java/org/apache/cayenne/tutorial/persistent/client/Main.java
+++ b/tutorials/tutorial-rop-client/src/main/java/org/apache/cayenne/tutorial/persistent/client/Main.java
@@ -36,7 +36,9 @@ public class Main {
         properties.put(ClientConstants.ROP_SERVICE_USERNAME_PROPERTY, "cayenne-user");
         properties.put(ClientConstants.ROP_SERVICE_PASSWORD_PROPERTY, "secret");
 
-        ClientRuntime runtime = new ClientRuntime(properties);
+        ClientRuntime runtime = ClientRuntime.builder()
+                                .properties(properties)
+                                .build();
 
         ObjectContext context = runtime.newContext();
 


[18/30] cayenne git commit: CAY-2377. Remove setDataMap(DataMap map)

Posted by nt...@apache.org.
CAY-2377. Remove setDataMap(DataMap map)


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

Branch: refs/heads/master
Commit: 185646f8463188c6cc3df4489cf3ae54b0e66c22
Parents: 6b46403
Author: Arseni Bulatski <an...@gmail.com>
Authored: Fri Oct 27 13:23:37 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:47 2017 +0300

----------------------------------------------------------------------
 .../java/org/apache/cayenne/query/BatchQuery.java     | 14 --------------
 .../java/org/apache/cayenne/query/IndirectQuery.java  |  8 --------
 .../java/org/apache/cayenne/query/QueryChain.java     | 14 --------------
 docs/doc/src/main/resources/UPGRADE.txt               |  5 +++++
 4 files changed, 5 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/185646f8/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
index b655932..bc46999 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
@@ -45,12 +45,6 @@ public abstract class BatchQuery implements Query {
     protected String name;
 
     /**
-     * @since 3.1
-     */
-    @Deprecated
-    protected DataMap dataMap;
-
-    /**
      * @since 4.0
      */
     protected List<BatchQueryRow> rows;
@@ -84,14 +78,6 @@ public abstract class BatchQuery implements Query {
     }
 
     /**
-     * @since 3.1
-     */
-    @Deprecated
-    public void setDataMap(DataMap dataMap) {
-        this.dataMap = dataMap;
-    }
-
-    /**
      * Returns default select parameters.
      * 
      * @since 1.2

http://git-wip-us.apache.org/repos/asf/cayenne/blob/185646f8/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
index ea2da51..5d9f290 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
@@ -44,14 +44,6 @@ public abstract class IndirectQuery implements Query {
 	protected transient EntityResolver lastResolver;
 
 	/**
-	 * @since 3.1
-	 */
-	@Deprecated
-	public void setDataMap(DataMap dataMap) {
-		this.dataMap = dataMap;
-	}
-
-	/**
 	 * Returns the metadata obtained from the replacement query.
 	 */
 	@Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/185646f8/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
index 927b93b..d13fc6d 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
@@ -42,12 +42,6 @@ public class QueryChain implements Query {
     protected String name;
 
     /**
-     * @since 3.1
-     */
-    @Deprecated
-    protected DataMap dataMap;
-
-    /**
      * Creates an empty QueryChain.
      */
     public QueryChain() {
@@ -126,14 +120,6 @@ public class QueryChain implements Query {
     }
 
     /**
-     * @since 3.1
-     */
-    @Deprecated
-    public void setDataMap(DataMap dataMap) {
-        this.dataMap = dataMap;
-    }
-
-    /**
      * Returns default metadata.
      */
     public QueryMetadata getMetaData(EntityResolver resolver) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/185646f8/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 41f9bb9..c618ccf 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -199,6 +199,11 @@ UPGRADING TO 4.1.M2
       - removed DataMap getDataMap() in org.apache.cayenne.query.EJBQLQuery;
       - removed DataMap getDataMap() in org.apache.cayenne.query.QueryChain;
       - removed DataMap getDataMap() in org.apache.cayenne.remote.RangeQuery;
+      - removed void setDataMap(DataMap dataMap) in org.apache.cayenne.query.IndirectQuery;
+      - removed void setDataMap(DataMap dataMap) in org.apache.cayenne.query.QueryChain;
+      - removed DataMap dataMap in org.apache.cayenne.query.QueryChain;
+      - removed DataMap dataMap in org.apache.cayenne.query.BatchQuery;
+      - removed void setDataMap(DataMap dataMap) in org.apache.cayenne.query.BatchQuery;
 
 
 UPGRADING TO 4.1.M1


[08/30] cayenne git commit: CAY-2377. Remove org.apache.cayenne.lifecycle.changeset and org.apache.cayenne.lifecycle.audit

Posted by nt...@apache.org.
CAY-2377. Remove org.apache.cayenne.lifecycle.changeset and org.apache.cayenne.lifecycle.audit

CAY-2377. Remove all audit tests


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

Branch: refs/heads/master
Commit: 0ece129d908f0a0d783413d4a3780edce459e47f
Parents: ad4d5bd
Author: Arseni Bulatski <an...@gmail.com>
Authored: Tue Oct 24 11:44:36 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:46 2017 +0300

----------------------------------------------------------------------
 .../cayenne/lifecycle/audit/Auditable.java      |  47 ----
 .../lifecycle/audit/AuditableAggregator.java    |  72 ------
 .../cayenne/lifecycle/audit/AuditableChild.java |  62 -----
 .../audit/AuditableEntityDescriptor.java        |  82 ------
 .../lifecycle/audit/AuditableFilter.java        | 247 ------------------
 .../lifecycle/audit/AuditableOperation.java     |  32 ---
 .../lifecycle/audit/AuditableProcessor.java     |  45 ----
 .../cayenne/lifecycle/changeset/ChangeSet.java  |  47 ----
 .../lifecycle/changeset/ChangeSetFilter.java    |  74 ------
 .../lifecycle/changeset/GenericChangeSet.java   | 137 ----------
 .../lifecycle/changeset/PropertyChange.java     |  54 ----
 .../lifecycle/audit/AuditableFilterIT.java      | 250 -------------------
 .../lifecycle/audit/AuditableFilterTest.java    | 184 --------------
 .../lifecycle/audit/MockAuditableChild.java     |  26 --
 .../apache/cayenne/lifecycle/db/Auditable1.java |  29 ---
 .../apache/cayenne/lifecycle/db/Auditable2.java |  29 ---
 .../cayenne/lifecycle/db/AuditableChild1.java   |  27 --
 .../cayenne/lifecycle/db/AuditableChild2.java   |  25 --
 .../cayenne/lifecycle/db/AuditableChild3.java   |  27 --
 .../lifecycle/db/AuditableChildUuid.java        |  30 ---
 .../cayenne/lifecycle/db/auto/_Auditable1.java  |  43 ----
 .../cayenne/lifecycle/db/auto/_Auditable2.java  |  51 ----
 .../lifecycle/db/auto/_AuditableChild1.java     |  38 ---
 .../lifecycle/db/auto/_AuditableChild2.java     |  38 ---
 .../lifecycle/db/auto/_AuditableChild3.java     |  46 ----
 .../lifecycle/db/auto/_AuditableChildUuid.java  |  43 ----
 .../lifecycle/unit/AuditableServerCase.java     |  83 ------
 .../src/test/resources/lifecycle-map.map.xml    |  76 ------
 docs/doc/src/main/resources/UPGRADE.txt         |   7 +-
 29 files changed, 6 insertions(+), 1945 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/Auditable.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/Auditable.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/Auditable.java
deleted file mode 100644
index 5306881..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/Auditable.java
+++ /dev/null
@@ -1,47 +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.lifecycle.audit;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * An annotation that adds auditing behavior to DataObjects.
- *
- * @since 3.1
- * @deprecated since 4.0. A preferred way to implement Audit functionality is via cayenne-commitlog module and
- * {@link org.apache.cayenne.commitlog.CommitLog} annotation.
- */
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Inherited
-@Deprecated
-public @interface Auditable {
-
-    /**
-     * Returns an array of entity properties that should be excluded from audit.
-     */
-    String[] ignoredProperties() default {};
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableAggregator.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableAggregator.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableAggregator.java
deleted file mode 100644
index 29b4e4b..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableAggregator.java
+++ /dev/null
@@ -1,72 +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.lifecycle.audit;
-
-import java.util.IdentityHashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.cayenne.Persistent;
-
-/**
- * Aggregates audit events per audit root object, and passes them to delegate
- * processor at the end of the transaction.
- * 
- * @since 3.1
- */
-@Deprecated
-class AuditableAggregator {
-
-    private static final int[] OP_PRECEDENCE;
-
-    static {
-        OP_PRECEDENCE = new int[AuditableOperation.values().length];
-
-        // decreasing precedence of operations when recording audits is DELETE,
-        // INSERT, UPDATE
-        OP_PRECEDENCE[AuditableOperation.DELETE.ordinal()] = 3;
-        OP_PRECEDENCE[AuditableOperation.INSERT.ordinal()] = 2;
-        OP_PRECEDENCE[AuditableOperation.UPDATE.ordinal()] = 1;
-    }
-
-    private AuditableProcessor delegate;
-
-    private Map<Persistent, AuditableOperation> ops;
-
-    AuditableAggregator(AuditableProcessor delegate) {
-        this.delegate = delegate;
-        this.ops = new IdentityHashMap<>();
-    }
-
-    void audit(Persistent object, AuditableOperation operation) {
-        AuditableOperation oldOp = ops.put(object, operation);
-        if (oldOp != null) {
-            if (OP_PRECEDENCE[operation.ordinal()] < OP_PRECEDENCE[oldOp.ordinal()]) {
-                ops.put(object, oldOp);
-            }
-        }
-    }
-
-    void postSync() {
-        for (Entry<Persistent, AuditableOperation> op : ops.entrySet()) {
-            delegate.audit(op.getKey(), op.getValue());
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableChild.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableChild.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableChild.java
deleted file mode 100644
index ad50293..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableChild.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.lifecycle.audit;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * A built-in annotation used to tag an object that is not auditable on its own, but whose
- * changes should be tracked together with changes of another ("parent") object. This
- * annotation allows to group changes in a closely related subtree of objects. Either
- * {@link #value()} or {@link #objectIdRelationship()} must be set to a non-empty String,
- * so that a processor of AuditableChild could find the parent of the annotated object.
- *
- * @{@link org.apache.cayenne.commitlog.CommitLog} annotation.
- * @since 3.1
- * @deprecated since 4.0. A preferred way to implement Audit functionality is via cayenne-commitlog module and
- * {@link org.apache.cayenne.commitlog.CommitLog} annotation. Unfortunately cayenne-commitlog does not provide
- * functionality to group changes for parent and child entities into a single event. So AuditableChild functionality
- * will have to be manually reimplemented in a custom {@link org.apache.cayenne.commitlog.CommitLogListener}.
- */
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Inherited
-@Deprecated
-public @interface AuditableChild {
-
-    /**
-     * Returns the name of a to-one relationship from an annotated object to the "parent"
-     * object that should be audited when annotated object is changed.
-     */
-    String value() default "";
-
-    /**
-     * Returns the name of the property of the annotated entity of the relationship that
-     * stores a String "FK" of a related "parent" entity.
-     */
-    String objectIdRelationship() default "";
-
-    String[] ignoredProperties() default {};
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableEntityDescriptor.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableEntityDescriptor.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableEntityDescriptor.java
deleted file mode 100644
index a6e2a7a..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableEntityDescriptor.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.lifecycle.audit;
-
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Map;
-
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.lifecycle.changeset.ChangeSet;
-import org.apache.cayenne.lifecycle.changeset.ChangeSetFilter;
-import org.apache.cayenne.lifecycle.changeset.PropertyChange;
-import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.map.ObjRelationship;
-
-@Deprecated
-class AuditableEntityDescriptor {
-
-    private Collection<String> ignoredProperties;
-
-    AuditableEntityDescriptor(ObjEntity auditableEntity, String[] ignoredProperties) {
-
-        this.ignoredProperties = new HashSet<>();
-
-        // ignore runtime relationships
-        for (ObjRelationship relationship : auditableEntity.getRelationships()) {
-            if (relationship.isRuntime()) {
-                this.ignoredProperties.add(relationship.getName());
-            }
-        }
-
-        // ignore explicitly specified properties
-        if (ignoredProperties != null) {
-            for (String property : ignoredProperties) {
-                this.ignoredProperties.add(property);
-            }
-        }
-    }
-
-    boolean auditableChange(Persistent object) {
-        if (ignoredProperties.isEmpty()) {
-            return true;
-        }
-
-        ChangeSet changeSet = ChangeSetFilter.preCommitChangeSet();
-        if (changeSet == null) {
-            throw new CayenneRuntimeException(
-                    "Required ChangeSetFilter is not installed, or is in the wrong place in the filter chain.");
-        }
-
-        Map<String, PropertyChange> changes = changeSet.getChanges(object);
-
-        if (changes.size() > ignoredProperties.size()) {
-            return true;
-        }
-
-        for (String key : changes.keySet()) {
-            if (!ignoredProperties.contains(key)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableFilter.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableFilter.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableFilter.java
deleted file mode 100644
index 50887da..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableFilter.java
+++ /dev/null
@@ -1,247 +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.lifecycle.audit;
-
-import org.apache.cayenne.DataChannel;
-import org.apache.cayenne.DataChannelFilter;
-import org.apache.cayenne.DataChannelFilterChain;
-import org.apache.cayenne.DataObject;
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.QueryResponse;
-import org.apache.cayenne.annotation.PostPersist;
-import org.apache.cayenne.annotation.PostRemove;
-import org.apache.cayenne.annotation.PostUpdate;
-import org.apache.cayenne.graph.GraphDiff;
-import org.apache.cayenne.lifecycle.changeset.ChangeSetFilter;
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.map.ObjEntity;
-import org.apache.cayenne.query.Query;
-
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-/**
- * A {@link DataChannelFilter} that enables audit of entities annotated with
- * {@link Auditable} and {@link AuditableChild}. Note that this filter relies on
- * {@link ChangeSetFilter} presence in the DataDomain filter chain to be able to
- * analyze ignored properties.
- * 
- * @since 3.1
- * @deprecated since 4.0, use {@link org.apache.cayenne.commitlog.CommitLogFilter}.
- */
-@Deprecated
-public class AuditableFilter implements DataChannelFilter {
-
-    private ThreadLocal<AuditableAggregator> threadAggregator;
-    private ConcurrentMap<String, AuditableEntityDescriptor> entityDescriptors;
-    protected AuditableProcessor processor;
-    protected EntityResolver entityResolver;
-
-    /**
-     * @since 4.0
-     */
-    public AuditableFilter(AuditableProcessor processor) {
-        this.processor = processor;
-        this.entityDescriptors = new ConcurrentHashMap<>();
-        this.threadAggregator = new ThreadLocal<>();
-    }
-
-    /**
-     * @deprecated since 3.1 use {@link #AuditableFilter(AuditableProcessor)}
-     *             constructor - EntityResolver will be initialized in 'init'.
-     */
-    @Deprecated
-    public AuditableFilter(EntityResolver entityResolver, AuditableProcessor processor) {
-        this(processor);
-    }
-
-    public void init(DataChannel channel) {
-        this.entityResolver = channel.getEntityResolver();
-    }
-
-    public QueryResponse onQuery(ObjectContext originatingContext, Query query, DataChannelFilterChain filterChain) {
-        return filterChain.onQuery(originatingContext, query);
-    }
-
-    public GraphDiff onSync(ObjectContext originatingContext, GraphDiff changes, int syncType,
-            DataChannelFilterChain filterChain) {
-
-        GraphDiff response;
-
-        try {
-            response = filterChain.onSync(originatingContext, changes, syncType);
-            if (syncType == DataChannel.FLUSH_CASCADE_SYNC || syncType == DataChannel.FLUSH_NOCASCADE_SYNC) {
-                postSync();
-            }
-        } finally {
-            cleanupPostSync();
-        }
-
-        return response;
-    }
-
-    /**
-     * A method called at the end of every
-     * {@link #onSync(ObjectContext, GraphDiff, int, DataChannelFilterChain)}
-     * invocation. This implementation uses it for cleaning up thread-local
-     * state of the filter. Subclasses may override it to do their own cleanup,
-     * and are expected to call super.
-     */
-    protected void cleanupPostSync() {
-        threadAggregator.set(null);
-    }
-
-    void postSync() {
-        AuditableAggregator aggregator = threadAggregator.get();
-        if (aggregator != null) {
-            // must reset thread aggregator before processing the audit
-            // operations
-            // to avoid an endless processing loop if audit processor commits
-            // something
-            threadAggregator.set(null);
-            aggregator.postSync();
-        }
-    }
-
-    private AuditableAggregator getAggregator() {
-        AuditableAggregator aggregator = threadAggregator.get();
-        if (aggregator == null) {
-            aggregator = new AuditableAggregator(processor);
-            threadAggregator.set(aggregator);
-        }
-
-        return aggregator;
-    }
-
-    @PostPersist(entityAnnotations = Auditable.class)
-    void insertAudit(Persistent object) {
-        getAggregator().audit(object, AuditableOperation.INSERT);
-    }
-
-    @PostRemove(entityAnnotations = Auditable.class)
-    void deleteAudit(Persistent object) {
-        getAggregator().audit(object, AuditableOperation.DELETE);
-    }
-
-    @PostUpdate(entityAnnotations = Auditable.class)
-    void updateAudit(Persistent object) {
-        if (isAuditableUpdate(object, false)) {
-            getAggregator().audit(object, AuditableOperation.UPDATE);
-        }
-    }
-
-    // only catching child updates... child insert/delete presumably causes an
-    // event on
-    // the owner object
-
-    @PostUpdate(entityAnnotations = AuditableChild.class)
-    void updateAuditChild(Persistent object) {
-
-        if (isAuditableUpdate(object, true)) {
-
-            Persistent parent = getParent(object);
-
-            if (parent != null) {
-                // not calling 'updateAudit' to skip checking
-                // 'isAuditableUpdate' on
-                // parent
-                getAggregator().audit(parent, AuditableOperation.UPDATE);
-            } else {
-                // TODO: maybe log this fact... shouldn't normally happen, but I
-                // can
-                // imagine certain combinations of object graphs, disconnected
-                // relationships, delete rules, etc. may cause this
-            }
-        }
-    }
-
-    protected Persistent getParent(Persistent object) {
-
-        if (object == null) {
-            throw new NullPointerException("Null object");
-        }
-
-        if (!(object instanceof DataObject)) {
-            throw new IllegalArgumentException("Object is not a DataObject: " + object.getClass().getName());
-        }
-
-        DataObject dataObject = (DataObject) object;
-
-        AuditableChild annotation = dataObject.getClass().getAnnotation(AuditableChild.class);
-        if (annotation == null) {
-            throw new IllegalArgumentException("No 'AuditableChild' annotation found");
-        }
-
-        String propertyPath = annotation.value();
-
-        if (propertyPath.equals("")) {
-            propertyPath = objectIdRelationshipName(annotation.objectIdRelationship());
-        }
-
-        if (propertyPath == null || propertyPath.equals("")) {
-            throw new IllegalStateException("Either 'value' or 'objectIdRelationship' of @AuditableChild must be set");
-        }
-
-        return (Persistent) dataObject.readNestedProperty(propertyPath);
-    }
-
-    // TODO: It's a temporary clone method of {@link
-    // org.apache.cayenne.lifecycle.relationship.ObjectIdRelationshipHandler#objectIdRelationshipName(String)}.
-    // Needs to be encapsulated to some separate class to avoid a code
-    // duplication
-    private String objectIdRelationshipName(String uuidPropertyName) {
-        return "cay:related:" + uuidPropertyName;
-    }
-
-    protected boolean isAuditableUpdate(Persistent object, boolean child) {
-        AuditableEntityDescriptor descriptor = getEntityDescriptor(object, child);
-        return descriptor.auditableChange(object);
-    }
-
-    private AuditableEntityDescriptor getEntityDescriptor(Persistent object, boolean child) {
-
-        ObjEntity entity = entityResolver.getObjEntity(object);
-
-        AuditableEntityDescriptor descriptor = entityDescriptors.get(entity.getName());
-        if (descriptor == null) {
-
-            String[] ignoredProperties;
-
-            if (child) {
-                AuditableChild annotation = object.getClass().getAnnotation(AuditableChild.class);
-                ignoredProperties = annotation != null ? annotation.ignoredProperties() : null;
-            } else {
-                Auditable annotation = object.getClass().getAnnotation(Auditable.class);
-                ignoredProperties = annotation != null ? annotation.ignoredProperties() : null;
-            }
-
-            descriptor = new AuditableEntityDescriptor(entity, ignoredProperties);
-
-            AuditableEntityDescriptor existingDescriptor = entityDescriptors.putIfAbsent(entity.getName(), descriptor);
-
-            if (existingDescriptor != null) {
-                descriptor = existingDescriptor;
-            }
-        }
-
-        return descriptor;
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableOperation.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableOperation.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableOperation.java
deleted file mode 100644
index bc52ebf..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableOperation.java
+++ /dev/null
@@ -1,32 +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.lifecycle.audit;
-
-/**
- * An enum of possible operations that can be audited.
- * 
- * @since 3.1
- * @deprecated since 4.0, use {@link org.apache.cayenne.lifecycle.postcommit.PostCommitFilter}
- * @see org.apache.cayenne.lifecycle.changemap.ObjectChangeType
- */
-@Deprecated
-public enum AuditableOperation {
-
-    INSERT, UPDATE, DELETE;
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableProcessor.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableProcessor.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableProcessor.java
deleted file mode 100644
index fc085f7..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableProcessor.java
+++ /dev/null
@@ -1,45 +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.lifecycle.audit;
-
-import org.apache.cayenne.Persistent;
-
-/**
- * A superclass of application specific handlers of the {@link Auditable}
- * annotation, that provides basic needed callbacks.
- * 
- * @since 3.1
- * @deprecated since 4.0, use {@link org.apache.cayenne.lifecycle.postcommit.PostCommitFilter}
- */
-public interface AuditableProcessor {
-
-    /**
-     * A method called by {@link AuditableFilter} that should audit records as
-     * appropriate in a given application. Implementors may insert audit records
-     * in DB, log a message, etc.
-     * 
-     * @param object
-     *            the root auditable object. This is an object that is either
-     *            annotated with {@link Auditable} or pointed to by another
-     *            object annotated with {@link AuditableChild}.
-     * @param operation
-     *            a type of object change.
-     */
-    void audit(Persistent object, AuditableOperation operation);
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/ChangeSet.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/ChangeSet.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/ChangeSet.java
deleted file mode 100644
index 2fbaeb7..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/ChangeSet.java
+++ /dev/null
@@ -1,47 +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.lifecycle.changeset;
-
-import java.util.Map;
-
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.graph.GraphDiff;
-
-/**
- * Represents a set of changes to persistent objects corresponding to a certain lifecycle
- * stage. The changes are presented in a more usable form compared to the internal Cayenne
- * representation as {@link GraphDiff}. One or more changes to the same property of the
- * same object are all combined in a single {@link PropertyChange} instance.
- * 
- * @since 3.1
- * @deprecated since 4.0 in favour of {@link org.apache.cayenne.lifecycle.postcommit.PostCommitFilter}
- *
- * @see org.apache.cayenne.lifecycle.changemap.ChangeMap
- */
-@Deprecated
-public interface ChangeSet {
-
-    public static final String OBJECT_ID_PROPERTY_NAME = "cayenne:objectId";
-
-    /**
-     * Returns a map of changes for a given object in its context, keyed by property name.
-     * If the object is unchanged, an empty map is returned.
-     */
-    Map<String, PropertyChange> getChanges(Persistent object);
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/ChangeSetFilter.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/ChangeSetFilter.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/ChangeSetFilter.java
deleted file mode 100644
index 141e838..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/ChangeSetFilter.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.lifecycle.changeset;
-
-import org.apache.cayenne.DataChannel;
-import org.apache.cayenne.DataChannelFilter;
-import org.apache.cayenne.DataChannelFilterChain;
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.QueryResponse;
-import org.apache.cayenne.graph.GraphDiff;
-import org.apache.cayenne.query.Query;
-
-/**
- * A {@link DataChannelFilter} that provides interested parties with a thread-local access
- * to the current commit changeset. It will only return a non-null change set when commit
- * within the scope of the filter
- * {@link #onSync(ObjectContext, GraphDiff, int, DataChannelFilterChain)} method. The
- * filter is intended to be used by pre-commit and post-commit listeners.
- * 
- * @since 3.1
- * @deprecated since 4.0 in favour of {@link org.apache.cayenne.lifecycle.postcommit.PostCommitFilter}
- */
-@Deprecated
-public class ChangeSetFilter implements DataChannelFilter {
-
-    private static final ThreadLocal<ChangeSet> PRE_COMMIT_CHANGE_SET = new ThreadLocal<ChangeSet>();
-
-    public static ChangeSet preCommitChangeSet() {
-        return PRE_COMMIT_CHANGE_SET.get();
-    }
-
-    public void init(DataChannel channel) {
-        // noop..
-    }
-
-    public QueryResponse onQuery(
-            ObjectContext originatingContext,
-            Query query,
-            DataChannelFilterChain filterChain) {
-        return filterChain.onQuery(originatingContext, query);
-    }
-
-    public GraphDiff onSync(
-            ObjectContext originatingContext,
-            GraphDiff changes,
-            int syncType,
-            DataChannelFilterChain filterChain) {
-
-        try {
-            PRE_COMMIT_CHANGE_SET.set(new GenericChangeSet(changes));
-            return filterChain.onSync(originatingContext, changes, syncType);
-        }
-        finally {
-            PRE_COMMIT_CHANGE_SET.set(null);
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/GenericChangeSet.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/GenericChangeSet.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/GenericChangeSet.java
deleted file mode 100644
index c855411..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/GenericChangeSet.java
+++ /dev/null
@@ -1,137 +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.lifecycle.changeset;
-
-import org.apache.cayenne.ObjectId;
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.graph.GraphChangeHandler;
-import org.apache.cayenne.graph.GraphDiff;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * A {@link ChangeSet} implemented as a wrapper on top of {@link GraphDiff} of unspecified
- * nature.
- * <p>
- * Synchronization note: While this class is thread safe, but is not generally intended
- * for use in multi-threaded manner. It is common to use it within a single transaction
- * thread.
- * 
- * @since 3.1
- * @deprecated since 4.0
- * @see org.apache.cayenne.lifecycle.changemap.ChangeMap
- */
-@Deprecated
-public class GenericChangeSet implements ChangeSet {
-
-    private GraphDiff diff;
-    private Map<ObjectId, Map<String, PropertyChange>> changes;
-
-    public GenericChangeSet(GraphDiff diff) {
-        this.diff = diff;
-    }
-
-    public Map<String, PropertyChange> getChanges(Persistent object) {
-        Map<String, PropertyChange> changes = getChanges().get(object.getObjectId());
-        return changes != null ? changes : Collections.<String, PropertyChange>emptyMap();
-    }
-
-    private Map<ObjectId, Map<String, PropertyChange>> getChanges() {
-        if (changes == null) {
-            changes = parseDiff();
-        }
-
-        return changes;
-    }
-
-    private Map<ObjectId, Map<String, PropertyChange>> parseDiff() {
-
-        final Map<ObjectId, Map<String, PropertyChange>> changes = new HashMap<>();
-
-        diff.apply(new GraphChangeHandler() {
-
-            private Map<String, PropertyChange> getChangeMap(Object id) {
-                Map<String, PropertyChange> map = changes.get(id);
-
-                if (map == null) {
-                    map = new HashMap<>();
-                    changes.put((ObjectId) id, map);
-                }
-
-                return map;
-            }
-
-            PropertyChange getChange(Object id, String property, Object oldValue) {
-                Map<String, PropertyChange> map = getChangeMap(id);
-
-                PropertyChange change = map.get(property);
-                if (change == null) {
-                    change = new PropertyChange(property, oldValue);
-                    map.put(property, change);
-                }
-
-                return change;
-            }
-
-            public void nodeRemoved(Object nodeId) {
-                // noop, don't care, we'll still track the changes for deleted objects.
-            }
-
-            public void nodeCreated(Object nodeId) {
-                // noop (??)
-            }
-
-            public void arcDeleted(Object nodeId, Object targetNodeId, Object arcId) {
-                // record the fact of relationship change... TODO: analyze relationship
-                // semantics and record changset values
-                getChange((ObjectId)nodeId, (String) arcId, null);
-            }
-
-            public void arcCreated(Object nodeId, Object targetNodeId, Object arcId) {
-                // record the fact of relationship change... TODO: analyze relationship
-                // semantics and record changset values
-                getChange((ObjectId)nodeId, (String) arcId, null);
-            }
-
-            public void nodePropertyChanged(
-                    Object nodeId,
-                    String property,
-                    Object oldValue,
-                    Object newValue) {
-                getChange(nodeId, property, oldValue).setNewValue(newValue);
-            }
-
-            public void nodeIdChanged(Object nodeId, Object newId) {
-
-                // store the same change set under old and new ids to allow lookup before
-                // and after the commit
-                Map<String, PropertyChange> map = getChangeMap(nodeId);
-                changes.put((ObjectId) newId, map);
-
-                // record a change for a special ID "property"
-                getChange(nodeId, OBJECT_ID_PROPERTY_NAME, nodeId).setNewValue(newId);
-            }
-
-        });
-
-        return changes;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/PropertyChange.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/PropertyChange.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/PropertyChange.java
deleted file mode 100644
index 4c2d957..0000000
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changeset/PropertyChange.java
+++ /dev/null
@@ -1,54 +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.lifecycle.changeset;
-
-/**
- * A change to a single object property.
- * 
- * @since 3.1
- * @deprecated since 4.0
- */
-@Deprecated
-public class PropertyChange {
-
-    private String propertyName;
-    private Object oldValue;
-    private Object newValue;
-
-    PropertyChange(String propertyName, Object oldValue) {
-        this.propertyName = propertyName;
-        this.oldValue = oldValue;
-    }
-
-    public Object getOldValue() {
-        return oldValue;
-    }
-
-    public Object getNewValue() {
-        return newValue;
-    }
-
-    public String getPropertyName() {
-        return propertyName;
-    }
-
-    void setNewValue(Object newValue) {
-        this.newValue = newValue;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterIT.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterIT.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterIT.java
deleted file mode 100644
index 730f51b..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterIT.java
+++ /dev/null
@@ -1,250 +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.lifecycle.audit;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.EnumMap;
-import java.util.Map;
-
-import org.apache.cayenne.Cayenne;
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.access.DataDomain;
-import org.apache.cayenne.lifecycle.changeset.ChangeSetFilter;
-import org.apache.cayenne.lifecycle.db.Auditable1;
-import org.apache.cayenne.lifecycle.db.Auditable2;
-import org.apache.cayenne.lifecycle.db.AuditableChild1;
-import org.apache.cayenne.lifecycle.db.AuditableChild2;
-import org.apache.cayenne.lifecycle.db.AuditableChild3;
-import org.apache.cayenne.lifecycle.db.AuditableChildUuid;
-import org.apache.cayenne.lifecycle.id.IdCoder;
-import org.apache.cayenne.lifecycle.relationship.ObjectIdRelationshipHandler;
-import org.apache.cayenne.lifecycle.unit.AuditableServerCase;
-import org.junit.Test;
-
-@Deprecated
-public class AuditableFilterIT extends AuditableServerCase {
-
-	@Test
-	public void testAudit_IgnoreRuntimeRelationships() throws Exception {
-
-		auditable1.insert(1, "xx");
-		auditable1.insert(2, "yy");
-		auditable1.insert(3, "aa");
-		auditableChild2.insert(1, 1, "zz");
-
-		DataDomain domain = runtime.getDataDomain();
-
-		Processor processor = new Processor();
-
-		AuditableFilter filter = new AuditableFilter(processor);
-		domain.addFilter(filter);
-
-		// prerequisite for BaseAuditableProcessor use
-		ChangeSetFilter changeSetFilter = new ChangeSetFilter();
-		domain.addFilter(changeSetFilter);
-
-		ObjectContext context = runtime.newContext();
-
-		Auditable1 a2 = Cayenne.objectForPK(context, Auditable1.class, 2);
-		AuditableChild2 a21 = Cayenne.objectForPK(context, AuditableChild2.class, 1);
-
-		a21.setParent(a2);
-		a21.setCharProperty1("XYZA");
-		context.commitChanges();
-
-		assertEquals(0, processor.size);
-
-		processor.reset();
-
-		Auditable1 a3 = Cayenne.objectForPK(context, Auditable1.class, 3);
-		a21.setParent(a3);
-		a3.setCharProperty1("12");
-
-		context.commitChanges();
-		assertEquals(1, processor.size);
-		assertTrue(processor.audited.get(AuditableOperation.UPDATE).contains(a3));
-	}
-
-	@Test
-	public void testAudit_IncludeToManyRelationships() throws Exception {
-
-		auditable1.insert(1, "xx");
-		auditable1.insert(2, "yy");
-		auditableChild1.insert(1, 1, "zz");
-
-		DataDomain domain = runtime.getDataDomain();
-
-		Processor processor = new Processor();
-
-		AuditableFilter filter = new AuditableFilter(processor);
-		domain.addFilter(filter);
-
-		// prerequisite for BaseAuditableProcessor use
-		ChangeSetFilter changeSetFilter = new ChangeSetFilter();
-		domain.addFilter(changeSetFilter);
-
-		ObjectContext context = runtime.newContext();
-
-		Auditable1 a2 = Cayenne.objectForPK(context, Auditable1.class, 2);
-		AuditableChild1 a21 = Cayenne.objectForPK(context, AuditableChild1.class, 1);
-
-		a21.setParent(a2);
-		context.commitChanges();
-
-		assertEquals(2, processor.size);
-
-		assertTrue(processor.audited.get(AuditableOperation.UPDATE).contains(a2));
-		assertTrue(processor.audited.get(AuditableOperation.UPDATE)
-				.contains(Cayenne.objectForPK(context, Auditable1.class, 1)));
-	}
-
-	@Test
-	public void testAudit_IgnoreProperties() throws Exception {
-
-		auditable2.insert(1, "P1_1", "P2_1");
-		auditable2.insert(2, "P1_2", "P2_2");
-		auditable2.insert(3, "P1_3", "P2_3");
-
-		DataDomain domain = runtime.getDataDomain();
-
-		Processor processor = new Processor();
-
-		AuditableFilter filter = new AuditableFilter(processor);
-		domain.addFilter(filter);
-
-		// prerequisite for BaseAuditableProcessor use
-		ChangeSetFilter changeSetFilter = new ChangeSetFilter();
-		domain.addFilter(changeSetFilter);
-
-		ObjectContext context = runtime.newContext();
-
-		Auditable2 a1 = Cayenne.objectForPK(context, Auditable2.class, 1);
-		Auditable2 a2 = Cayenne.objectForPK(context, Auditable2.class, 2);
-		Auditable2 a3 = Cayenne.objectForPK(context, Auditable2.class, 3);
-
-		a1.setCharProperty1("__");
-		a2.setCharProperty2("__");
-		a3.setCharProperty1("__");
-		a3.setCharProperty2("__");
-
-		context.commitChanges();
-
-		assertEquals(2, processor.size);
-		assertTrue(processor.audited.get(AuditableOperation.UPDATE).contains(a2));
-		assertTrue(processor.audited.get(AuditableOperation.UPDATE).contains(a3));
-	}
-
-	@Test
-	public void testAuditableChild_IgnoreProperties() throws Exception {
-
-		auditable2.insert(1, "P1_1", "P2_1");
-		auditable2.insert(2, "P1_2", "P2_2");
-		auditableChild3.insert(1, 1, "C", "D");
-
-		DataDomain domain = runtime.getDataDomain();
-
-		Processor processor = new Processor();
-
-		AuditableFilter filter = new AuditableFilter(processor);
-		domain.addFilter(filter);
-
-		// prerequisite for BaseAuditableProcessor use
-		ChangeSetFilter changeSetFilter = new ChangeSetFilter();
-		domain.addFilter(changeSetFilter);
-
-		ObjectContext context = runtime.newContext();
-
-		AuditableChild3 ac1 = Cayenne.objectForPK(context, AuditableChild3.class, 1);
-
-		// a change to ignored property should not cause an audit event
-		ac1.setCharProperty1("X_X");
-
-		context.commitChanges();
-		assertEquals(0, processor.size);
-
-		processor.reset();
-		ac1.setCharProperty2("XXXXX");
-		context.commitChanges();
-		assertEquals(1, processor.size);
-	}
-
-	@Test
-	public void testAuditableChild_objectIdRelationship() throws Exception {
-		auditable1.insert(1, "xx");
-		auditableChildUuid.insert(1, "Auditable1:1", "xxx", "yyy");
-
-		DataDomain domain = runtime.getDataDomain();
-		Processor processor = new Processor();
-
-		AuditableFilter filter = new AuditableFilter(processor);
-		domain.addFilter(filter);
-
-		// prerequisite for BaseAuditableProcessor use
-		ChangeSetFilter changeSetFilter = new ChangeSetFilter();
-		domain.addFilter(changeSetFilter);
-
-		ObjectContext context = runtime.newContext();
-		AuditableChildUuid ac = Cayenne.objectForPK(context, AuditableChildUuid.class, 1);
-		Auditable1 a1 = Cayenne.objectForPK(context, Auditable1.class, 1);
-		IdCoder refHandler = new IdCoder(domain.getEntityResolver());
-		ObjectIdRelationshipHandler handler = new ObjectIdRelationshipHandler(refHandler);
-		handler.relate(ac, a1);
-
-		ac.setCharProperty1("xxxx");
-		context.commitChanges();
-		assertEquals(1, processor.size);
-		Collection<Object> auditables = processor.audited.get(AuditableOperation.UPDATE);
-		assertSame(a1, auditables.toArray()[0]);
-
-		ac.setCharProperty2("yyyy");
-		context.commitChanges();
-		assertEquals(2, processor.size);
-		assertSame(a1, auditables.toArray()[1]);
-	}
-
-	private final class Processor implements AuditableProcessor {
-
-		Map<AuditableOperation, Collection<Object>> audited;
-		int size;
-
-		Processor() {
-			reset();
-		}
-
-		void reset() {
-
-			audited = new EnumMap<>(AuditableOperation.class);
-
-			for (AuditableOperation op : AuditableOperation.values()) {
-				audited.put(op, new ArrayList<>());
-			}
-		}
-
-		public void audit(Persistent object, AuditableOperation operation) {
-			audited.get(operation).add(object);
-			size++;
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
deleted file mode 100644
index 9f8eb08..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
+++ /dev/null
@@ -1,184 +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.lifecycle.audit;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.DataChannel;
-import org.apache.cayenne.DataChannelFilterChain;
-import org.apache.cayenne.DataObject;
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.ObjectId;
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.configuration.server.ServerRuntime;
-import org.apache.cayenne.graph.GraphDiff;
-import org.apache.cayenne.lifecycle.db.Auditable1;
-import org.apache.cayenne.lifecycle.db.AuditableChildUuid;
-import org.apache.cayenne.lifecycle.id.IdCoder;
-import org.apache.cayenne.lifecycle.relationship.ObjectIdRelationshipHandler;
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.map.ObjEntity;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@Deprecated
-public class AuditableFilterTest {
-
-    private AuditableProcessor processor;
-    private ServerRuntime runtime;
-    private AuditableFilter filter;
-
-    @Before
-    public void setUp() throws Exception {
-
-        EntityResolver resolver = mock(EntityResolver.class);
-
-        ObjEntity objectEntity = new ObjEntity("CayenneDataObject");
-        when(resolver.lookupObjEntity(any(Object.class))).thenReturn(objectEntity);
-        when(resolver.getObjEntity(any(Persistent.class))).thenReturn(objectEntity);
-        when(resolver.getObjEntity(any(Class.class))).thenReturn(objectEntity);
-
-        DataChannel channel = mock(DataChannel.class);
-        when(channel.getEntityResolver()).thenReturn(resolver);
-
-        this.processor = mock(AuditableProcessor.class);
-        this.runtime = ServerRuntime.builder().addConfig("cayenne-lifecycle.xml").build();
-        this.filter = new AuditableFilter(processor);
-        this.filter.init(channel);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        runtime.shutdown();
-    }
-
-    @Test
-    public void testInsertAudit() {
-
-        Persistent audited = mock(Persistent.class);
-        filter.insertAudit(audited);
-        filter.postSync();
-
-        verify(processor).audit(audited, AuditableOperation.INSERT);
-    }
-
-    @Test
-    public void testDeleteAudit() {
-
-        Persistent audited = mock(Persistent.class);
-        filter.deleteAudit(audited);
-        filter.postSync();
-
-        verify(processor).audit(audited, AuditableOperation.DELETE);
-    }
-
-    @Test
-    public void testUpdateAudit() {
-
-        Persistent audited = mock(Persistent.class);
-        filter.updateAudit(audited);
-        filter.postSync();
-
-        verify(processor).audit(audited, AuditableOperation.UPDATE);
-    }
-
-    @Test
-    public void testUpdateAuditChild() {
-
-        Persistent auditedParent = mock(Persistent.class);
-        DataObject audited = new MockAuditableChild();
-        audited.setObjectId(new ObjectId("MockAuditableChild", "a", 1));
-        audited.writeProperty("parent", auditedParent);
-        filter.updateAuditChild(audited);
-        filter.postSync();
-
-        verify(processor).audit(auditedParent, AuditableOperation.UPDATE);
-    }
-
-    @Test
-    public void testUpdateAuditChildByObjectIdRelationship() {
-
-        ObjectContext context = runtime.newContext();
-        Auditable1 auditedParent = context.newObject(Auditable1.class);
-        AuditableChildUuid audited = context.newObject(AuditableChildUuid.class);
-
-        IdCoder refHandler = new IdCoder(context.getEntityResolver());
-        ObjectIdRelationshipHandler handler = new ObjectIdRelationshipHandler(refHandler);
-        handler.relate(audited, auditedParent);
-        context.commitChanges();
-
-        filter.updateAuditChild(audited);
-        filter.postSync();
-        verify(processor).audit(auditedParent, AuditableOperation.UPDATE);
-    }
-
-    @Test
-    public void testOnSyncPassThrough() {
-
-        ObjectContext context = mock(ObjectContext.class);
-        GraphDiff changes = mock(GraphDiff.class);
-
-        DataChannelFilterChain chain = mock(DataChannelFilterChain.class);
-
-        filter.onSync(context, changes, DataChannel.FLUSH_CASCADE_SYNC, chain);
-        verify(chain).onSync(context, changes, DataChannel.FLUSH_CASCADE_SYNC);
-
-        filter.onSync(context, changes, DataChannel.ROLLBACK_CASCADE_SYNC, chain);
-        verify(chain).onSync(context, changes, DataChannel.ROLLBACK_CASCADE_SYNC);
-    }
-
-    @Test
-    public void testOnSyncAuditEventsCollapse() {
-
-        ObjectContext context = mock(ObjectContext.class);
-        GraphDiff changes = mock(GraphDiff.class);
-
-        final DataObject auditedParent1 = new CayenneDataObject();
-        final DataObject audited11 = new MockAuditableChild();
-        audited11.writeProperty("parent", auditedParent1);
-        final DataObject audited12 = new MockAuditableChild();
-        audited12.writeProperty("parent", auditedParent1);
-        final DataObject audited13 = new MockAuditableChild();
-        audited13.writeProperty("parent", auditedParent1);
-
-        DataChannelFilterChain chain = mock(DataChannelFilterChain.class);
-        when(chain.onSync(context, changes, DataChannel.FLUSH_CASCADE_SYNC)).thenAnswer(new Answer<GraphDiff>() {
-
-            public GraphDiff answer(InvocationOnMock invocation) throws Throwable {
-                filter.updateAudit(auditedParent1);
-                filter.updateAuditChild(audited11);
-                filter.updateAuditChild(audited12);
-                filter.updateAuditChild(audited13);
-                return mock(GraphDiff.class);
-            }
-        });
-
-        filter.onSync(context, changes, DataChannel.FLUSH_CASCADE_SYNC, chain);
-
-        verify(chain).onSync(context, changes, DataChannel.FLUSH_CASCADE_SYNC);
-        verify(processor).audit(auditedParent1, AuditableOperation.UPDATE);
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/MockAuditableChild.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/MockAuditableChild.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/MockAuditableChild.java
deleted file mode 100644
index a33ecb3..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/MockAuditableChild.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.lifecycle.audit;
-
-import org.apache.cayenne.CayenneDataObject;
-
-@AuditableChild("parent")
-public class MockAuditableChild extends CayenneDataObject {
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/Auditable1.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/Auditable1.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/Auditable1.java
deleted file mode 100644
index 4cb7ff1..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/Auditable1.java
+++ /dev/null
@@ -1,29 +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.lifecycle.db;
-
-import org.apache.cayenne.lifecycle.audit.Auditable;
-import org.apache.cayenne.lifecycle.db.auto._Auditable1;
-
-@Auditable
-public class Auditable1 extends _Auditable1 {
-
-	private static final long serialVersionUID = 8458581370578140962L;
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/Auditable2.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/Auditable2.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/Auditable2.java
deleted file mode 100644
index 6f81ffa..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/Auditable2.java
+++ /dev/null
@@ -1,29 +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.lifecycle.db;
-
-import org.apache.cayenne.lifecycle.audit.Auditable;
-import org.apache.cayenne.lifecycle.db.auto._Auditable2;
-
-@Auditable(ignoredProperties = "charProperty1")
-public class Auditable2 extends _Auditable2 {
-
-	private static final long serialVersionUID = 5203324250911707978L;
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild1.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild1.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild1.java
deleted file mode 100644
index 9039a08..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild1.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.lifecycle.db;
-
-import org.apache.cayenne.lifecycle.db.auto._AuditableChild1;
-
-public class AuditableChild1 extends _AuditableChild1 {
-
-	private static final long serialVersionUID = 7967782239405764614L;
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild2.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild2.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild2.java
deleted file mode 100644
index 547f8fc..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild2.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.lifecycle.db;
-
-import org.apache.cayenne.lifecycle.db.auto._AuditableChild2;
-
-public class AuditableChild2 extends _AuditableChild2 {
-	private static final long serialVersionUID = 1L;
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild3.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild3.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild3.java
deleted file mode 100644
index 556eaaa..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChild3.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.lifecycle.db;
-
-import org.apache.cayenne.lifecycle.audit.AuditableChild;
-import org.apache.cayenne.lifecycle.db.auto._AuditableChild3;
-
-@AuditableChild(value = "parent", ignoredProperties = "charProperty1")
-public class AuditableChild3 extends _AuditableChild3 {
-	private static final long serialVersionUID = 1L;
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChildUuid.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChildUuid.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChildUuid.java
deleted file mode 100644
index 38becd8..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/AuditableChildUuid.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.lifecycle.db;
-
-import org.apache.cayenne.lifecycle.audit.AuditableChild;
-import org.apache.cayenne.lifecycle.db.auto._AuditableChildUuid;
-import org.apache.cayenne.lifecycle.relationship.ObjectIdRelationship;
-
-@ObjectIdRelationship("uuid")
-@AuditableChild(objectIdRelationship = "uuid")
-public class AuditableChildUuid extends _AuditableChildUuid {
-
-	private static final long serialVersionUID = 1L;
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_Auditable1.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_Auditable1.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_Auditable1.java
deleted file mode 100644
index df212a1..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_Auditable1.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.lifecycle.db.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.lifecycle.db.AuditableChild1;
-
-/**
- * Class _Auditable1 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 _Auditable1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> CHAR_PROPERTY1 = Property.create("charProperty1", String.class);
-    public static final Property<List<AuditableChild1>> CHILDREN1 = Property.create("children1", List.class);
-
-    public void setCharProperty1(String charProperty1) {
-        writeProperty("charProperty1", charProperty1);
-    }
-    public String getCharProperty1() {
-        return (String)readProperty("charProperty1");
-    }
-
-    public void addToChildren1(AuditableChild1 obj) {
-        addToManyTarget("children1", obj, true);
-    }
-    public void removeFromChildren1(AuditableChild1 obj) {
-        removeToManyTarget("children1", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<AuditableChild1> getChildren1() {
-        return (List<AuditableChild1>)readProperty("children1");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_Auditable2.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_Auditable2.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_Auditable2.java
deleted file mode 100644
index ea7a51b..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_Auditable2.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.apache.cayenne.lifecycle.db.auto;
-
-import java.util.List;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.lifecycle.db.AuditableChild3;
-
-/**
- * Class _Auditable2 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 _Auditable2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> CHAR_PROPERTY1 = Property.create("charProperty1", String.class);
-    public static final Property<String> CHAR_PROPERTY2 = Property.create("charProperty2", String.class);
-    public static final Property<List<AuditableChild3>> CHILDREN = Property.create("children", List.class);
-
-    public void setCharProperty1(String charProperty1) {
-        writeProperty("charProperty1", charProperty1);
-    }
-    public String getCharProperty1() {
-        return (String)readProperty("charProperty1");
-    }
-
-    public void setCharProperty2(String charProperty2) {
-        writeProperty("charProperty2", charProperty2);
-    }
-    public String getCharProperty2() {
-        return (String)readProperty("charProperty2");
-    }
-
-    public void addToChildren(AuditableChild3 obj) {
-        addToManyTarget("children", obj, true);
-    }
-    public void removeFromChildren(AuditableChild3 obj) {
-        removeToManyTarget("children", obj, true);
-    }
-    @SuppressWarnings("unchecked")
-    public List<AuditableChild3> getChildren() {
-        return (List<AuditableChild3>)readProperty("children");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild1.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild1.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild1.java
deleted file mode 100644
index 96f21b0..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild1.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.cayenne.lifecycle.db.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.lifecycle.db.Auditable1;
-
-/**
- * Class _AuditableChild1 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 _AuditableChild1 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> CHAR_PROPERTY1 = Property.create("charProperty1", String.class);
-    public static final Property<Auditable1> PARENT = Property.create("parent", Auditable1.class);
-
-    public void setCharProperty1(String charProperty1) {
-        writeProperty("charProperty1", charProperty1);
-    }
-    public String getCharProperty1() {
-        return (String)readProperty("charProperty1");
-    }
-
-    public void setParent(Auditable1 parent) {
-        setToOneTarget("parent", parent, true);
-    }
-
-    public Auditable1 getParent() {
-        return (Auditable1)readProperty("parent");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild2.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild2.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild2.java
deleted file mode 100644
index 9a5cc2c..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild2.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.apache.cayenne.lifecycle.db.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.lifecycle.db.Auditable1;
-
-/**
- * Class _AuditableChild2 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 _AuditableChild2 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> CHAR_PROPERTY1 = Property.create("charProperty1", String.class);
-    public static final Property<Auditable1> PARENT = Property.create("parent", Auditable1.class);
-
-    public void setCharProperty1(String charProperty1) {
-        writeProperty("charProperty1", charProperty1);
-    }
-    public String getCharProperty1() {
-        return (String)readProperty("charProperty1");
-    }
-
-    public void setParent(Auditable1 parent) {
-        setToOneTarget("parent", parent, true);
-    }
-
-    public Auditable1 getParent() {
-        return (Auditable1)readProperty("parent");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild3.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild3.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild3.java
deleted file mode 100644
index fb2f26a..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChild3.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.apache.cayenne.lifecycle.db.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-import org.apache.cayenne.lifecycle.db.Auditable2;
-
-/**
- * Class _AuditableChild3 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 _AuditableChild3 extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> CHAR_PROPERTY1 = Property.create("charProperty1", String.class);
-    public static final Property<String> CHAR_PROPERTY2 = Property.create("charProperty2", String.class);
-    public static final Property<Auditable2> PARENT = Property.create("parent", Auditable2.class);
-
-    public void setCharProperty1(String charProperty1) {
-        writeProperty("charProperty1", charProperty1);
-    }
-    public String getCharProperty1() {
-        return (String)readProperty("charProperty1");
-    }
-
-    public void setCharProperty2(String charProperty2) {
-        writeProperty("charProperty2", charProperty2);
-    }
-    public String getCharProperty2() {
-        return (String)readProperty("charProperty2");
-    }
-
-    public void setParent(Auditable2 parent) {
-        setToOneTarget("parent", parent, true);
-    }
-
-    public Auditable2 getParent() {
-        return (Auditable2)readProperty("parent");
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChildUuid.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChildUuid.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChildUuid.java
deleted file mode 100644
index d269c8a..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/db/auto/_AuditableChildUuid.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.apache.cayenne.lifecycle.db.auto;
-
-import org.apache.cayenne.CayenneDataObject;
-import org.apache.cayenne.exp.Property;
-
-/**
- * Class _AuditableChildUuid 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 _AuditableChildUuid extends CayenneDataObject {
-
-    private static final long serialVersionUID = 1L; 
-
-    public static final String ID_PK_COLUMN = "ID";
-
-    public static final Property<String> CHAR_PROPERTY1 = Property.create("charProperty1", String.class);
-    public static final Property<String> CHAR_PROPERTY2 = Property.create("charProperty2", String.class);
-    public static final Property<String> UUID = Property.create("uuid", String.class);
-
-    public void setCharProperty1(String charProperty1) {
-        writeProperty("charProperty1", charProperty1);
-    }
-    public String getCharProperty1() {
-        return (String)readProperty("charProperty1");
-    }
-
-    public void setCharProperty2(String charProperty2) {
-        writeProperty("charProperty2", charProperty2);
-    }
-    public String getCharProperty2() {
-        return (String)readProperty("charProperty2");
-    }
-
-    public void setUuid(String uuid) {
-        writeProperty("uuid", uuid);
-    }
-    public String getUuid() {
-        return (String)readProperty("uuid");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ece129d/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/unit/AuditableServerCase.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/unit/AuditableServerCase.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/unit/AuditableServerCase.java
deleted file mode 100644
index b63f1f0..0000000
--- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/unit/AuditableServerCase.java
+++ /dev/null
@@ -1,83 +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.lifecycle.unit;
-
-import org.apache.cayenne.configuration.server.ServerRuntime;
-import org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
-import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.test.jdbc.TableHelper;
-import org.junit.After;
-import org.junit.Before;
-
-/**
- * A superclass of integration tests for cayenne-lifecycle.
- */
-public abstract class AuditableServerCase {
-
-	protected ServerRuntime runtime;
-
-	protected TableHelper auditable1;
-	protected TableHelper auditableChild1;
-	protected TableHelper auditableChild2;
-
-	protected TableHelper auditable2;
-	protected TableHelper auditableChild3;
-	protected TableHelper auditableChildUuid;
-
-	@Before
-	public void startCayenne() throws Exception {
-		this.runtime = configureCayenne().build();
-
-		DBHelper dbHelper = new DBHelper(runtime.getDataSource());
-
-		this.auditable1 = new TableHelper(dbHelper, "AUDITABLE1").setColumns("ID", "CHAR_PROPERTY1");
-
-		this.auditableChild1 = new TableHelper(dbHelper, "AUDITABLE_CHILD1").setColumns("ID", "AUDITABLE1_ID",
-				"CHAR_PROPERTY1");
-
-		this.auditableChild2 = new TableHelper(dbHelper, "AUDITABLE_CHILD2").setColumns("ID", "AUDITABLE1_ID",
-				"CHAR_PROPERTY1");
-
-		this.auditable2 = new TableHelper(dbHelper, "AUDITABLE2").setColumns("ID", "CHAR_PROPERTY1", "CHAR_PROPERTY2");
-
-		this.auditableChild3 = new TableHelper(dbHelper, "AUDITABLE_CHILD3").setColumns("ID", "AUDITABLE2_ID",
-				"CHAR_PROPERTY1", "CHAR_PROPERTY2");
-
-		this.auditableChildUuid = new TableHelper(dbHelper, "AUDITABLE_CHILD_UUID").setColumns("ID", "UUID",
-				"CHAR_PROPERTY1", "CHAR_PROPERTY2");
-
-		this.auditableChild1.deleteAll();
-		this.auditableChild2.deleteAll();
-		this.auditable1.deleteAll();
-		this.auditableChild3.deleteAll();
-		this.auditable2.deleteAll();
-		this.auditableChildUuid.deleteAll();
-	}
-
-	protected ServerRuntimeBuilder configureCayenne() {
-		return ServerRuntime.builder().addConfig("cayenne-lifecycle.xml");
-	}
-
-	@After
-	public void shutdownCayenne() {
-		if (runtime != null) {
-			runtime.shutdown();
-		}
-	}
-}


[19/30] cayenne git commit: CAY-2377. Remove getDataMap()

Posted by nt...@apache.org.
CAY-2377. Remove getDataMap()


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

Branch: refs/heads/master
Commit: 6b4640381d4868864f61efc8ecbc3f6b09ddb3e1
Parents: ad04fb8
Author: Arseni Bulatski <an...@gmail.com>
Authored: Fri Oct 27 13:05:01 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:47 2017 +0300

----------------------------------------------------------------------
 .../apache/cayenne/lifecycle/id/StringIdQuery.java    |  6 ------
 .../org/apache/cayenne/access/DataDomainQuery.java    |  1 -
 .../cayenne/access/ObjectsFromDataRowsQuery.java      |  1 -
 .../java/org/apache/cayenne/query/AbstractQuery.java  |  8 --------
 .../java/org/apache/cayenne/query/BatchQuery.java     |  9 ---------
 .../java/org/apache/cayenne/query/EJBQLQuery.java     |  8 --------
 .../java/org/apache/cayenne/query/IndirectQuery.java  |  9 ---------
 .../src/main/java/org/apache/cayenne/query/Query.java |  7 -------
 .../java/org/apache/cayenne/query/QueryChain.java     |  8 --------
 .../java/org/apache/cayenne/query/RefreshQuery.java   |  9 ---------
 .../org/apache/cayenne/remote/IncrementalQuery.java   |  9 ---------
 .../java/org/apache/cayenne/remote/RangeQuery.java    |  7 -------
 .../test/java/org/apache/cayenne/query/MockQuery.java |  5 -----
 docs/doc/src/main/resources/UPGRADE.txt               | 14 +++++++++++++-
 14 files changed, 13 insertions(+), 88 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
index bec2c9c..a6d6f72 100644
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
+++ b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
@@ -262,10 +262,4 @@ public class StringIdQuery implements Query {
     public void setName(String name) {
         this.name = name;
     }
-
-    @Deprecated
-    public DataMap getDataMap() {
-        return dataMap;
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
index d913465..a1cfda1 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
@@ -102,7 +102,6 @@ class DataDomainQuery implements Query, QueryMetadata {
         return null;
     }
 
-    @Deprecated
     public DataMap getDataMap() {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
index a4b467c..7d68beb 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
@@ -73,7 +73,6 @@ class ObjectsFromDataRowsQuery implements Query, QueryMetadata {
         return null;
     }
 
-    @Deprecated
     public DataMap getDataMap() {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
index 1d91eeb..8589d0b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/AbstractQuery.java
@@ -47,14 +47,6 @@ public abstract class AbstractQuery extends CacheableQuery {
      * @since 3.1
      */
     @Deprecated
-    public DataMap getDataMap() {
-        return dataMap;
-    }
-
-    /**
-     * @since 3.1
-     */
-    @Deprecated
     public void setDataMap(DataMap dataMap) {
         this.dataMap = dataMap;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
index 695224a..b655932 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/BatchQuery.java
@@ -86,15 +86,6 @@ public abstract class BatchQuery implements Query {
     /**
      * @since 3.1
      */
-    @Override
-    @Deprecated
-    public DataMap getDataMap() {
-        return dataMap;
-    }
-
-    /**
-     * @since 3.1
-     */
     @Deprecated
     public void setDataMap(DataMap dataMap) {
         this.dataMap = dataMap;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
index 7103562..64232ce 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/EJBQLQuery.java
@@ -58,14 +58,6 @@ public class EJBQLQuery extends CacheableQuery {
     public EJBQLQuery() {
     }
     
-    /**
-     * @since 3.1
-     */
-    @Deprecated
-    public DataMap getDataMap() {
-        return dataMap;
-    }
-    
     
     /**
      * @since 3.1

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
index ec711ec..ea2da51 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/IndirectQuery.java
@@ -46,15 +46,6 @@ public abstract class IndirectQuery implements Query {
 	/**
 	 * @since 3.1
 	 */
-	@Override
-	@Deprecated
-	public DataMap getDataMap() {
-		return dataMap;
-	}
-
-	/**
-	 * @since 3.1
-	 */
 	@Deprecated
 	public void setDataMap(DataMap dataMap) {
 		this.dataMap = dataMap;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java b/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java
index d0790b9..a3eda27 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/Query.java
@@ -72,11 +72,4 @@ public interface Query extends Serializable {
      */
     @Deprecated
     String getName();
-
-    /**
-     * @since 3.1
-     * @deprecated since 4.0, {@link QueryDescriptor#getDataMap()} should be used instead
-     */
-    @Deprecated
-    DataMap getDataMap();
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
index 272c681..927b93b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryChain.java
@@ -129,14 +129,6 @@ public class QueryChain implements Query {
      * @since 3.1
      */
     @Deprecated
-    public DataMap getDataMap() {
-        return dataMap;
-    }
-
-    /**
-     * @since 3.1
-     */
-    @Deprecated
     public void setDataMap(DataMap dataMap) {
         this.dataMap = dataMap;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java
index 72c3597..cd0fbb6 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/RefreshQuery.java
@@ -149,16 +149,7 @@ public class RefreshQuery implements Query {
                     Query substitutedQuery) {
                 query.route(router, resolver, this);
             }
-
-            @Deprecated
-            public DataMap getDataMap() {
-                return query.getDataMap();
-            }
         };
     }
 
-    @Deprecated
-    public DataMap getDataMap() {
-        return null;
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java
index 9541a42..c832cd5 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalQuery.java
@@ -75,13 +75,4 @@ class IncrementalQuery implements Query {
     public String getName() {
         return query.getName();
     }
-
-    /**
-     * @since 3.1
-     * @deprecated since 4.0
-     */
-    @Deprecated
-    public DataMap getDataMap() {
-        return query.getDataMap();
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
index bb54e62..406d1e6 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/RangeQuery.java
@@ -163,11 +163,4 @@ class RangeQuery implements Query {
         throw new UnsupportedOperationException();
     }
 
-    /**
-     * @since 3.1
-     */
-    @Deprecated
-    public DataMap getDataMap() {
-        throw new UnsupportedOperationException();
-    }
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java b/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java
index ba3276b..0373425 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/query/MockQuery.java
@@ -34,11 +34,6 @@ public class MockQuery implements Query {
     public MockQuery() {
     }
 
-    @Deprecated
-    public DataMap getDataMap() {
-        return null;
-    }
-
     public QueryMetadata getMetaData(EntityResolver resolver) {
         return DefaultQueryMetadata.defaultMetadata;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b464038/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 73a6cce..41f9bb9 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -186,7 +186,19 @@ UPGRADING TO 4.1.M2
       - removed void useLocalCache(String... cacheGroups) {since 4.0, use CacheableQuery#useLocalCache(String)} in org.apache.cayenne.org.apacche.cayenne.query.CacheableQuery with test
       void testUseLocalCacheOld() in org.apache.cayenne.query.SelectQueryCacheKeyIT;
       - removed int size() {since 4.0 use getRows().size()} in org.apache.cayenne.query.BatchQuery;
-
+      - removed DataMap getDataMap(); {since 4.0, QueryDescriptor#getDataMap() should be used instead} in org.apache.cayenne.query.Query;
+      - removed DataMap getDataMap()  in org.apache.cayenne.lifecycle.StringIdQuery;
+      - removed DataMap getDataMap() in org.apache.cayenne.query.RefreshQuery;
+      - removed DataMap getDataMap() in org.apache.cayenne.query.MockQuery;
+      - removed DataMap getDataMap() in org.apache.cayenne.query.IndirectQuery;
+      - removed DataMap getDataMap() in org.apache.cayenne.remote.IncrementalQuery;
+      - removed @deprecated from DataMap gerDataMap() in org.apache.cayenne.access.DataDomainQuery;
+      - removed @deprecated from DataMap gerDataMap() in org.apache.cayenne.access.ObjectsFromDataRowsQuery;
+      - removed DataMap getDataMap() in org.apache.cayenne.query.AbstractQuery;
+      - removed DataMap getDataMap() in org.apache.cayenne.query.BatchQuery;
+      - removed DataMap getDataMap() in org.apache.cayenne.query.EJBQLQuery;
+      - removed DataMap getDataMap() in org.apache.cayenne.query.QueryChain;
+      - removed DataMap getDataMap() in org.apache.cayenne.remote.RangeQuery;
 
 
 UPGRADING TO 4.1.M1


[10/30] cayenne git commit: CAY-2377. Cleanup deprecated code

Posted by nt...@apache.org.
CAY-2377. Cleanup deprecated code


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

Branch: refs/heads/master
Commit: c470d3723255676ae21363954da6355fb875cdc4
Parents: 7c09e7f
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Oct 25 12:16:03 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:46 2017 +0300

----------------------------------------------------------------------
 .../org/apache/cayenne/access/DataDomainQuery.java  |  5 -----
 .../cayenne/access/ObjectsFromDataRowsQuery.java    |  5 -----
 .../org/apache/cayenne/cache/EhCacheQueryCache.java | 12 ------------
 .../configuration/server/ServerRuntimeBuilder.java  | 16 ----------------
 .../org/apache/cayenne/query/QueryMetadata.java     |  7 -------
 docs/doc/src/main/resources/UPGRADE.txt             |  8 ++++++++
 6 files changed, 8 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/c470d372/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
index 7d20356..d913465 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataDomainQuery.java
@@ -63,11 +63,6 @@ class DataDomainQuery implements Query, QueryMetadata {
         return false;
     }
 
-    @Deprecated
-    public Query getOrginatingQuery() {
-        return null;
-    }
-
     /**
      * @since 4.0
      */

http://git-wip-us.apache.org/repos/asf/cayenne/blob/c470d372/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
index f0f319e..a4b467c 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/ObjectsFromDataRowsQuery.java
@@ -131,11 +131,6 @@ class ObjectsFromDataRowsQuery implements Query, QueryMetadata {
         return 0;
     }
 
-    @Deprecated
-    public Query getOrginatingQuery() {
-        return null;
-    }
-
     public Query getOriginatingQuery() {
         return null;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/c470d372/cayenne-server/src/main/java/org/apache/cayenne/cache/EhCacheQueryCache.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/cache/EhCacheQueryCache.java b/cayenne-server/src/main/java/org/apache/cayenne/cache/EhCacheQueryCache.java
index f6ca82f..5eff2cd 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/cache/EhCacheQueryCache.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/cache/EhCacheQueryCache.java
@@ -189,18 +189,6 @@ public class EhCacheQueryCache implements QueryCache {
     }
 
     /**
-     * Returns default cache group.
-     * 
-     * @deprecated since 4.0 - this method is no longer in use. If you are
-     *             overriding it, override {@link #cacheName(QueryMetadata)}
-     *             instead.
-     */
-    @Deprecated
-    public Ehcache getDefaultCache() {
-        return cacheManager.getCache(DEFAULT_CACHE_NAME);
-    }
-
-    /**
      * Shuts down EhCache CacheManager
      */
     @BeforeScopeEnd

http://git-wip-us.apache.org/repos/asf/cayenne/blob/c470d372/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
index c9ac8a3..208eb3b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/ServerRuntimeBuilder.java
@@ -60,22 +60,6 @@ public class ServerRuntimeBuilder {
     private boolean autoLoadModules;
 
     /**
-     * @deprecated since 4.0.M5 in favor of {@link ServerRuntime#builder()}
-     */
-    @Deprecated
-    public static ServerRuntimeBuilder builder() {
-        return ServerRuntime.builder();
-    }
-
-    /**
-     * @deprecated since 4.0.M5 in favor of {@link ServerRuntime#builder(String)}
-     */
-    @Deprecated
-    public static ServerRuntimeBuilder builder(String name) {
-        return ServerRuntime.builder(name);
-    }
-
-    /**
      * Creates an empty builder.
      *
      * @deprecated since 4.0.M5 in favor of {@link ServerRuntime#builder()}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/c470d372/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java
index 3de4737..a0f1705 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/QueryMetadata.java
@@ -205,13 +205,6 @@ public interface QueryMetadata {
     int getFetchLimit();
 
     /**
-     * @since 3.0
-     * @deprecated since 4.0, use {@link QueryMetadata#getOriginatingQuery()}
-     */
-    @Deprecated
-    Query getOrginatingQuery();
-
-    /**
      * Returns a query that originated this query. Originating query is a query whose
      * result is needed to obtain the result of the query owning this metadata. Most often
      * than not the returned value is null. One example of non-null originating query is a

http://git-wip-us.apache.org/repos/asf/cayenne/blob/c470d372/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 1da0c9c..964e212 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -138,6 +138,14 @@ UPGRADING TO 4.1.M2
       - removed DriverDataSource(String driverClassName, String connectionUrl, String userName, String password) {since 4.0 as class loading should not happen here.
       Use DriverDataSource(Driver, String, String, String)} in org.apache.cayenne.datasource.DriverDataSource;
       - removed static Driver loadDriver(String driverClassName) {since 4.0 as class loading should not happen here} in org.apache.cayenne.datasource.DriverDataSource;
+      - removed Query getOrginatingQuery(); {since 4.0, use QueryMetadata#getOriginatingQuery()} in org.apache.cayenne.query.QueryMetadata;
+      - removed Query getOrginatingQuery(); in org.apache.cayenne.access.DataDomainQuery;
+      - removed Query getOrginatingQuery(); in org.apache.cayenne.access.ObjectsFromDataRowsQuery;
+      - removed Ehcache getDefaultCache() {since 4.0 - this method is no longer in use. If you are overriding it, override cacheName(QueryMetadata) instead.}
+      in org.apache.cayenne.cache.EhCacheQueryCache;
+      - removed ServerRuntimeBuilder builder() {since 4.0.M5 in favor of ServerRuntime#builder()} in org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
+      - removed ServerRuntimeBuilder builder(String name) {since 4.0.M5 in favor of ServerRuntime#builder(String)} in org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
+
 
 
 UPGRADING TO 4.1.M1


[04/30] cayenne git commit: CAY-2377. Remove AntDataPortDelegate with usage, DataPort, DataPortDelegate

Posted by nt...@apache.org.
CAY-2377. Remove AntDataPortDelegate with usage, DataPort, DataPortDelegate

CAY-2377. Remove InvalidationFunction


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

Branch: refs/heads/master
Commit: ad4d5bd42bae6fd27393a85beb0290134c41c089
Parents: b3f7402
Author: Arseni Bulatski <an...@gmail.com>
Authored: Tue Oct 24 10:42:47 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:46 2017 +0300

----------------------------------------------------------------------
 .../cayenne/tools/AntDataPortDelegate.java      | 170 ----------
 .../org/apache/cayenne/tools/DataPortTask.java  | 209 ------------
 .../org/apache/cayenne/tools/antlib.xml         |   1 -
 .../cayenne/tools/AntDataPortDelegateTest.java  |  53 ---
 .../invalidation/InvalidationFunction.java      |  39 ---
 .../dbsync/filter/NamePatternMatcher.java       |  34 --
 .../org/apache/cayenne/access/DataPort.java     | 324 -------------------
 .../apache/cayenne/access/DataPortDelegate.java |  77 -----
 docs/doc/src/main/resources/UPGRADE.txt         |  11 +
 .../cayenne/wocompat/EOModelProcessor.java      |  24 --
 10 files changed, 11 insertions(+), 931 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/cayenne-ant/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java
----------------------------------------------------------------------
diff --git a/cayenne-ant/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java b/cayenne-ant/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java
deleted file mode 100644
index de001bd..0000000
--- a/cayenne-ant/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne.tools;
-
-import org.apache.cayenne.access.DataPort;
-import org.apache.cayenne.access.DataPortDelegate;
-import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.query.Query;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Task;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Pattern;
-
-/**
- * DataPortDelegate implementation that works in the context of Ant DataPortTask
- * task execution, performing entity filtering and logging functions.
- * 
- * @since 1.2: Prior to 1.2 DataPort classes were a part of cayenne-examples
- *        package.
- * @deprecated since 4.0
- */
-@Deprecated
-class AntDataPortDelegate implements DataPortDelegate {
-
-    protected Task parentTask;
-
-    protected Pattern[] mapFilters;
-
-    protected long timestamp;
-    protected DbEntity lastEntity;
-
-    protected NamePatternMatcher namePatternMatcher;
-
-    // exists for testing and such
-    AntDataPortDelegate() {
-        mapFilters = new Pattern[] {};
-    }
-
-    AntDataPortDelegate(Task parentTask, String mapsPattern,
-            String includeEntitiesPattern, String excludeEntitiesPattern) {
-        this.parentTask = parentTask;
-
-        AntLogger logger = new AntLogger(parentTask);
-
-        this.namePatternMatcher = NamePatternMatcher.build(logger, includeEntitiesPattern, excludeEntitiesPattern);
-        this.mapFilters = NamePatternMatcher.createPatterns(logger, mapsPattern);
-    }
-
-    /**
-     * Applies preconfigured list of filters to the list, removing entities that
-     * do not pass the filter.
-     */
-    protected List filterEntities(List entities) {
-        if (entities == null || entities.isEmpty()) {
-            return entities;
-        }
-
-        Iterator it = entities.iterator();
-        while (it.hasNext()) {
-            DbEntity entity = (DbEntity) it.next();
-
-            if (!passedDataMapFilter(entity.getDataMap())) {
-                it.remove();
-            }
-        }
-
-        namePatternMatcher.filter(entities);
-
-        return entities;
-    }
-
-    /**
-     * Returns true if the DataMap passes a set of DataMap filters or if there
-     * is no DataMap filters.
-     */
-    protected boolean passedDataMapFilter(DataMap map) {
-        if (mapFilters.length == 0) {
-            return true;
-        }
-
-        if (map == null) {
-            return true;
-        }
-
-        String mapName = map.getName();
-        for (Pattern mapFilter : mapFilters) {
-            if (mapFilter.matcher(mapName).find()) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Implements the delegate method to filter the list of entities applying
-     * filtering rules encapsulated by this object.
-     */
-    public List willPortEntities(DataPort portTool, List entities) {
-        return filterEntities(entities);
-    }
-
-    /**
-     * Logs entity porting event using Ant logger.
-     */
-    public Query willPortEntity(DataPort portTool, DbEntity entity, Query query) {
-        parentTask.log("Porting '" + entity.getName() + "'");
-        lastEntity = entity;
-        timestamp = System.currentTimeMillis();
-        return query;
-    }
-
-    public void didPortEntity(DataPort portTool, DbEntity entity, int rowCount) {
-        String timestampLabel = "";
-        if (lastEntity == entity) {
-            timestampLabel = " in " + (System.currentTimeMillis() - timestamp)
-                    + " ms.";
-        }
-
-        String label = (rowCount == 1) ? "1 row transferred" : rowCount
-                + " rows transferred";
-        parentTask.log("Done porting " + entity.getName() + ", " + label
-                + timestampLabel, Project.MSG_VERBOSE);
-    }
-
-    public List willCleanData(DataPort portTool, List entities) {
-        return filterEntities(entities);
-    }
-
-    public Query willCleanData(DataPort portTool, DbEntity entity, Query query) {
-        parentTask.log("Deleting " + entity.getName(), Project.MSG_VERBOSE);
-        lastEntity = entity;
-        timestamp = System.currentTimeMillis();
-        return query;
-    }
-
-    public void didCleanData(DataPort portTool, DbEntity entity, int rowCount) {
-        String timestampLabel = "";
-        if (lastEntity == entity) {
-            timestampLabel = " in " + (System.currentTimeMillis() - timestamp)
-                    + " ms.";
-        }
-
-        String label = (rowCount == 1) ? "1 row deleted" : rowCount
-                + " rows deleted";
-        parentTask.log("Done deleting " + entity.getName() + ", " + label
-                + timestampLabel, Project.MSG_VERBOSE);
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/cayenne-ant/src/main/java/org/apache/cayenne/tools/DataPortTask.java
----------------------------------------------------------------------
diff --git a/cayenne-ant/src/main/java/org/apache/cayenne/tools/DataPortTask.java b/cayenne-ant/src/main/java/org/apache/cayenne/tools/DataPortTask.java
deleted file mode 100644
index eade13c..0000000
--- a/cayenne-ant/src/main/java/org/apache/cayenne/tools/DataPortTask.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne.tools;
-
-import org.apache.cayenne.access.DataDomain;
-import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.access.DataPort;
-import org.apache.cayenne.configuration.Constants;
-import org.apache.cayenne.configuration.server.ServerRuntime;
-import org.apache.cayenne.di.Key;
-import org.apache.cayenne.di.Module;
-import org.apache.cayenne.map.DataMap;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.resource.FilesystemResourceLocator;
-import org.apache.cayenne.resource.ResourceLocator;
-import org.apache.cayenne.util.Util;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.HashSet;
-
-/**
- * A "cdataport" Ant task implementing a frontend to DataPort allowing porting
- * database data using Ant build scripts.
- * 
- * @since 1.2: Prior to 1.2 DataPort classes were a part of cayenne-examples
- *        package.
- * @deprecated since 4.0
- */
-@Deprecated
-public class DataPortTask extends CayenneTask {
-
-    protected File projectFile;
-    protected String maps;
-    protected String srcNode;
-    protected String destNode;
-    protected String includeTables;
-    protected String excludeTables;
-    protected boolean cleanDest = true;
-
-    public DataPortTask() {
-        // set defaults
-        this.cleanDest = true;
-    }
-
-    @Override
-    public void execute() throws BuildException {
-
-        log("*** 'cdataport' task is deprecated and will be removed after 4.0",
-                Project.MSG_WARN);
-
-        validateParameters();
-
-        String projectFileLocation = projectFile.getName();
-        Module dataPortModule = binder -> {
-            FilesystemResourceLocator filesystemResourceLocator = new FilesystemResourceLocator(projectFile);
-            binder.bind(ResourceLocator.class).toInstance(filesystemResourceLocator);
-            binder.bind(Key.get(ResourceLocator.class, Constants.SERVER_RESOURCE_LOCATOR))
-                    .toInstance(filesystemResourceLocator);
-        };
-
-        ServerRuntime runtime = new ServerRuntime(projectFileLocation,
-                dataPortModule);
-        DataDomain domain;
-
-        ClassLoader threadContextClassLoader = Thread.currentThread()
-                .getContextClassLoader();
-        try {
-            // need to set context class loader so that cayenne can find jdbc
-            // driver and
-            // PasswordEncoder
-            // TODO: andrus 04/11/2010 is this still relevant in 3.1?
-            Thread.currentThread().setContextClassLoader(
-                    getClass().getClassLoader());
-
-            domain = runtime.getDataDomain();
-        } catch (Exception ex) {
-            throw new BuildException(
-                    "Error loading Cayenne configuration from " + projectFile,
-                    ex);
-        } finally {
-            // set back to original ClassLoader
-            Thread.currentThread().setContextClassLoader(
-                    threadContextClassLoader);
-        }
-
-        // perform project validation
-        DataNode source = domain.getDataNode(srcNode);
-        if (source == null) {
-            throw new BuildException("srcNode not found in the project: "
-                    + srcNode);
-        }
-
-        DataNode destination = domain.getDataNode(destNode);
-        if (destination == null) {
-            throw new BuildException("destNode not found in the project: "
-                    + destNode);
-        }
-
-        log("Porting from '" + srcNode + "' to '" + destNode + "'.");
-
-        AntDataPortDelegate portDelegate = new AntDataPortDelegate(this, maps,
-                includeTables, excludeTables);
-        DataPort dataPort = new DataPort(portDelegate);
-        dataPort.setEntities(getAllEntities(source, destination));
-        dataPort.setCleaningDestination(cleanDest);
-        dataPort.setSourceNode(source);
-        dataPort.setDestinationNode(destination);
-
-        try {
-            dataPort.execute();
-        } catch (Exception e) {
-            Throwable topOfStack = Util.unwindException(e);
-            throw new BuildException("Error porting data: "
-                    + topOfStack.getMessage(), topOfStack);
-        }
-    }
-
-    protected Collection<DbEntity> getAllEntities(DataNode source,
-            DataNode target) {
-        // use a set to exclude duplicates, though a valid project will probably
-        // have
-        // none...
-        Collection<DbEntity> allEntities = new HashSet<DbEntity>();
-
-        for (DataMap map : source.getDataMaps()) {
-            allEntities.addAll(map.getDbEntities());
-        }
-
-        for (DataMap map : target.getDataMaps()) {
-            allEntities.addAll(map.getDbEntities());
-        }
-
-        log("Number of entities: " + allEntities.size(), Project.MSG_VERBOSE);
-
-        if (allEntities.size() == 0) {
-            log("No entities found for either source or target.");
-        }
-        return allEntities;
-    }
-
-    protected void validateParameters() throws BuildException {
-        if (projectFile == null) {
-            throw new BuildException(
-                    "Required 'projectFile' parameter is missing.");
-        }
-
-        if (!projectFile.exists()) {
-            throw new BuildException("'projectFile' does not exist: "
-                    + projectFile);
-        }
-
-        if (srcNode == null) {
-            throw new BuildException("Required 'srcNode' parameter is missing.");
-        }
-
-        if (destNode == null) {
-            throw new BuildException(
-                    "Required 'destNode' parameter is missing.");
-        }
-    }
-
-    public void setDestNode(String destNode) {
-        this.destNode = destNode;
-    }
-
-    public void setExcludeTables(String excludeTables) {
-        this.excludeTables = excludeTables;
-    }
-
-    public void setIncludeTables(String includeTables) {
-        this.includeTables = includeTables;
-    }
-
-    public void setMaps(String maps) {
-        this.maps = maps;
-    }
-
-    public void setProjectFile(File projectFile) {
-        this.projectFile = projectFile;
-    }
-
-    public void setSrcNode(String srcNode) {
-        this.srcNode = srcNode;
-    }
-
-    public void setCleanDest(boolean flag) {
-        this.cleanDest = flag;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/cayenne-ant/src/main/resources/org/apache/cayenne/tools/antlib.xml
----------------------------------------------------------------------
diff --git a/cayenne-ant/src/main/resources/org/apache/cayenne/tools/antlib.xml b/cayenne-ant/src/main/resources/org/apache/cayenne/tools/antlib.xml
index bfebaf6..3a29e74 100644
--- a/cayenne-ant/src/main/resources/org/apache/cayenne/tools/antlib.xml
+++ b/cayenne-ant/src/main/resources/org/apache/cayenne/tools/antlib.xml
@@ -20,6 +20,5 @@
 <antlib>
   <taskdef name="cgen" classname="org.apache.cayenne.tools.CayenneGeneratorTask"/>
   <taskdef name="cdbgen" classname="org.apache.cayenne.tools.DbGeneratorTask"/>
-  <taskdef name="cdataport" classname="org.apache.cayenne.tools.DataPortTask"/>
   <taskdef name="cdbimport" classname="org.apache.cayenne.tools.DbImporterTask"/>
 </antlib>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/cayenne-ant/src/test/java/org/apache/cayenne/tools/AntDataPortDelegateTest.java
----------------------------------------------------------------------
diff --git a/cayenne-ant/src/test/java/org/apache/cayenne/tools/AntDataPortDelegateTest.java b/cayenne-ant/src/test/java/org/apache/cayenne/tools/AntDataPortDelegateTest.java
deleted file mode 100644
index 584d4c8..0000000
--- a/cayenne-ant/src/test/java/org/apache/cayenne/tools/AntDataPortDelegateTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-
-package org.apache.cayenne.tools;
-
-import org.apache.cayenne.map.DataMap;
-import org.junit.Test;
-
-import java.util.regex.Pattern;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-@Deprecated
-public class AntDataPortDelegateTest {
-
-    @Test
-    public void testPassedDataMapFilter() {
-        AntDataPortDelegate delegate = new AntDataPortDelegate();
-
-        // filtering should be done based on map name
-
-        DataMap map = new DataMap();
-        assertTrue(delegate.passedDataMapFilter(map));
-
-        map.setName("A");
-        assertTrue(delegate.passedDataMapFilter(map));
-
-        delegate.mapFilters = new Pattern[] {
-            Pattern.compile("B")
-        };
-        assertFalse(delegate.passedDataMapFilter(map));
-
-        map.setName("BBBB");
-        assertTrue(delegate.passedDataMapFilter(map));
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/cayenne-cache-invalidation/src/main/java/org/apache/cayenne/cache/invalidation/InvalidationFunction.java
----------------------------------------------------------------------
diff --git a/cayenne-cache-invalidation/src/main/java/org/apache/cayenne/cache/invalidation/InvalidationFunction.java b/cayenne-cache-invalidation/src/main/java/org/apache/cayenne/cache/invalidation/InvalidationFunction.java
deleted file mode 100644
index 96f2db9..0000000
--- a/cayenne-cache-invalidation/src/main/java/org/apache/cayenne/cache/invalidation/InvalidationFunction.java
+++ /dev/null
@@ -1,39 +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.cache.invalidation;
-
-import org.apache.cayenne.Persistent;
-
-import java.util.Collection;
-import java.util.function.Function;
-
-/**
- * @since 4.0
- * @deprecated since 4.1 plain Function&gt;Persistent, Collection&gt;CacheGroupDescriptor>> can be used.
- */
-@Deprecated
-public interface InvalidationFunction extends Function<Persistent, Collection<CacheGroupDescriptor>> {
-
-    /**
-     * @return collection of cache groups to invalidate for given object
-     */
-    Collection<CacheGroupDescriptor> apply(Persistent persistent);
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java
index a70345c..4697c9a 100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/filter/NamePatternMatcher.java
@@ -59,40 +59,6 @@ public class NamePatternMatcher implements NameFilter {
     }
 
     /**
-     * Applies preconfigured list of filters to the list, removing entities that do not
-     * pass the filter.
-     * 
-     * @deprecated since 3.0 still used by AntDataPortDelegate, which itself should
-     *             probably be deprecated
-     */
-    @Deprecated
-    public List<?> filter(List<?> items) {
-        if (items == null || items.isEmpty()) {
-            return items;
-        }
-
-        if (itemIncludeFilters.length == 0 && itemExcludeFilters.length == 0) {
-            return items;
-        }
-
-        Iterator<?> it = items.iterator();
-        while (it.hasNext()) {
-            CayenneMapEntry entity = (CayenneMapEntry) it.next();
-
-            if (!passedIncludeFilter(entity.getName())) {
-                it.remove();
-                continue;
-            }
-
-            if (!passedExcludeFilter(entity.getName())) {
-                it.remove();
-            }
-        }
-
-        return items;
-    }
-
-    /**
      * Returns an array of Patterns. Takes a comma-separated list of patterns, attempting
      * to convert them to the java.util.regex.Pattern syntax. E.g.
      * <p>

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/cayenne-server/src/main/java/org/apache/cayenne/access/DataPort.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataPort.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataPort.java
deleted file mode 100644
index 8dbad91..0000000
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataPort.java
+++ /dev/null
@@ -1,324 +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 java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.cayenne.CayenneException;
-import org.apache.cayenne.DataRow;
-import org.apache.cayenne.ResultIterator;
-import org.apache.cayenne.access.util.DoNothingOperationObserver;
-import org.apache.cayenne.access.util.IteratedSelectObserver;
-import org.apache.cayenne.ashwood.AshwoodEntitySorter;
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.map.EntityResolver;
-import org.apache.cayenne.map.EntitySorter;
-import org.apache.cayenne.query.InsertBatchQuery;
-import org.apache.cayenne.query.Query;
-import org.apache.cayenne.query.SQLTemplate;
-import org.apache.cayenne.query.SelectQuery;
-
-/**
- * An engine to port data between two DataNodes. These nodes can potentially
- * connect to databases from different vendors. The only assumption is that all
- * of the DbEntities (tables) being ported are present in both source and
- * destination databases and are adequately described by Cayenne mapping.
- * <p>
- * DataPort implements a Cayenne-based algorithm to read data from source
- * DataNode and write to destination DataNode. It uses DataPortDelegate
- * interface to externalize various things, such as determining what entities to
- * port (include/exclude from port based on some criteria), logging the progress
- * of port operation, qualifying the queries, etc.
- * </p>
- * 
- * @since 1.2: Prior to 1.2 DataPort classes were a part of cayenne-examples
- *        package.
- * @deprecated since 4.0
- */
-@Deprecated
-public class DataPort {
-
-	public static final int INSERT_BATCH_SIZE = 1000;
-
-	protected DataNode sourceNode;
-	protected DataNode destinationNode;
-	protected Collection entities;
-	protected boolean cleaningDestination;
-	protected DataPortDelegate delegate;
-	protected int insertBatchSize;
-
-	public DataPort() {
-		this.insertBatchSize = INSERT_BATCH_SIZE;
-	}
-
-	/**
-	 * Creates a new DataPort instance, setting its delegate.
-	 */
-	public DataPort(DataPortDelegate delegate) {
-		this.delegate = delegate;
-	}
-
-	/**
-	 * Runs DataPort. The instance must be fully configured by the time this
-	 * method is invoked, having its delegate, source and destinatio nodes, and
-	 * a list of entities set up.
-	 */
-	public void execute() throws CayenneException {
-		// sanity check
-		if (sourceNode == null) {
-			throw new CayenneException("Can't port data, source node is null.");
-		}
-
-		if (destinationNode == null) {
-			throw new CayenneException("Can't port data, destination node is null.");
-		}
-
-		// the simple equality check may actually detect problems with
-		// misconfigred nodes
-		// it is not as dumb as it may look at first
-		if (sourceNode == destinationNode) {
-			throw new CayenneException("Can't port data, source and target nodes are the same.");
-		}
-
-		if (entities == null || entities.isEmpty()) {
-			return;
-		}
-
-		// sort entities for insertion
-		List sorted = new ArrayList(entities);
-		EntitySorter sorter = new AshwoodEntitySorter();
-		sorter.setEntityResolver(new EntityResolver(destinationNode.getDataMaps()));
-		sorter.sortDbEntities(sorted, false);
-
-		if (cleaningDestination) {
-			// reverse insertion order for deletion
-			List entitiesInDeleteOrder = new ArrayList(sorted.size());
-			entitiesInDeleteOrder.addAll(sorted);
-			Collections.reverse(entitiesInDeleteOrder);
-			processDelete(entitiesInDeleteOrder);
-		}
-
-		processInsert(sorted);
-	}
-
-	/**
-	 * Cleans up destination tables data.
-	 */
-	protected void processDelete(List entities) {
-		// Allow delegate to modify the list of entities
-		// any way it wants. For instance delegate may filter
-		// or sort the list (though it doesn't have to, and can simply
-		// pass through the original list).
-		if (delegate != null) {
-			entities = delegate.willCleanData(this, entities);
-		}
-
-		if (entities == null || entities.isEmpty()) {
-			return;
-		}
-
-		// Delete data from entities one by one
-		Iterator it = entities.iterator();
-		while (it.hasNext()) {
-			DbEntity entity = (DbEntity) it.next();
-
-			Query query = new SQLTemplate(entity, "DELETE FROM " + entity.getFullyQualifiedName());
-
-			// notify delegate that delete is about to happen
-			if (delegate != null) {
-				query = delegate.willCleanData(this, entity, query);
-			}
-
-			final int[] count = new int[] { -1 };
-
-			// perform delete query
-			OperationObserver observer = new DoNothingOperationObserver() {
-
-				@Override
-				public void nextCount(Query query, int resultCount) {
-					count[0] = resultCount;
-				}
-			};
-			destinationNode.performQueries(Collections.singletonList(query), observer);
-
-			// notify delegate that delete just happened
-			if (delegate != null) {
-				delegate.didCleanData(this, entity, count[0]);
-			}
-		}
-	}
-
-	/**
-	 * Reads source data from source, saving it to destination.
-	 */
-	protected void processInsert(List entities) throws CayenneException {
-		// Allow delegate to modify the list of entities
-		// any way it wants. For instance delegate may filter
-		// or sort the list (though it doesn't have to, and can simply
-		// pass through the original list).
-		if (delegate != null) {
-			entities = delegate.willCleanData(this, entities);
-		}
-
-		if (entities == null || entities.isEmpty()) {
-			return;
-		}
-
-		// Create an observer for to get the iterated result
-		// instead of getting each table as a list
-		IteratedSelectObserver observer = new IteratedSelectObserver();
-
-		OperationObserver insertObserver = new DoNothingOperationObserver();
-
-		// process ordered list of entities one by one
-		Iterator it = entities.iterator();
-		while (it.hasNext()) {
-
-			DbEntity entity = (DbEntity) it.next();
-
-			SelectQuery<DataRow> select = new SelectQuery<DataRow>(entity);
-			select.setFetchingDataRows(true);
-
-			// delegate is allowed to substitute query
-			Query query = (delegate != null) ? delegate.willPortEntity(this, entity, select) : select;
-
-			sourceNode.performQueries(Collections.singletonList(query), observer);
-
-			InsertBatchQuery insert = new InsertBatchQuery(entity, INSERT_BATCH_SIZE);
-
-			try (ResultIterator<?> result = observer.getResultIterator();) {
-
-				// Split insertions into the same table into batches.
-				// This will allow to process tables of arbitrary size
-				// and not run out of memory.
-				int currentRow = 0;
-
-				// even if we don't use intermediate batch commits, we still
-				// need to
-				// estimate batch insert size
-				int batchSize = insertBatchSize > 0 ? insertBatchSize : INSERT_BATCH_SIZE;
-
-				while (result.hasNextRow()) {
-					if (insertBatchSize > 0 && currentRow > 0 && currentRow % insertBatchSize == 0) {
-						// end of the batch detected... commit and start a new
-						// insert
-						// query
-						destinationNode.performQueries(Collections.singletonList((Query) insert), insertObserver);
-						insert = new InsertBatchQuery(entity, batchSize);
-					}
-
-					currentRow++;
-
-					Map<String, Object> nextRow = (DataRow) result.nextRow();
-					insert.add(nextRow);
-				}
-
-				// commit remaining batch if needed
-				if (insert.getRows().size() > 0) {
-					destinationNode.performQueries(Collections.singletonList((Query) insert), insertObserver);
-				}
-
-				if (delegate != null) {
-					delegate.didPortEntity(this, entity, currentRow);
-				}
-			}
-		}
-	}
-
-	public Collection getEntities() {
-		return entities;
-	}
-
-	public DataNode getSourceNode() {
-		return sourceNode;
-	}
-
-	public DataNode getDestinationNode() {
-		return destinationNode;
-	}
-
-	/**
-	 * Sets the initial list of entities to process. This list can be later
-	 * modified by the delegate.
-	 */
-	public void setEntities(Collection entities) {
-		this.entities = entities;
-	}
-
-	/**
-	 * Sets the DataNode serving as a source of the ported data.
-	 */
-	public void setSourceNode(DataNode sourceNode) {
-		this.sourceNode = sourceNode;
-	}
-
-	/**
-	 * Sets the DataNode serving as a destination of the ported data.
-	 */
-	public void setDestinationNode(DataNode destinationNode) {
-		this.destinationNode = destinationNode;
-	}
-
-	/**
-	 * Returns previously initialized DataPortDelegate object.
-	 */
-	public DataPortDelegate getDelegate() {
-		return delegate;
-	}
-
-	public void setDelegate(DataPortDelegate delegate) {
-		this.delegate = delegate;
-	}
-
-	/**
-	 * Returns true if a DataPort was configured to delete all data from the
-	 * destination tables.
-	 */
-	public boolean isCleaningDestination() {
-		return cleaningDestination;
-	}
-
-	/**
-	 * Defines whether DataPort should delete all data from destination tables
-	 * before doing the port.
-	 */
-	public void setCleaningDestination(boolean cleaningDestination) {
-		this.cleaningDestination = cleaningDestination;
-	}
-
-	public int getInsertBatchSize() {
-		return insertBatchSize;
-	}
-
-	/**
-	 * Sets a parameter used for tuning insert batches. If set to a value
-	 * greater than zero, DataPort will commit every N rows. If set to value
-	 * less or equal to zero, DataPort will commit only once at the end of the
-	 * insert.
-	 */
-	public void setInsertBatchSize(int insertBatchSize) {
-		this.insertBatchSize = insertBatchSize;
-	}
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/cayenne-server/src/main/java/org/apache/cayenne/access/DataPortDelegate.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataPortDelegate.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataPortDelegate.java
deleted file mode 100644
index 199031b..0000000
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataPortDelegate.java
+++ /dev/null
@@ -1,77 +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 java.util.List;
-
-import org.apache.cayenne.map.DbEntity;
-import org.apache.cayenne.query.Query;
-
-/**
- * Interface for callback and delegate methods allowing implementing classes to control
- * various aspects of data porting via DataPort. DataPort instance will invoke appropriate
- * delegate methods during different stages of porting process.
- * 
- * @since 1.2: Prior to 1.2 DataPort classes were a part of cayenne-examples package.
- * @deprecated since 4.0
- */
-@Deprecated
-public interface DataPortDelegate {
-
-    /**
-     * Allows delegate to sort or otherwise alter a list of DbEntities right before the
-     * port starts.
-     */
-    List willPortEntities(DataPort portTool, List entities);
-
-    /**
-     * Invoked by DataPort right before the start of data port for a given entity. Allows
-     * delegate to handle such things like logging, etc. Also makes it possible to
-     * substitute or alter the select query used to fecth the source data, e.g. set a
-     * limiting qualifier.
-     */
-    Query willPortEntity(DataPort portTool, DbEntity entity, Query query);
-
-    /**
-     * Invoked by DataPort right after the end of data port for a given entity. Allows
-     * delegate to handle such things like logging, etc.
-     */
-    void didPortEntity(DataPort portTool, DbEntity entity, int rowCount);
-
-    /**
-     * Allows delegate to sort or otherwise alter a list of DbEntities right before data
-     * cleanup starts.
-     */
-    List willCleanData(DataPort portTool, List entities);
-
-    /**
-     * Invoked by DataPort right before the start of data cleanup for a given entity.
-     * Allows delegate to handle such things like logging, etc. Also makes it possible to
-     * substitute or alter the delete query used to cleanup the data, e.g. set a limiting
-     * qualifier.
-     */
-    Query willCleanData(DataPort portTool, DbEntity entity, Query query);
-
-    /**
-     * Invoked by DataPort right after the end of data cleanup for a given entity. Allows
-     * delegate to handle such things like logging, etc.
-     */
-    void didCleanData(DataPort portTool, DbEntity entity, int rowCount);
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 8a62c7f..5ccc1d7 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -82,6 +82,17 @@ UPGRADING TO 4.1.M2
       - removed static final boolean REMOTE_NOTIFICATION_DEFAULT = false; {without usages} in org.apache.cayenne.access.DataRowStore;
       - removed boolean notifyingRemoteListeners; {since 4.0 does nothing} in org.apache.cayenne.access.DataRowStore;
       - removed boolean isNotifyingRemoteListeners(); void setNotifyingRemoteListeners(boolean notifyingRemoteListeners); {since 4.0 never used} in org.apache.cayenne.access.DataRowStore;
+      - removed <taskdef name="cdataport" classname="org.apache.cayenne.tools.DataPortTask"/> in org.apache.cayenne.tools.antlib.xml;
+      - removed org.apache.cayenne.tools.AntDataPortDelegate and org.apache.cayenne.tools.DataPortTask;
+      - removed AntDataPortDelegateTest in org.apache.cayenne.tools.AntDataPortDelegateTest;
+      - removed List<?> filter(List<?> items) in org.apache.cayenne.dbsync.NamePatternMatcher {begore used in AntDataPortDelegate wich was removed};
+      - removed org.apache.cayenne.access.DataPort;
+      - removed org.apache.cayenne.access.DataPortDelegate;
+      - removed org.apache.cayenne.cache.invalidation.InvalidationFunction;
+      - removed DataMap loadEOModel(String path) {since 4.0 in favor of loadEOModel(URL)} in org.apache.cayenne.wocompat;
+      - removed DataMap loadEOModel(String path, boolean generateClientClass) {since 4.0 in favor of loadEOModel(URL, boolean)} in org.apache.cayenne.wocompat;
+      - removed Map loadModeIndex(URL url) {since 4.0 in favor of loadModeIndex(URL)} in org.apache.cayenne.wocompat;
+
 
 
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/ad4d5bd4/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
index 18fc903..795119e 100644
--- a/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
+++ b/modeler/cayenne-wocompat/src/main/java/org/apache/cayenne/wocompat/EOModelProcessor.java
@@ -72,14 +72,6 @@ public class EOModelProcessor {
 	}
 
 	/**
-	 * @deprecated since 4.0 in favor of {@link #loadModeIndex(URL)}.
-	 */
-	@Deprecated
-	public Map loadModeIndex(String path) throws Exception {
-		return loadModeIndex(new File(path).toURI().toURL());
-	}
-
-	/**
 	 * Returns index.eomodeld contents as a Map.
 	 * 
 	 * @since 4.0
@@ -104,22 +96,6 @@ public class EOModelProcessor {
 	}
 
 	/**
-	 * @deprecated since 4.0 in favor of {@link #loadEOModel(URL)}.
-	 */
-	@Deprecated
-	public DataMap loadEOModel(String path) throws Exception {
-		return loadEOModel(path, false);
-	}
-
-	/**
-	 * @deprecated since 4.0 in favor of {@link #loadEOModel(URL, boolean)}.
-	 */
-	@Deprecated
-	public DataMap loadEOModel(String path, boolean generateClientClass) throws Exception {
-		return loadEOModel(new File(path).toURI().toURL(), generateClientClass);
-	}
-
-	/**
 	 * Performs EOModel loading.
 	 * 
 	 * @param url


[11/30] cayenne git commit: CAY-2377. Cleanup deprecated code.

Posted by nt...@apache.org.
CAY-2377. Cleanup deprecated code.


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

Branch: refs/heads/master
Commit: a10d4bac8f05f9fb76527348f189da4f14695fab
Parents: 44dec79
Author: Arseni Bulatski <an...@gmail.com>
Authored: Fri Oct 27 15:09:00 2017 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Wed Nov 15 10:27:47 2017 +0300

----------------------------------------------------------------------
 .../cayenne/lifecycle/id/StringIdQuery.java     |  3 +-
 .../org/apache/cayenne/access/DataNode.java     | 20 --------------
 .../server/DataDomainProvider.java              |  1 -
 .../server/DefaultDataNodeFactory.java          |  2 --
 .../org/apache/cayenne/map/EntityResolver.java  | 10 -------
 .../apache/cayenne/query/BaseQueryMetadata.java | 11 --------
 .../apache/cayenne/query/CacheableQuery.java    | 29 +-------------------
 .../cayenne/remote/IncrementalSelectQuery.java  | 10 -------
 .../org/apache/cayenne/access/DataNodeIT.java   |  9 ------
 .../org/apache/cayenne/access/MockDataNode.java | 10 -------
 .../server/DataDomainProviderTest.java          |  2 --
 .../cayenne/query/SelectQueryCacheKeyIT.java    |  2 +-
 docs/doc/src/main/resources/UPGRADE.txt         | 19 ++++++++++++-
 13 files changed, 21 insertions(+), 107 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
index b207de0..3428c67 100644
--- a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
+++ b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/id/StringIdQuery.java
@@ -70,8 +70,7 @@ public class StringIdQuery implements Query {
 
     @Deprecated
     protected String name;
-    @Deprecated
-    protected DataMap dataMap;
+
     protected Collection<String> stringIds;
 
     protected transient Map<String, SelectQuery> idQueriesByEntity;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
index e02ea39..1211bdc 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DataNode.java
@@ -145,26 +145,6 @@ public class DataNode implements QueryEngine {
 	}
 
 	/**
-	 * Returns a location of DataSource of this node. Depending on how this node
-	 * was created, location is either a JNDI name, or a location of node XML
-	 * file, etc.
-	 *
-	 * @deprecated since 4.0. This information is irrelevant at the DataNode level
-	 */
-	@Deprecated
-	public String getDataSourceLocation() {
-		return dataSourceLocation;
-	}
-
-	/**
-	 * @deprecated since 4.0. This information is irrelevant at the DataNode level
-	 */
-	@Deprecated
-	public void setDataSourceLocation(String dataSourceLocation) {
-		this.dataSourceLocation = dataSourceLocation;
-	}
-
-	/**
 	 * Returns a name of DataSourceFactory class for this node.
 	 */
 	public String getDataSourceFactory() {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
index 1db8e9c..e616700 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
@@ -130,7 +130,6 @@ public class DataDomainProvider implements Provider<DataDomain> {
 		}
 
 		dataDomain.getEntityResolver().applyDBLayerDefaults();
-		dataDomain.getEntityResolver().applyObjectLayerDefaults();
 		dataDomain.getEntityResolver().setValueObjectTypeRegistry(valueObjectTypeRegistry);
 
 		for (DataNodeDescriptor nodeDescriptor : descriptor.getNodeDescriptors()) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java
index d419eb9..e9eaab7 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/configuration/server/DefaultDataNodeFactory.java
@@ -74,8 +74,6 @@ public class DefaultDataNodeFactory implements DataNodeFactory {
         dataNode.setSelectTranslatorFactory(selectTranslatorFactory);
         dataNode.setSqlTemplateProcessor(sqlTemplateProcessor);
 
-        dataNode.setDataSourceLocation(nodeDescriptor.getParameters());
-
         DataSource dataSource = dataSourceFactory.getDataSource(nodeDescriptor);
 
         dataNode.setDataSourceFactory(nodeDescriptor.getDataSourceFactoryType());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
index 74668ac..74b36f1 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/map/EntityResolver.java
@@ -121,16 +121,6 @@ public class EntityResolver implements MappingNamespace, Serializable {
 
     }
 
-    /**
-     * @since 3.0
-     * @deprecated since 4.0 does nothing. Previously it used to create runtime
-     *             ObjRelationships, that broke a lot of things.
-     */
-    @Deprecated
-    public void applyObjectLayerDefaults() {
-        // noop
-    }
-
     private String getUniqueRelationshipName(Entity entity) {
         String name;
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/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 ecfaa56..e8d8ce9 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
@@ -301,17 +301,6 @@ class BaseQueryMetadata implements QueryMetadata, Serializable {
 	}
 
 	/**
-	 * @since 3.0
-	 * @deprecated since 4.0, use {@link BaseQueryMetadata#setCacheGroup(String)}
-	 */
-	@Deprecated
-	void setCacheGroups(String... groups) {
-		if(groups.length > 0) {
-			this.cacheGroup = groups[0];
-		}
-	}
-
-	/**
 	 * @since 4.0
 	 */
 	@Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
index c5b339b..4258191 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/query/CacheableQuery.java
@@ -55,18 +55,6 @@ public abstract class CacheableQuery implements Query {
     }
 
     /**
-     * @since 3.0
-     * @deprecated since 4.0, use {@link CacheableQuery#setCacheGroup(String)}
-     */
-    @Deprecated
-    public void setCacheGroups(String... cacheGroups) {
-        getBaseMetaData().setCacheGroups(cacheGroups);
-        if(cacheGroups.length > 1) {
-            logger.warn("Multiple cache groups usage have been deprecated, only first one will be used.");
-        }
-    }
-
-    /**
      * @since 4.0
      */
     public void setCacheGroup(String cacheGroup) {
@@ -104,22 +92,7 @@ public abstract class CacheableQuery implements Query {
         setCacheGroup(cacheGroup);
     }
 
-    /**
-     * Instructs Cayenne to look for query results in the "shared" cache when
-     * running the query. This is a short-hand notation for:
-     *
-     * <pre>
-     * query.setCacheStrategy(QueryCacheStrategy.SHARED_CACHE);
-     * query.setCacheGroups(&quot;group1&quot;, &quot;group2&quot;);
-     * </pre>
-     * @deprecated since 4.0, use {@link CacheableQuery#useSharedCache(String)}
-     * @since 4.0
-     */
-    @Deprecated
-    public void useSharedCache(String... cacheGroups) {
-        setCacheStrategy(QueryCacheStrategy.SHARED_CACHE);
-        setCacheGroups(cacheGroups);
-    }
+
 
     /**
      * Instructs Cayenne to look for query results in the "shared" cache when

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
index 3191f77..1957337 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/remote/IncrementalSelectQuery.java
@@ -226,16 +226,6 @@ class IncrementalSelectQuery<T> extends SelectQuery<T> {
 	}
 
 	/**
-	 * @deprecated since 4.0 only first cache group will be used
-	 * 			   use {@link IncrementalSelectQuery#setCacheGroup(String)}
-	 */
-	@Override
-	@Deprecated
-	public void setCacheGroups(String... cacheGroups) {
-		query.setCacheGroups(cacheGroups);
-	}
-
-	/**
 	 * @since 4.0
 	 */
 	@Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/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 62d3adf..a5edeff 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
@@ -47,15 +47,6 @@ public class DataNodeIT extends ServerCase {
     }
 
     @Test
-    public void testDataSourceLocation() throws Exception {
-        String tstName = "tst_name";
-        DataNode node = new DataNode();
-        assertNull(node.getDataSourceLocation());
-        node.setDataSourceLocation(tstName);
-        assertEquals(tstName, node.getDataSourceLocation());
-    }
-
-    @Test
     public void testDataSourceFactory() throws Exception {
         String tstName = "tst_name";
         DataNode node = new DataNode();

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/cayenne-server/src/test/java/org/apache/cayenne/access/MockDataNode.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/access/MockDataNode.java b/cayenne-server/src/test/java/org/apache/cayenne/access/MockDataNode.java
index 6c47515..7ca067a 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/access/MockDataNode.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/access/MockDataNode.java
@@ -132,11 +132,6 @@ public class MockDataNode extends DataNode {
     }
 
     @Override
-    public String getDataSourceLocation() {
-        return node.getDataSourceLocation();
-    }
-
-    @Override
     public EntityResolver getEntityResolver() {
         return node.getEntityResolver();
     }
@@ -172,11 +167,6 @@ public class MockDataNode extends DataNode {
     }
 
     @Override
-    public void setDataSourceLocation(String dataSourceLocation) {
-        node.setDataSourceLocation(dataSourceLocation);
-    }
-
-    @Override
     public void setEntityResolver(EntityResolver entityResolver) {
         node.setEntityResolver(entityResolver);
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
index f9a54cb..ad828e0 100644
--- a/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
+++ b/cayenne-server/src/test/java/org/apache/cayenne/configuration/server/DataDomainProviderTest.java
@@ -229,7 +229,6 @@ public class DataDomainProviderTest {
         assertSame(node1, domain.lookupDataNode(map1));
         assertEquals(nodeDescriptor1.getDataSourceFactoryType(), node1.getDataSourceFactory());
         assertNotNull(node1.getDataSource());
-        assertEquals(nodeDescriptor1.getParameters(), node1.getDataSourceLocation());
 
         assertNotNull(node1.getSchemaUpdateStrategy());
         assertEquals(nodeDescriptor1.getSchemaUpdateStrategyType(), node1.getSchemaUpdateStrategy().getClass()
@@ -245,7 +244,6 @@ public class DataDomainProviderTest {
         assertSame(node2, domain.lookupDataNode(map2));
         assertNull(node2.getDataSourceFactory());
         assertNotNull(node2.getDataSource());
-        assertEquals(nodeDescriptor2.getParameters(), node2.getDataSourceLocation());
         assertNotNull(node2.getSchemaUpdateStrategy());
         assertEquals(SkipSchemaUpdateStrategy.class.getName(), node2.getSchemaUpdateStrategy().getClass().getName());
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/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 9a194d1..7c74b1d 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
@@ -112,7 +112,7 @@ public class SelectQueryCacheKeyIT extends ServerCase {
         assertNull(md1.getCacheGroup());
         
         SelectQuery<Artist> q2 = new SelectQuery<>(Artist.class);
-        q2.useSharedCache("g1", "g2");
+        q2.useSharedCache("g1");
 
         QueryMetadata md2 = q2.getMetaData(resolver);
         assertEquals(QueryCacheStrategy.SHARED_CACHE, md2.getCacheStrategy());

http://git-wip-us.apache.org/repos/asf/cayenne/blob/a10d4bac/docs/doc/src/main/resources/UPGRADE.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/UPGRADE.txt b/docs/doc/src/main/resources/UPGRADE.txt
index 8ae598a..14b8711 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -222,7 +222,24 @@ UPGRADING TO 4.1.M2
       - removed String[] getCacheGroups() in org.apache.cayenne.remote.RangeQuery;
       - removed String[] getCacheGroups() in org.apache.cayenne.lifecycle.id.StringIdQuery;
       - removed String[] getCacheGroups() in org.apache.cayenne.query.QueryMetadata;
-
+      - removed useSharedCache from void testUseSharedCache()  in org.apache.cayenne.query.SelectQueryCacheKeyIT;
+      - removed void useSharedCache(String... cacheGroups) {since 4.0, use CacheableQuery#useSharedCache(String)} in org.apache.cayenne.query.CacheableQuery;
+      - removed void setCacheGroups(String... groups) {since 4.0, use BaseQueryMetadata#setCacheGroup(String)} in org.apache.cayenne.query.BaseQueryMetadata;
+      - removed void setCacheGroups(String... cacheGroups) {since 4.0 only first cache group will be used use IncrementalSelectQuery#setCacheGroup(String)}
+      in org.apache.cayenne.remote.IncrementalSelectQuery;
+      - removed void setCacheGroups(String... cacheGroups) {since 4.0, use CacheableQuery#setCacheGroup(String)}
+      in org.apache.cayenne.query.CacheableQuery;
+      - removed applyObjectLayerDefaults() from org.apache.cayenne.configuration.server.DataDomainProvider;
+      - removed void applyObjectLayerDefaults() {since 4.0 does nothing} in org.apache.cayenne.map.EntityResolver;
+      - removed dataNode.setDataSourceLocation(nodeDescriptor.getParameters()); from org.apache.cayenne.configuration.server.DefaultDataNodeFactory;
+      - removed void testDataSourceLocation() in org.apache.cayenne.access.DataNodeIT;
+      - removed void setDataSourceLocation(String dataSourceLocation) from org.apache.cayenne.access.MockDataNode;
+      - removed void setDataSourceLocation(String dataSourceLocation) {since 4.0. This information is irrelevant at the DataNode level} from
+      org.apache.cayenne.access.DataNode;
+      - removed assertEquals(nodeDescriptor1.getParameters(), node1.getDataSourceLocation()); from org.apache.cayenne.configuration.server.DataDomainProviderTest;
+      - removed void getDataSourceLocation(String dataSourceLocation) from org.apache.cayenne.access.MockDataNode;
+      - removed void getDataSourceLocation(String dataSourceLocation) {since 4.0. This information is irrelevant at the DataNode level} from
+      org.apache.cayenne.access.DataNode;
 
 UPGRADING TO 4.1.M1