You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2006/12/29 03:35:02 UTC
svn commit: r490909 - in
/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store:
ReplicationLogIterator.java ReplicationStore.java
ReplicationStoreException.java
Author: trustin
Date: Thu Dec 28 18:35:01 2006
New Revision: 490909
URL: http://svn.apache.org/viewvc?view=rev&rev=490909
Log:
Added JavaDoc to mitosis.store package
Modified:
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationLogIterator.java
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStore.java
directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStoreException.java
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationLogIterator.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationLogIterator.java?view=diff&rev=490909&r1=490908&r2=490909
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationLogIterator.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationLogIterator.java Thu Dec 28 18:35:01 2006
@@ -20,16 +20,33 @@
package org.apache.directory.mitosis.store;
-import org.apache.directory.mitosis.operation.Operation;
+import java.sql.ResultSet;
+import org.apache.directory.mitosis.operation.Operation;
+/**
+ * Iterates a set of {@link Operation}s, which is a result of a query on
+ * {@link ReplicationStore}. It's usage is similar to that of JDBC
+ * {@link ResultSet}.
+ *
+ * @author The Apache Directory Project (dev@directory.apache.org)
+ * @version $Rev$, $Date$
+ */
public interface ReplicationLogIterator
{
+ /**
+ * Move on to the next item.
+ * @return <tt>true</tt> if and only if it has more item.
+ */
boolean next();
-
+ /**
+ * Releases all resources allocated to this iterator.
+ */
void close();
-
+ /**
+ * Returns the {@link Operation} on the current iterator position.
+ */
Operation getOperation();
}
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStore.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStore.java?view=diff&rev=490909&r1=490908&r2=490909
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStore.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStore.java Thu Dec 28 18:35:01 2006
@@ -24,63 +24,123 @@
import javax.naming.Name;
-import org.apache.directory.server.core.DirectoryServiceConfiguration;
import org.apache.directory.mitosis.common.CSN;
import org.apache.directory.mitosis.common.CSNVector;
+import org.apache.directory.mitosis.common.Replica;
import org.apache.directory.mitosis.common.ReplicaId;
import org.apache.directory.mitosis.common.UUID;
import org.apache.directory.mitosis.configuration.ReplicationConfiguration;
import org.apache.directory.mitosis.operation.Operation;
+import org.apache.directory.server.core.DirectoryServiceConfiguration;
+import org.apache.directory.shared.ldap.name.LdapDN;
-
+/**
+ * Provides an abstract storage that stores data required to perform
+ * replication, such as {@link UUID}-{@link LdapDN} mapping and
+ * LDAP {@link Operation}s. It also calculates the Update Vector (UV)
+ * and the Purge Vector (PV) of a replica.
+ *
+ * @author The Apache Directory Project (dev@directory.apache.org)
+ * @version $Rev$, $Date#
+ */
public interface ReplicationStore
{
-
+ /**
+ * Opens this storage.
+ */
void open( DirectoryServiceConfiguration serviceCfg, ReplicationConfiguration cfg );
-
+ /**
+ * Closes this storage and releases the resources allocated when it's
+ * opened.
+ */
void close();
-
+ /**
+ * Returns the {@link ReplicaId} of the {@link Replica} that this storage
+ * is associated with.
+ */
ReplicaId getReplicaId();
-
- Set getKnownReplicaIds();
+ /**
+ * Returns the set of {@link ReplicaId}s of the {@link Replica}s that
+ * belongs to the same cluster.
+ */
+ Set<ReplicaId> getKnownReplicaIds();
// UUID to DN table operations
+ /**
+ * Finds the {@link Name} of an entry with the specified {@link UUID}.
+ */
Name getDN( UUID uuid );
-
+ /**
+ * Associates the specified name and UUID so a user can
+ * find an entry's name from a UUID.
+ */
boolean putUUID( UUID uuid, Name dn );
-
+ /**
+ * Removed the specified UUID mapping from this storage.
+ * @return <tt>true</tt> if and only if the mapping has been removed
+ */
boolean removeUUID( UUID uuid );
// Log entry operations
+ /**
+ * Puts the specified operation into this storage.
+ */
void putLog( Operation operation );
-
+ /**
+ * Queries all operations that is greater than the specified {@link CSN}.
+ *
+ * @param inclusive <tt>true</tt> if you want to include <tt>fromCSN</tt>
+ * itself in the result set.
+ */
ReplicationLogIterator getLogs( CSN fromCSN, boolean inclusive );
-
+ /**
+ * Queries all operations that is greater than the specified
+ * {@link CSNVector}.
+ *
+ * @param inclusive <tt>true</tt> if you want to include
+ * <tt>updateVector</tt> itself in the result set.
+ */
ReplicationLogIterator getLogs( CSNVector updateVector, boolean inclusive );
-
+ /**
+ * Removes all operations that is less than the specified {@link CSN}.
+ *
+ * @param inclusive <tt>true</tt> if you want to delete the
+ * <tt>toCSN</tt> itself, too.
+ * @return the number of deleted {@link Operation}s
+ */
int removeLogs( CSN toCSN, boolean inclusive );
-
+ /**
+ * Returns the number of {@link Operation}s logged in this storage.
+ */
int getLogSize();
-
+ /**
+ * Returns the number of {@link Operation}s logged by
+ * the {@link Replica} with the specified {@link ReplicaId}
+ * in this storage .
+ */
int getLogSize( ReplicaId replicaId );
-
+ /**
+ * Calculates the Update Vector (UV) from this storage.
+ */
CSNVector getUpdateVector();
-
+ /**
+ * Calculates the Purge Vector (PV) from this storage.
+ */
CSNVector getPurgeVector();
}
Modified: directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStoreException.java
URL: http://svn.apache.org/viewvc/directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStoreException.java?view=diff&rev=490909&r1=490908&r2=490909
==============================================================================
--- directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStoreException.java (original)
+++ directory/trunks/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStoreException.java Thu Dec 28 18:35:01 2006
@@ -19,7 +19,13 @@
*/
package org.apache.directory.mitosis.store;
-
+/**
+ * A {@link RuntimeException} which is thrown when {@link ReplicationStore}
+ * has a problem in accessing its underlying data source (e.g. a file).
+ *
+ * @author The Apache Directory Project (dev@directory.apache.org)
+ * @version $Rev$, $Date$
+ */
public class ReplicationStoreException extends RuntimeException
{