]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms.ui/src/org/argeo/cms/util/SimpleErgonomics.java
Introduce loggedInLabel and loggedInTarget
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / util / SimpleErgonomics.java
index 8ada61fdf462d88bb88f0646e7bd13d2bbbe7539..505d482f3befd2e9de8a9ee35c3ce210c0d42661 100644 (file)
@@ -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<String, String> 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);
                }