X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.suite.web%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fweb%2FDefaultMainPage.java;fp=org.argeo.suite.web%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fweb%2FDefaultMainPage.java;h=0000000000000000000000000000000000000000;hp=b84a653d654e62ca62c7206d5baee685f6e8b42c;hb=9b434abf555b36bbdb51729742f70f25b7abd5a3;hpb=a4592339d582315077ae7bb87043a6ec7a8bd4a2 diff --git a/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java b/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java deleted file mode 100644 index b84a653..0000000 --- a/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java +++ /dev/null @@ -1,148 +0,0 @@ -package org.argeo.suite.web; - -import java.nio.file.spi.FileSystemProvider; -import java.util.Locale; -import java.util.Map; - -import javax.jcr.Node; -import javax.jcr.RepositoryException; -import javax.jcr.Session; -import javax.jcr.nodetype.NodeType; - -import org.argeo.cms.CmsMsg; -import org.argeo.cms.auth.CurrentUser; -import org.argeo.cms.ui.CmsUiProvider; -import org.argeo.cms.ui.CmsView; -import org.argeo.cms.ui.LifeCycleUiProvider; -import org.argeo.cms.util.CmsUtils; -import org.argeo.cms.widgets.auth.CmsLogin; -import org.argeo.connect.AppMaintenanceService; -import org.argeo.connect.ConnectTypes; -import org.argeo.connect.resources.ResourcesService; -import org.argeo.eclipse.ui.EclipseUiUtils; -import org.argeo.people.PeopleService; -import org.argeo.people.PeopleTypes; -import org.argeo.people.web.pages.PeopleDefaultPage; -import org.argeo.suite.web.fs.MyFilesBrowserPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; - -/** - * Default entry point for the Argeo Suite CMS. Forwards the request to the - * relevant CmsUiProvider - */ -public class DefaultMainPage implements LifeCycleUiProvider { - - private CmsUiProvider dashboardPage; - private CmsUiProvider peoplePage; - private CmsUiProvider fsBrowserPage; - - /* DEPENDENCY INJECTION */ - private ResourcesService resourcesService; - private PeopleService peopleService; - private FileSystemProvider nodeFileSystemProvider; - private Map peopleIconPaths; - - public DefaultMainPage() { - } - - @Override - public void init(Session adminSession) throws RepositoryException { - dashboardPage = new DefaultDashboard(resourcesService, peopleService, peopleIconPaths); - peoplePage = new PeopleDefaultPage(resourcesService, peopleService, peopleIconPaths); - fsBrowserPage = new MyFilesBrowserPage(nodeFileSystemProvider); - } - - @Override - public Control createUi(Composite parent, Node context) throws RepositoryException { - if (CurrentUser.isAnonymous()) - return createAnonymousUi(parent, context); - - if (context.isNodeType(ConnectTypes.CONNECT_ENTITY)) - return peoplePage.createUi(parent, context); - else if (("/" + peopleService.getBaseRelPath(PeopleTypes.PEOPLE_PERSON)).equals(context.getPath())) - return peoplePage.createUi(parent, context); - else if (context.isNodeType(NodeType.NT_FOLDER) || context.isNodeType(NodeType.NT_FILE)) - return fsBrowserPage.createUi(parent, context); - else - return dashboardPage.createUi(parent, context); - } - - public Control createAnonymousUi(Composite parent, Node context) throws RepositoryException { - parent.setLayout(new GridLayout()); - Composite body = new Composite(parent, SWT.NO_FOCUS); - body.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true)); - body.setLayout(new GridLayout()); - - Composite loginCmp = new Composite(body, SWT.NO_FOCUS); - loginCmp.setLayout(EclipseUiUtils.noSpaceGridLayout()); - loginCmp.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true)); - - CmsLogin login = new MyCmsLogin(CmsUtils.getCmsView()); - // Composite credBlockCmp = - login.createCredentialsBlock(loginCmp); - // Use a custom style that has no border, among other - // CmsUtils.style(loginCmp, ArgeoStyles.LOGIN_INLINE_CREDBLOCK); - - Label anonymousLbl = new Label(body, SWT.WRAP); - anonymousLbl.setText("You should login or register to access your private dashboard"); - - return body; - - } - - private class MyCmsLogin extends CmsLogin { - - public MyCmsLogin(CmsView cmsView) { - super(cmsView); - } - - @Override - protected boolean login() { - boolean result = super.login(); - return result; - } - - @Override - protected void extendsCredentialsBlock(Composite credentialsBlock, Locale selectedLocale, - SelectionListener loginSelectionListener) { - Button loginBtn = new Button(credentialsBlock, SWT.PUSH); - loginBtn.setText(CmsMsg.login.lead(selectedLocale)); - loginBtn.setLayoutData(CmsUtils.fillWidth()); - loginBtn.addSelectionListener(loginSelectionListener); - // CmsUtils.style(loginBtn, ArgeoStyles.LOGIN_SIGNIN_BTN); - } - } - - @Override - public void destroy() { - } - - /* DEPENDENCY INJECTION */ - public void setResourcesService(ResourcesService resourcesService) { - this.resourcesService = resourcesService; - } - - public void setPeopleService(PeopleService peopleService) { - this.peopleService = peopleService; - } - - public void setNodeFileSystemProvider(FileSystemProvider nodeFileSystemProvider) { - this.nodeFileSystemProvider = nodeFileSystemProvider; - } - - public void setPeopleIconPaths(Map peopleIconPaths) { - this.peopleIconPaths = peopleIconPaths; - } - - // Only used has a blocker. - public void setSuiteMaintenanceService(AppMaintenanceService suiteMaintenanceService) { - } - -}