You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/02/25 21:45:46 UTC

svn commit: r1293682 - /archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/RepositorySession.java

Author: olamy
Date: Sat Feb 25 20:45:46 2012
New Revision: 1293682

URL: http://svn.apache.org/viewvc?rev=1293682&view=rev
Log:
correctlt close jcr session in case of exception

Modified:
    archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/RepositorySession.java

Modified: archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/RepositorySession.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/RepositorySession.java?rev=1293682&r1=1293681&r2=1293682&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/RepositorySession.java (original)
+++ archiva/trunk/archiva-modules/metadata/metadata-repository-api/src/main/java/org/apache/archiva/metadata/repository/RepositorySession.java Sat Feb 25 20:45:46 2012
@@ -19,6 +19,9 @@ package org.apache.archiva.metadata.repo
  * under the License.
  */
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 /**
  * The repository session provides a single interface to accessing Archiva repositories. It provides access to three
  * resources:
@@ -40,6 +43,8 @@ public class RepositorySession
 
     private boolean dirty;
 
+    private Logger log = LoggerFactory.getLogger( getClass() );
+
     // FIXME: include storage here too - perhaps a factory based on repository ID, or one per type to retrieve and
     //        operate on a given repo within the storage API
 
@@ -60,32 +65,17 @@ public class RepositorySession
     }
 
     public void save()
+        throws MetadataRepositoryException
     {
-        try
-        {
-            repository.save();
-        }
-        catch ( MetadataRepositoryException e )
-        {
-            // FIXME
-            throw new RuntimeException( e );
-        }
+        repository.save();
 
         dirty = false;
     }
 
     public void revert()
+        throws MetadataRepositoryException
     {
-        try
-        {
-            repository.revert();
-        }
-        catch ( MetadataRepositoryException e )
-        {
-            // FIXME
-            throw new RuntimeException( e );
-        }
-
+        repository.revert();
         dirty = false;
     }
 
@@ -96,13 +86,24 @@ public class RepositorySession
      * exception occurs.
      */
     public void close()
+        throws MetadataRepositoryException
     {
-        if ( dirty )
+        try
         {
-            save();
+            if ( dirty )
+            {
+                save();
+            }
+        }
+        catch ( MetadataRepositoryException e )
+        {
+            // olamy use revert here ?
+            throw e;
+        }
+        finally
+        {
+            repository.close();
         }
-
-        repository.close();
     }
 
     public void markDirty()