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 2005/02/10 03:36:49 UTC
svn commit: r153145 - in
incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server:
db/jdbm/JdbmDatabase.java prefs/ServerPreferencesFactory.java
prefs/ServerSystemPreferences.java
Author: akarasulu
Date: Wed Feb 9 18:36:48 2005
New Revision: 153145
URL: http://svn.apache.org/viewcvs?view=rev&rev=153145
Log:
fix npe due to lack of check for attribute and cleaned up javadocs
Modified:
incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/db/jdbm/JdbmDatabase.java
incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerPreferencesFactory.java
incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerSystemPreferences.java
Modified: incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/db/jdbm/JdbmDatabase.java
URL: http://svn.apache.org/viewcvs/incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/db/jdbm/JdbmDatabase.java?view=diff&r1=153144&r2=153145
==============================================================================
--- incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/db/jdbm/JdbmDatabase.java (original)
+++ incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/db/jdbm/JdbmDatabase.java Wed Feb 9 18:36:48 2005
@@ -38,7 +38,9 @@
import jdbm.recman.CacheRecordManager;
import org.apache.ldap.common.MultiException;
import org.apache.ldap.common.exception.LdapNameNotFoundException;
+import org.apache.ldap.common.exception.LdapSchemaViolationException;
import org.apache.ldap.common.message.LockableAttributesImpl;
+import org.apache.ldap.common.message.ResultCodeEnum;
import org.apache.ldap.common.name.LdapName;
import org.apache.ldap.common.schema.AttributeType;
import org.apache.ldap.common.schema.Normalizer;
@@ -682,13 +684,22 @@
// don't keep going if we cannot find the parent Id
if ( parentId == null )
{
- throw new LdapNameNotFoundException( "Id for parent '" +
- dn.getSuffix( 1 ).toString() + "' not found!" );
+ throw new LdapNameNotFoundException( "Id for parent '" + dn.getSuffix( 1 ).toString() + "' not found!" );
+ }
+
+ Attribute objectClass = entry.get( "objectClass" );
+
+ if ( objectClass == null )
+ {
+ String msg = "Entry " + updn + " contains no objectClass attribute: " + entry;
+
+ throw new LdapSchemaViolationException( msg, ResultCodeEnum.OBJECTCLASSVIOLATION );
}
// Start adding the system indices
// Why bother doing a lookup if this is not an alias.
- if ( entry.get( "objectClass" ).contains( ALIAS_OBJECT ) )
+
+ if ( entry.get( "objectClass" ).contains( ALIAS_OBJECT ) )
{
addAliasIndices( id, dn, ( String ) entry.get( ALIAS_ATTRIBUTE ).get() );
}
Modified: incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerPreferencesFactory.java
URL: http://svn.apache.org/viewcvs/incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerPreferencesFactory.java?view=diff&r1=153144&r2=153145
==============================================================================
--- incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerPreferencesFactory.java (original)
+++ incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerPreferencesFactory.java Wed Feb 9 18:36:48 2005
@@ -20,6 +20,7 @@
import java.util.prefs.Preferences;
import java.util.prefs.PreferencesFactory;
+
import org.apache.ldap.common.NotImplementedException;
Modified: incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerSystemPreferences.java
URL: http://svn.apache.org/viewcvs/incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerSystemPreferences.java?view=diff&r1=153144&r2=153145
==============================================================================
--- incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerSystemPreferences.java (original)
+++ incubator/directory/apacheds/trunk/core/src/main/java/org/apache/ldap/server/prefs/ServerSystemPreferences.java Wed Feb 9 18:36:48 2005
@@ -128,9 +128,9 @@
/**
- * Wrapps this Preferences object as a Dictionary.
+ * Wrapps this ServerPreferences object as a Dictionary.
*
- * @return a Dictionary that uses this Preferences object as the underlying backing store
+ * @return a Dictionary that uses this ServerPreferences object as the underlying backing store
*/
public Dictionary wrapAsDictionary()
{
@@ -139,9 +139,9 @@
/**
- * Gets access to the LDAP context associated with this Preferences node.
+ * Gets access to the LDAP context associated with this ServerPreferences node.
*
- * @return the LDAP context associate with this Preferences node
+ * @return the LDAP context associate with this ServerPreferences node
*/
LdapContext getLdapContext()
{
@@ -150,10 +150,10 @@
/**
- * Sets up a new Preferences node by injecting the required information
+ * Sets up a new ServerPreferences node by injecting the required information
* such as the node name attribute and the objectClass attribute.
*
- * @param name the name of the new Preferences node.
+ * @param name the name of the new ServerPreferences node.
*/
private void setUpNode( String name ) throws NamingException
{