//Depending on the type of event (disable/enable, invoke the
//method on deployer.
if ("enabled".equalsIgnoreCase(propertyName)) {
enabledAttributeChange = true;
BindableResource bindableResource = (BindableResource) instance;
ResourceDeployer deployer = getResourceDeployer(bindableResource);
if (deployer != null) {
boolean newValue = ConnectorsUtil.parseBoolean(event.getNewValue().toString());
boolean oldValue = ConnectorsUtil.parseBoolean(event.getOldValue().toString());
if (!(newValue && oldValue)) {
if (newValue) {
deployer.enableResource(bindableResource);
} else {
deployer.disableResource(bindableResource);
}
}
}
}
}
}
if (!enabledAttributeChange) {
getResourceDeployer(instance).redeployResource(instance);
}
} else if (ConnectorsUtil.isValidEventType(instance.getParent())) {
//Added in case of a property change
//check for validity of the property's parent and redeploy
getResourceDeployer(instance.getParent()).redeployResource(instance.getParent());
} else if (instance instanceof ResourceRef) {
ResourceRef ref = (ResourceRef) instance;
ResourceDeployer deployer = null;
String refName = ref.getRef();
BindableResource bindableResource = null;
for(PropertyChangeEvent event : events) {
String propertyName = event.getPropertyName();
//Depending on the type of event (disable/enable, invoke the
//method on deployer.
if ("enabled".equalsIgnoreCase(propertyName)) {
bindableResource = (BindableResource)
domain.getResources().getResourceByName(BindableResource.class, refName);
deployer = getResourceDeployer(bindableResource);
if (deployer != null) {
//both cannot be true or false
boolean newValue = ConnectorsUtil.parseBoolean(event.getNewValue().toString());
boolean oldValue = ConnectorsUtil.parseBoolean(event.getOldValue().toString());
if (!(newValue && oldValue)) {
if (newValue) {
deployer.enableResource(bindableResource);
} else {
deployer.disableResource(bindableResource);
}
}
}
}
}