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()