jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From clomb...@apache.org
Subject svn commit: r537657 - in /jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence: PersistenceManager.java impl/PersistenceManagerImpl.java
Date Sun, 13 May 2007 20:49:20 GMT
Author: clombart
Date: Sun May 13 13:49:19 2007
New Revision: 537657

URL: http://svn.apache.org/viewvc?view=rev&rev=537657
Log:
Apply patch provided by Ruchi Goel for JCR-910. Unit tests are missing

Modified:
    jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/PersistenceManager.java
    jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/impl/PersistenceManagerImpl.java

Modified: jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/PersistenceManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/PersistenceManager.java?view=diff&rev=537657&r1=537656&r2=537657
==============================================================================
--- jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/PersistenceManager.java
(original)
+++ jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/PersistenceManager.java
Sun May 13 13:49:19 2007
@@ -346,5 +346,25 @@
      * @param keepChanges
      */
     public void refresh(boolean keepChanges);
+    
+    /**
+     *  Move an object
+     *   
+     * @param srcPath path of the object to move
+     * @param destPath destination path
+     * 
+     * @throws PersistenceException
+     */
+    public void move(String srcPath, String destPath) throws PersistenceException;
+    
+    /**
+     * Copy an object 
+     * 
+     * @param srcPath path of the object to copy
+     * @param destPath destination path
+     * 
+     * @throws PersistenceException
+     */
+    public void copy(String srcPath, String destPath) throws PersistenceException; 
         
 }

Modified: jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/impl/PersistenceManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/impl/PersistenceManagerImpl.java?view=diff&rev=537657&r1=537656&r2=537657
==============================================================================
--- jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/impl/PersistenceManagerImpl.java
(original)
+++ jackrabbit/trunk/contrib/jackrabbit-jcr-mapping/jcr-mapping/src/main/java/org/apache/jackrabbit/ocm/persistence/impl/PersistenceManagerImpl.java
Sun May 13 13:49:19 2007
@@ -31,6 +31,7 @@
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.UnsupportedRepositoryOperationException;
+import javax.jcr.Workspace;
 import javax.jcr.lock.Lock;
 import javax.jcr.lock.LockException;
 import javax.jcr.nodetype.NoSuchNodeTypeException;
@@ -1110,10 +1111,84 @@
         catch(RepositoryException e) {
             throw new PersistenceException("Cannot refresh current session ", e);
         }
-
-		
 	}
     
-    
+	/**
+	 * 
+	 * @see org.apache.jackrabbit.ocm.persistence.PersistenceManager#move(java.lang.String,
java.lang.String)
+	 */
+    public void move(String srcPath, String destPath){
+        Workspace workspace = session.getWorkspace();
+        try {
+            
+        	workspace.move(srcPath,destPath);
+            
+        }catch(javax.jcr.nodetype.ConstraintViolationException cve){
+            throw new PersistenceException(
+                    "Cannot move the object from " + srcPath + " to " + destPath + "." +
" Violation of a nodetype or attempt to move under a property detected", cve);
+            
+        }catch(javax.jcr.version.VersionException ve){
+            throw new VersionException(
+                    "Cannot move the object from " + srcPath + " to " + destPath + "." +
" Parent node of source or destination is versionable and checked in ", ve);
+            
+        }catch(javax.jcr.AccessDeniedException ade){
+            throw new PersistenceException(
+                    "Cannot move the object from " + srcPath + " to " + destPath + "." +
" Session does not have access permissions", ade);
+            
+        }catch(javax.jcr.PathNotFoundException pnf){
+            throw new PersistenceException(
+                    "Cannot move the object from " + srcPath + " to " + destPath + "." +
" Node at source or destination does not exist ", pnf);
+            
+        }catch(javax.jcr.ItemExistsException ie){
+            throw new PersistenceException(
+                    "Cannot move the object from " + srcPath + " to " + destPath + "." +
" It might already exist at destination path.", ie);
+            
+        }catch(javax.jcr.lock.LockException le){
+            throw new PersistenceException(
+                    "Cannot move the object from " + srcPath + " to " + destPath + "." +
"Violation of a lock detected", le);
+            
+        }catch(javax.jcr.RepositoryException re){
+            throw new PersistenceException(
+                    "Cannot move the object from " + srcPath + " to " + destPath + "." ,
re);
+        }   
+    }
 
+    /**
+     * 
+     * @see org.apache.jackrabbit.ocm.persistence.PersistenceManager#copy(java.lang.String,
java.lang.String)
+     */
+    public void copy(String srcPath, String destPath){
+        Workspace workspace = session.getWorkspace();
+        try{
+            workspace.copy(srcPath,destPath);
+            
+        }catch(javax.jcr.nodetype.ConstraintViolationException cve){
+            throw new PersistenceException(
+                    "Cannot copy the object from " + srcPath + " to " + destPath + "." +
"Violation of a nodetype or attempt to copy under property detected ", cve);
+            
+        }catch(javax.jcr.version.VersionException ve){
+            throw new VersionException(
+                    "Cannot copy the object from " + srcPath + " to " + destPath + "." +
"Parent node of source or destination is versionable and checked in ", ve);
+            
+        }catch(javax.jcr.AccessDeniedException ade){
+            throw new PersistenceException(
+                    "Cannot copy the object from " + srcPath + " to " + destPath + "." +
" Session does not have access permissions", ade);
+            
+        }catch(javax.jcr.PathNotFoundException pnf){
+            throw new PersistenceException(
+                    "Cannot copy the object from " + srcPath + " to " + destPath + "." +
"Node at source or destination does not exist ", pnf);
+            
+        }catch(javax.jcr.ItemExistsException ie){
+            throw new PersistenceException(
+                    "Cannot copy the object from " + srcPath + " to " + destPath + "." +
"It might already exist at destination path.", ie);
+            
+        }catch(javax.jcr.lock.LockException le){
+            throw new PersistenceException(
+                    "Cannot copy the object from " + srcPath + " to " + destPath + "." +
"Violation of a lock detected", le);
+            
+        }catch(javax.jcr.RepositoryException re){
+            throw new PersistenceException(
+                    "Cannot copy the node from " + srcPath + " to " + destPath + "." , re);
+        }
+    }    
 }



Mime
View raw message