You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2011/03/16 19:35:39 UTC

svn commit: r1082253 - /directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeRootDSERunnable.java

Author: pamarcelot
Date: Wed Mar 16 18:35:39 2011
New Revision: 1082253

URL: http://svn.apache.org/viewvc?rev=1082253&view=rev
Log:
Fixed NPEs when some attributes are missing from the RootDSE.

Modified:
    directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeRootDSERunnable.java

Modified: directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeRootDSERunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeRootDSERunnable.java?rev=1082253&r1=1082252&r2=1082253&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeRootDSERunnable.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeRootDSERunnable.java Wed Mar 16 18:35:39 2011
@@ -302,16 +302,34 @@ public class InitializeRootDSERunnable i
         // Set detected connection properties
         DetectedConnectionProperties detectedConnectionProperties = browserConnection.getConnection()
             .getDetectedConnectionProperties();
-        detectedConnectionProperties.setVendorName( browserConnection.getRootDSE().getAttribute( "vendorName" )
-            .getStringValue() );
-        detectedConnectionProperties.setVendorVersion( browserConnection.getRootDSE().getAttribute( "vendorVersion" )
-            .getStringValue() );
-        detectedConnectionProperties.setSupportedControls( Arrays.asList( browserConnection.getRootDSE()
-            .getAttribute( "supportedControl" ).getStringValues() ) );
-        detectedConnectionProperties.setSupportedExtensions( Arrays.asList( browserConnection.getRootDSE()
-            .getAttribute( "supportedExtension" ).getStringValues() ) );
-        detectedConnectionProperties.setSupportedFeatures( Arrays.asList( browserConnection.getRootDSE()
-            .getAttribute( "supportedFeatures" ).getStringValues() ) );
+        IAttribute vendorNameAttribute = browserConnection.getRootDSE().getAttribute( "vendorName" );
+        if ( ( vendorNameAttribute != null ) && ( vendorNameAttribute.getValueSize() > 0 ) )
+        {
+            detectedConnectionProperties.setVendorName( vendorNameAttribute.getStringValue() );
+        }
+        IAttribute vendorVersionAttribute = browserConnection.getRootDSE().getAttribute( "vendorVersion" );
+        if ( ( vendorVersionAttribute != null ) && ( vendorVersionAttribute.getValueSize() > 0 ) )
+        {
+            detectedConnectionProperties.setVendorVersion( vendorVersionAttribute.getStringValue() );
+        }
+        IAttribute supportedControlAttribute = browserConnection.getRootDSE().getAttribute( "supportedControl" );
+        if ( ( supportedControlAttribute != null ) && ( supportedControlAttribute.getValueSize() > 0 ) )
+        {
+            detectedConnectionProperties.setSupportedControls( Arrays.asList( supportedControlAttribute
+                .getStringValues() ) );
+        }
+        IAttribute supportedExtensionAttribute = browserConnection.getRootDSE().getAttribute( "supportedExtension" );
+        if ( ( supportedExtensionAttribute != null ) && ( supportedExtensionAttribute.getValueSize() > 0 ) )
+        {
+            detectedConnectionProperties.setSupportedExtensions( Arrays.asList( supportedExtensionAttribute
+                .getStringValues() ) );
+        }
+        IAttribute supportedFeaturesAttribute = browserConnection.getRootDSE().getAttribute( "supportedFeatures" );
+        if ( ( supportedFeaturesAttribute != null ) && ( supportedFeaturesAttribute.getValueSize() > 0 ) )
+        {
+            detectedConnectionProperties.setSupportedFeatures( Arrays.asList( supportedFeaturesAttribute
+                .getStringValues() ) );
+        }
         detectedConnectionProperties
             .setServerType( ServerTypeDetector.detectServerType( browserConnection.getRootDSE() ) );