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/05 11:01:49 UTC

[isis] 02/06: ISIS-1742: deletes @TypeOf annotation, corresponding facets

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 fd980974cc089056066f195f0e9c0cbee6efa826
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 5 12:05:21 2017 +0300

    ISIS-1742: deletes @TypeOf annotation, corresponding facets
---
 .../guides/rgant/_rgant-Collection_typeOf.adoc     |   2 +-
 .../guides/rgant/_rgant_aaa_deprecated.adoc        |   5 -
 .../org/apache/isis/applib/annotation/TypeOf.java  |  42 ------
 .../action/ActionAnnotationFacetFactory.java       |  25 +---
 .../TypeOfFacetOnActionForTypeOfAnnotation.java    |  50 -------
 .../CollectionAnnotationFacetFactory.java          |  19 +--
 ...ypeOfFacetOnCollectionFromTypeOfAnnotation.java |  45 -------
 .../action/ActionAnnotationFacetFactoryTest.java   |  28 ----
 .../CollectionAnnotationFacetFactoryTest.java      |  31 -----
 ...ollectionAnnotationFacetFactoryTest_typeOf.java | 146 +--------------------
 todo-deprecation-list.txt                          |   4 +-
 11 files changed, 14 insertions(+), 383 deletions(-)

diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_typeOf.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_typeOf.adoc
index 00efb05..ed6e4c2 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_typeOf.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Collection_typeOf.adoc
@@ -12,7 +12,7 @@ For example:
 [source,java]
 ----
 public void Customer {
-    @TypeOf(Order.class)
+    @Collection(typeOf=Order.class)
     public SortedSet getOutstandingOrders() { ... }
     ...
 }
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
index d61ada0..4bde822 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_deprecated.adoc
@@ -175,11 +175,6 @@ Also part of the toString representation of bookmarks, if using the Bookmark Ser
 |Domain
 |
 
