You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/09/07 12:23:43 UTC

[isis] branch master updated: ISIS-2774: purge ActionDefaultsFacet

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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new a5e9e79  ISIS-2774: purge ActionDefaultsFacet
a5e9e79 is described below

commit a5e9e790c511d779fe028f78a053b84ab916c35a
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Sep 7 14:23:36 2021 +0200

    ISIS-2774: purge ActionDefaultsFacet
---
 .../actions/defaults/ActionDefaultsFacet.java      | 34 -----------
 .../defaults/ActionDefaultsFacetAbstract.java      | 41 -------------
 .../facets/fallback/ActionDefaultsFacetNone.java   | 36 ------------
 .../facets/fallback/FallbackFacetFactory.java      |  2 +-
 .../facets/object/defaults/DefaultedFacet.java     |  3 +-
 ...arameterDefaultFacetDerivedFromTypeFactory.java | 68 ----------------------
 ...arameterDefaultFacetInferredFromTypeFacets.java | 62 --------------------
 ...tionParameterDefaultsFacetViaMethodFactory.java |  9 ---
 .../DeriveDefaultFromTypePostProcessor.java        | 35 ++---------
 .../services/metamodel/DomainMemberDefault.java    |  3 +-
 .../specloader/specimpl/ObjectActionDefault.java   | 40 +------------
 11 files changed, 10 insertions(+), 323 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/ActionDefaultsFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/ActionDefaultsFacet.java
