You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/10/01 13:17:13 UTC

[isis] 06/10: ISIS-1742: removes @CollectionInteraction, @PostsCollectionAddedToEvent and @PostsCollectionRemovedFromEvent annotations and supporting event classes.

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1742-remove-deprecations
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 7035541abac7da31fd02b22c8e3773c82d6d753d
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Sat Sep 30 11:55:44 2017 +0200

    ISIS-1742: removes @CollectionInteraction, @PostsCollectionAddedToEvent and @PostsCollectionRemovedFromEvent annotations and supporting event classes.
---
 .../org/apache/isis/applib/IsisApplibModule.java   | 14 -----
 .../applib/annotation/CollectionInteraction.java   | 42 -------------
 .../annotation/PostsCollectionAddedToEvent.java    | 41 -------------
 .../PostsCollectionRemovedFromEvent.java           | 43 -------------
 .../services/eventbus/CollectionAddedToEvent.java  | 45 --------------
 .../services/eventbus/CollectionDomainEvent.java   | 42 ++-----------
 .../eventbus/CollectionInteractionEvent.java       | 70 ----------------------
 .../eventbus/CollectionRemovedFromEvent.java       | 46 --------------
 ...ctionInvocationFacetForDomainEventAbstract.java |  4 +-
 .../CollectionAnnotationFacetFactory.java          | 70 +---------------------
 ...ectionAddToFacetForDomainEventFromAbstract.java |  3 +-
 ...etForPostsCollectionAddedToEventAnnotation.java |  4 +-
 ...nRemoveFromFacetForDomainEventFromAbstract.java |  4 +-
 ...rPostsCollectionRemovedFromEventAnnotation.java |  4 +-
 ...HelperTest_newCollectionDomainEvent_forAdd.java | 20 +++----
 ...perTest_newCollectionDomainEvent_forRemove.java | 22 +++----
 .../CollectionAnnotationFacetFactoryTest.java      | 52 ++--------------
 17 files changed, 34 insertions(+), 492 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java b/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java
index 3476842..dd27a03 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/IsisApplibModule.java
@@ -28,20 +28,6 @@ public final class IsisApplibModule {
 
     public abstract static class CollectionDomainEvent<S,T> extends org.apache.isis.applib.services.eventbus.CollectionDomainEvent<S,T> {
         public CollectionDomainEvent() { }
-        /**
-         * @deprecated - use the {@link #CollectionDomainEvent() no-arg constructor} instead to avoid boilerplate.
-         */
-        @Deprecated
-        public CollectionDomainEvent(final S source, final Identifier identifier, final Of of) {
-            super(source, identifier, of);
-        }
-        /**
-         * @deprecated - use the {@link #CollectionDomainEvent() no-arg constructor} instead to avoid boilerplate.
-         */
-        @Deprecated
-        public CollectionDomainEvent(final S source, final Identifier identifier, final Of of, final T value) {
-            super(source, identifier, of, value);
-        }
     }
 
     public abstract static class PropertyDomainEvent<S,T> extends org.apache.isis.applib.services.eventbus.PropertyDomainEvent<S,T> {
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionInteraction.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionInteraction.java
deleted file mode 100644
index 41d62d4..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionInteraction.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.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import org.apache.isis.applib.services.eventbus.CollectionInteractionEvent;
-
-/**
- * @deprecated - see {@link Collection#domainEvent()}.
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Deprecated
-public @interface CollectionInteraction {
-
-    /**
-     * @deprecated - see {@link Collection#domainEvent()}.
-     */
-    @Deprecated
-    Class<? extends CollectionInteractionEvent<?,?>> value() default CollectionInteractionEvent.Default.class;
-
-}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/PostsCollectionAddedToEvent.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/PostsCollectionAddedToEvent.java
deleted file mode 100644
index 5196675..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/PostsCollectionAddedToEvent.java
+++ /dev/null
@@ -1,41 +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.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import org.apache.isis.applib.services.eventbus.CollectionAddedToEvent;
-
-/**
- * @deprecated - use instead {@link Collection#domainEvent()}
- */
-@Deprecated
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE, ElementType.METHOD})
-public @interface PostsCollectionAddedToEvent {
-
-    /**
-     * @deprecated - use {@link Collection#domainEvent()} instead.
-     */
-    @Deprecated
-    Class<? extends CollectionAddedToEvent<?,?>> value() default CollectionAddedToEvent.Default.class;
-}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/PostsCollectionRemovedFromEvent.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/PostsCollectionRemovedFromEvent.java
deleted file mode 100644
index 7121a13..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/PostsCollectionRemovedFromEvent.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.applib.annotation;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.isis.applib.services.eventbus.CollectionRemovedFromEvent;
-
-/**
- * @deprecated - use instead {@link Collection#domainEvent()}
- */
-@Deprecated
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE, ElementType.METHOD})
-public @interface PostsCollectionRemovedFromEvent {
-
-    /**
-     * @deprecated - use {@link Collection#domainEvent()} instead.
-     */
-    @Deprecated
-    Class<? extends CollectionRemovedFromEvent<?,?>> value() default CollectionRemovedFromEvent.Default.class;
-
-}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionAddedToEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionAddedToEvent.java
deleted file mode 100644
index e767c3c..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionAddedToEvent.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.services.eventbus;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * @deprecated - use instead {@link CollectionInteractionEvent}
- */
-@Deprecated
-public abstract class CollectionAddedToEvent<S,T> extends CollectionInteractionEvent<S,T> {
-    
-    private static final long serialVersionUID = 1L;
-
-    @Deprecated
-    public static class Default extends CollectionAddedToEvent<Object, Object> {
-        private static final long serialVersionUID = 1L;
-        public Default(Object source, Identifier identifier, Object value) {
-            super(source, identifier, value);
-        }
-    }
-
-    public CollectionAddedToEvent(
-            final S source, 
-            final Identifier identifier, 
-            final T value) {
-        super(source, identifier, Of.ADD_TO, value);
-    }
-}
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionDomainEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionDomainEvent.java
index 15102f7..77dc9f7 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionDomainEvent.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionDomainEvent.java
@@ -18,7 +18,6 @@
  */
 package org.apache.isis.applib.services.eventbus;
 
