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 2020/06/24 22:06:42 UTC

[isis] branch master updated: ISIS-2340: remove from 'common' some that are no longer shared

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 f6b69dd  ISIS-2340: remove from 'common' some that are no longer shared
f6b69dd is described below

commit f6b69dd7c20f953f800656b9834ab35021b68391
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jun 25 00:06:25 2020 +0200

    ISIS-2340: remove from 'common' some that are no longer shared
---
 .../common/model/action/ActionUiMetaModel.java     |  4 +-
 .../ActionUiDecorator.java}                        |  4 +-
 .../action/link/ActionLinkUiComponentFactory.java  | 36 -----------------
 .../links/ActionLinkUiComponentFactoryWkt.java     |  6 +--
 .../viewer/wicket/model/links/LinkAndLabel.java    |  5 +--
 .../wicket/model/links/LinkAndLabelAbstract.java}  | 45 ++++++----------------
 .../isis/viewer/wicket/ui/util/Decorators.java     |  4 +-
 7 files changed, 22 insertions(+), 82 deletions(-)

diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/ActionUiMetaModel.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/ActionUiMetaModel.java
index 2a58cf7..cff65e6 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/ActionUiMetaModel.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/ActionUiMetaModel.java
@@ -102,9 +102,9 @@ public final class ActionUiMetaModel implements Serializable {
                 );
     }
     
