Repository: cayenne
Updated Branches:
  refs/heads/master 67225b387 -> d71bfe1b2


http://git-wip-us.apache.org/repos/asf/cayenne/blob/d71bfe1b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/cache/CacheInvalidationIT.java
----------------------------------------------------------------------
diff --git 
a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/cache/CacheInvalidationIT.java
 
b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/cache/CacheInvalidationIT.java
deleted file mode 100644
index 440da21..0000000
--- 
a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/cache/CacheInvalidationIT.java
+++ /dev/null
@@ -1,76 +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.cache;
-
-import org.apache.cayenne.ObjectContext;
-import org.apache.cayenne.lifecycle.db.E1;
-import org.apache.cayenne.lifecycle.unit.CacheInvalidationCase;
-import org.apache.cayenne.query.ObjectSelect;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * @since 4.0
- */
-public class CacheInvalidationIT extends CacheInvalidationCase {
-
-    @Ignore("MapQueryCache doesn't store cache groups in different caches, so 
it can't run this test for now.")
-    @Test
-    public void testInvalidate_Custom() throws Exception {
-        ObjectContext context = runtime.newContext();
-
-        // no explicit cache group must still work - it lands inside default 
cache called 'cayenne.default.cache'
-        ObjectSelect<E1> g0 = ObjectSelect.query(E1.class).localCache();
-        ObjectSelect<E1> g1 = ObjectSelect.query(E1.class).localCache("g1");
-        ObjectSelect<E1> g2 = ObjectSelect.query(E1.class).localCache("g2");
-
-        assertEquals(0, g0.selectCount(context));
-        assertEquals(0, g1.selectCount(context));
-        assertEquals(0, g2.selectCount(context));
-
-        e1.insert(1).insert(2);
-
-        // inserted via SQL... query results are still cached...
-        assertEquals(0, g0.selectCount(context));
-        assertEquals(0, g1.selectCount(context));
-        assertEquals(0, g2.selectCount(context));
-
-
-        E1 e1 = context.newObject(E1.class);
-        context.commitChanges();
-        runtime.getDataDomain().getQueryCache().removeGroup("g1");
-
-        // inserted via Cayenne... "g1" should get auto refreshed...
-        assertEquals(0, g0.selectCount(context));
-        assertEquals(3, g1.selectCount(context));
-        assertEquals(0, g2.selectCount(context));
-
-        context.deleteObject(e1);
-        context.commitChanges();
-
-        // deleted via Cayenne... "g1" should get auto refreshed
-        assertEquals(0, g0.selectCount(context));
-        assertEquals(2, g1.selectCount(context));
-        assertEquals(0, g2.selectCount(context));
-    }
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d71bfe1b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/unit/CacheInvalidationCase.java
----------------------------------------------------------------------
diff --git 
a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/unit/CacheInvalidationCase.java
 
b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/unit/CacheInvalidationCase.java
deleted file mode 100644
index 1350ce4..0000000
--- 
a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/unit/CacheInvalidationCase.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 java.util.Collection;
-import java.util.Collections;
-
-import org.apache.cayenne.Persistent;
-import org.apache.cayenne.configuration.server.ServerRuntime;
-import org.apache.cayenne.configuration.server.ServerRuntimeBuilder;
-import org.apache.cayenne.di.Module;
-import org.apache.cayenne.lifecycle.cache.CacheInvalidationModuleBuilder;
-import org.apache.cayenne.lifecycle.cache.InvalidationFunction;
-import org.apache.cayenne.lifecycle.cache.InvalidationHandler;
-import org.apache.cayenne.test.jdbc.DBHelper;
-import org.apache.cayenne.test.jdbc.TableHelper;
-import org.junit.After;
-import org.junit.Before;
-
-public class CacheInvalidationCase {
-
-       protected ServerRuntime runtime;
-
-       protected TableHelper e1;
-
-       @Before
-       public void startCayenne() throws Exception {
-               this.runtime = configureCayenne().build();
-
-               DBHelper dbHelper = new DBHelper(runtime.getDataSource());
-
-               this.e1 = new TableHelper(dbHelper, "E1").setColumns("ID");
-               this.e1.deleteAll();
-       }
-
-       protected ServerRuntimeBuilder configureCayenne() {
-               Module cacheInvalidationModule = CacheInvalidationModuleBuilder
-                               .builder()
-                .noCacheGroupsHandler()
-                               
.invalidationHandler(G1InvalidationHandler.class)
-                               .build();
-
-               return ServerRuntime.builder()
-                               .addModule(cacheInvalidationModule)
-                               .addConfig("cayenne-lifecycle.xml");
-       }
-
-       @After
-       public void shutdownCayenne() {
-               if (runtime != null) {
-                       runtime.shutdown();
-               }
-       }
-
-       public static class G1InvalidationHandler implements 
InvalidationHandler {
-               @Override
-               public InvalidationFunction canHandle(Class<? extends 
Persistent> type) {
-                       return new InvalidationFunction() {
-                               @Override
-                               public Collection<String> apply(Persistent 
persistent) {
-                                       return Collections.singleton("g1");
-                               }
-                       };
-               }
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d71bfe1b/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 20f6164..058e88c 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -18,10 +18,10 @@ CAY-2109 cayenne-crypto: add value authentication (HMAC)
 CAY-2210 Query cache: incorrect cache key for queries with custom value objects
 CAY-2255 ObjectSelect improvement: columns as full entities
 CAY-2258 DI: type-safe binding of List and Map
-CAY-2266 Move EventBridge implementations into autoloadable modules
-CAY-2267 Contribute lifecycle events listeners via DI
 CAY-2259 QueryCache: support for referencing type-safe caches
 CAY-2261 Replace NamedQuery with MappedXYZ in *datamap.vm
+CAY-2266 Move EventBridge implementations into autoloadable modules
+CAY-2267 Contribute lifecycle events listeners via DI
 CAY-2268 DI: Refactor ListBuilder API ambiguities for before() / after() 
bindings
 CAY-2269 Add support for date/time components extraction in expression 
functions
 CAY-2270 Update function support in expression parser

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d71bfe1b/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 ff68183..9011802 100644
--- a/docs/doc/src/main/resources/UPGRADE.txt
+++ b/docs/doc/src/main/resources/UPGRADE.txt
@@ -7,6 +7,13 @@ IMPORTANT: be sure to read all notes for the intermediate 
releases between your
 
 UPGRADING TO 4.0.M6
 
+* Per CAY-2262 new modules moved out from cayenne-lifecycle and should be 
added to pom.xml if the corresponding
+        functionality is used by your project:
+       - cayenne-cache-invalidation module
+
+* Per CAY-2259 InvalidationFunction returns CacheGroupDescriptor instead of 
simple String with cache group name,
+       change your custom functions accordingly.
+
 * Per CAY-2268 DI methods for binding ordered lists, introduced in 4.0.M3 
where changed:
        - method after() replaced by explicit addAfter(), addAllAfter()
        - method before() replaced by insertBefore(), insertAllBefore()

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d71bfe1b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 6895ce8..a3d82b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,13 +62,14 @@
                <module>cayenne-joda</module>
                <module>cayenne-dbcp2</module>
                <module>cayenne-jcache</module>
+               <module>cayenne-cache-invalidation</module>
                <module>itests</module>
                <module>modeler</module>
                <module>maven-plugins</module>
                <module>tutorials</module>
                <module>docs</module>
                <module>eventbridges</module>
-       </modules>
+    </modules>
        <issueManagement>
                <system>jira</system>
                <url>https://issues.apache.org/jira/browse/CAY</url>

Reply via email to