From: Mathieu Baudier Date: Tue, 28 Apr 2020 07:54:20 +0000 (+0200) Subject: Clarify MVC UI provider. X-Git-Tag: argeo-commons-2.1.89~145 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=c1c3646a246bde58cfe7953670f956d10148aeb4;p=lgpl%2Fargeo-commons.git Clarify MVC UI provider. --- diff --git a/org.argeo.api/src/org/argeo/api/MvcProvider.java b/org.argeo.api/src/org/argeo/api/MvcProvider.java index 9c5c4a06b..5d48873ab 100644 --- a/org.argeo.api/src/org/argeo/api/MvcProvider.java +++ b/org.argeo.api/src/org/argeo/api/MvcProvider.java @@ -10,6 +10,8 @@ import java.util.function.BiFunction; */ @FunctionalInterface public interface MvcProvider extends BiFunction { + W createUiPart(V parent, M context); + /** * Whether this parent view is supported. * @@ -28,11 +30,15 @@ public interface MvcProvider extends BiFunction { return true; } - default W createUiPart(V parent, M context) { + default W apply(V parent, M context) { if (!isViewSupported(parent)) throw new IllegalArgumentException("Parent view " + parent + "is not supported."); if (!isModelSupported(context)) throw new IllegalArgumentException("Model context " + context + "is not supported."); - return apply(parent, context); + return createUiPart(parent, context); + } + + default W createUiPart(V parent) { + return createUiPart(parent, null); } } diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java index 8a12c100e..6b1dde38a 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java @@ -16,10 +16,10 @@ public interface CmsUiProvider extends MvcProvider { * @param parent the parent composite * @param context a context node (holding the JCR underlying session), or null */ - public Control createUi(Composite parent, Node context) throws RepositoryException; + Control createUi(Composite parent, Node context) throws RepositoryException; @Override - public default Control apply(Composite parent, Node context) { + default Control createUiPart(Composite parent, Node context) { try { return createUi(parent, context); } catch (RepositoryException e) {