-import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.util.ObjectContracts;
 
 public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S> {
@@ -32,17 +31,8 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
      * raises an event or not depends upon the "isis.reflector.facet.collectionAnnotation.domainEvent.postForDefault"
      * configuration property.
      */
-    public static class Default extends CollectionInteractionEvent<Object, Object> {
+    public static class Default extends CollectionDomainEvent<Object, Object> {
         private static final long serialVersionUID = 1L;
-        public Default(){}
-        @Deprecated
-        public Default(
-                final Object source,
-                final Identifier identifier,
-                final Of of,
-                final Object value) {
-            super(source, identifier, of, value);
-        }
     }
     //endregion
 
@@ -52,7 +42,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
      * Convenience class to use indicating that an event should <i>not</i> be posted (irrespective of the configuration
      * property setting for the {@link Default} event.
      */
-    public static class Noop extends CollectionInteractionEvent<Object, Object> {
+    public static class Noop extends CollectionDomainEvent<Object, Object> {
         private static final long serialVersionUID = 1L;
     }
     //endregion
@@ -63,13 +53,13 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
      * Convenience class meaning that an event <i>should</i> be posted (irrespective of the configuration
      * property setting for the {@link Default} event..
      */
-    public static class Doop extends CollectionInteractionEvent<Object, Object> {
+    public static class Doop extends CollectionDomainEvent<Object, Object> {
         private static final long serialVersionUID = 1L;
     }
     //endregion
 
 
-    //region > constructors
+    //region > constructor
 
     /**
      * If used then the framework will set state via (non-API) setters.
@@ -81,30 +71,6 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
     public CollectionDomainEvent() {
     }
 
-    /**
-     * @deprecated - the {@link #CollectionDomainEvent() no-arg constructor} is recommended instead, to reduce boilerplate.
-     */
-    @Deprecated
-    public CollectionDomainEvent(
-            final S source,
-            final Identifier identifier,
-            final Of of) {
-        super(source, identifier);
-        this.of = of;
-    }
-
-    /**
-     * @deprecated - the {@link #CollectionDomainEvent() no-arg constructor} is recommended instead, to reduce boilerplate.
-     */
-    @Deprecated
-    public CollectionDomainEvent(
-            final S source,
-            final Identifier identifier,
-            final Of of,
-            final T value) {
-        this(source, identifier, of);
-        this.value = value;
-    }
     //endregion
 
     //region > value
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionInteractionEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionInteractionEvent.java
deleted file mode 100644
index 0663c89..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionInteractionEvent.java
+++ /dev/null
@@ -1,70 +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.isis.applib.services.eventbus;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * @deprecated - use {@link org.apache.isis.applib.services.eventbus.CollectionDomainEvent} instead.
- */
-@Deprecated
-public abstract class CollectionInteractionEvent<S,T> extends CollectionDomainEvent<S,T> {
-
-    //region > Default class
-    /**
-     * @deprecated - use {@link org.apache.isis.applib.services.eventbus.CollectionDomainEvent.Default} instead.
-     */
-    @Deprecated
-    public static class Default extends CollectionDomainEvent.Default {
-        private static final long serialVersionUID = 1L;
-        public Default(){}
-        @Deprecated
-        public Default(
-                final Object source,
-                final Identifier identifier,
-                final Of of,
-                final Object value) {
-            super(source, identifier, of, value);
-        }
-    }
-    //endregion
-
-    //region > constructors
-    public CollectionInteractionEvent() {
-    }
-
-    @Deprecated
-    public CollectionInteractionEvent(
-            final S source,
-            final Identifier identifier,
-            final Of of) {
-        super(source, identifier, of);
-    }
-
-    @Deprecated
-    public CollectionInteractionEvent(
-            final S source,
-            final Identifier identifier,
-            final Of of,
-            final T value) {
-        super(source, identifier, of, value);
-    }
-    //endregion
-
-}
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionRemovedFromEvent.java b/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionRemovedFromEvent.java
deleted file mode 100644
index ccebc41..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/services/eventbus/CollectionRemovedFromEvent.java
+++ /dev/null
@@ -1,46 +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.isis.applib.services.eventbus;
-
-import org.apache.isis.applib.Identifier;
-
-/**
- * @deprecated - use instead {@link CollectionInteractionEvent}
- */
-@Deprecated
-public abstract class CollectionRemovedFromEvent<S,T> extends CollectionInteractionEvent<S,T> {
-    
-    private static final long serialVersionUID = 1L;
-
-    @Deprecated
-    public static class Default extends CollectionRemovedFromEvent<Object, Object> {
-        private static final long serialVersionUID = 1L;
-        public Default(Object source, Identifier identifier, Object value) {
-            super(source, identifier, value);
-        }
-    }
-
-    public CollectionRemovedFromEvent(
-            final S source,
-            final Identifier identifier,
-            final T value) {
-        super(source, identifier, Of.REMOVE_FROM, value);
-    }
-
-}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
index 2092f68..38c7fe0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/ActionInvocationFacetForDomainEventAbstract.java
@@ -532,8 +532,8 @@ public abstract class ActionInvocationFacetForDomainEventAbstract
 
 
     /**
-     * Optional hook, previously added to allow (now removed) annotations to to discard the event if the domain event
-     * was incompatible.
+     * Optional hook, previously to allow facet implementations of (now removed) annotations to to discard the event if the domain event
+     * was incompatible.  Now a no-op I think.
      */
     protected ActionDomainEvent<?> verify(final ActionDomainEvent<?> event) {
         return event;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
index 55e1fc1..3dac2ba 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactory.java
@@ -25,12 +25,9 @@ import java.lang.reflect.Type;
 import java.lang.reflect.TypeVariable;
 
 import org.apache.isis.applib.annotation.Collection;
-import org.apache.isis.applib.annotation.CollectionInteraction;
 import org.apache.isis.applib.annotation.Disabled;
 import org.apache.isis.applib.annotation.Hidden;
 import org.apache.isis.applib.annotation.NotPersisted;
-import org.apache.isis.applib.annotation.PostsCollectionAddedToEvent;
-import org.apache.isis.applib.annotation.PostsCollectionRemovedFromEvent;
 import org.apache.isis.applib.annotation.TypeOf;
 import org.apache.isis.applib.services.eventbus.CollectionDomainEvent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -51,18 +48,13 @@ import org.apache.isis.core.metamodel.facets.collections.collection.hidden.Hidde
 import org.apache.isis.core.metamodel.facets.collections.collection.hidden.HiddenFacetForHiddenAnnotationOnCollection;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionAddToFacetForDomainEventFromAbstract;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionAddToFacetForDomainEventFromCollectionAnnotation;
-import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionAddToFacetForDomainEventFromCollectionInteractionAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionAddToFacetForDomainEventFromDefault;
-import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionAddToFacetForPostsCollectionAddedToEventAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionDomainEventFacetAbstract;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionDomainEventFacetDefault;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionDomainEventFacetForCollectionAnnotation;
-import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionDomainEventFacetForCollectionInteractionAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromAbstract;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromCollectionAnnotation;
-import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromCollectionInteractionAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromDefault;
-import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.notpersisted.NotPersistedFacetForCollectionAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.notpersisted.NotPersistedFacetForNotPersistedAnnotationOnCollection;
 import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromCollectionAnnotation;
@@ -80,9 +72,6 @@ import org.apache.isis.core.metamodel.util.EventUtil;
 
 public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner {
 
-    private final MetaModelValidatorForDeprecatedAnnotation postsCollectionAddedToEventValidator = new MetaModelValidatorForDeprecatedAnnotation(PostsCollectionAddedToEvent.class);
-    private final MetaModelValidatorForDeprecatedAnnotation postsCollectionRemovedFromEventValidator = new MetaModelValidatorForDeprecatedAnnotation(PostsCollectionRemovedFromEvent.class);
-    private final MetaModelValidatorForDeprecatedAnnotation collectionInteractionValidator = new MetaModelValidatorForDeprecatedAnnotation(CollectionInteraction.class);
     private final MetaModelValidatorForDeprecatedAnnotation hiddenValidator = new MetaModelValidatorForDeprecatedAnnotation(Hidden.class);
     private final MetaModelValidatorForDeprecatedAnnotation disabledValidator = new MetaModelValidatorForDeprecatedAnnotation(Disabled.class);
     private final MetaModelValidatorForDeprecatedAnnotation notPersistedValidator = new MetaModelValidatorForDeprecatedAnnotation(NotPersisted.class);
@@ -115,43 +104,14 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
         //
         // Set up CollectionDomainEventFacet, which will act as the hiding/disabling/validating advisor
         //
-        final PostsCollectionAddedToEvent postsCollectionAddedToEvent = Annotations.getAnnotation(method, PostsCollectionAddedToEvent.class);
-        final PostsCollectionRemovedFromEvent postsCollectionRemovedFromEvent = Annotations.getAnnotation(method, PostsCollectionRemovedFromEvent.class);
-        final CollectionInteraction collectionInteraction = Annotations.getAnnotation(method, CollectionInteraction.class);
         final Collection collection = Annotations.getAnnotation(method, Collection.class);
         final Class<? extends CollectionDomainEvent<?, ?>> collectionDomainEventType;
 
         final CollectionDomainEventFacetAbstract collectionDomainEventFacet;
 
-        // can't really do this, because would result in the event being fired for the
-        // hidden/disable/validate phases, most likely breaking existing code.
-        //
-        // in any case, which to use... addTo or removeFrom ?
-
-//        // search for @PostsCollectionAddedToEvent(value=...)
-//        if(postsCollectionAddedToEvent != null) {
-//            collectionDomainEventType = postsCollectionAddedToEvent.value();
-//            collectionDomainEventFacet = postsCollectionAddedToEventValidator.flagIfPresent(
-//                    new CollectionDomainEventFacetForPostsCollectionAddedToEventAnnotation(
-//                        collectionDomainEventType, servicesInjector, getSpecificationLoader(), holder));
-//        } else
-//        // search for @PostsCollectionRemovedFromEvent(value=...)
-//        if(postsCollectionRemovedFromEvent != null) {
-//            collectionDomainEventType = postsCollectionRemovedFromEvent.value();
-//            collectionDomainEventFacet = postsCollectionRemovedFromEventValidator.flagIfPresent(
-//                    new CollectionDomainEventFacetForPostsCollectionRemovedFromEventAnnotation(
-//                        collectionDomainEventType, servicesInjector, getSpecificationLoader(), holder));
-//        } else
-
-        // search for @CollectionInteraction(value=...)
-        if(collectionInteraction != null) {
-            collectionDomainEventType = collectionInteraction.value();
-            collectionDomainEventFacet = collectionInteractionValidator.flagIfPresent(
-                    new CollectionDomainEventFacetForCollectionInteractionAnnotation(
-                        collectionDomainEventType, servicesInjector, getSpecificationLoader(), holder), processMethodContext);
-        } else
+
         // search for @Collection(domainEvent=...)
-        if(collection != null && collection.domainEvent() != null) {
+        if(collection != null) {
             collectionDomainEventType = collection.domainEvent();
             collectionDomainEventFacet = new CollectionDomainEventFacetForCollectionAnnotation(
                     collectionDomainEventType, servicesInjector, getSpecificationLoader(), holder);
@@ -187,17 +147,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
             // one of these facets to be created.
             final CollectionAddToFacetForDomainEventFromAbstract replacementFacet;
 
-            // deprecated
-            if (postsCollectionAddedToEvent != null) {
-                replacementFacet = new CollectionAddToFacetForPostsCollectionAddedToEventAnnotation(
-                        postsCollectionAddedToEvent.value(), getterFacet, collectionAddToFacet, collectionDomainEventFacet, holder, servicesInjector);
-            } else
-            // deprecated (but more recently)
-            if(collectionInteraction != null) {
-                replacementFacet = new CollectionAddToFacetForDomainEventFromCollectionInteractionAnnotation(
-                        collectionDomainEventType, getterFacet, collectionAddToFacet, collectionDomainEventFacet, holder, servicesInjector);
-            } else
-            // current
             if(collection != null) {
                 replacementFacet = new CollectionAddToFacetForDomainEventFromCollectionAnnotation(
                         collectionDomainEventType, getterFacet, collectionAddToFacet, collectionDomainEventFacet, holder, servicesInjector);
@@ -216,15 +165,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
 
             final CollectionRemoveFromFacetForDomainEventFromAbstract replacementFacet;
 
-            // deprecated
-            if (postsCollectionRemovedFromEvent != null) {
-                replacementFacet = new CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation(postsCollectionRemovedFromEvent.value(), getterFacet, collectionRemoveFromFacet, collectionDomainEventFacet, servicesInjector, holder);
-            } else
-            // deprecated (but more recently)
-            if(collectionInteraction != null) {
-                replacementFacet = new CollectionRemoveFromFacetForDomainEventFromCollectionInteractionAnnotation(collectionDomainEventType, getterFacet, collectionRemoveFromFacet, collectionDomainEventFacet, servicesInjector, holder);
-            } else
-            // current
             if(collection != null) {
                 replacementFacet = new CollectionRemoveFromFacetForDomainEventFromCollectionAnnotation(collectionDomainEventType, getterFacet, collectionRemoveFromFacet, collectionDomainEventFacet, servicesInjector, holder);
             } else
@@ -367,9 +307,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
 
     @Override
     public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
-        metaModelValidator.add(postsCollectionAddedToEventValidator);
-        metaModelValidator.add(postsCollectionRemovedFromEventValidator);
-        metaModelValidator.add(collectionInteractionValidator);
         metaModelValidator.add(notPersistedValidator);
         metaModelValidator.add(typeOfValidator);
         metaModelValidator.add(hiddenValidator);
@@ -384,9 +321,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
         super.setServicesInjector(servicesInjector);
         final IsisConfiguration configuration = getConfiguration();
 
-        postsCollectionAddedToEventValidator.setConfiguration(configuration);
-        postsCollectionRemovedFromEventValidator.setConfiguration(configuration);
-        collectionInteractionValidator.setConfiguration(configuration);
         typeOfValidator.setConfiguration(configuration);
         notPersistedValidator.setConfiguration(configuration);
         hiddenValidator.setConfiguration(configuration);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java
index fd5c79e..6b97e80 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForDomainEventFromAbstract.java
@@ -112,8 +112,7 @@ public abstract class CollectionAddToFacetForDomainEventFromAbstract
     }
 
     /**
-     * Optional hook to allow the facet implementation for the deprecated {@link org.apache.isis.applib.annotation.PostsCollectionAddedToEvent} annotation
-     * to discard the event if of a different type.
+     * Optional hook to allow the facet implementation of now-deleted annotations to discard the event if of a different type; now a no-op, I think.
      */
     protected CollectionDomainEvent<?, ?> verify(CollectionDomainEvent<?, ?> event) {
         return event;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForPostsCollectionAddedToEventAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForPostsCollectionAddedToEventAnnotation.java
index 4602940..78616b9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForPostsCollectionAddedToEventAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionAddToFacetForPostsCollectionAddedToEventAnnotation.java
@@ -19,7 +19,6 @@
 
 package org.apache.isis.core.metamodel.facets.collections.collection.modify;
 
-import org.apache.isis.applib.services.eventbus.CollectionAddedToEvent;
 import org.apache.isis.applib.services.eventbus.CollectionDomainEvent;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
@@ -34,7 +33,7 @@ public class CollectionAddToFacetForPostsCollectionAddedToEventAnnotation
         extends CollectionAddToFacetForDomainEventFromAbstract {
 
     public CollectionAddToFacetForPostsCollectionAddedToEventAnnotation(
-            final Class<? extends CollectionAddedToEvent<?, ?>> eventType,
+            final Class<? extends CollectionDomainEvent<?, ?>> eventType,
             final PropertyOrCollectionAccessorFacet getterFacet,
             final CollectionAddToFacet collectionAddToFacet,
             final CollectionDomainEventFacetAbstract collectionInteractionFacet,
@@ -44,7 +43,6 @@ public class CollectionAddToFacetForPostsCollectionAddedToEventAnnotation
 
     @Override
     protected CollectionDomainEvent<?, ?> verify(final CollectionDomainEvent<?, ?> event) {
-        // will discard event if different type to that specified in the PostsCollectionAddedToEvent annotation.
         return event != null && value() == event.getClass() ? event : null;
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java
index dc9a106..bbc2734 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForDomainEventFromAbstract.java
@@ -111,8 +111,8 @@ public abstract class CollectionRemoveFromFacetForDomainEventFromAbstract
     }
 
     /**
-     * Optional hook to allow the facet implementation for the deprecated {@link org.apache.isis.applib.annotation.PostsCollectionRemovedFromEvent} annotation
-     * to discard the event if of a different type.
+     * Optional hook to allow the facet implementation for now removed annotations
+     * to discard the event if of a different type.  Now a no-op, I think.
      */
     protected CollectionDomainEvent<?, ?> verify(CollectionDomainEvent<?, ?> event) {
         return event;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation.java
index 9c5b108..07d5a17 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/modify/CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation.java
@@ -20,7 +20,6 @@
 package org.apache.isis.core.metamodel.facets.collections.collection.modify;
 
 import org.apache.isis.applib.services.eventbus.CollectionDomainEvent;
-import org.apache.isis.applib.services.eventbus.CollectionRemovedFromEvent;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
 import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
@@ -34,7 +33,7 @@ public class CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotati
         CollectionRemoveFromFacetForDomainEventFromAbstract {
 
     public CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation(
-            final Class<? extends CollectionRemovedFromEvent<?, ?>> eventType,
+            final Class<? extends CollectionDomainEvent<?, ?>> eventType,
             final PropertyOrCollectionAccessorFacet getterFacet,
             final CollectionRemoveFromFacet collectionRemoveFromFacet,
             final CollectionDomainEventFacetAbstract collectionInteractionFacet,
@@ -45,7 +44,6 @@ public class CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotati
 
     @Override
     protected CollectionDomainEvent<?, ?> verify(final CollectionDomainEvent<?, ?> event) {
-        // will discard event if different type to that specified in the PostsCollectionRemovedFromEvent annotation.
         return event != null && value() == event.getClass() ? event : null;
     }
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/DomainEventHelperTest_newCollectionDomainEvent_forAdd.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/DomainEventHelperTest_newCollectionDomainEvent_forAdd.java
index 9230f11..9fc1030 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/DomainEventHelperTest_newCollectionDomainEvent_forAdd.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/DomainEventHelperTest_newCollectionDomainEvent_forAdd.java
@@ -17,10 +17,11 @@
 package org.apache.isis.core.metamodel.facets;
 
 import java.util.Set;
+
 import org.junit.Test;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.eventbus.AbstractDomainEvent;
-import org.apache.isis.applib.services.eventbus.CollectionAddedToEvent;
 import org.apache.isis.applib.services.eventbus.CollectionDomainEvent;
 
 import static org.hamcrest.CoreMatchers.is;
@@ -35,13 +36,6 @@ public class DomainEventHelperTest_newCollectionDomainEvent_forAdd {
     
     public static class SomeDomainObjectCollectionDomainEvent extends CollectionDomainEvent<SomeDomainObject, SomeReferencedObject> {
         private static final long serialVersionUID = 1L;
-        public SomeDomainObjectCollectionDomainEvent(
-                SomeDomainObject source,
-                Identifier identifier,
-                Of of,
-                SomeReferencedObject value) {
-            super(source, identifier, of, value);
-        }
     }
     
     @Test
@@ -52,10 +46,10 @@ public class DomainEventHelperTest_newCollectionDomainEvent_forAdd {
 
         final CollectionDomainEvent<Object, Object> ev = new DomainEventHelper(null).newCollectionDomainEvent(
                 CollectionDomainEvent.Default.class, null, identifier, sdo, CollectionDomainEvent.Of.ADD_TO, other);
-        assertThat(ev.getSource(), is((Object)sdo));
+        assertThat(ev.getSource(), is(sdo));
         assertThat(ev.getIdentifier(), is(identifier));
         assertThat(ev.getOf(), is(CollectionDomainEvent.Of.ADD_TO));
-        assertThat(ev.getValue(), is((Object)other));
+        assertThat(ev.getValue(), is(other));
     }
 
     @Test
@@ -65,11 +59,11 @@ public class DomainEventHelperTest_newCollectionDomainEvent_forAdd {
         final Identifier identifier = Identifier.propertyOrCollectionIdentifier(SomeDomainObject.class, "references");
 
         final CollectionDomainEvent<Object, Object> ev = new DomainEventHelper(null).newCollectionDomainEvent(
-                CollectionAddedToEvent.Default.class, AbstractDomainEvent.Phase.EXECUTED, identifier, sdo, CollectionDomainEvent.Of.ADD_TO, other);
-        assertThat(ev.getSource(), is((Object)sdo));
+                CollectionDomainEvent.Default.class, AbstractDomainEvent.Phase.EXECUTED, identifier, sdo, CollectionDomainEvent.Of.ADD_TO, other);
+        assertThat(ev.getSource(), is(sdo));
         assertThat(ev.getIdentifier(), is(identifier));
         assertThat(ev.getOf(), is(CollectionDomainEvent.Of.ADD_TO));
-        assertThat(ev.getValue(), is((Object)other));
+        assertThat(ev.getValue(), is(other));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/DomainEventHelperTest_newCollectionDomainEvent_forRemove.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/DomainEventHelperTest_newCollectionDomainEvent_forRemove.java
index 8d8c634..2a67610 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/DomainEventHelperTest_newCollectionDomainEvent_forRemove.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/DomainEventHelperTest_newCollectionDomainEvent_forRemove.java
@@ -17,11 +17,12 @@
 package org.apache.isis.core.metamodel.facets;
 
 import java.util.Set;
+
 import org.junit.Test;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.eventbus.AbstractDomainEvent;
 import org.apache.isis.applib.services.eventbus.CollectionDomainEvent;
-import org.apache.isis.applib.services.eventbus.CollectionRemovedFromEvent;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
@@ -35,13 +36,6 @@ public class DomainEventHelperTest_newCollectionDomainEvent_forRemove {
     
     public static class SomeDomainObjectCollectionRemovedFromDomainEvent extends CollectionDomainEvent<SomeDomainObject, SomeReferencedObject> {
         private static final long serialVersionUID = 1L;
-        public SomeDomainObjectCollectionRemovedFromDomainEvent(
-                SomeDomainObject source,
-                Identifier identifier,
-                Of of,
-                SomeReferencedObject value) {
-            super(source, identifier, of, value);
-        }
     }
     
     @Test
@@ -51,11 +45,11 @@ public class DomainEventHelperTest_newCollectionDomainEvent_forRemove {
         Identifier identifier = Identifier.propertyOrCollectionIdentifier(SomeDomainObject.class, "references");
 
         final CollectionDomainEvent<Object, Object> ev = new DomainEventHelper(null).newCollectionDomainEvent(
-                CollectionRemovedFromEvent.Default.class, AbstractDomainEvent.Phase.EXECUTED, identifier, sdo, CollectionDomainEvent.Of.REMOVE_FROM, other);
-        assertThat(ev.getSource(), is((Object)sdo));
+                CollectionDomainEvent.Default.class, AbstractDomainEvent.Phase.EXECUTED, identifier, sdo, CollectionDomainEvent.Of.REMOVE_FROM, other);
+        assertThat(ev.getSource(), is(sdo));
         assertThat(ev.getIdentifier(), is(identifier));
         assertThat(ev.getOf(), is(CollectionDomainEvent.Of.REMOVE_FROM));
-        assertThat(ev.getValue(), is((Object)other));
+        assertThat(ev.getValue(), is(other));
     }
 
     @Test
@@ -65,11 +59,11 @@ public class DomainEventHelperTest_newCollectionDomainEvent_forRemove {
         Identifier identifier = Identifier.propertyOrCollectionIdentifier(SomeDomainObject.class, "references");
 
         final CollectionDomainEvent<Object, Object> ev = new DomainEventHelper(null).newCollectionDomainEvent(
-                CollectionRemovedFromEvent.Default.class, AbstractDomainEvent.Phase.EXECUTED, identifier, sdo, CollectionDomainEvent.Of.REMOVE_FROM, other);
-        assertThat(ev.getSource(), is((Object)sdo));
+                CollectionDomainEvent.Default.class, AbstractDomainEvent.Phase.EXECUTED, identifier, sdo, CollectionDomainEvent.Of.REMOVE_FROM, other);
+        assertThat(ev.getSource(), is(sdo));
         assertThat(ev.getIdentifier(), is(identifier));
         assertThat(ev.getOf(), is(CollectionDomainEvent.Of.REMOVE_FROM));
-        assertThat(ev.getValue(), is((Object)other));
+        assertThat(ev.getValue(), is(other));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
index af57772..f79b6f4 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
@@ -28,15 +28,9 @@ import org.junit.Test;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Collection;
-import org.apache.isis.applib.annotation.CollectionInteraction;
-import org.apache.isis.applib.annotation.PostsCollectionAddedToEvent;
-import org.apache.isis.applib.annotation.PostsCollectionRemovedFromEvent;
 import org.apache.isis.applib.annotation.When;
 import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.services.eventbus.CollectionAddedToEvent;
 import org.apache.isis.applib.services.eventbus.CollectionDomainEvent;
-import org.apache.isis.applib.services.eventbus.CollectionInteractionEvent;
-import org.apache.isis.applib.services.eventbus.CollectionRemovedFromEvent;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -162,26 +156,10 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
             class Order {
             }
             class Customer {
-                class OrdersAddedToDomainEvent extends CollectionAddedToEvent<Customer, Order> {
-                    public OrdersAddedToDomainEvent(
-                            final Customer source,
-                            final Identifier identifier,
-                            final Order value) {
-                        super(source, identifier, value);
-                    }
+                class OrdersAddedToOrRemovedFromDomainEvent extends CollectionDomainEvent<Customer, Order> {
                 }
 
-                class OrdersRemovedFromDomainEvent extends CollectionRemovedFromEvent<Customer, Order> {
-                    public OrdersRemovedFromDomainEvent(
-                            final Customer source,
-                            final Identifier identifier,
-                            final Order value) {
-                        super(source, identifier, value);
-                    }
-                }
-
-                @PostsCollectionAddedToEvent(OrdersAddedToDomainEvent.class)
-                @PostsCollectionRemovedFromEvent(OrdersRemovedFromDomainEvent.class)
+                @Collection(domainEvent = OrdersAddedToOrRemovedFromDomainEvent.class)
                 public List<Order> getOrders() {
                     return null;
                 }
@@ -224,14 +202,14 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
             Assert.assertNotNull(addToFacet);
             Assert.assertTrue(addToFacet instanceof CollectionAddToFacetForPostsCollectionAddedToEventAnnotation);
             final CollectionAddToFacetForPostsCollectionAddedToEventAnnotation addToFacetImpl = (CollectionAddToFacetForPostsCollectionAddedToEventAnnotation) addToFacet;
-            assertThat(addToFacetImpl.value(), classEqualTo(Customer.OrdersAddedToDomainEvent.class));
+            assertThat(addToFacetImpl.value(), classEqualTo(Customer.OrdersAddedToOrRemovedFromDomainEvent.class));
 
             // then
             final Facet removeFromFacet = facetedMethod.getFacet(CollectionRemoveFromFacet.class);
             Assert.assertNotNull(removeFromFacet);
             Assert.assertTrue(removeFromFacet instanceof CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation);
             final CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation removeFromFacetImpl = (CollectionRemoveFromFacetForPostsCollectionRemovedFromEventAnnotation) removeFromFacet;
-            assertThat(removeFromFacetImpl.value(), classEqualTo(Customer.OrdersRemovedFromDomainEvent.class));
+            assertThat(removeFromFacetImpl.value(), classEqualTo(Customer.OrdersAddedToOrRemovedFromDomainEvent.class));
         }
 
         // @Test
@@ -240,19 +218,10 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
             class Order {
             }
             class Customer {
-                class OrdersChangedDomainEvent extends CollectionInteractionEvent<Customer, Order> {
-                    public OrdersChangedDomainEvent(final Customer source, final Identifier identifier, final Of of) {
-                        super(source, identifier, of);
-                    }
-
-                    public OrdersChangedDomainEvent(
-                            final Customer source, final Identifier identifier, final Of of,
-                            final Order value) {
-                        super(source, identifier, of, value);
-                    }
+                class OrdersChangedDomainEvent extends CollectionDomainEvent<Customer, Order> {
                 }
 
-                @CollectionInteraction(OrdersChangedDomainEvent.class)
+                @Collection(domainEvent = OrdersChangedDomainEvent.class)
                 public List<Order> getOrders() {
                     return null;
                 }
@@ -306,16 +275,7 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
             }
             class Customer {
                 class OrdersChanged extends CollectionDomainEvent<Customer, Order> {
-                    public OrdersChanged(final Customer source, final Identifier identifier, final Of of) {
-                        super(source, identifier, of);
-                    }
-
-                    public OrdersChanged(final Customer source, final Identifier identifier, final Of of,
-                            final Order value) {
-                        super(source, identifier, of, value);
-                    }
                 }
-
                 @Collection(domainEvent = OrdersChanged.class)
                 public List<Order> getOrders() {
                     return null;

-- 
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.