AlertConditionCategory alertConditionCategory = alertCondition.getCategory();
AlertConditionOperator alertConditionOperator = AlertConditionCacheUtils
.getAlertConditionOperator(alertCondition);
if (alertConditionCategory == AlertConditionCategory.AVAILABILITY) {
AlertConditionAvailabilityCategoryComposite availabilityComposite = (AlertConditionAvailabilityCategoryComposite) composite;
try {
AvailabilityCacheElement cacheElement = new AvailabilityCacheElement(alertConditionOperator,
availabilityComposite.getAvailabilityType(), alertConditionId);
addTo("availabilityCache", availabilityCache, availabilityComposite.getResourceId(), cacheElement,
alertConditionId, stats);
} catch (InvalidCacheElementException icee) {
log.info("Failed to create AvailabilityCacheElement with parameters: "
+ AlertConditionCacheUtils.getCacheElementErrorString(alertConditionId, alertConditionOperator,
availabilityComposite.getAvailabilityType(), AvailabilityType.UP, icee));
}
} else if (alertConditionCategory == AlertConditionCategory.AVAIL_DURATION) {
AlertConditionAvailabilityCategoryComposite availabilityComposite = (AlertConditionAvailabilityCategoryComposite) composite;
try {
AvailabilityDurationCacheElement cacheElement = new AvailabilityDurationCacheElement(
availabilityComposite.getAlertDefinitionId(), alertConditionOperator, alertCondition.getOption(),
availabilityComposite.getAvailabilityType(), alertConditionId);
addTo("availabilityDurationCache", availabilityDurationCache, availabilityComposite.getResourceId(),
cacheElement, alertConditionId, stats);
} catch (InvalidCacheElementException icee) {
log.info("Failed to create AvailabilityCacheElement with parameters: "
+ AlertConditionCacheUtils.getCacheElementErrorString(alertConditionId, alertConditionOperator,
availabilityComposite.getAvailabilityType(), alertConditionOperator.toString(), icee));
}
} else if (alertConditionCategory == AlertConditionCategory.CONTROL) {
AlertConditionControlCategoryComposite controlComposite = (AlertConditionControlCategoryComposite) composite;
String option = alertCondition.getOption();
OperationRequestStatus operationRequestStatus = OperationRequestStatus.valueOf(option.toUpperCase());