You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2010/02/01 00:10:52 UTC
svn commit: r905135 - in
/directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core:
annotations/CreateIndex.java factory/DSAnnotationProcessor.java
Author: seelmann
Date: Sun Jan 31 23:10:51 2010
New Revision: 905135
URL: http://svn.apache.org/viewvc?rev=905135&view=rev
Log:
Index creation depending on type
Modified:
directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/annotations/CreateIndex.java
directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java
Modified: directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/annotations/CreateIndex.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/annotations/CreateIndex.java?rev=905135&r1=905134&r2=905135&view=diff
==============================================================================
--- directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/annotations/CreateIndex.java (original)
+++ directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/annotations/CreateIndex.java Sun Jan 31 23:10:51 2010
@@ -24,6 +24,7 @@
import java.lang.annotation.Target;
import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
+import org.apache.directory.server.xdbm.Index;
/**
* An annotation for the Index creation. It's used when we need to inject an
@@ -47,8 +48,8 @@
@Target( {ElementType.METHOD, ElementType.TYPE } )
public @interface CreateIndex
{
- /** The Factory to use to create an Index */
- Class<?> factory() default JdbmIndex.class;
+ /** The index implementation class */
+ Class<? extends Index> type() default JdbmIndex.class;
/** The cache size */
int cacheSize() default 1000;
Modified: directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java?rev=905135&r1=905134&r2=905135&view=diff
==============================================================================
--- directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java (original)
+++ directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java Sun Jan 31 23:10:51 2010
@@ -39,7 +39,6 @@
import org.apache.directory.server.core.interceptor.Interceptor;
import org.apache.directory.server.core.partition.Partition;
import org.apache.directory.server.core.partition.impl.btree.BTreePartition;
-import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
import org.apache.directory.server.i18n.I18n;
import org.apache.directory.server.xdbm.Index;
import org.apache.directory.shared.ldap.ldif.LdifEntry;
@@ -103,12 +102,11 @@
// Process the indexes if any
CreateIndex[] indexes = createPartition.indexes();
- // TODO: use index factory
for ( CreateIndex createIndex : indexes )
{
- Index<String, ServerEntry> index = new JdbmIndex<String, ServerEntry>( createIndex.attribute() );
+ Index<?, ServerEntry> index = createIndex.type().newInstance();
+ index.setAttributeId( createIndex.attribute() );
index.setCacheSize( createIndex.cacheSize() );
-
btreePartition.addIndexedAttributes( index );
}
}