deleted file mode 100644
index 49237a1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/ActionDefaultsFacet.java
+++ /dev/null
@@ -1,34 +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.defaults;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-
-/**
- * Obtain defaults for each of the parameters of the action.
- *
- * <p>
- * In the standard Apache Isis Programming Model, corresponds to invoking the
- * <tt>defaultsXxx(...)</tt> support method for an action.
- */
-public interface ActionDefaultsFacet extends Facet {
-
-    public abstract Object[] getDefaults(ManagedObject inObject);
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/ActionDefaultsFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/ActionDefaultsFacetAbstract.java
deleted file mode 100644
index 60c53c2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/defaults/ActionDefaultsFacetAbstract.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.core.metamodel.facets.actions.defaults;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
-public abstract class ActionDefaultsFacetAbstract
-extends FacetAbstract
-implements ActionDefaultsFacet {
-
-    private static final Class<? extends Facet> type() {
-        return ActionDefaultsFacet.class;
-    }
-
-    public ActionDefaultsFacetAbstract(final FacetHolder holder) {
-        super(type(), holder);
-    }
-
-    public ActionDefaultsFacetAbstract(final FacetHolder holder, final Facet.Precedence precedence) {
-        super(type(), holder, precedence);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/ActionDefaultsFacetNone.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/ActionDefaultsFacetNone.java
deleted file mode 100644
index f4a8ce9..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/ActionDefaultsFacetNone.java
+++ /dev/null
@@ -1,36 +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.fallback;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacetAbstract;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-
-public class ActionDefaultsFacetNone extends ActionDefaultsFacetAbstract {
-
-    public ActionDefaultsFacetNone(final FacetHolder holder) {
-        super(holder, Precedence.FALLBACK);
-    }
-
-    @Override
-    public Object[] getDefaults(final ManagedObject inObject) {
-        return null;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
index a9efa54..7068ade 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
@@ -93,7 +93,7 @@ public class FallbackFacetFactory extends FacetFactoryAbstract {
             addFacet(newPropParamLayoutFacetIfAny(facetedMethod, "propertyLayout", getConfiguration().getApplib().getAnnotation().getPropertyLayout()));
         }
         if (featureType.isAction()) {
-            addFacet(new ActionDefaultsFacetNone(facetedMethod));
+            // none
         }
         if (featureType.isCollection()) {
             addFacet(
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacet.java
index 22fade4..31b19c7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacet.java
@@ -19,7 +19,6 @@
 package org.apache.isis.core.metamodel.facets.object.defaults;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacet;
 import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 
@@ -32,7 +31,7 @@ import org.apache.isis.core.metamodel.spec.ManagedObject;
  *
  * <p>
  * The rest of the framework does not used this directly, but instead we infer
- * {@link PropertyDefaultFacet} and {@link ActionDefaultsFacet} from the
+ * {@link PropertyDefaultFacet} from the
  * method's return type / parameter types, and copy over.
  */
 public interface DefaultedFacet extends Facet {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFactory.java
deleted file mode 100644
index 26e0343..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetDerivedFromTypeFactory.java
+++ /dev/null
@@ -1,68 +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.defaults.fromtype;
-
-import javax.inject.Inject;
-
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacet;
-import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
-public class ActionParameterDefaultFacetDerivedFromTypeFactory
-extends FacetFactoryAbstract  {
-
-    @Inject
-    public ActionParameterDefaultFacetDerivedFromTypeFactory(final MetaModelContext mmc) {
-        super(mmc, FeatureType.PARAMETERS_ONLY);
-    }
-
-    /**
-     * If there is a {@link DefaultedFacet} on any of the action's parameter
-     * types, then installs a {@link ActionDefaultsFacet} for the action.
-     */
-    @Override
-    public void processParams(final ProcessParameterContext processParameterContext) {
-        // don't overwrite any defaults already picked up
-        if (processParameterContext.getFacetHolder().getFacet(ActionDefaultsFacet.class) != null) {
-            return;
-        }
-
-        // try to infer defaults from any of the parameter's underlying types
-        final Class<?>[] parameterTypes = processParameterContext.getMethod().getParameterTypes();
-        final DefaultedFacet[] parameterTypeDefaultedFacets = new DefaultedFacet[parameterTypes.length];
-        boolean hasAtLeastOneDefault = false;
-        for (int i = 0; i < parameterTypes.length; i++) {
-            final Class<?> paramType = parameterTypes[i];
-            parameterTypeDefaultedFacets[i] = getDefaultedFacet(paramType);
-            hasAtLeastOneDefault = hasAtLeastOneDefault | (parameterTypeDefaultedFacets[i] != null);
-        }
-        if (hasAtLeastOneDefault) {
-            addFacet(new ActionParameterDefaultFacetInferredFromTypeFacets(parameterTypeDefaultedFacets, processParameterContext.getFacetHolder()));
-        }
-    }
-
-    private DefaultedFacet getDefaultedFacet(final Class<?> paramType) {
-        final ObjectSpecification paramTypeSpec = getSpecificationLoader().loadSpecification(paramType);
-        return paramTypeSpec.getFacet(DefaultedFacet.class);
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetInferredFromTypeFacets.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetInferredFromTypeFacets.java
deleted file mode 100644
index 1a25290..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/fromtype/ActionParameterDefaultFacetInferredFromTypeFacets.java
+++ /dev/null
@@ -1,62 +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.defaults.fromtype;
-
-import java.util.function.BiConsumer;
-
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacetAbstract;
-import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacet;
-import org.apache.isis.core.metamodel.spec.ManagedObject;
-
-public class ActionParameterDefaultFacetInferredFromTypeFacets
-extends ActionDefaultsFacetAbstract {
-
-    private final DefaultedFacet[] defaultedFacets;
-
-    public ActionParameterDefaultFacetInferredFromTypeFacets(
-            final DefaultedFacet[] defaultedFacets, final FacetHolder holder) {
-        super(holder, Precedence.INFERRED);
-        this.defaultedFacets = defaultedFacets;
-    }
-
-    /**
-     * Return the defaults.
-     *
-     * <p>
-     * Note that we get the defaults fresh each time in case the defaults might
-     * conceivably change.
-     */
-    @Override
-    public Object[] getDefaults(final ManagedObject inObject) {
-        final Object[] defaults = new Object[defaultedFacets.length];
-        for (int i = 0; i < defaults.length; i++) {
-            if (defaultedFacets[i] != null) {
-                defaults[i] = defaultedFacets[i].getDefault();
-            }
-        }
-        return defaults;
-    }
-
-    @Override
-    public void visitAttributes(final BiConsumer<String, Object> visitor) {
-        super.visitAttributes(visitor);
-        visitor.accept("defaultFacets", defaultedFacets);
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
index 530030e..9a1b9c7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/defaults/methodnum/ActionParameterDefaultsFacetViaMethodFactory.java
@@ -22,7 +22,6 @@ import java.util.EnumSet;
 
 import javax.inject.Inject;
 
-import org.apache.isis.applib.exceptions.unrecoverable.MetaModelException;
 import org.apache.isis.core.config.progmodel.ProgrammingModelConstants.MemberSupportPrefix;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -30,7 +29,6 @@ import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.ParameterSupport;
 import org.apache.isis.core.metamodel.facets.ParameterSupport.ParamSupportingMethodSearchRequest.ReturnType;
 import org.apache.isis.core.metamodel.facets.ParameterSupport.SearchAlgorithm;
-import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacet;
 import org.apache.isis.core.metamodel.methods.MemberSupportFacetFactoryAbstract;
 
 import lombok.val;
@@ -62,7 +60,6 @@ extends MemberSupportFacetFactoryAbstract {
 
         // attach DefaultFacetForParameters if defaultNumMethod is found ...
 
-        val actionMethod = processMethodContext.getMethod();
         val methodNameCandidates = memberSupportPrefix.getMethodNamePrefixes()
                 .flatMap(processMethodContext::parameterSupportCandidates);
 
@@ -80,12 +77,6 @@ extends MemberSupportFacetFactoryAbstract {
 
             processMethodContext.removeMethod(defaultMethod);
 
-            if (facetedMethod.containsNonFallbackFacet(ActionDefaultsFacet.class)) {
-                val cls = processMethodContext.getCls();
-                throw new MetaModelException(cls + " uses both old and new default syntax for "
-                        + actionMethod.getName() + "(...) - must use one or other");
-            }
-
             // add facets directly to parameters, not to actions
             val paramAsHolder = parameters.get(paramIndex);
             //val translationContext = paramAsHolder.getIdentifier().toFullIdentityString();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/propparam/DeriveDefaultFromTypePostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/propparam/DeriveDefaultFromTypePostProcessor.java
index fb68fd1..d619a90 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/propparam/DeriveDefaultFromTypePostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/propparam/DeriveDefaultFromTypePostProcessor.java
@@ -22,10 +22,7 @@ import javax.inject.Inject;
 
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
-import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacet;
 import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacet;
-import org.apache.isis.core.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetDerivedFromTypeFactory;
-import org.apache.isis.core.metamodel.facets.param.defaults.fromtype.ActionParameterDefaultFacetInferredFromTypeFacets;
 import org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet;
 import org.apache.isis.core.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet;
 import org.apache.isis.core.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromTypeFactory;
@@ -36,12 +33,9 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 
-import lombok.val;
-
 
 /**
- * Replaces {@link ActionParameterDefaultFacetDerivedFromTypeFactory}
- * and  {@link PropertyDefaultFacetDerivedFromTypeFactory}
+ * Replaces {@link PropertyDefaultFacetDerivedFromTypeFactory}
  */
 public class DeriveDefaultFromTypePostProcessor
 extends ObjectSpecificationPostProcessorAbstract {
@@ -60,28 +54,6 @@ extends ObjectSpecificationPostProcessorAbstract {
     }
 
     @Override
-    protected void doPostProcess(final ObjectSpecification objectSpecification, final ObjectAction objectAction, final ObjectActionParameter parameter) {
-
-        if (parameter.containsNonFallbackFacet(ActionDefaultsFacet.class)) {
-            return;
-        }
-
-        // this loop within the outer loop (for every param) is really weird,
-        // but arises from porting the old facet factory
-        val parameterSpecs = objectAction.getParameterTypes();
-        final DefaultedFacet[] parameterTypeDefaultedFacets = new DefaultedFacet[parameterSpecs.size()];
-        boolean hasAtLeastOneDefault = false;
-        for (int i = 0; i < parameterSpecs.size(); i++) {
-            final ObjectSpecification parameterSpec = parameterSpecs.getElseFail(i);
-            parameterTypeDefaultedFacets[i] = parameterSpec.getFacet(DefaultedFacet.class);
-            hasAtLeastOneDefault = hasAtLeastOneDefault | (parameterTypeDefaultedFacets[i] != null);
-        }
-        if (hasAtLeastOneDefault) {
-            FacetUtil.addFacet(new ActionParameterDefaultFacetInferredFromTypeFacets(parameterTypeDefaultedFacets, peerFor(parameter)));
-        }
-    }
-
-    @Override
     protected void doPostProcess(final ObjectSpecification objectSpecification, final OneToOneAssociation property) {
         if(property.containsNonFallbackFacet(PropertyDefaultFacet.class)) {
             return;
@@ -96,4 +68,9 @@ extends ObjectSpecificationPostProcessorAbstract {
     protected void doPostProcess(final ObjectSpecification objectSpecification, final OneToManyAssociation coll) {
     }
 
+    @Override
+    protected void doPostProcess(final ObjectSpecification objectSpecification, final ObjectAction objectAction,
+            final ObjectActionParameter param) {
+    }
+
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java
index d60f9eb..57744f6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/DomainMemberDefault.java
@@ -35,7 +35,6 @@ import org.apache.isis.commons.internal.collections._Sets;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.ImperativeFacet;
-import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacet;
 import org.apache.isis.core.metamodel.facets.actions.validate.ActionValidationFacet;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
@@ -228,7 +227,7 @@ public class DomainMemberDefault implements DomainMember {
             }
             return !interpretations.isEmpty()
                     ? String.join(";", interpretations)
-                    : interpretRowAndFacet(ActionDefaultsFacet.class);
+                    : "";
         }
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
index 570695a..7cc6b35 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
@@ -29,7 +29,6 @@ import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.applib.exceptions.RecoverableException;
-import org.apache.isis.applib.exceptions.unrecoverable.DomainModelException;
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.commons.collections.CanVector;
@@ -47,7 +46,6 @@ import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
 import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet;
-import org.apache.isis.core.metamodel.facets.actions.defaults.ActionDefaultsFacet;
 import org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet;
 import org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
 import org.apache.isis.core.metamodel.facets.param.choices.ActionParameterChoicesFacet;
@@ -424,47 +422,11 @@ implements ObjectAction {
 
     @Override
     public Can<ManagedObject> getDefaults(final ManagedObject target) {
-
-        val actionDefaultsFacet = getFacet(ActionDefaultsFacet.class);
-        if (!actionDefaultsFacet.getPrecedence().isFallback()) {
-
-            // use the old defaultXxx approach
-
-            final int parameterCount = getParameterCount();
-            val parameters = getParameters();
-            final Object[] parameterDefaultPojos;
-
-            parameterDefaultPojos = actionDefaultsFacet.getDefaults(target);
-            if (parameterDefaultPojos.length != parameterCount) {
-                throw new DomainModelException("Defaults array of incompatible size; expected " + parameterCount + " elements, but was " + parameterDefaultPojos.length + " for " + actionDefaultsFacet);
-            }
-            for (int i = 0; i < parameterCount; i++) {
-                if (parameterDefaultPojos[i] != null) {
-                    final ObjectSpecification componentSpec = getSpecificationLoader().loadSpecification(parameterDefaultPojos[i].getClass());
-                    final ObjectSpecification parameterSpec = parameters.getElseFail(i).getSpecification();
-                    // TODO: should implement this instead as a MetaModelValidator
-                    if (!componentSpec.isOfType(parameterSpec)) {
-                        throw new DomainModelException("Defaults type incompatible with parameter " + (i + 1) + " type; expected " + parameterSpec.getFullIdentifier() + ", but was " + componentSpec.getFullIdentifier());
-                    }
-                }
-            }
-
-            final ManagedObject[] parameterDefaultAdapters = new ManagedObject[parameterCount];
-            for (int i = 0; i < parameterCount; i++) {
-                val paramSpec = parameters.getElseFail(i).getSpecification();
-                parameterDefaultAdapters[i] = ManagedObject.of(paramSpec, parameterDefaultPojos[i]);
-            }
-
-            return Can.ofArray(parameterDefaultAdapters);
-
-        }
-
-        // else use the new defaultNXxx approach for each param in turn
+        // use the new defaultNXxx approach for each param in turn
         // (the reflector will have made sure both aren't installed).
         return interactionHead(target)
                 .defaults()
                 .getParamValues();
-
     }
 
     // -- choices