You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2008/07/22 04:50:11 UTC
svn commit: r678621 [1/2] - in /directory:
apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/
apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/
apacheds/branches/bigbang/core/src/...
Author: akarasulu
Date: Mon Jul 21 19:50:10 2008
New Revision: 678621
URL: http://svn.apache.org/viewvc?rev=678621&view=rev
Log:
getting everything including the new ldap protocol module to compile
Added:
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ChangeOperationContext.java
Removed:
directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/ScopeEnum.java
Modified:
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLog.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogStore.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/DefaultChangeLog.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/MemoryChangeLogStore.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/NotificationCriteria.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/AddOperationContext.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/DeleteOperationContext.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ModifyOperationContext.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/MoveOperationContext.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/RenameOperationContext.java
directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/SearchOperationContext.java
directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/DefaultSearchHandler.java
directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewSearchHandler.java
directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/PersistentSearchListener.java
directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/GracefulShutdownHandler.java
directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/LaunchDiagnosticUiHandler.java
directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/StoredProcedureExtendedOperationHandler.java
directory/apacheds/branches/bigbang/protocol-newldap/src/test/java/org/apache/directory/server/newldap/SettingAlternativeHandlersTest.java
directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageGrammar.java
directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/SearchRequest.java
directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlCodec.java
directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/EntryChangeControl.java
directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequest.java
directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequestImpl.java
directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestMatchingRuleAssertionTest.java
directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestSubstringTest.java
directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestTest.java
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLog.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLog.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLog.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLog.java Mon Jul 21 19:50:10 2008
@@ -71,7 +71,7 @@
* @return the new revision reached after having applied the forward LDIF
* @throws Exception if there are problems logging the change
*/
- long log( LdapPrincipal principal, LdifEntry forward, LdifEntry reverse ) throws Exception;
+ ChangeLogEvent log( LdapPrincipal principal, LdifEntry forward, LdifEntry reverse ) throws Exception;
/**
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java Mon Jul 21 19:50:10 2008
@@ -110,7 +110,7 @@
}
LdifEntry reverse = LdifUtils.reverseAdd( opContext.getDn() );
- changeLog.log( getPrincipal(), forward, reverse );
+ opContext.setChangeLogEvent( changeLog.log( getPrincipal(), forward, reverse ) );
}
@@ -140,7 +140,7 @@
forward.setChangeType( ChangeType.Delete );
forward.setDn( opContext.getDn().getUpName() );
LdifEntry reverse = LdifUtils.reverseDel( opContext.getDn(), ServerEntryUtils.toAttributesImpl( serverEntry ) );
- changeLog.log( getPrincipal(), forward, reverse );
+ opContext.setChangeLogEvent( changeLog.log( getPrincipal(), forward, reverse ) );
}
@@ -209,7 +209,7 @@
ServerEntryUtils.toModificationItemImpl( opContext.getModItems() ),
ServerEntryUtils.toAttributesImpl( serverEntry ) );
- changeLog.log( getPrincipal(), forward, reverse );
+ opContext.setChangeLogEvent( changeLog.log( getPrincipal(), forward, reverse ) );
}
@@ -243,7 +243,7 @@
LdifEntry reverse = LdifUtils.reverseModifyRdn( ServerEntryUtils.toAttributesImpl( serverEntry ),
null, renameContext.getDn(), new Rdn( renameContext.getNewRdn() ) );
- changeLog.log( getPrincipal(), forward, reverse );
+ renameContext.setChangeLogEvent( changeLog.log( getPrincipal(), forward, reverse ) );
}
@@ -274,7 +274,7 @@
LdifEntry reverse = LdifUtils.reverseModifyRdn( ServerEntryUtils.toAttributesImpl( serverEntry ),
opCtx.getParent(), opCtx.getDn(), new Rdn( opCtx.getNewRdn() ) );
- changeLog.log( getPrincipal(), forward, reverse );
+ opCtx.setChangeLogEvent( changeLog.log( getPrincipal(), forward, reverse ) );
}
@@ -293,6 +293,6 @@
forward.setNewSuperior( opCtx.getParent().getUpName() );
LdifEntry reverse = LdifUtils.reverseModifyDn( opCtx.getParent(), opCtx.getDn() );
- changeLog.log( getPrincipal(), forward, reverse );
+ opCtx.setChangeLogEvent( changeLog.log( getPrincipal(), forward, reverse ) );
}
}
\ No newline at end of file
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogStore.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogStore.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogStore.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogStore.java Mon Jul 21 19:50:10 2008
@@ -63,7 +63,7 @@
* @return the new revision reached after having applied the forward LDIF
* @throws Exception if there are problems logging the change
*/
- long log( LdapPrincipal principal, LdifEntry forward, LdifEntry reverse ) throws Exception;
+ ChangeLogEvent log( LdapPrincipal principal, LdifEntry forward, LdifEntry reverse ) throws Exception;
/**
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/DefaultChangeLog.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/DefaultChangeLog.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/DefaultChangeLog.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/DefaultChangeLog.java Mon Jul 21 19:50:10 2008
@@ -57,7 +57,7 @@
}
- public long log( LdapPrincipal principal, LdifEntry forward, LdifEntry reverse ) throws Exception
+ public ChangeLogEvent log( LdapPrincipal principal, LdifEntry forward, LdifEntry reverse ) throws Exception
{
if ( ! enabled )
{
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/MemoryChangeLogStore.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/MemoryChangeLogStore.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/MemoryChangeLogStore.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/changelog/MemoryChangeLogStore.java Mon Jul 21 19:50:10 2008
@@ -415,13 +415,13 @@
}
- public long log( LdapPrincipal principal, LdifEntry forward, LdifEntry reverse ) throws Exception
+ public ChangeLogEvent log( LdapPrincipal principal, LdifEntry forward, LdifEntry reverse ) throws Exception
{
currentRevision++;
ChangeLogEvent event = new ChangeLogEvent( currentRevision, DateUtils.getGeneralizedTime(),
principal, forward, reverse );
events.add( event );
- return currentRevision;
+ return event;
}
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/NotificationCriteria.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/NotificationCriteria.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/NotificationCriteria.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/event/NotificationCriteria.java Mon Jul 21 19:50:10 2008
@@ -26,6 +26,7 @@
import org.apache.directory.shared.ldap.filter.PresenceNode;
import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.message.AliasDerefMode;
+import org.apache.directory.shared.ldap.message.SearchRequest;
import org.apache.directory.shared.ldap.name.LdapDN;
@@ -50,6 +51,20 @@
private int eventMask = EventType.ALL_EVENT_TYPES_MASK;
+ public NotificationCriteria()
+ {
+ }
+
+
+ public NotificationCriteria( SearchRequest req )
+ {
+ this.scope = req.getScope();
+ this.aliasDerefMode = req.getDerefAliases();
+ this.base = req.getBase();
+ this.filter = req.getFilter();
+ }
+
+
/**
* @param scope the scope to set
*/
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/AddOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/AddOperationContext.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/AddOperationContext.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/AddOperationContext.java Mon Jul 21 19:50:10 2008
@@ -21,6 +21,7 @@
import org.apache.directory.server.core.CoreSession;
+import org.apache.directory.server.core.changelog.ChangeLogEvent;
import org.apache.directory.server.core.entry.ClonedServerEntry;
import org.apache.directory.server.core.entry.ServerEntry;
import org.apache.directory.server.core.entry.ServerEntryUtils;
@@ -36,7 +37,7 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class AddOperationContext extends AbstractOperationContext
+public class AddOperationContext extends AbstractChangeOperationContext
{
/**
* Creates a new instance of AddOperationContext.
Added: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ChangeOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ChangeOperationContext.java?rev=678621&view=auto
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ChangeOperationContext.java (added)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ChangeOperationContext.java Mon Jul 21 19:50:10 2008
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.server.core.interceptor.context;
+
+
+import org.apache.directory.server.core.changelog.ChangeLogEvent;
+
+
+/**
+ * Operations (write based) causing changes extend this interface.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public interface ChangeOperationContext extends OperationContext
+{
+ /**
+ * Gets the ChangeLogEvent associated with this operation after the
+ * operation has been executed. Returns null if the ChangeLogService has
+ * not been enabled.
+ *
+ * @return the ChangeLogEvent associated with this operation, or null
+ */
+ ChangeLogEvent getChangeLogEvent();
+}
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/DeleteOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/DeleteOperationContext.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/DeleteOperationContext.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/DeleteOperationContext.java Mon Jul 21 19:50:10 2008
@@ -34,7 +34,7 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class DeleteOperationContext extends AbstractOperationContext
+public class DeleteOperationContext extends AbstractChangeOperationContext
{
/**
* An optimization added to prevent redundant lookups of the deleted
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ModifyOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ModifyOperationContext.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ModifyOperationContext.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/ModifyOperationContext.java Mon Jul 21 19:50:10 2008
@@ -48,7 +48,7 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class ModifyOperationContext extends AbstractOperationContext
+public class ModifyOperationContext extends AbstractChangeOperationContext
{
/** The modification items */
private List<Modification> modItems;
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/MoveOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/MoveOperationContext.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/MoveOperationContext.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/MoveOperationContext.java Mon Jul 21 19:50:10 2008
@@ -33,7 +33,7 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class MoveOperationContext extends AbstractOperationContext
+public class MoveOperationContext extends AbstractChangeOperationContext
{
/** The parent DN */
private LdapDN parent;
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/RenameOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/RenameOperationContext.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/RenameOperationContext.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/RenameOperationContext.java Mon Jul 21 19:50:10 2008
@@ -21,6 +21,7 @@
import org.apache.directory.server.core.CoreSession;
+import org.apache.directory.server.core.entry.ClonedServerEntry;
import org.apache.directory.shared.ldap.message.MessageTypeEnum;
import org.apache.directory.shared.ldap.message.ModifyDnRequest;
import org.apache.directory.shared.ldap.name.LdapDN;
@@ -36,7 +37,7 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
-public class RenameOperationContext extends AbstractOperationContext
+public class RenameOperationContext extends AbstractChangeOperationContext
{
/** The new DN */
private Rdn newRdn;
@@ -44,6 +45,9 @@
/** The flag to remove the old DN Attribute */
private boolean delOldDn;
+ /** The entry after being renamed and altered for rdn attributes */
+ private ClonedServerEntry alteredEntry;
+
/**
* Creates a new instance of RenameOperationContext.
@@ -129,6 +133,18 @@
{
return MessageTypeEnum.MOD_DN_REQUEST.name();
}
+
+
+ /**
+ * Returns the entry after it has been renamed and potentially changed for
+ * Rdn alterations.
+ *
+ * @return the new renamed entry
+ */
+ public ClonedServerEntry getAlteredEntry()
+ {
+ return alteredEntry;
+ }
/**
Modified: directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/SearchOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/SearchOperationContext.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/SearchOperationContext.java (original)
+++ directory/apacheds/branches/bigbang/core/src/main/java/org/apache/directory/server/core/interceptor/context/SearchOperationContext.java Mon Jul 21 19:50:10 2008
@@ -70,21 +70,7 @@
this.aliasDerefMode = searchRequest.getDerefAliases();
this.requestControls = searchRequest.getControls();
-
- // TODO - fix this and use one Scope enumerated type
- switch( searchRequest.getScope() )
- {
- case BASE_OBJECT:
- this.scope = SearchScope.OBJECT;
- break;
- case SINGLE_LEVEL:
- this.scope = SearchScope.ONELEVEL;
- break;
- case WHOLE_SUBTREE:
- this.scope = SearchScope.SUBTREE;
- break;
- }
-
+ this.scope = searchRequest.getScope();
this.sizeLimit = searchRequest.getSizeLimit();
this.timeLimit = searchRequest.getTimeLimit();
this.noAttributes = searchRequest.getTypesOnly();
Modified: directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/DefaultSearchHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/DefaultSearchHandler.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/DefaultSearchHandler.java (original)
+++ directory/apacheds/branches/bigbang/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/DefaultSearchHandler.java Mon Jul 21 19:50:10 2008
@@ -36,7 +36,7 @@
import org.apache.directory.shared.ldap.message.Response;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.apache.directory.shared.ldap.message.ResultResponse;
-import org.apache.directory.shared.ldap.message.ScopeEnum;
+import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.message.SearchRequest;
import org.apache.directory.shared.ldap.message.SearchResponseDone;
import org.apache.directory.shared.ldap.name.LdapDN;
@@ -113,7 +113,7 @@
controls.setTimeLimit( Math.min( req.getTimeLimit(), maxTime ) );
}
- controls.setSearchScope( req.getScope().getValue() );
+ controls.setSearchScope( req.getScope().getJndiScope() );
controls.setReturningObjFlag( req.getTypesOnly() );
controls.setReturningAttributes( ids );
controls.setDerefLinkFlag( true );
@@ -138,7 +138,7 @@
private static boolean isRootDSESearch( SearchRequest req )
{
boolean isBaseIsRoot = req.getBase().isEmpty();
- boolean isBaseScope = req.getScope() == ScopeEnum.BASE_OBJECT;
+ boolean isBaseScope = req.getScope() == SearchScope.OBJECT;
boolean isRootDSEFilter = false;
if ( req.getFilter() instanceof PresenceNode )
Modified: directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewSearchHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewSearchHandler.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewSearchHandler.java (original)
+++ directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/NewSearchHandler.java Mon Jul 21 19:50:10 2008
@@ -20,19 +20,11 @@
package org.apache.directory.server.newldap.handlers;
-import org.apache.directory.server.constants.ServerDNConstants;
-import org.apache.directory.server.core.ReferralHandlingMode;
import org.apache.directory.server.core.entry.ClonedServerEntry;
-import org.apache.directory.server.core.entry.ServerAttribute;
-import org.apache.directory.server.core.entry.ServerEntry;
import org.apache.directory.server.core.entry.ServerEntryUtils;
+import org.apache.directory.server.core.event.NotificationCriteria;
import org.apache.directory.server.core.filtering.EntryFilteringCursor;
-import org.apache.directory.server.core.jndi.ServerLdapContext;
-import org.apache.directory.server.newldap.LdapServer;
import org.apache.directory.server.newldap.LdapSession;
-import org.apache.directory.server.schema.registries.AttributeTypeRegistry;
-import org.apache.directory.shared.ldap.codec.search.SearchResultDone;
-import org.apache.directory.shared.ldap.constants.JndiPropertyConstants;
import org.apache.directory.shared.ldap.constants.SchemaConstants;
import org.apache.directory.shared.ldap.entry.EntryAttribute;
import org.apache.directory.shared.ldap.entry.Value;
@@ -46,8 +38,7 @@
import org.apache.directory.shared.ldap.message.ReferralImpl;
import org.apache.directory.shared.ldap.message.Response;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
-import org.apache.directory.shared.ldap.message.ResultResponse;
-import org.apache.directory.shared.ldap.message.ScopeEnum;
+import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.message.SearchRequest;
import org.apache.directory.shared.ldap.message.SearchResponseDone;
import org.apache.directory.shared.ldap.message.SearchResponseEntry;
@@ -55,26 +46,12 @@
import org.apache.directory.shared.ldap.message.SearchResponseReference;
import org.apache.directory.shared.ldap.message.SearchResponseReferenceImpl;
import org.apache.directory.shared.ldap.name.LdapDN;
-import org.apache.directory.shared.ldap.schema.AttributeType;
-import org.apache.directory.shared.ldap.util.ArrayUtils;
-import org.apache.directory.shared.ldap.util.AttributeUtils;
import org.apache.directory.shared.ldap.util.ExceptionUtils;
-import org.apache.mina.common.IoSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.naming.Context;
-import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.ReferralException;
-import javax.naming.directory.Attribute;
-import javax.naming.directory.SearchControls;
-import javax.naming.directory.SearchResult;
-import javax.naming.ldap.LdapContext;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
/**
@@ -112,7 +89,12 @@
// now we process entries for ever as they change
PersistentSearchListener handler = new PersistentSearchListener( session, req );
- getLdapServer().getDirectoryService().addNamingListener( req.getBase(), req.getFilter().toString(), handler );
+
+ // TODO what about notification criteria ?????????????????? TODO add it
+ NotificationCriteria criteria = new NotificationCriteria();
+ criteria.setAliasDerefMode( req.getDerefAliases() );
+ criteria.setBase( req.getBase() );
+ getLdapServer().getDirectoryService().getEventService().addListener( handler );
return;
}
@@ -362,7 +344,7 @@
private static boolean isRootDSESearch( SearchRequest req )
{
boolean isBaseIsRoot = req.getBase().isEmpty();
- boolean isBaseScope = req.getScope() == ScopeEnum.BASE_OBJECT;
+ boolean isBaseScope = req.getScope() == SearchScope.OBJECT;
boolean isRootDSEFilter = false;
if ( req.getFilter() instanceof PresenceNode )
Modified: directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/PersistentSearchListener.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/PersistentSearchListener.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/PersistentSearchListener.java (original)
+++ directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/PersistentSearchListener.java Mon Jul 21 19:50:10 2008
@@ -20,42 +20,36 @@
package org.apache.directory.server.newldap.handlers;
-import javax.naming.InvalidNameException;
import javax.naming.NamingException;
-import javax.naming.directory.Attributes;
-import javax.naming.event.NamespaceChangeListener;
-import javax.naming.event.NamingEvent;
-import javax.naming.event.NamingExceptionEvent;
-import javax.naming.event.ObjectChangeListener;
-import org.apache.directory.server.core.entry.ServerEntry;
import org.apache.directory.server.core.entry.ServerEntryUtils;
-import org.apache.directory.server.core.jndi.ServerLdapContext;
+import org.apache.directory.server.core.event.DirectoryListener;
+import org.apache.directory.server.core.interceptor.context.AddOperationContext;
+import org.apache.directory.server.core.interceptor.context.ChangeOperationContext;
+import org.apache.directory.server.core.interceptor.context.DeleteOperationContext;
+import org.apache.directory.server.core.interceptor.context.ModifyOperationContext;
+import org.apache.directory.server.core.interceptor.context.MoveAndRenameOperationContext;
+import org.apache.directory.server.core.interceptor.context.MoveOperationContext;
+import org.apache.directory.server.core.interceptor.context.RenameOperationContext;
+import org.apache.directory.server.newldap.LdapSession;
import org.apache.directory.shared.ldap.codec.search.controls.ChangeType;
-import org.apache.directory.shared.ldap.exception.LdapException;
-import org.apache.directory.shared.ldap.exception.OperationAbandonedException;
import org.apache.directory.shared.ldap.message.AbandonListener;
import org.apache.directory.shared.ldap.message.AbandonableRequest;
import org.apache.directory.shared.ldap.message.EntryChangeControl;
-import org.apache.directory.shared.ldap.message.LdapResult;
import org.apache.directory.shared.ldap.message.PersistentSearchControl;
-import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.apache.directory.shared.ldap.message.SearchRequest;
import org.apache.directory.shared.ldap.message.SearchResponseEntry;
import org.apache.directory.shared.ldap.message.SearchResponseEntryImpl;
-import org.apache.directory.shared.ldap.name.LdapDN;
-import org.apache.directory.shared.ldap.util.ExceptionUtils;
-import org.apache.mina.common.IoSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * A JNDI NamingListener implementation which sends back added, deleted, modified or
+ * A DirectoryListener implementation which sends back added, deleted, modified or
* renamed entries to a client that created this listener. This class is part of the
* persistent search implementation which uses the event notification scheme built into
- * the server core. This is exposed by the server side ApacheDS JNDI LDAP provider.
+ * the server core.
*
* This listener is disabled only when a session closes or when an abandon request
* cancels it. Hence time and size limits in normal search operations do not apply
@@ -64,25 +58,19 @@
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
-class PersistentSearchListener implements ObjectChangeListener, NamespaceChangeListener, AbandonListener
+public class PersistentSearchListener implements DirectoryListener, AbandonListener
{
private static final Logger LOG = LoggerFactory.getLogger( PersistentSearchListener.class );
- final ServerLdapContext ctx;
- final IoSession session;
+ final LdapSession session;
final SearchRequest req;
final PersistentSearchControl control;
- /** Speedup for logs */
- private static final boolean IS_DEBUG = LOG.isDebugEnabled();
-
-
- PersistentSearchListener( ServerLdapContext ctx, IoSession session, SearchRequest req )
+ PersistentSearchListener( LdapSession session, SearchRequest req )
{
this.session = session;
this.req = req;
req.addAbandonListener( this );
- this.ctx = ctx;
this.control = ( PersistentSearchControl ) req.getControls().get( PersistentSearchControl.CONTROL_OID );
}
@@ -90,7 +78,7 @@
public void abandon() throws NamingException
{
// must abandon the operation
- ctx.removeNamingListener( this );
+ session.getCoreSession().getDirectoryService().getEventService().removeListener( this );
/*
* From RFC 2251 Section 4.11:
@@ -106,263 +94,109 @@
*/
}
-
- public void namingExceptionThrown( NamingExceptionEvent evt )
+
+ public void requestAbandoned( AbandonableRequest req )
{
- // must abandon the operation and send response done with an
- // error message if this occurs because something is wrong
-
try
{
- ctx.removeNamingListener( this );
+ abandon();
}
catch ( NamingException e )
{
- LOG.error( "Attempt to remove listener from context failed", e );
- }
-
- /*
- * From RFC 2251 Section 4.11:
- *
- * In the event that a server receives an Abandon Request on a Search
- * operation in the midst of transmitting responses to the Search, that
- * server MUST cease transmitting entry responses to the abandoned
- * request immediately, and MUST NOT send the SearchResultDone. Of
- * course, the server MUST ensure that only properly encoded LDAPMessage
- * PDUs are transmitted.
- *
- * SO DON'T SEND BACK ANYTHING!!!!!
- */
- if ( evt.getException() instanceof OperationAbandonedException )
- {
- return;
- }
-
- String msg = "failed on persistent search operation";
-
- if ( IS_DEBUG )
- {
- msg += ":\n" + req + ":\n" + ExceptionUtils.getStackTrace( evt.getException() );
- }
-
- ResultCodeEnum code;
-
- if ( evt.getException() instanceof LdapException )
- {
- code = ( ( LdapException ) evt.getException() ).getResultCode();
- }
- else
- {
- code = ResultCodeEnum.getBestEstimate( evt.getException(), req.getType() );
- }
-
- LdapResult result = req.getResultResponse().getLdapResult();
- result.setResultCode( code );
- result.setErrorMessage( msg );
-
- if ( ( evt.getException().getResolvedName() != null )
- && ( ( code == ResultCodeEnum.NO_SUCH_OBJECT ) || ( code == ResultCodeEnum.ALIAS_PROBLEM )
- || ( code == ResultCodeEnum.INVALID_DN_SYNTAX ) || ( code == ResultCodeEnum.ALIAS_DEREFERENCING_PROBLEM ) ) )
- {
- result.setMatchedDn( (LdapDN)evt.getException().getResolvedName() );
+ LOG.error( "failed to properly abandon this persistent search", e );
}
-
- session.write( req.getResultResponse() );
}
-
-
- public void objectChanged( NamingEvent evt )
+
+
+ private void setECResponseControl( SearchResponseEntry response, ChangeOperationContext opContext, ChangeType type )
{
- // send the entry back
- sendEntry( evt );
+ if ( control.isReturnECs() )
+ {
+ EntryChangeControl ecControl = new EntryChangeControl();
+ ecControl.setChangeType( type );
+
+ if ( opContext.getChangeLogEvent() != null )
+ {
+ ecControl.setChangeNumber( opContext.getChangeLogEvent().getRevision() );
+ }
+
+ response.add( ecControl );
+ }
}
- public void objectAdded( NamingEvent evt )
+ public void entryAdded( AddOperationContext opContext )
{
- // send the entry back
- sendEntry( evt );
+ if ( ! control.isNotificationEnabled( ChangeType.ADD ) )
+ {
+ return;
+ }
+
+ SearchResponseEntry respEntry = new SearchResponseEntryImpl( req.getMessageId() );
+ respEntry.setObjectName( opContext.getDn() );
+ respEntry.setAttributes( ServerEntryUtils.toAttributesImpl( opContext.getEntry() ) );
+ setECResponseControl( respEntry, opContext, ChangeType.ADD );
}
- public void objectRemoved( NamingEvent evt )
+ public void entryDeleted( DeleteOperationContext opContext )
{
- // send the entry back
- sendEntry( evt );
+ if ( ! control.isNotificationEnabled( ChangeType.DELETE ) )
+ {
+ return;
+ }
+
+ SearchResponseEntry respEntry = new SearchResponseEntryImpl( req.getMessageId() );
+ respEntry.setObjectName( opContext.getDn() );
+ respEntry.setAttributes( ServerEntryUtils.toAttributesImpl( opContext.getEntry() ) );
+ setECResponseControl( respEntry, opContext, ChangeType.DELETE );
}
- public void objectRenamed( NamingEvent evt )
+ public void entryModified( ModifyOperationContext opContext )
{
- // send the entry back
- sendEntry( evt );
+ if ( ! control.isNotificationEnabled( ChangeType.MODIFY ) )
+ {
+ return;
+ }
+
+ SearchResponseEntry respEntry = new SearchResponseEntryImpl( req.getMessageId() );
+ respEntry.setObjectName( opContext.getDn() );
+ respEntry.setAttributes( ServerEntryUtils.toAttributesImpl( opContext.getEntry() ) );
+ setECResponseControl( respEntry, opContext, ChangeType.MODIFY );
}
- private void sendEntry( NamingEvent evt )
+ public void entryMoved( MoveOperationContext opContext )
{
- /*
- * @todo eventually you'll want to add the changeNumber once we move
- * the CSN functionality into the server.
- */
- SearchResponseEntry respEntry = new SearchResponseEntryImpl( req.getMessageId() );
- EntryChangeControl ecControl = null;
-
- if ( control.isReturnECs() )
- {
- ecControl = new EntryChangeControl();
- respEntry.add( ecControl );
- }
-
- LdapDN newBinding = null;
- LdapDN oldBinding = null;
-
- if ( evt.getNewBinding() != null )
- {
- try
- {
- newBinding = new LdapDN( evt.getNewBinding().getName() );
- }
- catch ( InvalidNameException ine )
- {
- newBinding = LdapDN.EMPTY_LDAPDN;
- }
- }
-
- if ( evt.getOldBinding() != null )
+ if ( ! control.isNotificationEnabled( ChangeType.MODDN ) )
{
- try
- {
- oldBinding = new LdapDN( evt.getOldBinding().getName() );
- }
- catch ( InvalidNameException ine )
- {
- oldBinding = LdapDN.EMPTY_LDAPDN;
- }
+ return;
}
+
+ SearchResponseEntry respEntry = new SearchResponseEntryImpl( req.getMessageId() );
+ respEntry.setObjectName( opContext.getDn() );
+ respEntry.setAttributes( ServerEntryUtils.toAttributesImpl( opContext.getEntry() ) );
+ setECResponseControl( respEntry, opContext, ChangeType.MODDN );
+ }
- Object attr;
-
- switch ( evt.getType() )
- {
- case ( NamingEvent.OBJECT_ADDED ):
- if ( !control.isNotificationEnabled( ChangeType.ADD ) )
- {
- return;
- }
-
- respEntry.setObjectName( newBinding );
- attr = evt.getChangeInfo();
-
- if ( attr instanceof ServerEntry )
- {
- respEntry.setAttributes( ServerEntryUtils.toAttributesImpl( (ServerEntry)attr ) );
- }
- else
- {
- respEntry.setAttributes( ( Attributes ) attr );
- }
-
- if ( ecControl != null )
- {
- ecControl.setChangeType( ChangeType.ADD );
- }
-
- break;
-
- case ( NamingEvent.OBJECT_CHANGED ):
- if ( !control.isNotificationEnabled( ChangeType.MODIFY ) )
- {
- return;
- }
-
- respEntry.setObjectName( oldBinding );
- attr = evt.getOldBinding().getObject();
-
- if ( attr instanceof ServerEntry )
- {
- respEntry.setAttributes( ServerEntryUtils.toAttributesImpl( (ServerEntry)attr ) );
- }
- else
- {
- respEntry.setAttributes( ( Attributes ) attr );
- }
-
- if ( ecControl != null )
- {
- ecControl.setChangeType( ChangeType.MODIFY );
- }
-
- break;
-
- case ( NamingEvent.OBJECT_REMOVED ):
- if ( !control.isNotificationEnabled( ChangeType.DELETE ) )
- {
- return;
- }
-
- respEntry.setObjectName( oldBinding );
- attr = evt.getOldBinding().getObject();
-
- if ( attr instanceof ServerEntry )
- {
- respEntry.setAttributes( ServerEntryUtils.toAttributesImpl( (ServerEntry)attr ) );
- }
- else
- {
- respEntry.setAttributes( ( Attributes ) attr );
- }
-
- if ( ecControl != null )
- {
- ecControl.setChangeType( ChangeType.DELETE );
- }
-
- break;
-
- case ( NamingEvent.OBJECT_RENAMED ):
- if ( !control.isNotificationEnabled( ChangeType.MODDN ) )
- {
- return;
- }
-
- respEntry.setObjectName( newBinding );
- attr = evt.getNewBinding().getObject();
-
- if ( attr instanceof ServerEntry )
- {
- respEntry.setAttributes( ServerEntryUtils.toAttributesImpl( (ServerEntry)attr ) );
- }
- else
- {
- respEntry.setAttributes( ( Attributes ) attr );
- }
-
- if ( ecControl != null )
- {
- ecControl.setChangeType( ChangeType.MODDN );
- ecControl.setPreviousDn( oldBinding );
- }
-
- break;
- default:
- return;
- }
-
- session.write( respEntry );
+ public void entryMovedAndRenamed( MoveAndRenameOperationContext opContext )
+ {
+ entryRenamed( opContext );
}
- public void requestAbandoned( AbandonableRequest req )
+ public void entryRenamed( RenameOperationContext opContext )
{
- try
+ if ( ! control.isNotificationEnabled( ChangeType.MODDN ) )
{
- abandon();
- }
- catch ( NamingException e )
- {
- LOG.error( "failed to properly abandon this persistent search", e );
+ return;
}
+
+ SearchResponseEntry respEntry = new SearchResponseEntryImpl( req.getMessageId() );
+ respEntry.setObjectName( opContext.getAlteredEntry().getDn() );
+ respEntry.setAttributes( ServerEntryUtils.toAttributesImpl( opContext.getAlteredEntry() ) );
+ setECResponseControl( respEntry, opContext, ChangeType.MODDN );
}
}
\ No newline at end of file
Modified: directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/GracefulShutdownHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/GracefulShutdownHandler.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/GracefulShutdownHandler.java (original)
+++ directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/GracefulShutdownHandler.java Mon Jul 21 19:50:10 2008
@@ -27,12 +27,9 @@
import java.util.List;
import java.util.Set;
-import org.apache.directory.server.constants.ServerDNConstants;
-import org.apache.directory.server.core.DirectoryService;
-import org.apache.directory.server.core.jndi.ServerLdapContext;
import org.apache.directory.server.newldap.ExtendedOperationHandler;
import org.apache.directory.server.newldap.LdapServer;
-import org.apache.directory.server.newldap.SessionRegistry;
+import org.apache.directory.server.newldap.LdapSession;
import org.apache.directory.shared.ldap.message.ExtendedRequest;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
import org.apache.directory.shared.ldap.message.extended.GracefulDisconnect;
@@ -45,9 +42,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.naming.NamingException;
-import javax.naming.ldap.LdapContext;
-
/**
* @org.apache.xbean.XBean
@@ -74,43 +68,20 @@
}
- public void handleExtendedOperation( IoSession requestor, SessionRegistry registry, ExtendedRequest req )
- throws NamingException
+ public void handleExtendedOperation( LdapSession requestor, ExtendedRequest req ) throws Exception
{
- DirectoryService service;
- ServerLdapContext slc;
- LdapContext ctx = registry.getLdapContext( requestor, null, false );
- ctx = ( LdapContext ) ctx.lookup( "" );
-
- // setup some of the variables we need and make sure they are of the
- // right types otherwise send back an operations error in response
- if ( ctx instanceof ServerLdapContext )
- {
- slc = ( ServerLdapContext ) ctx;
- service = slc.getService();
- }
- else
- {
- LOG.error( "Encountered session context which was not a ServerLdapContext" );
- GracefulShutdownResponse msg = new GracefulShutdownResponse( req.getMessageId(),
- ResultCodeEnum.OPERATIONS_ERROR );
- msg.getLdapResult().setErrorMessage( "The session context was not a ServerLdapContext" );
- requestor.write( msg );
- return;
- }
-
// make sue only the administrator can issue this shutdown request if
// not we respond to the requestor with with insufficientAccessRights(50)
- if ( !slc.getSession().getEffectivePrincipal().getName().equalsIgnoreCase( ServerDNConstants.ADMIN_SYSTEM_DN_NORMALIZED ) )
+ if ( ! requestor.getCoreSession().isAnAdministrator() )
{
if ( LOG.isInfoEnabled() )
{
LOG.info( "Rejected with insufficientAccessRights to attempt for server shutdown by "
- + slc.getSession().getEffectivePrincipal().getName() );
+ + requestor.getCoreSession().getEffectivePrincipal().getName() );
}
- requestor
- .write( new GracefulShutdownResponse( req.getMessageId(), ResultCodeEnum.INSUFFICIENT_ACCESS_RIGHTS ) );
+ requestor.getIoSession().write( new GracefulShutdownResponse(
+ req.getMessageId(), ResultCodeEnum.INSUFFICIENT_ACCESS_RIGHTS ) );
return;
}
@@ -118,16 +89,16 @@
// handle the body of this operation below here
// -------------------------------------------------------------------
- IoAcceptor acceptor = ( IoAcceptor ) requestor.getService();
+ IoAcceptor acceptor = ( IoAcceptor ) requestor.getIoSession().getService();
List<IoSession> sessions = new ArrayList<IoSession>(
- acceptor.getManagedSessions( requestor.getServiceAddress() ) );
+ acceptor.getManagedSessions( requestor.getIoSession().getServiceAddress() ) );
GracefulShutdownRequest gsreq = ( GracefulShutdownRequest ) req;
// build the graceful disconnect message with replicationContexts
GracefulDisconnect notice = getGracefulDisconnect( gsreq.getTimeOffline(), gsreq.getDelay() );
// send (synch) the GracefulDisconnect to each client before unbinding
- sendGracefulDisconnect( sessions, notice, requestor );
+ sendGracefulDisconnect( sessions, notice, requestor.getIoSession() );
// wait for the specified delay before we unbind the service
waitForDelay( gsreq.getDelay() );
@@ -142,13 +113,13 @@
// .setDisconnectClientsOnUnbind( false );
// -------------------------------------------------------------------
// This might not work, either.
- acceptor.unbind( requestor.getServiceAddress() );
+ acceptor.unbind( requestor.getIoSession().getServiceAddress() );
// -------------------------------------------------------------------
// synchronously send a NoD to clients that are not aware of this resp
// after sending the NoD the client is disconnected if still connected
// -------------------------------------------------------------------
- sendNoticeOfDisconnect( sessions, requestor );
+ sendNoticeOfDisconnect( sessions, requestor.getIoSession() );
// -------------------------------------------------------------------
// respond back to the client that requested the graceful shutdown w/
@@ -157,13 +128,7 @@
// preventing new connections; after recieving this response the
// requestor should disconnect and stop using the connection
// -------------------------------------------------------------------
- sendShutdownResponse( requestor, req.getMessageId() );
-
- if ( service.isExitVmOnShutdown() )
- {
- System.exit( 0 );
- }
-
+ sendShutdownResponse( requestor.getIoSession(), req.getMessageId() );
}
@@ -342,7 +307,7 @@
}
- public void setLdapProvider( LdapServer provider )
+ public void setLdapServer( LdapServer ldapServer )
{
}
}
Modified: directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/LaunchDiagnosticUiHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/LaunchDiagnosticUiHandler.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/LaunchDiagnosticUiHandler.java (original)
+++ directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/LaunchDiagnosticUiHandler.java Mon Jul 21 19:50:10 2008
@@ -28,7 +28,6 @@
import java.util.Iterator;
import java.util.Set;
-import javax.naming.ldap.LdapContext;
import javax.swing.JFrame;
import org.apache.directory.server.constants.ServerDNConstants;
@@ -36,13 +35,13 @@
import org.apache.directory.server.core.DirectoryService;
import org.apache.directory.server.core.authn.LdapPrincipal;
import org.apache.directory.server.core.interceptor.context.ListSuffixOperationContext;
-import org.apache.directory.server.core.jndi.ServerLdapContext;
import org.apache.directory.server.core.partition.Partition;
import org.apache.directory.server.core.partition.PartitionNexus;
import org.apache.directory.server.core.partition.impl.btree.BTreePartition;
import org.apache.directory.server.core.partition.impl.btree.gui.PartitionFrame;
import org.apache.directory.server.newldap.ExtendedOperationHandler;
import org.apache.directory.server.newldap.LdapServer;
+import org.apache.directory.server.newldap.LdapSession;
import org.apache.directory.server.newldap.gui.SessionsFrame;
import org.apache.directory.shared.ldap.constants.AuthenticationLevel;
import org.apache.directory.shared.ldap.message.ExtendedRequest;
@@ -50,7 +49,6 @@
import org.apache.directory.shared.ldap.message.extended.LaunchDiagnosticUiRequest;
import org.apache.directory.shared.ldap.message.extended.LaunchDiagnosticUiResponse;
import org.apache.directory.shared.ldap.name.LdapDN;
-import org.apache.mina.common.IoSession;
/**
@@ -69,7 +67,7 @@
EXTENSION_OIDS = Collections.unmodifiableSet( set );
}
- private LdapServer ldapProvider;
+ private LdapServer ldapServer;
public String getOid()
@@ -78,67 +76,56 @@
}
- public void handleExtendedOperation( IoSession requestor, SessionRegistry registry, ExtendedRequest req )
+ public void handleExtendedOperation( LdapSession requestor, ExtendedRequest req )
throws Exception
{
- LdapContext ctx = registry.getLdapContext( requestor, null, false );
- ctx = ( LdapContext ) ctx.lookup( "" );
-
- if ( ctx instanceof ServerLdapContext )
+ DirectoryService service = requestor.getCoreSession().getDirectoryService();
+
+ if ( ! requestor.getCoreSession().isAnAdministrator() )
{
- ServerLdapContext slc = ( ServerLdapContext ) ctx;
- DirectoryService service = slc.getService();
-
- if ( !slc.getSession().getEffectivePrincipal().getName()
- .equalsIgnoreCase( ServerDNConstants.ADMIN_SYSTEM_DN_NORMALIZED ) )
- {
- requestor.write( new LaunchDiagnosticUiResponse( req.getMessageId(),
- ResultCodeEnum.INSUFFICIENT_ACCESS_RIGHTS ) );
- return;
- }
+ requestor.getIoSession().write( new LaunchDiagnosticUiResponse( req.getMessageId(),
+ ResultCodeEnum.INSUFFICIENT_ACCESS_RIGHTS ) );
+ return;
+ }
- requestor.write( new LaunchDiagnosticUiResponse( req.getMessageId() ) );
+ requestor.getIoSession().write( new LaunchDiagnosticUiResponse( req.getMessageId() ) );
- PartitionNexus nexus = service.getPartitionNexus();
- LdapDN adminDn = new LdapDN( ServerDNConstants.ADMIN_SYSTEM_DN_NORMALIZED );
- adminDn.normalize( service.getRegistries().getAttributeTypeRegistry().getNormalizerMapping() );
- LdapPrincipal principal = new LdapPrincipal( adminDn, AuthenticationLevel.STRONG );
- CoreSession session = service.getSession( principal );
- Iterator<String> list = nexus.listSuffixes( new ListSuffixOperationContext( session ) );
- int launchedWindowCount = 0;
+ PartitionNexus nexus = service.getPartitionNexus();
+ LdapDN adminDn = new LdapDN( ServerDNConstants.ADMIN_SYSTEM_DN_NORMALIZED );
+ adminDn.normalize( service.getRegistries().getAttributeTypeRegistry().getNormalizerMapping() );
+ LdapPrincipal principal = new LdapPrincipal( adminDn, AuthenticationLevel.STRONG );
+ CoreSession session = service.getSession( principal );
+ Iterator<String> list = nexus.listSuffixes( new ListSuffixOperationContext( session ) );
+ int launchedWindowCount = 0;
+
+ while ( list.hasNext() )
+ {
+ LdapDN dn = new LdapDN( list.next() );
+ Partition partition = nexus.getPartition( dn );
- while ( list.hasNext() )
+ if ( partition instanceof BTreePartition )
{
- LdapDN dn = new LdapDN( list.next() );
- Partition partition = nexus.getPartition( dn );
-
- if ( partition instanceof BTreePartition )
- {
- BTreePartition btPartition = ( BTreePartition ) partition;
- PartitionFrame frame = new PartitionFrame( btPartition, service.getRegistries() );
- Point pos = getCenteredPosition( frame );
- pos.y = launchedWindowCount * 20 + pos.y;
- double multiplier = getAspectRatio() * 20.0;
- pos.x = ( int ) ( launchedWindowCount * multiplier ) + pos.x;
- frame.setLocation( pos );
- frame.setVisible( true );
- launchedWindowCount++;
- }
+ BTreePartition btPartition = ( BTreePartition ) partition;
+ PartitionFrame frame = new PartitionFrame( btPartition, service.getRegistries() );
+ Point pos = getCenteredPosition( frame );
+ pos.y = launchedWindowCount * 20 + pos.y;
+ double multiplier = getAspectRatio() * 20.0;
+ pos.x = ( int ) ( launchedWindowCount * multiplier ) + pos.x;
+ frame.setLocation( pos );
+ frame.setVisible( true );
+ launchedWindowCount++;
}
-
- SessionsFrame sessions = new SessionsFrame( ldapProvider.getRegistry() );
- sessions.setRequestor( requestor );
- sessions.setLdapProvider( ldapProvider.getHandler() );
- Point pos = getCenteredPosition( sessions );
- pos.y = launchedWindowCount * 20 + pos.y;
- double multiplier = getAspectRatio() * 20.0;
- pos.x = ( int ) ( launchedWindowCount * multiplier ) + pos.x;
- sessions.setLocation( pos );
- sessions.setVisible( true );
- return;
}
- requestor.write( new LaunchDiagnosticUiResponse( req.getMessageId(), ResultCodeEnum.OPERATIONS_ERROR ) );
+ SessionsFrame sessions = new SessionsFrame( ldapServer );
+ sessions.setRequestor( requestor.getIoSession() );
+ sessions.setLdapProvider( ldapServer.getHandler() );
+ Point pos = getCenteredPosition( sessions );
+ pos.y = launchedWindowCount * 20 + pos.y;
+ double multiplier = getAspectRatio() * 20.0;
+ pos.x = ( int ) ( launchedWindowCount * multiplier ) + pos.x;
+ sessions.setLocation( pos );
+ sessions.setVisible( true );
}
@@ -167,8 +154,8 @@
}
- public void setLdapProvider( LdapServer provider )
+ public void setLdapServer( LdapServer ldapServer )
{
- this.ldapProvider = provider;
+ this.ldapServer = ldapServer;
}
}
Modified: directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/StoredProcedureExtendedOperationHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/StoredProcedureExtendedOperationHandler.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/StoredProcedureExtendedOperationHandler.java (original)
+++ directory/apacheds/branches/bigbang/protocol-newldap/src/main/java/org/apache/directory/server/newldap/handlers/extended/StoredProcedureExtendedOperationHandler.java Mon Jul 21 19:50:10 2008
@@ -31,11 +31,9 @@
import java.util.List;
import java.util.Set;
-import javax.naming.ldap.Control;
import javax.naming.ldap.LdapContext;
import org.apache.commons.lang.SerializationUtils;
-import org.apache.directory.server.core.CoreSession;
import org.apache.directory.server.core.entry.ClonedServerEntry;
import org.apache.directory.server.core.jndi.ServerLdapContext;
import org.apache.directory.server.core.sp.StoredProcEngine;
@@ -44,7 +42,7 @@
import org.apache.directory.server.core.sp.java.JavaStoredProcEngineConfig;
import org.apache.directory.server.newldap.ExtendedOperationHandler;
import org.apache.directory.server.newldap.LdapServer;
-import org.apache.directory.server.newldap.SessionRegistry;
+import org.apache.directory.server.newldap.LdapSession;
import org.apache.directory.shared.asn1.ber.Asn1Decoder;
import org.apache.directory.shared.asn1.ber.IAsn1Container;
import org.apache.directory.shared.ldap.codec.extended.operations.StoredProcedure;
@@ -55,9 +53,9 @@
import org.apache.directory.shared.ldap.message.ExtendedResponse;
import org.apache.directory.shared.ldap.message.extended.StoredProcedureRequest;
import org.apache.directory.shared.ldap.message.extended.StoredProcedureResponse;
+import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.sp.LdapContextParameter;
import org.apache.directory.shared.ldap.util.StringTools;
-import org.apache.mina.common.IoSession;
/**
@@ -71,6 +69,7 @@
private StoredProcExecutionManager manager;
private static final Object[] EMPTY_CLASS_ARRAY = new Object[0];
+
public StoredProcedureExtendedOperationHandler()
{
super();
@@ -83,30 +82,19 @@
this.manager = new StoredProcExecutionManager( spContainer, spEngineConfigs );
}
- public void handleExtendedOperation( IoSession session, SessionRegistry registry, ExtendedRequest req ) throws Exception
+
+ public void handleExtendedOperation( LdapSession session, ExtendedRequest req ) throws Exception
{
- Control[] connCtls = req.getControls().values().toArray( new Control[ req.getControls().size() ] );
- LdapContext ldapContext = registry.getLdapContext( session, connCtls, false);
- ServerLdapContext ctx;
-
- if ( ldapContext instanceof ServerLdapContext )
- {
- ctx = ( ServerLdapContext ) ldapContext;
- }
- else
- {
- ctx = ( ServerLdapContext ) ldapContext.lookup( "" );
- }
-
StoredProcedure spBean = decodeBean( req.getPayload() );
String procedure = StringTools.utf8ToString( spBean.getProcedure() );
- CoreSession coreSession = ctx.getSession();
- ClonedServerEntry spUnit = manager.findStoredProcUnit( coreSession, procedure );
+ ClonedServerEntry spUnit = manager.findStoredProcUnit( session.getCoreSession(), procedure );
StoredProcEngine engine = manager.getStoredProcEngineInstance( spUnit );
List<Object> valueList = new ArrayList<Object>( spBean.getParameters().size() );
Iterator<StoredProcedureParameter> it = spBean.getParameters().iterator();
+ LdapContext ctx = new ServerLdapContext( session.getCoreSession().getDirectoryService(),
+ session.getCoreSession().getEffectivePrincipal(), new LdapDN() );
while ( it.hasNext() )
{
@@ -125,11 +113,11 @@
Object[] values = valueList.toArray( EMPTY_CLASS_ARRAY );
- Object response = engine.invokeProcedure( coreSession, procedure, values );
+ Object response = engine.invokeProcedure( session.getCoreSession(), procedure, values );
byte[] serializedResponse = SerializationUtils.serialize( ( Serializable ) response );
( ( ExtendedResponse )( req.getResultResponse() ) ).setResponse( serializedResponse );
- session.write( req.getResultResponse() );
+ session.getIoSession().write( req.getResultResponse() );
}
@@ -176,8 +164,8 @@
return EXTENSION_OIDS;
}
-
- public void setLdapProvider( LdapServer provider)
+
+ public void setLdapServer( LdapServer ldapServer )
{
}
}
Modified: directory/apacheds/branches/bigbang/protocol-newldap/src/test/java/org/apache/directory/server/newldap/SettingAlternativeHandlersTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/bigbang/protocol-newldap/src/test/java/org/apache/directory/server/newldap/SettingAlternativeHandlersTest.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/apacheds/branches/bigbang/protocol-newldap/src/test/java/org/apache/directory/server/newldap/SettingAlternativeHandlersTest.java (original)
+++ directory/apacheds/branches/bigbang/protocol-newldap/src/test/java/org/apache/directory/server/newldap/SettingAlternativeHandlersTest.java Mon Jul 21 19:50:10 2008
@@ -23,15 +23,15 @@
import junit.framework.TestCase;
import org.apache.directory.server.core.DirectoryService;
import org.apache.directory.server.newldap.LdapServer;
-import org.apache.directory.server.newldap.handlers.AbandonHandler;
-import org.apache.directory.server.newldap.handlers.AddHandler;
-import org.apache.directory.server.newldap.handlers.BindHandler;
-import org.apache.directory.server.newldap.handlers.CompareHandler;
-import org.apache.directory.server.newldap.handlers.DeleteHandler;
-import org.apache.directory.server.newldap.handlers.ModifyDnHandler;
-import org.apache.directory.server.newldap.handlers.ModifyHandler;
-import org.apache.directory.server.newldap.handlers.SearchHandler;
-import org.apache.directory.server.newldap.handlers.UnbindHandler;
+import org.apache.directory.server.newldap.handlers.NewAbandonHandler;
+import org.apache.directory.server.newldap.handlers.NewAddHandler;
+import org.apache.directory.server.newldap.handlers.NewBindHandler;
+import org.apache.directory.server.newldap.handlers.NewCompareHandler;
+import org.apache.directory.server.newldap.handlers.NewDeleteHandler;
+import org.apache.directory.server.newldap.handlers.NewModifyDnHandler;
+import org.apache.directory.server.newldap.handlers.NewModifyHandler;
+import org.apache.directory.server.newldap.handlers.NewSearchHandler;
+import org.apache.directory.server.newldap.handlers.NewUnbindHandler;
import org.apache.directory.shared.ldap.NotImplementedException;
import org.apache.directory.shared.ldap.exception.LdapNamingException;
import org.apache.directory.shared.ldap.message.AbandonRequest;
@@ -111,7 +111,7 @@
}
- public static class BogusAbandonHandler extends AbandonHandler
+ public static class BogusAbandonHandler extends NewAbandonHandler
{
public void abandonMessageReceived( IoSession session, AbandonRequest request )
{
@@ -120,7 +120,7 @@
}
- public static class BogusUnbindHandler extends UnbindHandler
+ public static class BogusUnbindHandler extends NewUnbindHandler
{
public void unbindMessageReceived( IoSession session, UnbindRequest request )
{
@@ -128,7 +128,7 @@
}
}
- public static class BogusAddHandler extends AddHandler
+ public static class BogusAddHandler extends NewAddHandler
{
public void addMessageReceived( IoSession session, AddRequest request )
{
@@ -136,7 +136,7 @@
}
}
- public static class BogusBindHandler extends BindHandler
+ public static class BogusBindHandler extends NewBindHandler
{
public void setDirectoryService( DirectoryService directoryService )
{
@@ -149,7 +149,7 @@
}
}
- public static class BogusCompareHandler extends CompareHandler
+ public static class BogusCompareHandler extends NewCompareHandler
{
public void compareMessageReceived( IoSession session, CompareRequest request )
{
@@ -157,7 +157,7 @@
}
}
- public static class BogusDeleteHandler extends DeleteHandler
+ public static class BogusDeleteHandler extends NewDeleteHandler
{
public void deleteMessageReceived( IoSession session, DeleteRequest request )
{
@@ -165,7 +165,7 @@
}
}
- public static class BogusModifyDnHandler extends ModifyDnHandler
+ public static class BogusModifyDnHandler extends NewModifyDnHandler
{
public void modifyDnMessageReceived( IoSession session, ModifyDnRequest request )
{
@@ -173,7 +173,7 @@
}
}
- public static class BogusModifyHandler extends ModifyHandler
+ public static class BogusModifyHandler extends NewModifyHandler
{
public void modifyMessageReceived( IoSession session, ModifyRequest request )
{
@@ -181,7 +181,7 @@
}
}
- public static class BogusSearchHandler extends SearchHandler
+ public static class BogusSearchHandler extends NewSearchHandler
{
public void searchMessageReceived( IoSession session, SearchRequest request )
{
Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageGrammar.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageGrammar.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageGrammar.java (original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/LdapMessageGrammar.java Mon Jul 21 19:50:10 2008
@@ -93,6 +93,7 @@
import org.apache.directory.shared.ldap.codec.search.SearchResultReference;
import org.apache.directory.shared.ldap.codec.search.SubstringFilter;
import org.apache.directory.shared.ldap.codec.unbind.UnBindRequest;
+import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.message.AddResponseImpl;
import org.apache.directory.shared.ldap.message.BindResponseImpl;
import org.apache.directory.shared.ldap.message.CompareResponseImpl;
@@ -100,7 +101,6 @@
import org.apache.directory.shared.ldap.message.ModifyDnResponseImpl;
import org.apache.directory.shared.ldap.message.ModifyResponseImpl;
import org.apache.directory.shared.ldap.message.ResultCodeEnum;
-import org.apache.directory.shared.ldap.message.ScopeEnum;
import org.apache.directory.shared.ldap.message.SearchResponseDoneImpl;
import org.apache.directory.shared.ldap.name.LdapDN;
import org.apache.directory.shared.ldap.name.Rdn;
@@ -3580,7 +3580,7 @@
throw new DecoderException( "The scope is not in [0..2] : " + value.toString() );
}
- searchRequest.setScope( ScopeEnum.getScope( scope ) );
+ searchRequest.setScope( SearchScope.getSearchScope( scope ) );
if ( IS_DEBUG )
{
Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/SearchRequest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/SearchRequest.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/SearchRequest.java (original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/SearchRequest.java Mon Jul 21 19:50:10 2008
@@ -38,9 +38,9 @@
import org.apache.directory.shared.ldap.codec.LdapConstants;
import org.apache.directory.shared.ldap.codec.LdapMessage;
import org.apache.directory.shared.ldap.codec.LdapMessageContainer;
+import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.message.AttributeImpl;
import org.apache.directory.shared.ldap.message.AttributesImpl;
-import org.apache.directory.shared.ldap.message.ScopeEnum;
import org.apache.directory.shared.ldap.name.LdapDN;
@@ -60,7 +60,7 @@
private LdapDN baseObject;
/** The scope. It could be baseObject, singleLevel or wholeSubtree. */
- private ScopeEnum scope;
+ private SearchScope scope;
/**
* The deref alias could be neverDerefAliases, derefInSearching,
@@ -223,7 +223,7 @@
*
* @return Returns the scope.
*/
- public ScopeEnum getScope()
+ public SearchScope getScope()
{
return scope;
}
@@ -234,7 +234,7 @@
*
* @param scope The scope to set.
*/
- public void setScope( ScopeEnum scope )
+ public void setScope( SearchScope scope )
{
this.scope = scope;
}
@@ -564,7 +564,7 @@
Value.encode( buffer, LdapDN.getBytes( baseObject ) );
// The scope
- Value.encodeEnumerated( buffer, scope.getValue() );
+ Value.encodeEnumerated( buffer, scope.getJndiScope() );
// The derefAliases
Value.encodeEnumerated( buffer, derefAliases );
@@ -674,15 +674,15 @@
switch ( scope )
{
- case BASE_OBJECT:
+ case OBJECT:
sb.append( "base object" );
break;
- case SINGLE_LEVEL:
+ case ONELEVEL:
sb.append( "single level" );
break;
- case WHOLE_SUBTREE:
+ case SUBTREE:
sb.append( "whole subtree" );
break;
}
Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlCodec.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlCodec.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlCodec.java (original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlCodec.java Mon Jul 21 19:50:10 2008
@@ -85,7 +85,7 @@
private ChangeType changeType = ChangeType.ADD;
- private int changeNumber = UNDEFINED_CHANGE_NUMBER;
+ private long changeNumber = UNDEFINED_CHANGE_NUMBER;
/** The previous DN */
private LdapDN previousDn = null;
@@ -129,7 +129,9 @@
if ( changeNumber != UNDEFINED_CHANGE_NUMBER )
{
- changeNumberLength = 1 + 1 + Value.getNbBytes( changeNumber );
+ // TODO Emmanuel can you please check how we can use long here instead
+ // TODO get rid of cast to int
+ changeNumberLength = 1 + 1 + Value.getNbBytes( ( int ) changeNumber );
}
eccSeqLength = changeTypesLength + previousDnLength + changeNumberLength;
@@ -162,7 +164,9 @@
}
if ( changeNumber != UNDEFINED_CHANGE_NUMBER )
{
- Value.encode( bb, changeNumber );
+ // TODO Emmanuel can you please check how we can use long here instead
+ // TODO get rid of cast to int
+ Value.encode( bb, ( int ) changeNumber );
}
return bb;
}
@@ -216,13 +220,13 @@
}
- public int getChangeNumber()
+ public long getChangeNumber()
{
return changeNumber;
}
- public void setChangeNumber( int changeNumber )
+ public void setChangeNumber( long changeNumber )
{
this.changeNumber = changeNumber;
}
Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/EntryChangeControl.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/EntryChangeControl.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/EntryChangeControl.java (original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/EntryChangeControl.java Mon Jul 21 19:50:10 2008
@@ -82,11 +82,11 @@
public static final String CONTROL_OID = "2.16.840.1.113730.3.4.7";
- public static final int UNDEFINED_CHANGE_NUMBER = org.apache.directory.shared.ldap.codec.search.controls.EntryChangeControlCodec.UNDEFINED_CHANGE_NUMBER;
+ public static final long UNDEFINED_CHANGE_NUMBER = org.apache.directory.shared.ldap.codec.search.controls.EntryChangeControlCodec.UNDEFINED_CHANGE_NUMBER;
private ChangeType changeType = ChangeType.ADD;
- private int changeNumber = UNDEFINED_CHANGE_NUMBER;
+ private long changeNumber = UNDEFINED_CHANGE_NUMBER;
private LdapDN previousDn = null;
@@ -122,13 +122,13 @@
}
- public int getChangeNumber()
+ public long getChangeNumber()
{
return changeNumber;
}
- public void setChangeNumber( int changeNumber )
+ public void setChangeNumber( long changeNumber )
{
this.changeNumber = changeNumber;
}
Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequest.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequest.java (original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequest.java Mon Jul 21 19:50:10 2008
@@ -23,6 +23,7 @@
import java.util.Collection;
import org.apache.directory.shared.ldap.filter.ExprNode;
+import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.name.LdapDN;
@@ -77,7 +78,7 @@
*
* @return the scope enumeration parameter.
*/
- ScopeEnum getScope();
+ SearchScope getScope();
/**
@@ -85,7 +86,7 @@
*
* @param scope the scope enumeration parameter.
*/
- void setScope( ScopeEnum scope );
+ void setScope( SearchScope scope );
/**
Modified: directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequestImpl.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequestImpl.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequestImpl.java (original)
+++ directory/shared/branches/bigbang/ldap/src/main/java/org/apache/directory/shared/ldap/message/SearchRequestImpl.java Mon Jul 21 19:50:10 2008
@@ -29,6 +29,7 @@
import org.apache.directory.shared.ldap.codec.LdapConstants;
import org.apache.directory.shared.ldap.filter.BranchNormalizedVisitor;
import org.apache.directory.shared.ldap.filter.ExprNode;
+import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.name.LdapDN;
@@ -49,7 +50,7 @@
private ExprNode filter;
/** Search scope enumeration value */
- private ScopeEnum scope;
+ private SearchScope scope;
/** Types only return flag */
private boolean typesOnly;
@@ -206,7 +207,7 @@
*
* @return the scope enumeration parameter.
*/
- public ScopeEnum getScope()
+ public SearchScope getScope()
{
return scope;
}
@@ -218,7 +219,7 @@
* @param scope
* the scope enumeration parameter.
*/
- public void setScope( ScopeEnum scope )
+ public void setScope( SearchScope scope )
{
this.scope = scope;
}
@@ -471,15 +472,15 @@
switch ( scope )
{
- case BASE_OBJECT:
+ case OBJECT:
sb.append( "base object" );
break;
- case SINGLE_LEVEL:
+ case ONELEVEL:
sb.append( "single level" );
break;
- case WHOLE_SUBTREE:
+ case SUBTREE:
sb.append( "whole subtree" );
break;
}
Modified: directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestMatchingRuleAssertionTest.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestMatchingRuleAssertionTest.java?rev=678621&r1=678620&r2=678621&view=diff
==============================================================================
--- directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestMatchingRuleAssertionTest.java (original)
+++ directory/shared/branches/bigbang/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchRequestMatchingRuleAssertionTest.java Mon Jul 21 19:50:10 2008
@@ -36,7 +36,7 @@
import org.apache.directory.shared.ldap.codec.LdapMessageContainer;
import org.apache.directory.shared.ldap.codec.search.ExtensibleMatchFilter;
import org.apache.directory.shared.ldap.codec.search.SearchRequest;
-import org.apache.directory.shared.ldap.message.ScopeEnum;
+import org.apache.directory.shared.ldap.filter.SearchScope;
import org.apache.directory.shared.ldap.schema.DeepTrimToLowerNormalizer;
import org.apache.directory.shared.ldap.schema.OidNormalizer;
import org.apache.directory.shared.ldap.util.StringTools;
@@ -134,7 +134,7 @@
assertEquals( 1, message.getMessageId() );
assertEquals( "dc=example,dc=com", sr.getBaseObject().toString() );
- assertEquals( ScopeEnum.BASE_OBJECT, sr.getScope() );
+ assertEquals( SearchScope.OBJECT, sr.getScope() );
assertEquals( LdapConstants.DEREF_FINDING_BASE_OBJ, sr.getDerefAliases() );
assertEquals( 2, sr.getSizeLimit() );
assertEquals( 3, sr.getTimeLimit() );
@@ -366,7 +366,7 @@
assertEquals( 4, message.getMessageId() );
assertEquals( "uid=akarasulu,dc=example,dc=com", sr.getBaseObject().toString() );
- assertEquals( ScopeEnum.SINGLE_LEVEL, sr.getScope() );
+ assertEquals( SearchScope.ONELEVEL, sr.getScope() );
assertEquals( LdapConstants.DEREF_ALWAYS, sr.getDerefAliases() );
assertEquals( 0, sr.getSizeLimit() );
assertEquals( 0, sr.getTimeLimit() );
@@ -648,7 +648,7 @@
assertEquals( 4, message.getMessageId() );
assertEquals( "uid=akarasulu,dc=example,dc=com", sr.getBaseObject().toString() );
- assertEquals( ScopeEnum.SINGLE_LEVEL, sr.getScope() );
+ assertEquals( SearchScope.ONELEVEL, sr.getScope() );
assertEquals( LdapConstants.DEREF_ALWAYS, sr.getDerefAliases() );
assertEquals( 0, sr.getSizeLimit() );
assertEquals( 0, sr.getTimeLimit() );