X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=jcr%2Forg.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2FCmsUiProvider.java;h=5f2377be566f05a6ad618f1e30cea3c8e943b3e4;hb=da9d144b6b241e1526a3bd255dff905a7969a5bc;hp=4473498c19459b5dedc8642f7a54c00050b30d52;hpb=fdf44255df56ae179b904e4ab326bf595674800e;p=lgpl%2Fargeo-commons.git diff --git a/jcr/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java b/jcr/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java index 4473498c1..5f2377be5 100644 --- a/jcr/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java +++ b/jcr/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java @@ -11,7 +11,6 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; /** Stateless factory building an SWT user interface given a JCR context. */ -@FunctionalInterface public interface CmsUiProvider extends SwtUiProvider { /** * Initialises a user interface. @@ -19,7 +18,10 @@ public interface CmsUiProvider extends SwtUiProvider { * @param parent the parent composite * @param context a context node (holding the JCR underlying session), or null */ - Control createUi(Composite parent, Node context) throws RepositoryException; + default Control createUi(Composite parent, Node context) throws RepositoryException { + // does nothing by default + return null; + } default Control createUiPart(Composite parent, Node context) { try { @@ -37,7 +39,12 @@ public interface CmsUiProvider extends SwtUiProvider { Node node = ((JcrContent) context).getJcrNode(); return createUiPart(parent, node); } else { - throw new IllegalArgumentException("Content " + context + " is not compatible with JCR"); +// CmsLog.getLog(CmsUiProvider.class) +// .warn("In " + getClass() + ", content " + context + " is not compatible with JCR."); +// return createUiPart(parent, (Node) null); + + throw new IllegalArgumentException( + "In " + getClass() + ", content " + context + " is not compatible with JCR"); } }