-extract api from transaction impl

git-svn-id: https://svn.apache.org/repos/asf/lenya/trunk@1035015 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/IdentifiableFactory.java b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/IdentifiableFactory.java
similarity index 100%
rename from org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/IdentifiableFactory.java
rename to org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/IdentifiableFactory.java
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Identity.java b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Identity.java
similarity index 100%
rename from org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Identity.java
rename to org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Identity.java
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/IdentityMap.java b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/IdentityMap.java
similarity index 100%
rename from org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/IdentityMap.java
rename to org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/IdentityMap.java
diff --git a/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Lock.java b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Lock.java
new file mode 100644
index 0000000..29a250a
--- /dev/null
+++ b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Lock.java
@@ -0,0 +1,10 @@
+package org.apache.lenya.transaction;
+
+public interface Lock {
+
+	/**
+	 * @return The version number.
+	 */
+	public abstract int getVersion();
+
+}
\ No newline at end of file
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Lockable.java b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Lockable.java
similarity index 100%
rename from org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Lockable.java
rename to org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Lockable.java
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/TransactionException.java b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/TransactionException.java
similarity index 100%
rename from org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/TransactionException.java
rename to org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/TransactionException.java
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Transactionable.java b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Transactionable.java
similarity index 100%
rename from org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Transactionable.java
rename to org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Transactionable.java
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/UnitOfWork.java b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/UnitOfWork.java
similarity index 100%
rename from org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/UnitOfWork.java
rename to org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/UnitOfWork.java
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Versionable.java b/org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Versionable.java
similarity index 100%
rename from org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Versionable.java
rename to org.apache.lenya.core.transaction.api/src/main/java/org/apache/lenya/transaction/Versionable.java
diff --git a/org.apache.lenya.core.transaction.impl/pom.xml b/org.apache.lenya.core.transaction.impl/pom.xml
index e85396a..4d10236 100644
--- a/org.apache.lenya.core.transaction.impl/pom.xml
+++ b/org.apache.lenya.core.transaction.impl/pom.xml
@@ -16,7 +16,11 @@
   <description>Deals with transactions</description>
   
   <dependencies>
-  
+  <!-- lenya -->
+  <dependency>
+      <groupId>org.apache.lenya</groupId>
+      <artifactId>lenya-core-transaction-api</artifactId>
+    </dependency>
   <!-- TODO : see if all theses dependencies are required -->
     <dependency>
       <groupId>org.apache.cocoon</groupId>
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Lock.java b/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/LockImpl.java
similarity index 93%
rename from org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Lock.java
rename to org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/LockImpl.java
index 1be4397..8c4db27 100644
--- a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/Lock.java
+++ b/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/LockImpl.java
@@ -22,13 +22,13 @@
  *
  * @version $Id$
  */
-public class Lock {
+public class LockImpl implements Lock {
 
     /**
      * Ctor.
      * @param version The version of the transactionable when it was locked.
      */
-    protected Lock(int version) {
+    protected LockImpl(int version) {
         this.version = version;
     }
     
diff --git a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/UnitOfWorkImpl.java b/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/UnitOfWorkImpl.java
index b48a138..4ee668c 100644
--- a/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/UnitOfWorkImpl.java
+++ b/org.apache.lenya.core.transaction.impl/src/main/java/org/apache/lenya/transaction/UnitOfWorkImpl.java
@@ -208,7 +208,7 @@
             throw new LockException("A lock is already placed on [" + lockable
                     + "]. A new lock could lead to inconsistent data.");
         }
-        Lock lock = new Lock(version);
+        Lock lock = new LockImpl(version);
         this.locks.put(lockable, lock);
         return lock;
     }