import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.argeo.api.NodeConstants;
import org.argeo.cms.CmsException;
import org.argeo.cms.auth.CurrentUser;
import org.argeo.cms.auth.HttpRequestCallback;
import org.argeo.jcr.JcrUtils;
import org.argeo.naming.AuthPassword;
import org.argeo.naming.SharedSecret;
-import org.argeo.node.NodeConstants;
import org.eclipse.rap.rwt.RWT;
import org.eclipse.rap.rwt.application.AbstractEntryPoint;
import org.eclipse.rap.rwt.client.WebClient;
// auth
int colonIndex = prefix.indexOf('$');
if (colonIndex > 0) {
- // String user = prefix.substring(0, colonIndex);
- // // if (isAnonymous()) {
- // String token = prefix.substring(colonIndex + 1);
- // LoginContext lc = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, new
- // CallbackHandler() {
- //
- // @Override
- // public void handle(Callback[] callbacks) throws IOException,
- // UnsupportedCallbackException {
- // for (Callback callback : callbacks) {
- // if (callback instanceof NameCallback)
- // ((NameCallback) callback).setName(user);
- // else if (callback instanceof PasswordCallback)
- // ((PasswordCallback) callback).setPassword(token.toCharArray());
- // }
- //
- // }
- // });
SharedSecret token = new SharedSecret(new AuthPassword(X_SHARED_SECRET + '$' + prefix)) {
@Override
Node newNode = null;
if (session.nodeExists(newNodePath))
newNode = session.getNode(newNodePath);
- else
- throw new CmsException("Data " + newNodePath + " does not exist");
+ else {
+// throw new CmsException("Data " + newNodePath + " does not exist");
+ newNode = null;
+ }
setNode(newNode);
}
String title = publishMetaData(getNode());
private String publishMetaData(Node node) throws RepositoryException {
// Title
String title;
- if (node.isNodeType(NodeType.MIX_TITLE) && node.hasProperty(Property.JCR_TITLE))
+ if (node != null && node.isNodeType(NodeType.MIX_TITLE) && node.hasProperty(Property.JCR_TITLE))
title = node.getProperty(Property.JCR_TITLE).getString() + " - " + getBaseTitle();
else
title = getBaseTitle();
return null;
StringBuilder js = new StringBuilder();
+ if (title == null)
+ title = "";
title = title.replace("'", "\\'");// sanitize
js.append("document.title = '" + title + "';");
jsExecutor.execute(js.toString());