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 2018/09/30 04:18:27 UTC

[isis] 06/06: ISIS-1976: remove MutableProposedHolder

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

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

commit 4d98c3d7e0fcb748e38d19d6e0ce2caee96369e9
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Sep 30 06:12:24 2018 +0200

    ISIS-1976: remove MutableProposedHolder
    
    Task-Url: https://issues.apache.org/jira/browse/ISIS-1976
---
 .../metamodel/adapter/MutableProposedHolder.java   | 61 ----------------------
 .../specimpl/ObjectActionParameterAbstract.java    | 26 ++++-----
 2 files changed, 14 insertions(+), 73 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/MutableProposedHolder.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/MutableProposedHolder.java
deleted file mode 100644
index 9aa7b05..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/MutableProposedHolder.java
+++ /dev/null
@@ -1,61 +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.adapter;
-
-import javax.enterprise.inject.Instance;
-
-import org.apache.isis.core.metamodel.interactions.ProposedHolder;
-import org.apache.isis.core.metamodel.spec.Specification;
-
-/**
- * Mix-in for {@link ManagedObject} implementations, where can hold a proposed new
- * value different from the underlying value.
- *
- * <p>
- * TODO: same concept as {@link ProposedHolder}, so should try to combine.
- */
-public interface MutableProposedHolder {
-
-    /**
-     * The proposed (pending) value, if applicable.
-     *
-     * <p>
-     * See {@link Specification#createInstanceProposalEvent(Instance)} for an
-     * indication as to whether the state will be populated, and what its type
-     * will be.
-     *
-     * @return
-     */
-    Object getProposed();
-
-    /**
-     * Sets the proposed (pending) value, if applicable.
-     *
-     * <p>
-     * <p>
-     * See {@link Specification#createInstanceProposalEvent(Instance)} for an
-     * indication as to whether the proposed state should be populated, and what
-     * its type will be.
-     *
-     * @return
-     */
-    public void setProposed(Object value);
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
index 544abf9..481f749 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
@@ -27,10 +27,10 @@ import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.query.Query;
 import org.apache.isis.applib.query.QueryFindAllInstances;
 import org.apache.isis.commons.internal.collections._Lists;
+import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.commons.lang.ClassExtensions;
 import org.apache.isis.core.commons.lang.ListExtensions;
 import org.apache.isis.core.commons.lang.StringExtensions;
-import org.apache.isis.core.metamodel.adapter.MutableProposedHolder;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapterProvider;
 import org.apache.isis.core.metamodel.consent.Allow;
@@ -92,17 +92,19 @@ public abstract class ObjectActionParameterAbstract implements ObjectActionParam
      */
     @Override
     public ObjectAdapter get(final ObjectAdapter owner, final InteractionInitiatedBy interactionInitiatedBy) {
-        final MutableProposedHolder proposedHolder = getProposedHolder(owner);
-        final Object proposed = proposedHolder.getProposed();
-        return getObjectAdapterProvider().adapterFor(proposed);
-    }
-
-    protected MutableProposedHolder getProposedHolder(final ObjectAdapter owner) {
-        if (!(owner instanceof MutableProposedHolder)) {
-            throw new IllegalArgumentException("Instance should implement MutableProposedHolder");
-        }
-        return (MutableProposedHolder) owner;
-    }
+        throw _Exceptions.unexpectedCodeReach();
+        //FIXME[ISIS-1976] marked for removal (must be dead code, since MutableProposedHolder has no implementation)
+//        final MutableProposedHolder proposedHolder = getProposedHolder(owner);
+//        final Object proposed = proposedHolder.getProposed();
+//        return getObjectAdapterProvider().adapterFor(proposed);
+    }
+
+//    protected MutableProposedHolder getProposedHolder(final ObjectAdapter owner) {
+//        if (!(owner instanceof MutableProposedHolder)) {
+//            throw new IllegalArgumentException("Instance should implement MutableProposedHolder");
+//        }
+//        return (MutableProposedHolder) owner;
+//    }
 
     /**
      * Parameter number, 0-based.