[Yanel-commits] rev 41267 - in public/yanel/trunk/src:
core/java/org/wyona/yanel/core/util
webapp/src/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Mon Feb 2 14:33:39 CET 2009
Author: michi
Date: 2009-02-02 14:33:38 +0100 (Mon, 02 Feb 2009)
New Revision: 41267
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/VersioningUtil.java
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
checkout and checkin implemented
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/VersioningUtil.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/VersioningUtil.java 2009-02-02 11:58:51 UTC (rev 41266)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/util/VersioningUtil.java 2009-02-02 13:33:38 UTC (rev 41267)
@@ -33,8 +33,24 @@
/**
* @param resource Resource which shall be rolled back
* @param revisionName Revision name to which shall be rolled back
+ * @param userName User who is executing the roll back
*/
- public static void rollBack(Resource resource, String revisionName) {
- log.error("DEBUG: Implementation not finished yet!");
+ public static void rollBack(Resource resource, String revisionName, String userName) {
+ if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Versionable", "2")) {
+ try {
+ VersionableV2 versionableRes = (VersionableV2) resource;
+ if (!versionableRes.isCheckedOut()) {
+ versionableRes.checkout(userName);
+ versionableRes.restore(revisionName);
+ versionableRes.checkin("Rolled back to revision '" + revisionName + "'");
+ } else {
+ log.warn("Resource is already checked out by user '" + versionableRes.getCheckoutUserID() + "' and hence cannot be rolled back at the moment!");
+ }
+ } catch(Exception e) {
+ log.error(e, e);
+ }
+ } else {
+ log.warn("Cannot be rolled back, because resource is not VersionableV2");
+ }
}
}
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-02-02 11:58:51 UTC (rev 41266)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java 2009-02-02 13:33:38 UTC (rev 41267)
@@ -273,7 +273,7 @@
return;
} else if (value != null && value.equals("roll-back")) {
log.debug("Roll back ...");
- org.wyona.yanel.core.util.VersioningUtil.rollBack(resource, request.getParameter(YANEL_RESOURCE_REVN));
+ org.wyona.yanel.core.util.VersioningUtil.rollBack(resource, request.getParameter(YANEL_RESOURCE_REVN), getIdentity(request).getUsername());
// TODO: Send confirmation screen
getContent(request, response);
return;
More information about the Yanel-commits
mailing list