cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ntimof...@apache.org
Subject [01/30] cayenne git commit: CAY-2377. Clean up deprecated code.
Date Thu, 07 Dec 2017 10:09:30 GMT
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 <ancarseni@gmail.com>
Authored: Mon Oct 23 11:33:07 2017 +0300
Committer: Arseni Bulatski <ancarseni@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>


Mime
View raw message