[Yanel-commits] rev 42979 -
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Thu May 21 15:24:19 CEST 2009
Author: michi
Date: 2009-05-21 15:24:19 +0200 (Thu, 21 May 2009)
New Revision: 42979
Modified:
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
cancel checkout bug fixed
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2009-05-21 13:23:47 UTC (rev 42978)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2009-05-21 13:24:19 UTC (rev 42979)
@@ -261,11 +261,19 @@
if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Versionable", "2")) {
VersionableV2 versionable = (VersionableV2)resource;
try {
- versionable.cancelCheckout();
+ // TODO: Compare the users
+ String checkoutUserID = versionable.getCheckoutUserID();
+ String userID = getEnvironment(request, response).getIdentity().getUsername();
+ if (checkoutUserID.equals(userID)) {
+ versionable.cancelCheckout();
+ } else {
+ String eMessage = "Releasing the lock of '" + resource.getPath() + "' failed because checkout user '" + checkoutUserID + "' and session user '" + userID + "' are not the same!";
+ log.warn(eMessage);
+ throw new ServletException(eMessage);
+ }
} catch (Exception e) {
log.error(e.getMessage(), e);
- throw new ServletException("Releasing of lock failed because of: " + resource.getPath()
- + " " + e.getMessage(), e);
+ throw new ServletException("Releasing the lock of '" + resource.getPath() + "' failed because of: " + e.getMessage(), e);
}
}
return;
@@ -1050,9 +1058,9 @@
String message = res.getClass().getName() + " is not modifiable (neither V1 nor V2)!";
log.warn(message);
- StringBuffer sb = new StringBuffer();
- // TODO: Differentiate between Neutron based and other clients ...
+ // TODO: Differentiate between Neutron based and other clients ... (Use method isClientSupportingNeutron())
+ StringBuilder sb = new StringBuilder();
sb.append("<?xml version=\"1.0\"?>");
sb.append("<exception xmlns=\"http://www.wyona.org/neutron/1.0\" type=\"neutron\">");
sb.append("<message>" + message + "</message>");
More information about the Yanel-commits
mailing list