You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2012/01/05 17:24:51 UTC
svn commit: r1227681 - in
/directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn:
DefaultTxnLogManager.java DefaultTxnManager.java DnSet.java IndexWrapper.java
Author: elecharny
Date: Thu Jan 5 16:24:50 2012
New Revision: 1227681
URL: http://svn.apache.org/viewvc?rev=1227681&view=rev
Log:
o Some java code refactoring (coding style)
o Using for () construct instead of while()
o Added some Javadoc, toString() method, etc
o Slight code improvement
Modified:
directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnLogManager.java
directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnManager.java
directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DnSet.java
directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/IndexWrapper.java
Modified: directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnLogManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnLogManager.java?rev=1227681&r1=1227680&r2=1227681&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnLogManager.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnLogManager.java Thu Jan 5 16:24:50 2012
@@ -294,20 +294,12 @@ public class DefaultTxnLogManager implem
{
Transaction curTxn = txnManager.getCurTxn();
- if ( ( curTxn == null ) )
+ // No txn, or read only txn, return without doing anything.
+ if ( ( curTxn == null ) || ( curTxn instanceof ReadOnlyTxn ) )
{
- // NO txn, return without doing anything.
return;
}
- // No need to do anything for read only txns
- if ( !( curTxn instanceof ReadWriteTxn ) )
- {
-
- return;
-
- }
-
DnSet dnSet = new DnSet( baseDn, scope );
ReadWriteTxn txn = ( ReadWriteTxn ) curTxn;
Modified: directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnManager.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnManager.java?rev=1227681&r1=1227680&r2=1227681&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnManager.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DefaultTxnManager.java Thu Jan 5 16:24:50 2012
@@ -665,14 +665,10 @@ class DefaultTxnManager implements TxnMa
verifyLock.lock();
//Verify txn and throw conflict exception if necessary
- Iterator<ReadWriteTxn> it = committedQueue.iterator();
- ReadWriteTxn toCheckTxn;
long startTime = txn.getStartTime();
- while ( it.hasNext() )
+ for ( ReadWriteTxn toCheckTxn : committedQueue )
{
- toCheckTxn = it.next();
-
// Check txns that committed after we started
if ( toCheckTxn.getCommitTime() < startTime )
{
@@ -831,7 +827,6 @@ class DefaultTxnManager implements TxnMa
class LogSyncer extends Thread
{
-
@Override
public void run()
{
@@ -844,7 +839,6 @@ class DefaultTxnManager implements TxnMa
flushCondition.await( flushInterval, TimeUnit.MILLISECONDS );
flushTxns();
}
-
}
catch ( InterruptedException e )
{
@@ -861,5 +855,4 @@ class DefaultTxnManager implements TxnMa
}
}
}
-
}
Modified: directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DnSet.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DnSet.java?rev=1227681&r1=1227680&r2=1227681&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DnSet.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/DnSet.java Thu Jan 5 16:24:50 2012
@@ -20,8 +20,10 @@
package org.apache.directory.server.core.shared.txn;
-import org.apache.directory.shared.ldap.model.name.Dn;
+
import org.apache.directory.shared.ldap.model.message.SearchScope;
+import org.apache.directory.shared.ldap.model.name.Dn;
+
/**
* A class representing the set of Dns a read operation depends or the set of Dns a write
@@ -38,6 +40,12 @@ public class DnSet
SearchScope dnScope;
+ /**
+ * Create a new instance of DnSet.
+ *
+ * @param base The base DN
+ * @param scope The scope
+ */
public DnSet( Dn base, SearchScope scope )
{
baseDn = base;
@@ -45,14 +53,29 @@ public class DnSet
}
+ /**
+ * @return The base DN
+ */
public Dn getBaseDn()
{
return baseDn;
}
+ /**
+ * @return The scope
+ */
public SearchScope getScope()
{
return dnScope;
}
+
+
+ /**
+ * @see Object#toString()
+ */
+ public String toString()
+ {
+ return "DnSet[" + baseDn + '/' + dnScope + ']';
+ }
}
Modified: directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/IndexWrapper.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/IndexWrapper.java?rev=1227681&r1=1227680&r2=1227681&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/IndexWrapper.java (original)
+++ directory/apacheds/branches/apacheds-txns/core-shared/src/main/java/org/apache/directory/server/core/shared/txn/IndexWrapper.java Thu Jan 5 16:24:50 2012
@@ -30,26 +30,27 @@ import org.apache.directory.server.core.
import org.apache.directory.server.core.api.partition.index.ReverseIndexComparator;
import org.apache.directory.server.core.api.partition.index.ReverseIndexEntry;
import org.apache.directory.server.core.api.txn.TxnLogManager;
-
import org.apache.directory.shared.ldap.model.cursor.Cursor;
import org.apache.directory.shared.ldap.model.name.Dn;
import org.apache.directory.shared.ldap.model.schema.AttributeType;
+
/**
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
public class IndexWrapper implements Index<Object>
{
- /** wrapped index */
+ /** wrapped index */
Index<Object> wrappedIndex;
-
+
/** partition the table belongs to */
private Dn partitionDn;
-
+
/** Txn log manager */
- private TxnLogManager txnLogManager;
-
+ private TxnLogManager txnLogManager;
+
+
public IndexWrapper( TxnManagerFactory txnManagerFactory, Dn partitionDn, Index<Object> wrappedIndex )
{
this.partitionDn = partitionDn;
@@ -57,7 +58,7 @@ public class IndexWrapper implements Ind
txnLogManager = txnManagerFactory.txnLogManagerInstance();
}
-
+
/**
* {@inheritDoc}
*/
@@ -93,6 +94,7 @@ public class IndexWrapper implements Ind
wrappedIndex.setCacheSize( cacheSize );
}
+
/**
* {@inheritDoc}
*/
@@ -119,6 +121,7 @@ public class IndexWrapper implements Ind
return wrappedIndex.getAttribute();
}
+
/**
* {@inheritDoc}
*/
@@ -163,33 +166,34 @@ public class IndexWrapper implements Ind
return wrappedIndex.lessThanCount( attrVal );
}
-
+
/**
* {@inheritDoc}
*/
public UUID forwardLookup( Object attrVal ) throws Exception
{
-// IndexCursor<Object> cursor = forwardCursor( attrVal );
-//
-// try
-// {
-//
-// if ( cursor.next() )
-// {
-// return cursor.get().getId();
-// }
-//
-// return null;
-// }
-// finally
-// {
-// cursor.close();
-// }
-
+ // IndexCursor<Object> cursor = forwardCursor( attrVal );
+ //
+ // try
+ // {
+ //
+ // if ( cursor.next() )
+ // {
+ // return cursor.get().getId();
+ // }
+ //
+ // return null;
+ // }
+ // finally
+ // {
+ // cursor.close();
+ // }
+ // Find the UUID from the underlying index
UUID curId = wrappedIndex.forwardLookup( attrVal );
-
- curId = txnLogManager.mergeForwardLookup( partitionDn, wrappedIndex.getAttribute().getOid(), attrVal, curId, wrappedIndex.getForwardIndexEntryComparator().getValueComparator() );
-
+
+ curId = txnLogManager.mergeForwardLookup( partitionDn, wrappedIndex.getAttributeId(), attrVal, curId,
+ wrappedIndex.getForwardIndexEntryComparator().getValueComparator() );
+
return curId;
}
@@ -199,27 +203,27 @@ public class IndexWrapper implements Ind
*/
public Object reverseLookup( UUID id ) throws Exception
{
-// IndexCursor<Object> cursor = reverseCursor( id );
-//
-// try
-// {
-//
-// if ( cursor.next() )
-// {
-// return cursor.get().getValue();
-// }
-//
-// return null;
-// }
-// finally
-// {
-// cursor.close();
-// }
-
+ // IndexCursor<Object> cursor = reverseCursor( id );
+ //
+ // try
+ // {
+ //
+ // if ( cursor.next() )
+ // {
+ // return cursor.get().getValue();
+ // }
+ //
+ // return null;
+ // }
+ // finally
+ // {
+ // cursor.close();
+ // }
+
Object curVal = wrappedIndex.reverseLookup( id );
-
+
curVal = txnLogManager.mergeReversLookup( partitionDn, wrappedIndex.getAttribute().getOid(), id, curVal );
-
+
return curVal;
}
@@ -258,18 +262,19 @@ public class IndexWrapper implements Ind
{
IndexCursor<Object> wrappedCursor;
IndexCursor<Object> cursor = wrappedIndex.reverseCursor();
-
+
try
{
- wrappedCursor = ( IndexCursor<Object>) txnLogManager.wrap( partitionDn, cursor, wrappedIndex.getReverseIndexEntryComparator(),
+ wrappedCursor = ( IndexCursor<Object> ) txnLogManager.wrap( partitionDn, cursor,
+ wrappedIndex.getReverseIndexEntryComparator(),
wrappedIndex.getAttribute().getOid(), false, null, null );
- }
- catch (Exception e)
+ }
+ catch ( Exception e )
{
cursor.close( e );
throw e;
}
-
+
return wrappedCursor;
}
@@ -281,21 +286,22 @@ public class IndexWrapper implements Ind
{
IndexCursor<Object> wrappedCursor;
IndexCursor<Object> cursor = wrappedIndex.forwardCursor();
-
+
try
{
- wrappedCursor = ( IndexCursor<Object>)txnLogManager.wrap( partitionDn, cursor, wrappedIndex.getForwardIndexEntryComparator(),
+ wrappedCursor = ( IndexCursor<Object> ) txnLogManager.wrap( partitionDn, cursor,
+ wrappedIndex.getForwardIndexEntryComparator(),
wrappedIndex.getAttribute().getOid(), true, null, null );
- }
- catch (Exception e)
+ }
+ catch ( Exception e )
{
cursor.close( e );
throw e;
}
-
+
return wrappedCursor;
}
-
+
/**
* {@inheritDoc}
@@ -304,21 +310,22 @@ public class IndexWrapper implements Ind
{
IndexCursor<Object> wrappedCursor;
IndexCursor<Object> cursor = wrappedIndex.reverseCursor( id );
-
+
try
{
- wrappedCursor = ( IndexCursor<Object>)txnLogManager.wrap( partitionDn, cursor, wrappedIndex.getReverseIndexEntryComparator(),
+ wrappedCursor = ( IndexCursor<Object> ) txnLogManager.wrap( partitionDn, cursor,
+ wrappedIndex.getReverseIndexEntryComparator(),
wrappedIndex.getAttribute().getOid(), false, null, id );
- }
- catch (Exception e)
+ }
+ catch ( Exception e )
{
cursor.close( e );
throw e;
}
-
+
return wrappedCursor;
}
-
+
/**
* {@inheritDoc}
@@ -327,21 +334,22 @@ public class IndexWrapper implements Ind
{
IndexCursor<Object> wrappedCursor;
IndexCursor<Object> cursor = wrappedIndex.forwardCursor( key );
-
+
try
{
- wrappedCursor = ( IndexCursor<Object>)txnLogManager.wrap( partitionDn, cursor, wrappedIndex.getForwardIndexEntryComparator(),
+ wrappedCursor = ( IndexCursor<Object> ) txnLogManager.wrap( partitionDn, cursor,
+ wrappedIndex.getForwardIndexEntryComparator(),
wrappedIndex.getAttribute().getOid(), true, key, null );
- }
- catch (Exception e)
+ }
+ catch ( Exception e )
{
cursor.close( e );
throw e;
}
-
+
return wrappedCursor;
}
-
+
/**
* {@inheritDoc}
@@ -350,7 +358,7 @@ public class IndexWrapper implements Ind
{
throw new UnsupportedOperationException();
}
-
+
/**
* {@inheritDoc}
@@ -359,7 +367,7 @@ public class IndexWrapper implements Ind
{
throw new UnsupportedOperationException();
}
-
+
/**
* {@inheritDoc}
@@ -367,14 +375,14 @@ public class IndexWrapper implements Ind
public boolean forward( Object attrVal ) throws Exception
{
IndexCursor<Object> cursor = forwardCursor( attrVal );
-
+
try
{
if ( cursor.next() )
{
return true;
}
-
+
return false;
}
finally
@@ -382,7 +390,7 @@ public class IndexWrapper implements Ind
cursor.close();
}
}
-
+
/**
* {@inheritDoc}
@@ -390,13 +398,14 @@ public class IndexWrapper implements Ind
public boolean forward( Object attrVal, UUID id ) throws Exception
{
boolean currentlyExists = wrappedIndex.forward( attrVal, id );
-
+
ForwardIndexEntry<Object> indexEntry = new ForwardIndexEntry<Object>();
indexEntry.setId( id );
indexEntry.setValue( attrVal );
- return txnLogManager.mergeExistence( partitionDn, wrappedIndex.getAttribute().getOid(), indexEntry, currentlyExists );
+ return txnLogManager.mergeExistence( partitionDn, wrappedIndex.getAttribute().getOid(), indexEntry,
+ currentlyExists );
}
-
+
/**
* {@inheritDoc}
@@ -404,14 +413,14 @@ public class IndexWrapper implements Ind
public boolean reverse( UUID id ) throws Exception
{
IndexCursor<Object> cursor = reverseCursor( id );
-
+
try
{
if ( cursor.next() )
{
return true;
}
-
+
return false;
}
finally
@@ -420,20 +429,21 @@ public class IndexWrapper implements Ind
}
}
-
+
/**
* {@inheritDoc}
*/
public boolean reverse( UUID id, Object attrVal ) throws Exception
{
boolean currentlyExists = wrappedIndex.reverse( id, attrVal );
-
+
ReverseIndexEntry<Object> indexEntry = new ReverseIndexEntry<Object>();
indexEntry.setId( id );
indexEntry.setValue( attrVal );
- return txnLogManager.mergeExistence( partitionDn, wrappedIndex.getAttribute().getOid(), indexEntry, currentlyExists );
+ return txnLogManager.mergeExistence( partitionDn, wrappedIndex.getAttribute().getOid(), indexEntry,
+ currentlyExists );
}
-
+
/**
* {@inheritDoc}
@@ -441,16 +451,16 @@ public class IndexWrapper implements Ind
public boolean forwardGreaterOrEq( Object attrVal ) throws Exception
{
IndexCursor<Object> cursor = forwardCursor();
-
+
try
{
cursor.beforeValue( null, attrVal );
-
+
if ( cursor.next() )
{
return true;
}
-
+
return false;
}
finally
@@ -458,7 +468,7 @@ public class IndexWrapper implements Ind
cursor.close();
}
}
-
+
/**
* {@inheritDoc}
@@ -467,16 +477,16 @@ public class IndexWrapper implements Ind
{
// Lock down the index by the key
IndexCursor<Object> cursor = forwardCursor( attrVal );
-
+
try
{
cursor.beforeValue( id, attrVal );
-
+
if ( cursor.next() )
{
return true;
}
-
+
return false;
}
finally
@@ -484,7 +494,7 @@ public class IndexWrapper implements Ind
cursor.close();
}
}
-
+
/**
* {@inheritDoc}
@@ -492,16 +502,16 @@ public class IndexWrapper implements Ind
public boolean reverseGreaterOrEq( UUID id ) throws Exception
{
IndexCursor<Object> cursor = reverseCursor();
-
+
try
{
cursor.beforeValue( id, null );
-
+
if ( cursor.next() )
{
return true;
}
-
+
return false;
}
finally
@@ -509,7 +519,7 @@ public class IndexWrapper implements Ind
cursor.close();
}
}
-
+
/**
* {@inheritDoc}
@@ -518,16 +528,16 @@ public class IndexWrapper implements Ind
{
// lock down the index by the key
IndexCursor<Object> cursor = reverseCursor( id );
-
+
try
{
cursor.beforeValue( id, attrVal );
-
+
if ( cursor.next() )
{
return true;
}
-
+
return false;
}
finally
@@ -535,7 +545,7 @@ public class IndexWrapper implements Ind
cursor.close();
}
}
-
+
/**
* {@inheritDoc}
@@ -543,16 +553,16 @@ public class IndexWrapper implements Ind
public boolean forwardLessOrEq( Object attrVal ) throws Exception
{
IndexCursor<Object> cursor = forwardCursor();
-
+
try
{
cursor.afterValue( null, attrVal );
-
+
if ( cursor.previous() )
{
return true;
}
-
+
return false;
}
finally
@@ -560,7 +570,7 @@ public class IndexWrapper implements Ind
cursor.close();
}
}
-
+
/**
* {@inheritDoc}
@@ -568,16 +578,16 @@ public class IndexWrapper implements Ind
public boolean forwardLessOrEq( Object attrVal, UUID id ) throws Exception
{
IndexCursor<Object> cursor = forwardCursor( attrVal );
-
+
try
{
cursor.afterValue( id, attrVal );
-
+
if ( cursor.previous() )
{
return true;
}
-
+
return false;
}
finally
@@ -585,7 +595,7 @@ public class IndexWrapper implements Ind
cursor.close();
}
}
-
+
/**
* {@inheritDoc}
@@ -593,16 +603,16 @@ public class IndexWrapper implements Ind
public boolean reverseLessOrEq( UUID id ) throws Exception
{
IndexCursor<Object> cursor = reverseCursor();
-
+
try
{
cursor.afterValue( id, null );
-
+
if ( cursor.previous() )
{
return true;
}
-
+
return false;
}
finally
@@ -610,7 +620,7 @@ public class IndexWrapper implements Ind
cursor.close();
}
}
-
+
/**
* {@inheritDoc}
@@ -618,16 +628,16 @@ public class IndexWrapper implements Ind
public boolean reverseLessOrEq( UUID id, Object attrVal ) throws Exception
{
IndexCursor<Object> cursor = reverseCursor( id );
-
+
try
{
cursor.afterValue( id, attrVal );
-
+
if ( cursor.previous() )
{
return true;
}
-
+
return false;
}
finally
@@ -635,8 +645,8 @@ public class IndexWrapper implements Ind
cursor.close();
}
}
-
-
+
+
/**
* {@inheritDoc}
*/
@@ -645,7 +655,7 @@ public class IndexWrapper implements Ind
return wrappedIndex.getForwardIndexEntryComparator();
}
-
+
/**
* {@inheritDoc}
*/
@@ -654,7 +664,7 @@ public class IndexWrapper implements Ind
return wrappedIndex.getReverseIndexEntryComparator();
}
-
+
/**
* {@inheritDoc}
*/
@@ -672,7 +682,7 @@ public class IndexWrapper implements Ind
wrappedIndex.sync();
}
-
+
/**
* {@inheritDoc}
*/