--- a/src/net/timbusproject/dpes/alternative/PreservationIdentifierService.java
+++ b/src/net/timbusproject/dpes/alternative/PreservationIdentifierService.java
@@ -116,17 +116,22 @@
}
LOG.info("Searching alternatives for: " + identifiedRisk.getAffectedResource());
OWLNamedIndividual individualInOriginalModel = originalModelFacade.getIndividual(individualAtRisk.toString());
- if (originalModelFacade.isIndividualOfClass(individualInOriginalModel, IRI_FILE)) {
- alternatives.addAll(fileAlternativesBuilder.createAlternatives(identifiedRisk, individualAtRisk));
- } else if (originalModelFacade.isIndividualOfClass(individualInOriginalModel, IRI_PACKAGE)) {
- alternatives.addAll(packageAlternativesBuilder.createAlternatives(identifiedRisk, individualAtRisk));
- } else if (originalModelFacade.isIndividualOfClass(individualInOriginalModel, IRI_SYSTEM_SOFTWARE) ||
- originalModelFacade.isIndividualOfClass(individualInOriginalModel, IRI_ARTIFACT) ) { // also files and packages could be of type artifact additionally, so check for artifact as last possibility only
- alternatives.addAll(toolAlternativesBuilder.createAlternatives(identifiedRisk, individualAtRisk));
- } else {
- LOG.warn(String.format("This individual is not considered, as it is not of type %s, %s, %s or %s: %s",
- IRI_SYSTEM_SOFTWARE.getFragment(), IRI_FILE.getFragment(), IRI_PACKAGE.getFragment(), IRI_ARTIFACT.getFragment(),
- individualInOriginalModel.getIRI()));
+
+ try {
+ if (originalModelFacade.isIndividualOfClass(individualInOriginalModel, IRI_FILE)) {
+ alternatives.addAll(fileAlternativesBuilder.createAlternatives(identifiedRisk, individualAtRisk));
+ } else if (originalModelFacade.isIndividualOfClass(individualInOriginalModel, IRI_PACKAGE)) {
+ alternatives.addAll(packageAlternativesBuilder.createAlternatives(identifiedRisk, individualAtRisk));
+ } else if (originalModelFacade.isIndividualOfClass(individualInOriginalModel, IRI_SYSTEM_SOFTWARE) ||
+ originalModelFacade.isIndividualOfClass(individualInOriginalModel, IRI_ARTIFACT) ) { // also files and packages could be of type artifact additionally, so check for artifact as last possibility only
+ alternatives.addAll(toolAlternativesBuilder.createAlternatives(identifiedRisk, individualAtRisk));
+ } else {
+ LOG.warn(String.format("This individual is not considered, as it is not of type %s, %s, %s or %s: %s",
+ IRI_SYSTEM_SOFTWARE.getFragment(), IRI_FILE.getFragment(), IRI_PACKAGE.getFragment(), IRI_ARTIFACT.getFragment(),
+ individualInOriginalModel.getIRI()));
+ }
+ } catch (Exception e) {
+ LOG.error("Unable to get alternative: " + e.getMessage());
}
}
LOG.info(String.format("Done, returning %d alternatives.", alternatives.size()));