public boolean isActive( Profile profile )
throws ProfileActivationException
{
Activation activation = profile.getActivation();
ActivationProperty property = activation.getProperty();
if ( property != null )
{
String name = property.getName();
boolean reverseName = false;
if ( name == null )
{
throw new ProfileActivationException( "The property name is required to activate the profile '"
+ profile.getId() + "'" );
}
if ( name.startsWith("!") )
{
reverseName = true;
name = name.substring( 1 );
}
String sysValue = properties.getProperty( name );
String propValue = property.getValue();
if ( StringUtils.isNotEmpty( propValue ) )
{
boolean reverseValue = false;
if ( propValue.startsWith( "!" ) )
{