/** * Get the SubtreeSpecification, parse it and stores it into the subentry */ private void setSubtreeSpecification( Subentry subentry, Entry entry ) throws LdapException { String subtree = entry.get( directoryService.getAtProvider().getSubtreeSpecification() ).getString(); SubtreeSpecification ss; try { ss = ssParser.parse( subtree ); } catch ( Exception e ) { String msg = I18n.err( I18n.ERR_307, entry.getDn() ); LOG.warn( msg ); throw new LdapInvalidAttributeValueException( ResultCodeEnum.INVALID_ATTRIBUTE_SYNTAX, msg ); } subentry.setSubtreeSpecification( ss ); }
newSubentry.setSubtreeSpecification( ss );
subentry.setSubtreeSpecification( ssNew ); subentry.setAdministrativeRoles( getSubentryTypes( entry, modifications ) ); directoryService.getSubentryCache().addSubentry( dn, subentry );