Author: sshyrkov
Date: Wed Oct  3 13:46:51 2007
New Revision: 18731

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18731&repname=
=3Djahia
Log:
JAHIA-2350: Sp3: Copy Lock on delete action menu does not work correctly =

http://www.jahia.net/jira/browse/JAHIA-2350
Resolution: invalidate the clipboard entry it it was deleted

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/ajax/usersession/c=
lipboardAction.java

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/ajax/userses=
sion/clipboardAction.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/ajax/usersession/clipboardAction.java&rev=
=3D18731&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/ajax/usersession/c=
lipboardAction.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/ajax/usersession/c=
lipboardAction.java Wed Oct  3 13:46:51 2007
@@ -1,6 +1,9 @@
 package org.jahia.ajax.usersession;
 =

 import org.jahia.ajax.AjaxAction;
+import org.jahia.content.ContentObject;
+import org.jahia.content.ContentObjectKey;
+import org.jahia.exceptions.JahiaException;
 import org.jahia.services.usermanager.JahiaUser;
 import org.jahia.services.sites.JahiaSite;
 import org.jahia.params.ParamBean;
@@ -39,16 +42,29 @@
         }
         String clipkey=3D(String)mysession.getAttribute("clipboard_key");
         if(clipkey!=3Dnull){
+            try {
+                final ContentObject source =3D ContentObject.getContentObj=
ectInstance(ContentObjectKey.getInstance(clipkey));
+                // validate the object
+                if (source =3D=3D null || source.isMarkedForDelete()) {
+                    mysession.removeAttribute("clipboard_key");
+                    clipkey =3D null;
+                }
+            } catch (ClassNotFoundException ex) {
+                logger.warn("Wrong object key in the clipboard found", ex);
+                mysession.removeAttribute("clipboard_key");
+                clipkey =3D null;
+            } catch (JahiaException jex) {
+                logger.warn("Unable to validate the object in the clipboar=
d", jex);
+            }
             logger.debug("clipkey=3D"+clipkey);
         } else {
             logger.debug("clipkey=3Dis null");
             clipkey=3D"null";
         }
 =

-        StringBuffer buf =3D new StringBuffer();
-        buf.append(XML_HEADER);
-        buf.append("<response>\n").append(clipkey).append("\n</response>");
-        sendResponse(buf.toString(), response);
+        sendResponse(new StringBuffer(64).append(XML_HEADER).append(
+                "<response>").append(clipkey).append("</response>").toStri=
ng(),
+                response);
 =

         return null;
     }

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to