/** Manages history and navigation */
public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implements CmsView {
+ private static final long serialVersionUID = 906558779562569784L;
+
private final Log log = LogFactory.getLog(AbstractCmsEntryPoint.class);
private final Subject subject;
try {
node = session.getNode(nodePath);
} catch (PathNotFoundException e) {
- // logout();
- // session = repository.login(workspace);
navigateTo("~");
- // throw e;
}
// refresh UI
try {
int firstSlash = state.indexOf('/');
if (firstSlash == 0) {
- if (session.nodeExists(state))
- node = session.getNode(state);
- else
- throw new CmsException("Data " + state + " does not exist");
+ node = session.getNode(state);
page = "";
} else if (firstSlash > 0) {
String prefix = state.substring(0, firstSlash);
return title;
} catch (Exception e) {
log.error("Cannot set state '" + state + "'", e);
+ if (state.equals("") || newState.equals("~") || newState.equals(previousState))
+ return "Unrecoverable exception : " + e.getClass().getSimpleName();
if (previousState.equals(""))
previousState = "~";
navigateTo(previousState);