-    public static <R, T extends ActionUiMetaModel> Predicate<R> positioned(
+    public static <R> Predicate<R> positioned(
             final ActionLayout.Position position,
-            final Function<R, T> posAccessor) {
+            final Function<R, ActionUiMetaModel> posAccessor) {
         return x -> posAccessor.apply(x).getPosition() == position;
     }
     
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/link/ActionLinkUiComponentDecorator.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/decorator/ActionUiDecorator.java
similarity index 94%
rename from viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/link/ActionLinkUiComponentDecorator.java
rename to viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/decorator/ActionUiDecorator.java
index cb4237d..849d9f7 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/link/ActionLinkUiComponentDecorator.java
+++ b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/decorator/ActionUiDecorator.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.viewer.common.model.action.link;
+package org.apache.isis.viewer.common.model.action.decorator;
 
 import org.apache.isis.viewer.common.model.decorator.confirm.ConfirmDecorator;
 import org.apache.isis.viewer.common.model.decorator.disable.DisableDecorator;
@@ -37,7 +37,7 @@ import lombok.RequiredArgsConstructor;
  */
 @Getter
 @RequiredArgsConstructor
-public class ActionLinkUiComponentDecorator<T> {
+public class ActionUiDecorator<T> {
     
     private final TooltipDecorator<T> tooltipDecorator;
     private final DisableDecorator<T> disableDecorator;
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/link/ActionLinkUiComponentFactory.java b/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/link/ActionLinkUiComponentFactory.java
deleted file mode 100644
index b126c5e..0000000
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/link/ActionLinkUiComponentFactory.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.viewer.common.model.action.link;
-
-import org.apache.isis.viewer.common.model.action.ActionUiMetaModel;
-
-/**
- * Creates a click-able UI component of type {@code <T>} based on an {@link ActionLinkUiModel}.
- * eg. link, button, menu-item
- * 
- * @see ActionLinkUiModel
- * 
- * @since 2.0.0
- * @param <T> - link component type, native to the viewer
- */
-public interface ActionLinkUiComponentFactory<T> {
-
-    T newActionLinkUiComponent(ActionUiMetaModel actionUiMetaModel);
-   
-}
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/ActionLinkUiComponentFactoryWkt.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/ActionLinkUiComponentFactoryWkt.java
index 8899c17..4811233 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/ActionLinkUiComponentFactoryWkt.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/ActionLinkUiComponentFactoryWkt.java
@@ -22,9 +22,9 @@ import java.io.Serializable;
 
 import org.apache.wicket.markup.html.link.AbstractLink;
 
-import org.apache.isis.viewer.common.model.action.link.ActionLinkUiComponentFactory;
+import org.apache.isis.viewer.common.model.action.ActionUiMetaModel;
 
 public interface ActionLinkUiComponentFactoryWkt 
-extends ActionLinkUiComponentFactory<AbstractLink>, Serializable {
-
+extends Serializable {
+    AbstractLink newActionLinkUiComponent(ActionUiMetaModel actionUiMetaModel);
 }
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
index 551c7fe..7d249a1 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabel.java
@@ -25,8 +25,6 @@ import java.util.List;
 
 import javax.annotation.Nullable;
 
-import org.apache.wicket.markup.html.link.AbstractLink;
-
 import org.apache.isis.applib.annotation.ActionLayout.Position;
 import org.apache.isis.core.commons.internal.base._Casts;
 import org.apache.isis.core.commons.internal.collections._Lists;
@@ -34,14 +32,13 @@ import org.apache.isis.core.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.metamodel.spec.ObjectSpecId;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.viewer.common.model.action.ActionUiMetaModel;
-import org.apache.isis.viewer.common.model.action.link.ActionLinkUiModel;
 import org.apache.isis.viewer.wicket.model.common.CommonContextUtils;
 import org.apache.isis.viewer.wicket.model.models.EntityModel;
 
 import lombok.NonNull;
 import lombok.val;
 
-public final class LinkAndLabel extends ActionLinkUiModel<AbstractLink> implements Serializable  {
+public final class LinkAndLabel extends LinkAndLabelAbstract {
 
     private static final long serialVersionUID = 1L;
     
diff --git a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/link/ActionLinkUiModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabelAbstract.java
similarity index 61%
rename from viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/link/ActionLinkUiModel.java
rename to viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabelAbstract.java
index f3cb6d8..32a4478 100644
--- a/viewers/common/src/main/java/org/apache/isis/viewer/common/model/action/link/ActionLinkUiModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/links/LinkAndLabelAbstract.java
@@ -1,51 +1,30 @@
-/*
- *  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.viewer.common.model.action.link;
+package org.apache.isis.viewer.wicket.model.links;
 
+import java.io.Serializable;
 import java.util.Optional;
 
+import org.apache.wicket.markup.html.link.AbstractLink;
+
 import org.apache.isis.applib.annotation.Where;
 import org.apache.isis.core.commons.internal.base._Lazy;
 import org.apache.isis.core.metamodel.consent.Consent;
 import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.isis.core.metamodel.spec.ManagedObject;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.viewer.common.model.HasUiComponent;
 import org.apache.isis.viewer.common.model.action.ActionUiMetaModel;
 import org.apache.isis.viewer.common.model.object.ObjectUiModel;
 
+import lombok.AccessLevel;
 import lombok.Getter;
 import lombok.NonNull;
 import lombok.RequiredArgsConstructor;
 
-/**
- * Holder of the <em>Action's</em> meta-model and a click-able UI action component; eg. link, button, menu-items.
- * 
- * @see ActionLinkUiModelFactory
- * @since 2.0.0
- * @param <T> - link component type, native to the viewer
- */
-@RequiredArgsConstructor
-@Deprecated// instead use the ActionUiMetaModel directly
-public abstract class ActionLinkUiModel<T> implements HasUiComponent<T> {
+@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
+public abstract class LinkAndLabelAbstract implements Serializable {
+
+    private static final long serialVersionUID = 1L;
 
-    protected final ActionLinkUiComponentFactory<T> uiComponentFactory;
+    protected final ActionLinkUiComponentFactoryWkt uiComponentFactory;
     
     /**
      * used when explicitly named (eg. menu bar layout file), otherwise {@code null}
@@ -63,8 +42,8 @@ public abstract class ActionLinkUiModel<T> implements HasUiComponent<T> {
     @Getter private final ObjectAction objectAction;
     
     // implements HasUiComponent<T>
-    @Getter(onMethod = @__(@Override), lazy = true) 
-    private final T uiComponent = uiComponentFactory.newActionLinkUiComponent(getActionUiMetaModel());
+    @Getter(lazy = true) 
+    private final AbstractLink uiComponent = uiComponentFactory.newActionLinkUiComponent(getActionUiMetaModel());
     
     public ActionUiMetaModel getActionUiMetaModel() {
         return actionUiMetaModel.get();
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Decorators.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Decorators.java
index fc2215a..9dd98df 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Decorators.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/util/Decorators.java
@@ -25,7 +25,7 @@ import org.apache.wicket.markup.html.form.Button;
 
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.commons.internal.base._Strings;
-import org.apache.isis.viewer.common.model.action.link.ActionLinkUiComponentDecorator;
+import org.apache.isis.viewer.common.model.action.decorator.ActionUiDecorator;
 import org.apache.isis.viewer.common.model.decorator.confirm.ConfirmDecorator;
 import org.apache.isis.viewer.common.model.decorator.confirm.ConfirmUiModel;
 import org.apache.isis.viewer.common.model.decorator.danger.DangerDecorator;
@@ -153,7 +153,7 @@ public class Decorators {
     
     // -- ADVANCED DECORATOR CLASSES
     
-    public final static class ActionLink extends ActionLinkUiComponentDecorator<Component> {
+    public final static class ActionLink extends ActionUiDecorator<Component> {
 
         public ActionLink() {
             super(getTooltip(), getDisable(), getConfirm(), getPrototyping(), getIcon());