X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2FAbstractCmsEntryPoint.java;h=743a142a4430c4e4e7e2253ce012439a3c04ce0c;hb=7add600d7837fb72f019de190bd5cafd817a0a0c;hp=0a988a63e99d6087ea70490f977984b3aa1fe407;hpb=7f9de8a3b7429567129f0f7c58f7a339d41cb060;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/AbstractCmsEntryPoint.java b/org.argeo.cms/src/org/argeo/cms/AbstractCmsEntryPoint.java index 0a988a63e..743a142a4 100644 --- a/org.argeo.cms/src/org/argeo/cms/AbstractCmsEntryPoint.java +++ b/org.argeo.cms/src/org/argeo/cms/AbstractCmsEntryPoint.java @@ -19,7 +19,6 @@ import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.ArgeoException; import org.argeo.cms.auth.AuthConstants; import org.argeo.cms.auth.HttpRequestCallbackHandler; import org.argeo.eclipse.ui.specific.UiContext; @@ -36,8 +35,7 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; /** Manages history and navigation */ -public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint - implements CmsView { +public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implements CmsView { private final Log log = LogFactory.getLog(AbstractCmsEntryPoint.class); private final Subject subject; @@ -60,8 +58,8 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint private final JavaScriptExecutor jsExecutor; private final BrowserNavigation browserNavigation; - public AbstractCmsEntryPoint(Repository repository, String workspace, - String defaultPath, Map factoryProperties) { + public AbstractCmsEntryPoint(Repository repository, String workspace, String defaultPath, + Map factoryProperties) { this.repository = repository; this.workspace = workspace; this.defaultPath = defaultPath; @@ -70,28 +68,25 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint // Initial login try { - loginContext = new LoginContext(AuthConstants.LOGIN_CONTEXT_USER, - subject, new HttpRequestCallbackHandler( - UiContext.getHttpRequest())); + loginContext = new LoginContext(AuthConstants.LOGIN_CONTEXT_USER, subject, + new HttpRequestCallbackHandler(UiContext.getHttpRequest())); loginContext.login(); } catch (CredentialNotFoundException e) { try { - loginContext = new LoginContext( - AuthConstants.LOGIN_CONTEXT_ANONYMOUS, subject); + loginContext = new LoginContext(AuthConstants.LOGIN_CONTEXT_ANONYMOUS, subject); loginContext.login(); } catch (LoginException e1) { - throw new ArgeoException("Cannot log as anonymous", e); + throw new CmsException("Cannot log as anonymous", e); } } catch (LoginException e) { - throw new ArgeoException("Cannot initialize subject", e); + throw new CmsException("Cannot initialize subject", e); } authChange(loginContext); jsExecutor = RWT.getClient().getService(JavaScriptExecutor.class); browserNavigation = RWT.getClient().getService(BrowserNavigation.class); if (browserNavigation != null) - browserNavigation - .addBrowserNavigationListener(new CmsNavigationListener()); + browserNavigation.addBrowserNavigationListener(new CmsNavigationListener()); } @Override @@ -119,8 +114,7 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint try { initUi(parent); } catch (Exception e) { - throw new CmsException("Cannot create entrypoint contents", - e); + throw new CmsException("Cannot create entrypoint contents", e); } return null; } @@ -171,8 +165,7 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint throw new CmsException("Login context should not be null"); try { loginContext.logout(); - LoginContext anonymousLc = new LoginContext( - AuthConstants.LOGIN_CONTEXT_ANONYMOUS, subject); + LoginContext anonymousLc = new LoginContext(AuthConstants.LOGIN_CONTEXT_ANONYMOUS, subject); anonymousLc.login(); authChange(anonymousLc); } catch (LoginException e) { @@ -199,7 +192,7 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint // logout(); // session = repository.login(workspace); navigateTo("~"); - throw e; + // throw e; } // refresh UI @@ -265,8 +258,7 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint String title = publishMetaData(node); if (log.isTraceEnabled()) - log.trace("node=" + node + ", state=" + state + " (page=" - + page + ")"); + log.trace("node=" + node + ", state=" + state + " (page=" + page + ")"); return title; } catch (Exception e) { @@ -274,57 +266,25 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint if (previousState.equals("")) previousState = "~"; navigateTo(previousState); - throw new CmsException("Unexpected issue when accessing #" - + newState, e); + throw new CmsException("Unexpected issue when accessing #" + newState, e); } } private String publishMetaData(Node node) throws RepositoryException { // Title String title; - if (node.isNodeType(NodeType.MIX_TITLE) - && node.hasProperty(Property.JCR_TITLE)) - title = node.getProperty(Property.JCR_TITLE).getString() + " - " - + getBaseTitle(); + if (node.isNodeType(NodeType.MIX_TITLE) && node.hasProperty(Property.JCR_TITLE)) + title = node.getProperty(Property.JCR_TITLE).getString() + " - " + getBaseTitle(); else title = getBaseTitle(); HttpServletRequest request = UiContext.getHttpRequest(); if (request == null) return null; - // String url = CmsUtils.getCanonicalUrl(node, request); - // String desc = node.hasProperty(JCR_DESCRIPTION) ? node.getProperty( - // JCR_DESCRIPTION).getString() : null; - // String imgUrl = null; - // for (NodeIterator it = node.getNodes(); it.hasNext();) { - // Node child = it.nextNode(); - // if (child.isNodeType(CmsTypes.CMS_IMAGE)) - // imgUrl = CmsUtils.getDataUrl(child, request); - // } StringBuilder js = new StringBuilder(); + title = title.replace("'", "\\'");// sanitize js.append("document.title = '" + title + "';"); - // js.append("var metas = document.getElementsByTagName('meta');"); - // js.append("for (var i=0; i