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/06 08:35:51 UTC
[isis] 10/13: ISIS-1742: removes @Bookmarkable annotation + 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 b1dfa020f8428e5b57e71a3c423abd921a3a6c8e
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Oct 5 16:52:05 2017 +0300
ISIS-1742: removes @Bookmarkable annotation + facets
---
.../guides/rgant/_rgant_aaa_deprecated.adoc | 7 ---
.../isis/applib/annotation/AutoComplete.java | 70 ----------------------
.../isis/applib/annotation/Bookmarkable.java | 47 ---------------
.../object/bookmarkpolicy/BookmarkPolicyFacet.java | 1 -
...aBookmarkableAnnotationElseFallbackFactory.java | 25 +-------
.../DomainObjectAnnotationFacetFactory.java | 39 +-----------
...kmarkableAnnotationFacetFactoryTest_action.java | 3 -
...okmarkableAnnotationFacetFactoryTest_class.java | 2 -
todo-deprecation-list.txt | 8 +--
9 files changed, 9 insertions(+), 193 deletions(-)
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 00d78a8..3baf515 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
@@ -22,13 +22,6 @@ The annotations listed in the table below are still supported by Apache Isis, bu
|Layer
|xref:../ugvw/ugvw.adoc#_ugvw_layout_file-based[File-based layout]?
-|`@AutoComplete`
-|Repository method to search for entities
-|xref:../rgant/rgant.adoc#_rgant-DomainObject_autoCompleteRepository[`@DomainObject` +
-`#autoCompleteRepository()`]
-|UI/Domain
-|
-
|`@Bookmarkable`
|Whether (and how) to create a bookmark for visited object.
|xref:../rgant/rgant.adoc#_rgant-DomainObjectLayout_bookmarking[`@DomainObjectLayout` +
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/AutoComplete.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/AutoComplete.java
deleted file mode 100644
index c08d544..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/AutoComplete.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.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;
-
-import org.apache.isis.applib.services.bookmark.Bookmark;
-
-/**
- * @deprecated - see {@link DomainObject#autoCompleteRepository()}.
- */
-@Inherited
-@Target({ ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-@Deprecated
-public @interface AutoComplete {
-
- /**
- * @deprecated - never implemented, also not required.
- */
- @Deprecated
- public static class Candidate {
- private final String title;
- private final Bookmark bookmark;
- public Candidate(String title, Bookmark bookmark) {
- this.title = title;
- this.bookmark = bookmark;
- }
- public String getTitle() {
- return title;
- }
- public Bookmark getBookmark() {
- return bookmark;
- }
- }
-
- /**
- * @deprecated - see {@link DomainObject#autoCompleteRepository()}.
- */
- @Deprecated
- Class<?> repository();
-
- /**
- * @deprecated - see {@link DomainObject#autoCompleteAction()}.
- */
- @Deprecated
- String action() default "autoComplete";
-
-}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/Bookmarkable.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/Bookmarkable.java
deleted file mode 100644
index 18e2b06..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/Bookmarkable.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.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;
-
-/**
- * Indicates the policy by which the entity or action can be bookmarked.
- *
- * <p>
- * Three {@link BookmarkPolicy policies} are defined, which control how bookmarked entities are organized.
- * These have no meaning for bookmarkable actions.
- *
- * @deprecated - see {@link DomainObjectLayout#bookmarking()}.
- */
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Bookmarkable {
-
- /**
- * @deprecated - see {@link DomainObjectLayout#bookmarking()}.
- */
- @Deprecated
- BookmarkPolicy value() default BookmarkPolicy.AS_ROOT;
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkPolicyFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkPolicyFacet.java
index 07cd2c1..e2c5525 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkPolicyFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkPolicyFacet.java
@@ -20,7 +20,6 @@ package org.apache.isis.core.metamodel.facets.object.bookmarkpolicy;
import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.Bookmarkable;
import org.apache.isis.core.metamodel.facets.SingleValueFacet;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/bookmarkable/BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/bookmarkable/BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory.java
index 09e23dd..17bf942 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/bookmarkable/BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/bookmarkable/BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory.java
@@ -22,13 +22,10 @@ package org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.bookmarkable
import java.util.List;
import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.Bookmarkable;
import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facetapi.MetaModelValidatorRefiner;
-import org.apache.isis.core.metamodel.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
@@ -38,36 +35,25 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.Contributed;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting;
import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
public class BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner {
- private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(Bookmarkable.class);
-
public BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory() {
super(FeatureType.OBJECTS_AND_ACTIONS);
}
@Override
public void process(final ProcessClassContext processClassContext) {
- final Bookmarkable annotation = Annotations.getAnnotation(processClassContext.getCls(), Bookmarkable.class);
- FacetUtil.addFacet(create(annotation, processClassContext.getFacetHolder(), null));
+ FacetUtil.addFacet(new BookmarkPolicyFacetFallback(processClassContext.getFacetHolder()));
}
@Override
public void process(final ProcessMethodContext processMethodContext) {
- final Bookmarkable annotation = Annotations.getAnnotation(processMethodContext.getMethod(), Bookmarkable.class);
- final BookmarkPolicyFacet facet = create(annotation, processMethodContext.getFacetHolder(), processMethodContext);
- FacetUtil.addFacet(facet);
- }
-
- private BookmarkPolicyFacet create(final Bookmarkable annotation, final FacetHolder holder, final ProcessMethodContext processMethodContext) {
- return annotation == null ? new BookmarkPolicyFacetFallback(holder) : validator.flagIfPresent(new BookmarkPolicyFacetViaBookmarkableAnnotation(annotation.value(), holder), processMethodContext);
+ FacetUtil.addFacet(new BookmarkPolicyFacetFallback(processMethodContext.getFacetHolder()));
}
-
/**
* Violation if there is an action that is bookmarkable but does not have safe action semantics.
*/
@@ -96,15 +82,8 @@ public class BookmarkPolicyFacetViaBookmarkableAnnotationElseFallbackFactory ext
return true;
}
}));
- metaModelValidator.add(validator);
}
- @Override
- public void setServicesInjector(final ServicesInjector servicesInjector) {
- super.setServicesInjector(servicesInjector);
- IsisConfiguration configuration = servicesInjector.getConfigurationServiceInternal();
- validator.setConfiguration(configuration);
- }
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index b0ea49d..89e938b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -26,7 +26,6 @@ import javax.annotation.PostConstruct;
import com.google.common.collect.Maps;
-import org.apache.isis.applib.annotation.AutoComplete;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Immutable;
import org.apache.isis.applib.annotation.Nature;
@@ -60,7 +59,6 @@ import org.apache.isis.core.metamodel.facets.object.callbacks.RemovingLifecycleE
import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatedLifecycleEventFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.domainobject.auditing.AuditableFacetForDomainObjectAnnotation;
-import org.apache.isis.core.metamodel.facets.object.domainobject.autocomplete.AutoCompleteFacetForAutoCompleteAnnotation;
import org.apache.isis.core.metamodel.facets.object.domainobject.autocomplete.AutoCompleteFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.domainobject.choices.ChoicesFacetForDomainObjectAnnotation;
import org.apache.isis.core.metamodel.facets.object.domainobject.editing.ImmutableFacetForDomainObjectAnnotation;
@@ -92,7 +90,6 @@ import org.apache.isis.objectstore.jdo.metamodel.facets.object.persistencecapabl
public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
implements MetaModelValidatorRefiner, PostConstructMethodCache {
- private final MetaModelValidatorForDeprecatedAnnotation autoCompleteValidator = new MetaModelValidatorForDeprecatedAnnotation(AutoComplete.class);
private final MetaModelValidatorForDeprecatedAnnotation immutableValidator = new MetaModelValidatorForDeprecatedAnnotation(Immutable.class);
private final MetaModelValidatorForDeprecatedAnnotation objectTypeValidator = new MetaModelValidatorForDeprecatedAnnotation(ObjectType.class);
private final MetaModelValidatorForValidationFailures autoCompleteInvalid = new MetaModelValidatorForValidationFailures();
@@ -170,43 +167,15 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
final Class<?> cls = processClassContext.getCls();
final FacetHolder facetHolder = processClassContext.getFacetHolder();
- // check for the deprecated @AutoComplete annotation first
- final AutoComplete autoCompleteAnnot = Annotations.getAnnotation(cls, AutoComplete.class);
- Facet facet = autoCompleteValidator.flagIfPresent(createFor(facetHolder, autoCompleteAnnot, cls));
-
- // else check from @DomainObject(auditing=...)
- if(facet == null) {
- final DomainObject domainObjectAnnot = Annotations.getAnnotation(cls, DomainObject.class);
- facet = createFor(domainObjectAnnot, facetHolder, cls);
- }
+ // check from @DomainObject(auditing=...)
+ final DomainObject domainObjectAnnot = Annotations.getAnnotation(cls, DomainObject.class);
+ Facet facet = createFor(domainObjectAnnot, facetHolder, cls);
// then add
FacetUtil.addFacet(facet);
}
private AutoCompleteFacet createFor(
- final FacetHolder facetHolder,
- final AutoComplete annotation,
- final Class<?> cls) {
- if(annotation == null) {
- return null;
- }
-
- final Class<?> repositoryClass = annotation.repository();
- final String actionName = annotation.action();
-
- if(!isServiceType(cls, "@AutoComplete", repositoryClass)) {
- return null;
- }
- final Method repositoryMethod = findRepositoryMethod(cls, "@AutoComplete", repositoryClass, actionName);
- if(repositoryMethod == null) {
- return null;
- }
- return new AutoCompleteFacetForAutoCompleteAnnotation(
- facetHolder, repositoryClass, repositoryMethod, servicesInjector);
- }
-
- private AutoCompleteFacet createFor(
final DomainObject domainObject,
final FacetHolder facetHolder,
final Class<?> cls) {
@@ -543,7 +512,6 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
}));
- metaModelValidator.add(autoCompleteValidator);
metaModelValidator.add(immutableValidator);
metaModelValidator.add(objectTypeValidator);
@@ -559,7 +527,6 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
super.setServicesInjector(servicesInjector);
IsisConfiguration configuration = getConfiguration();
- autoCompleteValidator.setConfiguration(configuration);
immutableValidator.setConfiguration(configuration);
objectTypeValidator.setConfiguration(configuration);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java
index bb230eb..d3df165 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/bookmarkable/BookmarkableAnnotationFacetFactoryTest_action.java
@@ -21,8 +21,6 @@ package org.apache.isis.core.metamodel.facets.actions.bookmarkable;
import java.lang.reflect.Method;
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.Bookmarkable;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
@@ -49,7 +47,6 @@ public class BookmarkableAnnotationFacetFactoryTest_action extends AbstractFacet
public void testBookmarkableAnnotationPickedUpOnClass() {
class Customer {
- @Bookmarkable(BookmarkPolicy.AS_CHILD)
public void placeOrder(){}
}
final Method actionMethod = findMethod(Customer.class, "placeOrder");
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java
index 8b28064..d3d9147 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bookmarkpolicy/BookmarkableAnnotationFacetFactoryTest_class.java
@@ -20,7 +20,6 @@
package org.apache.isis.core.metamodel.facets.object.bookmarkpolicy;
import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.Bookmarkable;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
@@ -48,7 +47,6 @@ public class BookmarkableAnnotationFacetFactoryTest_class extends AbstractFacetF
}
public void testBookmarkableAnnotationPickedUpOnClass() {
- @Bookmarkable(BookmarkPolicy.AS_CHILD)
class Customer {
}
diff --git a/todo-deprecation-list.txt b/todo-deprecation-list.txt
index fa71f54..f7e78af 100644
--- a/todo-deprecation-list.txt
+++ b/todo-deprecation-list.txt
@@ -10,13 +10,9 @@ org.apache.isis.applib
DomainObjectContainer.java - entire class
-
-
org.apache.isis.applib.annotation
- AutoComplete.java - entire annotation, use @DomainObject(autoComplete...=...)
- Bookmarkable.java - entire annotation, use @DomainObjectLayout(bookmarking=...)
Bulk.java - entire annotation, use @Action(invokeOn=...)
Bulk.InteractionContext - entire service, use ActionInvocationContext service instead
@@ -320,6 +316,10 @@ org.apache.isis.applib.annotation
PublishingPayloadFactoryForAction.java - entire annotation, replaced with simpler PublisherService SPI
PublishingPayloadFactoryForObject.java - entire annotation, replaced with simpler PublisherService SPI
+ AutoComplete.java - entire annotation, use @DomainObject(autoComplete...=...)
+
+ Bookmarkable.java - entire annotation, use @DomainObjectLayout(bookmarking=...)
+
ActionSemantics.java - entire annotation, use @Action(semantics=...)
Idempotent.java - entire annotation, use @Action(semantics=...) instead.
QueryOnly.java - entire annotation, use @Action(semantics=...) instead.
--
To stop receiving notification emails like this one, please contact
"commits@isis.apache.org" <co...@isis.apache.org>.