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 2007/01/20 19:46:20 UTC
svn commit: r498152 -
/directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/ConnectionSearchHandler.java
Author: seelmann
Date: Sat Jan 20 10:46:19 2007
New Revision: 498152
URL: http://svn.apache.org/viewvc?view=rev&rev=498152
Log:
Fix for DIRSTUDIO-36, removed dead code
Modified:
directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/ConnectionSearchHandler.java
Modified: directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/ConnectionSearchHandler.java
URL: http://svn.apache.org/viewvc/directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/ConnectionSearchHandler.java?view=diff&rev=498152&r1=498151&r2=498152
==============================================================================
--- directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/ConnectionSearchHandler.java (original)
+++ directory/trunks/ldapstudio/ldapstudio-browser-core/src/main/java/org/apache/directory/ldapstudio/browser/core/internal/model/ConnectionSearchHandler.java Sat Jan 20 10:46:19 2007
@@ -454,43 +454,58 @@
if ( search.getReturningAttributes() == null || search.getReturningAttributes().length > 0 )
{
-
LdifAttrValLine[] lines = record.getAttrVals();
// clear old attributes defined as returing attributes or all
if ( search.getReturningAttributes() != null )
{
String[] ras = search.getReturningAttributes();
- for ( int r = 0; r < ras.length; r++ )
+
+ // special case *
+ if( Arrays.asList( ras ).contains( ISearch.ALL_USER_ATTRIBUTES ) )
{
- String ra = ras[r];
-
- IAttribute oldAttribute = entry.getAttribute( ra );
- if ( oldAttribute != null )
+ // clear all user attributes
+ IAttribute[] oldAttributes = entry.getAttributes();
+ for ( int i = 0; oldAttributes != null && i < oldAttributes.length; i++ )
{
- if ( ra.equals( ISearch.ALL_USER_ATTRIBUTES ) && !oldAttribute.isOperationalAttribute() )
+ if( !oldAttributes[i].isOperationalAttribute() )
{
try
{
- entry.deleteAttribute( oldAttribute, connection );
+ entry.deleteAttribute( oldAttributes[i], connection );
}
catch ( ModelModificationException e )
{
}
}
- if ( ra.equals( ISearch.ALL_OPERATIONAL_ATTRIBUTES ) && oldAttribute.isOperationalAttribute() )
+ }
+ }
+
+ // special case +
+ if( Arrays.asList( ras ).contains( ISearch.ALL_OPERATIONAL_ATTRIBUTES ) )
+ {
+ // clear all operational attributes
+ IAttribute[] oldAttributes = entry.getAttributes();
+ for ( int i = 0; oldAttributes != null && i < oldAttributes.length; i++ )
+ {
+ if( oldAttributes[i].isOperationalAttribute() )
{
try
{
- entry.deleteAttribute( oldAttribute, connection );
+ entry.deleteAttribute( oldAttributes[i], connection );
}
catch ( ModelModificationException e )
{
}
}
}
-
- AttributeHierarchy ah = entry.getAttributeWithSubtypes( ra );
+ }
+
+
+ for ( int r = 0; r < ras.length; r++ )
+ {
+ // clear attributes requested from server, also include subtypes
+ AttributeHierarchy ah = entry.getAttributeWithSubtypes( ras[r] );
if ( ah != null )
{
for ( Iterator it = ah.iterator(); it.hasNext(); )
@@ -523,29 +538,6 @@
}
}
- // Set attributeNameSet = null;
- // if(search.getReturningAttributes() != null) {
- // attributeNameSet = new
- // HashSet(Arrays.asList(search.getReturningAttributes()));
- // }
- // IAttribute[] oldAttributes = entry.getAttributes();
- // for(int i=0; oldAttributes!=null&&i<oldAttributes.length;
- // i++) {
- //
- // if(attributeNameSet == null ||
- // attributeNameSet.contains(oldAttributes[i].getDescription())
- // ||
- // (attributeNameSet.contains(ISearch.ALL_USER_ATTRIBUTES) &&
- // !oldAttributes[i].isOperationalAttribute()) ||
- // (attributeNameSet.contains(ISearch.ALL_OPERATIONAL_ATTRIBUTES)
- // && oldAttributes[i].isOperationalAttribute())
- // ) {
- // try {
- // entry.deleteAttribute(oldAttributes[i], connection);
- // } catch (ModelModificationException e) {
- // }
- // }
- // }
// additional clear old attributes if the record contains the
// attribute