X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2FAbstractCmsEntryPoint.java;h=60758da887d63b66b80af07bf4317cab780b0690;hb=2f7e4652af30d568491041ca2bed1c54b3246766;hp=6722d7b86291051c61b39fc286f88d136ebc3a55;hpb=63446804f4954bfedd50d8c692bde0fab13aa1ec;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 6722d7b86..60758da88 100644 --- a/org.argeo.cms/src/org/argeo/cms/AbstractCmsEntryPoint.java +++ b/org.argeo.cms/src/org/argeo/cms/AbstractCmsEntryPoint.java @@ -1,5 +1,7 @@ package org.argeo.cms; +import static org.argeo.cms.internal.kernel.KernelConstants.SPRING_SECURITY_CONTEXT_KEY; + import java.util.Locale; import java.util.ResourceBundle; @@ -8,9 +10,11 @@ import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.nodetype.NodeType; +import javax.servlet.http.HttpSession; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.argeo.cms.i18n.Msg; import org.argeo.jcr.JcrUtils; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.application.AbstractEntryPoint; @@ -23,10 +27,9 @@ import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; /** Manages history and navigation */ -public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint - implements CmsSession { +abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implements + CmsSession { private final Log log = LogFactory.getLog(AbstractCmsEntryPoint.class); - private static final String SPRING_SECURITY_CONTEXT_KEY = "SPRING_SECURITY_CONTEXT"; private Repository repository; private String workspace; @@ -42,8 +45,9 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint public AbstractCmsEntryPoint(Repository repository, String workspace) { if (SecurityContextHolder.getContext().getAuthentication() == null) { - SecurityContext contextFromSessionObject = (SecurityContext) RWT - .getRequest().getSession() + HttpSession httpSession = RWT.getRequest().getSession(); + // log.debug("Session: " + httpSession.getId()); + SecurityContext contextFromSessionObject = (SecurityContext) httpSession .getAttribute(SPRING_SECURITY_CONTEXT_KEY); if (contextFromSessionObject != null) SecurityContextHolder.setContext(contextFromSessionObject); @@ -209,15 +213,12 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint page = prefix; } else { node = getDefaultNode(session); - if (state.equals("~")) - page = ""; - else - page = state; + page = state; } if (log.isTraceEnabled()) - log.trace("page=" + page + ", node=" + node + ", state=" - + state); + log.trace("node=" + node + ", state=" + state + " (page=" + + page); } catch (RepositoryException e) { throw new CmsException("Cannot retrieve node", e); @@ -240,9 +241,9 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint return state; } - protected String getPage() { - return page; - } + // String getPage() { + // return page; + // } protected Throwable getException() { return exception;