@ManagementOperation(description = "Installs a profile") public void installProfile(URI uri) throws ContributionInstallException { try { contributionService.installProfile(uri); } catch (ValidationException e) { // propagate validation error messages to the client List<ErrorInfo> errors = new ArrayList<ErrorInfo>(); for (ValidationFailure failure : e.getErrors()) { if (failure instanceof ArtifactValidationFailure) { ArtifactValidationFailure avf = (ArtifactValidationFailure) failure; ArtifactErrorInfo error = new ArtifactErrorInfo(avf.getArtifactName()); for (ValidationFailure entry : avf.getFailures()) { ErrorInfo info = new ErrorInfo(entry.getMessage()); error.addError(info); } errors.add(error); } else { ErrorInfo info = new ErrorInfo(failure.getMessage()); errors.add(info); } } throw new InvalidContributionException("Error installing " + uri, errors); } catch (ContributionException e) { monitor.error("Error installing: " + uri, e); // don't rethrow the original exception since the class will not be available on the client's classpath throw new ContributionInstallException(getErrorMessage(e)); } }
@ManagementOperation(description = "Installs a stored contribution") public void install(URI uri) throws ContributionInstallException { try { contributionService.install(uri); } catch (ValidationException e) { // propagate validation error messages to the client List<ErrorInfo> errors = new ArrayList<ErrorInfo>(); for (ValidationFailure failure : e.getErrors()) { if (failure instanceof ArtifactValidationFailure) { ArtifactValidationFailure avf = (ArtifactValidationFailure) failure; ArtifactErrorInfo error = new ArtifactErrorInfo(avf.getArtifactName()); for (ValidationFailure entry : avf.getFailures()) { ErrorInfo info = new ErrorInfo(entry.getMessage()); error.addError(info); } errors.add(error); } else { ErrorInfo info = new ErrorInfo(failure.getMessage()); errors.add(info); } } throw new InvalidContributionException("Error installing " + uri, errors); } catch (ContributionException e) { monitor.error("Error installing: " + uri, e); // don't rethrow the original exception since the class will not be available on the client's classpath throw new ContributionInstallException(getErrorMessage(e)); } }