public static CriticalityType handleConnectorErrorCriticality(ResourceType resourceType, Throwable e, OperationResult result) throws ObjectNotFoundException, CommunicationException, SchemaException, ConfigurationException,
SecurityViolationException, PolicyViolationException, ExpressionEvaluationException, ObjectAlreadyExistsException, PreconditionViolationException {
CriticalityType criticality;
if (resourceType == null) {
RepoCommonUtils.throwException(e, result);
return CriticalityType.FATAL;
} else {
ErrorSelectorType errorSelector = ResourceTypeUtil.getConnectorErrorCriticality(resourceType);
if (e instanceof CommunicationException) {
criticality = ExceptionUtil.getCriticality(errorSelector, e, CriticalityType.PARTIAL);
} else if (e instanceof SchemaException || e instanceof PolicyViolationException) {
criticality = ExceptionUtil.getCriticality(errorSelector, e, CriticalityType.PARTIAL);
} else {
criticality = ExceptionUtil.getCriticality(errorSelector, e, CriticalityType.FATAL);
}
}
RepoCommonUtils.processErrorCriticality(resourceType, criticality, e, result);
return criticality;
}