-|`@TypeOf`
-|The type of entity stored within a collection, or as the result of invoking an action, if cannot be otherwise inferred, eg from generics.
-|`#typeOf()` attribute for xref:../rgant/rgant.adoc#_rgant-Collection_typeOf[`@Collection`] and xref:../rgant/rgant.adoc#_rgant-Action_typeOf[`@Action`]
-|Domain
-|
 
 
 |===
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/TypeOf.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/TypeOf.java
deleted file mode 100644
index ba30a60..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/TypeOf.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.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @deprecated - use {@link Collection#typeOf()} or {@link Action#typeOf()} instead.
- */
-@Deprecated
-@Inherited
-@Target({ ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface TypeOf {
-
-    /**
-     * @deprecated - use {@link Collection#typeOf()} or {@link Action#typeOf()} instead.
-     */
-    @Deprecated
-    Class<?> value();
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index d5ea3d7..20b79b7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -27,7 +27,6 @@ import org.apache.isis.applib.annotation.Command;
 import org.apache.isis.applib.annotation.Disabled;
 import org.apache.isis.applib.annotation.Hidden;
 import org.apache.isis.applib.annotation.Prototype;
-import org.apache.isis.applib.annotation.TypeOf;
 import org.apache.isis.applib.services.HasTransactionId;
 import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
@@ -59,7 +58,6 @@ import org.apache.isis.core.metamodel.facets.actions.action.publishing.Published
 import org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent;
 import org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetForActionAnnotation;
-import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetOnActionForTypeOfAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.bulk.BulkFacet;
 import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
 import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
@@ -79,7 +77,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract
 
     private final MetaModelValidatorForDeprecatedAnnotation bulkValidator = new MetaModelValidatorForDeprecatedAnnotation(Bulk.class);
     private final MetaModelValidatorForDeprecatedAnnotation commandValidator = new MetaModelValidatorForDeprecatedAnnotation(Command.class);
-    private final MetaModelValidatorForDeprecatedAnnotation typeOfValidator = new MetaModelValidatorForDeprecatedAnnotation(TypeOf.class);
     private final MetaModelValidatorForDeprecatedAnnotation hiddenValidator = new MetaModelValidatorForDeprecatedAnnotation(Hidden.class);
     private final MetaModelValidatorForDeprecatedAnnotation disabledValidator = new MetaModelValidatorForDeprecatedAnnotation(Disabled.class);
     private final MetaModelValidatorForDeprecatedAnnotation prototypeValidator = new MetaModelValidatorForDeprecatedAnnotation(Prototype.class);
@@ -335,21 +332,13 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract
             return;
         }
 
-        TypeOfFacet typeOfFacet = null;
-
-        // check for deprecated @TypeOf
-        final TypeOf annotation = Annotations.getAnnotation(method, TypeOf.class);
-        typeOfFacet = typeOfValidator.flagIfPresent(
-                TypeOfFacetOnActionForTypeOfAnnotation.create(annotation, getSpecificationLoader(), holder), processMethodContext);
-
         // check for @Action(typeOf=...)
-        if(typeOfFacet == null) {
-            final Action action = Annotations.getAnnotation(method, Action.class);
-            if (action != null) {
-                final Class<?> typeOf = action.typeOf();
-                if(typeOf != null && typeOf != Object.class) {
-                    typeOfFacet = new TypeOfFacetForActionAnnotation(typeOf, getSpecificationLoader(), holder);
-                }
+        TypeOfFacet typeOfFacet = null;
+        final Action action = Annotations.getAnnotation(method, Action.class);
+        if (action != null) {
+            final Class<?> typeOf = action.typeOf();
+            if(typeOf != null && typeOf != Object.class) {
+                typeOfFacet = new TypeOfFacetForActionAnnotation(typeOf, getSpecificationLoader(), holder);
             }
         }
 
@@ -375,7 +364,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract
     public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
         metaModelValidator.add(bulkValidator);
         metaModelValidator.add(commandValidator);
-        metaModelValidator.add(typeOfValidator);
         metaModelValidator.add(hiddenValidator);
         metaModelValidator.add(disabledValidator);
         metaModelValidator.add(prototypeValidator);
@@ -391,7 +379,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract
 
         bulkValidator.setConfiguration(configuration);
         commandValidator.setConfiguration(configuration);
-        typeOfValidator.setConfiguration(configuration);
         hiddenValidator.setConfiguration(configuration);
         disabledValidator.setConfiguration(configuration);
         prototypeValidator.setConfiguration(configuration);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/typeof/TypeOfFacetOnActionForTypeOfAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/typeof/TypeOfFacetOnActionForTypeOfAnnotation.java
deleted file mode 100644
index 97f3808..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/typeof/TypeOfFacetOnActionForTypeOfAnnotation.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.action.typeof;
-
-import org.apache.isis.applib.annotation.TypeOf;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetAbstract;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class TypeOfFacetOnActionForTypeOfAnnotation extends TypeOfFacetAbstract {
-
-    public static TypeOfFacet create(
-            final TypeOf annotation, final SpecificationLoader specificationLoader, final FacetedMethod holder) {
-        if(annotation == null) {
-            return null;
-        }
-        return new TypeOfFacetOnActionForTypeOfAnnotation(annotation.value(), specificationLoader, holder);
-    }
-
-    private TypeOfFacetOnActionForTypeOfAnnotation(
-            final Class<?> type,
-            final SpecificationLoader specificationLookup,
-            final FacetHolder holder) {
-        super(type, holder, specificationLookup);
-    }
-
-}
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 3dac2ba..766c4bf 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
@@ -28,7 +28,6 @@ import org.apache.isis.applib.annotation.Collection;
 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.TypeOf;
 import org.apache.isis.applib.services.eventbus.CollectionDomainEvent;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -58,7 +57,6 @@ import org.apache.isis.core.metamodel.facets.collections.collection.modify.Colle
 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;
-import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromTypeOfAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
 import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
@@ -75,7 +73,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
     private final MetaModelValidatorForDeprecatedAnnotation hiddenValidator = new MetaModelValidatorForDeprecatedAnnotation(Hidden.class);
     private final MetaModelValidatorForDeprecatedAnnotation disabledValidator = new MetaModelValidatorForDeprecatedAnnotation(Disabled.class);
     private final MetaModelValidatorForDeprecatedAnnotation notPersistedValidator = new MetaModelValidatorForDeprecatedAnnotation(NotPersisted.class);
-    private final MetaModelValidatorForDeprecatedAnnotation typeOfValidator = new MetaModelValidatorForDeprecatedAnnotation(TypeOf.class);
 
 
     public CollectionAnnotationFacetFactory() {
@@ -241,18 +238,10 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
             return;
         }
 
-        TypeOfFacet facet;
-
-        // check for deprecated @TypeOf
-        final TypeOf annotation = Annotations.getAnnotation(method, TypeOf.class);
-        facet = typeOfValidator.flagIfPresent(
-                TypeOfFacetOnCollectionFromTypeOfAnnotation.create(annotation, facetHolder, getSpecificationLoader()), processMethodContext);
-
-        // else check for @Collection(typeOf=...)
+        // check for @Collection(typeOf=...)
         final Collection collection = Annotations.getAnnotation(method, Collection.class);
-        if(facet == null) {
-            facet = TypeOfFacetOnCollectionFromCollectionAnnotation.create(collection, facetHolder, getSpecificationLoader());
-        }
+        TypeOfFacet facet = TypeOfFacetOnCollectionFromCollectionAnnotation
+                .create(collection, facetHolder, getSpecificationLoader());
 
         // else infer from return type
         if(facet == null) {
@@ -308,7 +297,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
     @Override
     public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
         metaModelValidator.add(notPersistedValidator);
-        metaModelValidator.add(typeOfValidator);
         metaModelValidator.add(hiddenValidator);
         metaModelValidator.add(disabledValidator);
     }
@@ -321,7 +309,6 @@ public class CollectionAnnotationFacetFactory extends FacetFactoryAbstract imple
         super.setServicesInjector(servicesInjector);
         final IsisConfiguration configuration = getConfiguration();
 
-        typeOfValidator.setConfiguration(configuration);
         notPersistedValidator.setConfiguration(configuration);
         hiddenValidator.setConfiguration(configuration);
         disabledValidator.setConfiguration(configuration);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/typeof/TypeOfFacetOnCollectionFromTypeOfAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/typeof/TypeOfFacetOnCollectionFromTypeOfAnnotation.java
deleted file mode 100644
index 6059abd..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/typeof/TypeOfFacetOnCollectionFromTypeOfAnnotation.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.core.metamodel.facets.collections.collection.typeof;
-
-import org.apache.isis.applib.annotation.TypeOf;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.FacetedMethod;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetAbstract;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class TypeOfFacetOnCollectionFromTypeOfAnnotation extends TypeOfFacetAbstract {
-
-    public static TypeOfFacetOnCollectionFromTypeOfAnnotation create(final TypeOf annotation, final FacetedMethod facetHolder, final SpecificationLoader specificationLoader) {
-        if(annotation == null) {
-            return null;
-        }
-        return new TypeOfFacetOnCollectionFromTypeOfAnnotation(annotation.value(), facetHolder, specificationLoader);
-    }
-
-    private TypeOfFacetOnCollectionFromTypeOfAnnotation(final Class<?> type, final FacetHolder holder, final SpecificationLoader specificationLookup) {
-        super(type, holder, specificationLookup);
-    }
-
-}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
index 8de356a..a79bf4b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
@@ -62,7 +62,6 @@ import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInv
 import org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetForActionAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration;
 import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetForActionAnnotation;
-import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetOnActionForTypeOfAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.bulk.BulkFacet;
 import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
 import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
@@ -1302,32 +1301,6 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
     public static class TypeOf extends ActionAnnotationFacetFactoryTest {
 
-        @Test
-        public void whenDeprecatedTypeOfAnnotationOnActionReturningCollection() {
-
-            class Order {
-            }
-            class Customer {
-                @org.apache.isis.applib.annotation.TypeOf(Order.class)
-                public Collection someAction() {
-                    return null;
-                }
-            }
-
-            // given
-            final Class<?> cls = Customer.class;
-            actionMethod = findMethod(cls, "someAction");
-
-            // when
-            final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
-            facetFactory.processTypeOf(processMethodContext);
-
-            // then
-            final TypeOfFacet facet = facetedMethod.getFacet(TypeOfFacet.class);
-            Assert.assertNotNull(facet);
-            Assert.assertTrue(facet instanceof TypeOfFacetOnActionForTypeOfAnnotation);
-            assertThat(facet.value(), classEqualTo(Order.class));
-        }
 
         @Test
         public void whenDeprecatedTypeOfAnnotationOnActionNotReturningCollection() {
@@ -1335,7 +1308,6 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             class Order {
             }
             class Customer {
-                @org.apache.isis.applib.annotation.TypeOf(Order.class)
                 public Customer someAction() {
                     return null;
                 }
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 51c827d..acf160b 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
@@ -51,7 +51,6 @@ import org.apache.isis.core.metamodel.facets.collections.collection.modify.Colle
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromCollectionAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.collection.modify.CollectionRemoveFromFacetForDomainEventFromDefault;
 import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromCollectionAnnotation;
-import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromTypeOfAnnotation;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacet;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionAddToFacetAbstract;
 import org.apache.isis.core.metamodel.facets.collections.modify.CollectionRemoveFromFacet;
@@ -453,36 +452,6 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
     public static class TypeOf extends CollectionAnnotationFacetFactoryTest {
 
-        @Test
-        public void whenDeprecatedTypeOfAnnotation() {
-
-            class Order {
-            }
-            class Customer {
-                @org.apache.isis.applib.annotation.TypeOf(Order.class)
-                public List<Order> getOrders() {
-                    return null;
-                }
-
-                public void setOrders(final List<Order> orders) {
-                }
-            }
-
-            // given
-            final Class<?> cls = Customer.class;
-            collectionMethod = findMethod(Customer.class, "getOrders");
-
-            // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, null, collectionMethod, mockMethodRemover, facetedMethod);
-            facetFactory.processTypeOf(processMethodContext);
-
-            // then
-            final TypeOfFacet facet = facetedMethod.getFacet(TypeOfFacet.class);
-            Assert.assertNotNull(facet);
-            Assert.assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-            assertThat(facet.value(), classEqualTo(Order.class));
-        }
 
         @Test
         public void whenCollectionAnnotation() {
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
index 5687eba..a14bdcf 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest_typeOf.java
@@ -21,16 +21,13 @@ package org.apache.isis.core.metamodel.facets.collections.collection;
 
 import java.lang.reflect.Method;
 import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import org.apache.isis.applib.annotation.TypeOf;
+
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromArray;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacetInferredFromGenerics;
-import org.apache.isis.core.metamodel.facets.collections.collection.typeof.TypeOfFacetOnCollectionFromTypeOfAnnotation;
 
 public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFactoryTest {
 
@@ -49,53 +46,6 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
         super.tearDown();
     }
 
-    public void testTypeOfFacetInferredForActionWithJavaUtilCollectionReturnType() {
-        class Order {
-        }
-        class Customer {
-            // rawtypes are intention for this test
-            @SuppressWarnings({ "unused", "rawtypes" }) 
-            @TypeOf(Order.class)
-            public Collection someAction() {
-                return null;
-            }
-        }
-        final Method actionMethod = findMethod(Customer.class, "someAction");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
-    public void testTypeOfFacetInferredForCollectionWithJavaUtilCollectionReturnType() {
-        class Order {
-        }
-        class Customer {
-            // rawtypes are intention for this test
-            @SuppressWarnings({ "unused", "rawtypes" })
-            @TypeOf(Order.class)
-            public Collection getOrders() {
-                return null;
-            }
-        }
-        final Method accessorMethod = findMethod(Customer.class, "getOrders");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, accessorMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
 
     public void testTypeOfFacetInferredForActionWithGenericCollectionReturnType() {
         class Order {
@@ -139,100 +89,6 @@ public class CollectionAnnotationFacetFactoryTest_typeOf extends AbstractFacetFa
 
     }
 
-    public void testTypeOfFacetInferredForActionWithJavaUtilListReturnType() {
-        class Order {
-        }
-        class Customer {
-            // rawTypes is intentional here
-            @SuppressWarnings({ "unused", "rawtypes" })
-            @TypeOf(Order.class)
-            public List someAction() {
-                return null;
-            }
-        }
-        final Method actionMethod = findMethod(Customer.class, "someAction");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
-    public void testTypeOfFacetInferredForCollectionWithJavaUtilListReturnType() {
-        class Order {
-        }
-        class Customer {
-            // rawTypes is intentional here
-            @SuppressWarnings({ "unused", "rawtypes" })
-            @TypeOf(Order.class)
-            public List getOrders() {
-                return null;
-            }
-        }
-        final Method accessorMethod = findMethod(Customer.class, "getOrders");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, accessorMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
-    public void testTypeOfFacetInferredForActionWithJavaUtilSetReturnType() {
-        class Order {
-        }
-        class Customer {
-            @SuppressWarnings("unused")
-            @TypeOf(Order.class)
-            public Set someAction() {
-                return null;
-            }
-        }
-        final Method actionMethod = findMethod(Customer.class, "someAction");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, actionMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
-    public void testTypeOfFacetInferredForCollectionWithJavaUtilSetReturnType() {
-        class Order {
-        }
-        class Customer {
-            @SuppressWarnings("unused")
-            @TypeOf(Order.class)
-            public Set getOrders() {
-                return null;
-            }
-        }
-        final Method accessorMethod = findMethod(Customer.class, "getOrders");
-
-        facetFactory.process(new ProcessMethodContext(Customer.class, null, null, accessorMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(TypeOfFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof TypeOfFacetOnCollectionFromTypeOfAnnotation);
-        final TypeOfFacetOnCollectionFromTypeOfAnnotation typeOfFacetOnCollectionAnnotation = (TypeOfFacetOnCollectionFromTypeOfAnnotation) facet;
-        assertEquals(Order.class, typeOfFacetOnCollectionAnnotation.value());
-
-        assertNoMethodsRemoved();
-    }
-
 
     public void testTypeOfFacetIsInferredForCollectionFromOrderArray() {
         class Order {
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index ba407a7..6f62dac 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -62,6 +62,9 @@ org.apache.isis.applib.annotation
     TypicalLength.java - entire annotation, use @PropertyLayout(typicalLength=...) instead.
 
 
+    TypeOf.java - entire annotation, use @Collection(typeOf=...) or @Action(typeOf=...) instead.
+
+
 TO REMOVE:
 
 org.apache.isis.applib
@@ -114,7 +117,6 @@ org.apache.isis.applib.annotation
 
     MustSatisfy.java - entire annotation, use @Property(mustSatisfy=....) or @Parameter(mustSatisfy=...) instead
     RegEx.java - entire annotation, use @Property(regexPatternFlags=...) or @Parameter(regexPatternFlags=...) instead; or alternatively NEW SUPPORT for JSR-303 @Pattern annotation (http://beanvalidation.org/1.0/spec/, chapter 6).
-    TypeOf.java - entire annotation, use @Collection(typeOf=...) or @Action(typeOf=...) instead.
 
     NotContributed.java - entire annotation, use @DomainService(nature=...) or mixins instead.
     NotInServiceMenu.java - entire annotation, use @DomainService(nature=...) or mixins instead.

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