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/03 14:53:30 UTC
[isis] branch dev/2.0.0/ISIS-1742-remove-deprecations updated:
ISIS-1742: deletes @DescribedAs and corresponding facets,
updates/deletes corresponding factories
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
The following commit(s) were added to refs/heads/dev/2.0.0/ISIS-1742-remove-deprecations by this push:
new f948625 ISIS-1742: deletes @DescribedAs and corresponding facets, updates/deletes corresponding factories
f948625 is described below
commit f948625c8e8d74be8425eff1044344c9a4eef01b
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 3 15:45:49 2017 +0100
ISIS-1742: deletes @DescribedAs and corresponding facets, updates/deletes corresponding factories
---
.../apache/isis/applib/annotation/DescribedAs.java | 45 --------------
.../annotprop/DescribedAsFacetOnMemberFactory.java | 33 +---------
.../DescribedAsFacetOnTypeAnnotation.java | 35 -----------
.../DescribedAsFacetOnTypeAnnotationFactory.java | 72 ----------------------
.../DescribedAsFacetOnParameterAnnotation.java | 35 -----------
...ameterAnnotationElseDerivedFromTypeFactory.java | 19 +-----
.../dflt/ProgrammingModelFacetsJava5.java | 2 -
.../DescribedAsAnnotationFacetFactoryTest.java | 9 +--
8 files changed, 4 insertions(+), 246 deletions(-)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/DescribedAs.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/DescribedAs.java
deleted file mode 100644
index c559ef8..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/DescribedAs.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.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 - see {@link DomainObjectLayout#describedAs()}, {@link PropertyLayout#describedAs()},
- * {@link CollectionLayout#describedAs()}, {@link ActionLayout#describedAs()} and {@link ParameterLayout#describedAs()}.
- */
-@Deprecated
-@Inherited
-@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER })
-@Retention(RetentionPolicy.RUNTIME)
-public @interface DescribedAs {
-
- /**
- * @deprecated - see {@link DomainObjectLayout#describedAs()}, {@link PropertyLayout#describedAs()},
- * {@link CollectionLayout#describedAs()}, {@link ActionLayout#describedAs()} and {@link ParameterLayout#describedAs()}.
- * @return
- */
- @Deprecated
- String value();
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
index 1ca38c0..68310b6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/members/describedas/annotprop/DescribedAsFacetOnMemberFactory.java
@@ -21,24 +21,16 @@ package org.apache.isis.core.metamodel.facets.members.describedas.annotprop;
import java.util.Properties;
-import org.apache.isis.applib.annotation.DescribedAs;
-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.ContributeeMemberFacetFactory;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-public class DescribedAsFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory, MetaModelValidatorRefiner {
+public class DescribedAsFacetOnMemberFactory extends FacetFactoryAbstract implements ContributeeMemberFacetFactory {
- private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(DescribedAs.class);
public DescribedAsFacetOnMemberFactory() {
super(FeatureType.MEMBERS);
@@ -49,13 +41,10 @@ public class DescribedAsFacetOnMemberFactory extends FacetFactoryAbstract implem
DescribedAsFacet facet = createFromMetadataPropertiesIfPossible(processMethodContext);
- if(facet == null) {
- facet = validator.flagIfPresent(createFromAnnotationIfPossible(processMethodContext), processMethodContext);
- }
if (facet == null) {
facet = createFromAnnotationOnReturnTypeIfPossible(processMethodContext);
}
-
+
// no-op if null
FacetUtil.addFacet(facet);
}
@@ -76,11 +65,6 @@ public class DescribedAsFacetOnMemberFactory extends FacetFactoryAbstract implem
return properties != null ? new DescribedAsFacetOnMemberFromProperties(properties, holder) : null;
}
- private static DescribedAsFacet createFromAnnotationIfPossible(final ProcessMethodContext processMethodContext) {
- // look for annotation on the property
- final DescribedAs annotation = Annotations.getAnnotation(processMethodContext.getMethod(), DescribedAs.class);
- return annotation == null ? null : new DescribedAsFacetOnMemberAnnotation(annotation.value(), processMethodContext.getFacetHolder());
- }
private DescribedAsFacet createFromAnnotationOnReturnTypeIfPossible(final ProcessMethodContext processMethodContext) {
final Class<?> returnType = processMethodContext.getMethod().getReturnType();
@@ -94,18 +78,5 @@ public class DescribedAsFacetOnMemberFactory extends FacetFactoryAbstract implem
}
- @Override
- public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
- 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/describedas/annotation/DescribedAsFacetOnTypeAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotation.java
deleted file mode 100644
index ca42ee4..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotation.java
+++ /dev/null
@@ -1,35 +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.object.describedas.annotation;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class DescribedAsFacetOnTypeAnnotation extends DescribedAsFacetAbstract {
-
- public DescribedAsFacetOnTypeAnnotation(final String value, final FacetHolder holder) {
- super(value, holder);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotationFactory.java
deleted file mode 100644
index 1c8660b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/describedas/annotation/DescribedAsFacetOnTypeAnnotationFactory.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.object.describedas.annotation;
-
-import org.apache.isis.applib.annotation.DescribedAs;
-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.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.progmodel.DeprecatedMarker;
-import org.apache.isis.core.metamodel.services.ServicesInjector;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorForDeprecatedAnnotation;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class DescribedAsFacetOnTypeAnnotationFactory extends FacetFactoryAbstract implements MetaModelValidatorRefiner, DeprecatedMarker {
-
- private final MetaModelValidatorForDeprecatedAnnotation validator = new MetaModelValidatorForDeprecatedAnnotation(DescribedAs.class);
-
- public DescribedAsFacetOnTypeAnnotationFactory() {
- super(FeatureType.OBJECTS_ONLY);
- }
-
- @Override
- public void process(final ProcessClassContext processClassContext) {
- final DescribedAs annotation = Annotations.getAnnotation(processClassContext.getCls(), DescribedAs.class);
- final DescribedAsFacet facet = create(annotation, processClassContext.getFacetHolder());
- FacetUtil.addFacet(validator.flagIfPresent(facet, null));
- }
-
- private DescribedAsFacet create(final DescribedAs annotation, final FacetHolder holder) {
- return annotation == null ? null : new DescribedAsFacetOnTypeAnnotation(annotation.value(), holder);
- }
-
- @Override
- public void refineMetaModelValidator(final MetaModelValidatorComposite metaModelValidator, final IsisConfiguration configuration) {
- 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/param/describedas/annotderived/DescribedAsFacetOnParameterAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/describedas/annotderived/DescribedAsFacetOnParameterAnnotation.java
deleted file mode 100644
index b41b948..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/describedas/annotderived/DescribedAsFacetOnParameterAnnotation.java
+++ /dev/null
@@ -1,35 +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.param.describedas.annotderived;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
-
-/**
- * @deprecated
- */
-@Deprecated
-public class DescribedAsFacetOnParameterAnnotation extends DescribedAsFacetAbstract {
-
- public DescribedAsFacetOnParameterAnnotation(final String value, final FacetHolder holder) {
- super(value, holder);
- }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/describedas/annotderived/DescribedAsFacetOnParameterAnnotationElseDerivedFromTypeFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/describedas/annotderived/DescribedAsFacetOnParameterAnnotationElseDerivedFromTypeFactory.java
index 3d3d81a..ac455f5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/describedas/annotderived/DescribedAsFacetOnParameterAnnotationElseDerivedFromTypeFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/describedas/annotderived/DescribedAsFacetOnParameterAnnotationElseDerivedFromTypeFactory.java
@@ -19,13 +19,8 @@
package org.apache.isis.core.metamodel.facets.param.describedas.annotderived;
-import java.lang.annotation.Annotation;
-
-import org.apache.isis.applib.annotation.DescribedAs;
-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.facets.Annotations;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -41,28 +36,16 @@ public class DescribedAsFacetOnParameterAnnotationElseDerivedFromTypeFactory ext
final int paramNum = processParameterContext.getParamNum();
final Class<?> parameterType = processParameterContext.getMethod().getParameterTypes()[paramNum];
- final Annotation[] parameterAnnotations = Annotations.getParameterAnnotations(processParameterContext.getMethod())[paramNum];
- for (final Annotation parameterAnnotation : parameterAnnotations) {
- if (parameterAnnotation instanceof DescribedAs) {
- FacetUtil.addFacet(create((DescribedAs) parameterAnnotation, processParameterContext.getFacetHolder()));
- return;
- }
- }
- // otherwise, fall back to a description on the parameter's type, if
+ // fall back to a description on the parameter's type, if
// available
final DescribedAsFacet parameterTypeDescribedAsFacet = getDescribedAsFacet(parameterType);
if (parameterTypeDescribedAsFacet != null) {
FacetUtil.addFacet(new DescribedAsFacetOnParameterDerivedFromType(parameterTypeDescribedAsFacet, processParameterContext.getFacetHolder()));
- return;
}
}
- private DescribedAsFacet create(final DescribedAs annotation, final FacetHolder holder) {
- return annotation == null ? null : new DescribedAsFacetOnParameterAnnotation(annotation.value(), holder);
- }
-
private DescribedAsFacet getDescribedAsFacet(final Class<?> type) {
final ObjectSpecification paramTypeSpec = getSpecificationLoader().loadSpecification(type);
return paramTypeSpec.getFacet(DescribedAsFacet.class);
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
index 1e13bda..5f76395 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
@@ -76,7 +76,6 @@ import org.apache.isis.core.metamodel.facets.object.choices.boundedmarkerifc.Cho
import org.apache.isis.core.metamodel.facets.object.choices.enums.EnumFacetUsingValueFacetUsingSemanticsProviderFactory;
import org.apache.isis.core.metamodel.facets.object.cssclass.method.CssClassFacetMethodFactory;
import org.apache.isis.core.metamodel.facets.object.defaults.annotcfg.DefaultedFacetAnnotationElseConfigurationFactory;
-import org.apache.isis.core.metamodel.facets.object.describedas.annotation.DescribedAsFacetOnTypeAnnotationFactory;
import org.apache.isis.core.metamodel.facets.object.disabled.method.DisabledObjectFacetViaMethodFactory;
import org.apache.isis.core.metamodel.facets.object.domainobject.DomainObjectAnnotationFacetFactory;
import org.apache.isis.core.metamodel.facets.object.domainobjectlayout.DomainObjectLayoutFacetFactory;
@@ -321,7 +320,6 @@ public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract
addFactory(new ActionParameterDefaultFacetDerivedFromTypeFactory());
- addFactory(new DescribedAsFacetOnTypeAnnotationFactory());
addFactory(new DescribedAsFacetOnMemberFactory());
addFactory(new DescribedAsFacetOnParameterAnnotationElseDerivedFromTypeFactory());
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/naming/describedas/DescribedAsAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/naming/describedas/DescribedAsAnnotationFacetFactoryTest.java
index d89e0c4..ffc8bb5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/naming/describedas/DescribedAsAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/naming/describedas/DescribedAsAnnotationFacetFactoryTest.java
@@ -22,7 +22,6 @@ package org.apache.isis.core.metamodel.facets.naming.describedas;
import java.lang.reflect.Method;
import java.util.Collection;
-import org.apache.isis.applib.annotation.DescribedAs;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
@@ -31,15 +30,12 @@ import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
import org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberFactory;
-import org.apache.isis.core.metamodel.facets.object.describedas.annotation.DescribedAsFacetOnTypeAnnotationFactory;
-import org.apache.isis.core.metamodel.facets.param.describedas.annotderived.DescribedAsFacetOnParameterAnnotationElseDerivedFromTypeFactory;
public class DescribedAsAnnotationFacetFactoryTest extends AbstractFacetFactoryTest {
public void testDescribedAsAnnotationPickedUpOnClass() {
final DescribedAsFacetOnTypeAnnotationFactory facetFactory = new DescribedAsFacetOnTypeAnnotationFactory();
- @DescribedAs("some description")
class Customer {
}
@@ -59,7 +55,6 @@ public class DescribedAsAnnotationFacetFactoryTest extends AbstractFacetFactoryT
class Customer {
@SuppressWarnings("unused")
- @DescribedAs("some description")
public int getNumberOfOrders() {
return 0;
}
@@ -82,7 +77,6 @@ public class DescribedAsAnnotationFacetFactoryTest extends AbstractFacetFactoryT
class Customer {
@SuppressWarnings("unused")
- @DescribedAs("some description")
public Collection<?> getOrders() {
return null;
}
@@ -105,7 +99,6 @@ public class DescribedAsAnnotationFacetFactoryTest extends AbstractFacetFactoryT
class Customer {
@SuppressWarnings("unused")
- @DescribedAs("some description")
public void someAction() {
}
}
@@ -127,7 +120,7 @@ public class DescribedAsAnnotationFacetFactoryTest extends AbstractFacetFactoryT
class Customer {
@SuppressWarnings("unused")
- public void someAction(@DescribedAs("some description") final int x) {
+ public void someAction(final int x) {
}
}
final Method actionMethod = findMethod(Customer.class, "someAction", new Class[] { int.class });
--
To stop receiving notification emails like this one, please contact
['"commits@isis.apache.org" <co...@isis.apache.org>'].