X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Futil%2FSimpleErgonomics.java;h=505d482f3befd2e9de8a9ee35c3ce210c0d42661;hb=88a7a1d6ad9120a88afca54e0d63f2c7294dc25a;hp=8ada61fdf462d88bb88f0646e7bd13d2bbbe7539;hpb=972528f4de2d00690362c01d3ce843ca9cd10250;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java b/org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java index 8ada61fdf..505d482f3 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java @@ -2,17 +2,18 @@ package org.argeo.cms.util; import java.util.Map; +import javax.jcr.Node; import javax.jcr.Repository; import javax.jcr.RepositoryException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.cms.AbstractCmsEntryPoint; import org.argeo.cms.CmsException; -import org.argeo.cms.CmsImageManager; -import org.argeo.cms.CmsStyles; -import org.argeo.cms.CmsUiProvider; -import org.argeo.cms.UxContext; +import org.argeo.cms.ui.AbstractCmsEntryPoint; +import org.argeo.cms.ui.CmsImageManager; +import org.argeo.cms.ui.CmsStyles; +import org.argeo.cms.ui.CmsUiProvider; +import org.argeo.cms.ui.UxContext; import org.argeo.cms.ui.internal.ImageManagerImpl; import org.eclipse.rap.rwt.RWT; import org.eclipse.swt.SWT; @@ -23,6 +24,8 @@ import org.eclipse.swt.widgets.Control; /** Simple header/body ergonomics. */ public class SimpleErgonomics extends AbstractCmsEntryPoint { + private static final long serialVersionUID = 8743413921359548523L; + private final static Log log = LogFactory.getLog(SimpleErgonomics.class); private boolean uiInitialized = false; @@ -36,8 +39,7 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { private CmsImageManager imageManager = new ImageManagerImpl(); private UxContext uxContext = null; - public SimpleErgonomics(Repository repository, String workspace, - String defaultPath, CmsUiProvider uiProvider, + public SimpleErgonomics(Repository repository, String workspace, String defaultPath, CmsUiProvider uiProvider, Map factoryProperties) { super(repository, workspace, defaultPath, factoryProperties); this.uiProvider = uiProvider; @@ -48,7 +50,9 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { parent.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); parent.setLayout(CmsUtils.noSpaceGridLayout()); - // createAdminArea(parent); + uxContext = new SimpleUxContext(); + if (!getUxContext().isMasterData()) + createAdminArea(parent); headerArea = new Composite(parent, SWT.NONE); headerArea.setLayout(new FillLayout()); GridData headerData = new GridData(SWT.FILL, SWT.FILL, false, false); @@ -59,7 +63,6 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { bodyArea.setData(RWT.CUSTOM_VARIANT, CmsStyles.CMS_BODY); bodyArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); bodyArea.setLayout(CmsUtils.noSpaceGridLayout()); - uxContext = new SimpleUxContext(); uiInitialized = true; refresh(); } @@ -94,8 +97,7 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { // Exception Throwable exception = getException(); if (exception != null) { - SystemNotifications systemNotifications = new SystemNotifications( - bodyArea); + SystemNotifications systemNotifications = new SystemNotifications(bodyArea); systemNotifications.notifyException(exception); resetException(); return; @@ -108,7 +110,11 @@ public class SimpleErgonomics extends AbstractCmsEntryPoint { bodyArea.setLayout(CmsUtils.noSpaceGridLayout()); try { - uiProvider.createUi(bodyArea, getNode()); + Node node = getNode(); + if (node == null) + log.error("Context cannot be null"); + else + uiProvider.createUi(bodyArea, node); } catch (RepositoryException e) { throw new CmsException("Cannot refresh body", e); }