{
LOG.debug( MSG.getMessage( Keys.DEL_RP_REQ, nameOfPropToBeDeleted ) );
}
if ( nameOfPropToBeDeleted == null )
{
throw new DeleteResourcePropertyRequestFailedFaultException( getNamespaceSet(), MSG.getMessage( Keys.DEL_MISSING_RP_ATTRIB ) );
}
ResourceProperty prop = getProperties().get( nameOfPropToBeDeleted );
if ( prop == null )
{
if ( getProperties().getMetaData().isOpenContent() )
{
return;
}
else
{
throw new InvalidResourcePropertyQNameFaultException( getNamespaceSet(), nameOfPropToBeDeleted );
}
}
throwFaultIfPropertyIsReadOnly( prop );
throwFaultIfDeletionViolatesSchema( prop );
try
{
deletePropertyCallback( prop );
}
catch ( RuntimeException re )
{
throw new DeleteResourcePropertyRequestFailedFaultException( getNamespaceSet(), re.toString() );
}
Object[] oldValue = getValue( prop );
prop.clear();
Object[] newValue = null;
firePropChangeEvents( prop, oldValue, newValue );