{
// resolve OID
String[] nameAndSuffix = rawOidOrNameSuffix.split( ":" );
if ( objectIdentifierMacros.containsKey( nameAndSuffix[0] ) )
{
OpenLdapObjectIdentifierMacro parentMacro = objectIdentifierMacros.get( nameAndSuffix[0] );
resolveObjectIdentifierMacro( parentMacro );
macro.setResolvedOid( parentMacro.getResolvedOid() + "." + nameAndSuffix[1] );
}
else
{
throw new ParseException( I18n.err( I18n.ERR_04257, nameAndSuffix[0] ), 0 );
}
}
else
{
// no :suffix,
if ( objectIdentifierMacros.containsKey( rawOidOrNameSuffix ) )
{
OpenLdapObjectIdentifierMacro parentMacro = objectIdentifierMacros.get( rawOidOrNameSuffix );
resolveObjectIdentifierMacro( parentMacro );
macro.setResolvedOid( parentMacro.getResolvedOid() );
}
else
{
macro.setResolvedOid( rawOidOrNameSuffix );
}