blob: 914c7517aa419b429e2134fbfe79a79d5ea5c701 [file] [log] [blame]
/*
* Copyright 2004 The Apache Software Foundation
*
* Licensed 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.ldap.server.prefs;
import javax.naming.Name;
import javax.naming.NamingException;
import org.apache.ldap.common.name.LdapName;
/**
* Document this class.
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$
*/
class PreferencesUtils
{
/** the dn base of the system preference hierarchy */
static final String SYSPREF_BASE = "prefNodeName=sysPrefRoot,ou=system";
/**
* Translates an absolute system preferences node name into the distinguished
* name of the entry corresponding to the preferences node.
*
* @param absPrefPath the absolute path to the system preferences node
* @return the distinguished name of the entry representing the system preferences node
* @throws NamingException if there are namespace problems while translating the path
*/
public static Name toSysDn( String absPrefPath ) throws NamingException
{
LdapName dn = new LdapName( SYSPREF_BASE );
String[] comps = absPrefPath.split( "/" );
for ( int ii = 0; ii < comps.length; ii++ )
{
if ( comps[ii] != null && ! comps[ii].trim().equals( "" ) )
{
dn.add( "prefNodeName=" + comps[ii] );
}
}
return dn;
}
}