/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
+ * Copyright (c) 2013, 2017 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
import java.util.Map.Entry;
/**
- * This exception is not intended to be used while implementing modules,
- * it aggregates validation exceptions and sends them back to the user.
- * Use {@link org.opendaylight.controller.config.api.JmxAttributeValidationException} for
- * validating modules instead.
+ * This exception is not intended to be used while implementing modules, it
+ * aggregates validation exceptions and sends them back to the user. Use
+ * {@link org.opendaylight.controller.config.api.JmxAttributeValidationException}
+ * for validating modules instead.
*/
public class ValidationException extends Exception {
private static final long serialVersionUID = -6072893219820274247L;
- private final Map<String/* module name */, Map<String/* instance name */, ExceptionMessageWithStackTrace>> failedValidations;
+ private final Map<String/* module name */,
+ Map<String/* instance name */,
+ ExceptionMessageWithStackTrace>> failedValidations;
public ValidationException(
- final Map<String /* module name */, Map<String /* instance name */, ExceptionMessageWithStackTrace>> failedValidations) {
+ final Map<String /* module name */,
+ Map<String /* instance name */,
+ ExceptionMessageWithStackTrace>> failedValidations) {
super(failedValidations.toString());
this.failedValidations = Collections.unmodifiableMap(failedValidations);
}
final List<ValidationException> collectedExceptions) {
Map<String, Map<String, ExceptionMessageWithStackTrace>> failedValidations = new HashMap<>();
for (ValidationException ve : collectedExceptions) {
- for (Entry<String, Map<String, ExceptionMessageWithStackTrace>> outerEntry : ve
- .getFailedValidations().entrySet()) {
- for (Entry<String, ExceptionMessageWithStackTrace> innerEntry : outerEntry
- .getValue().entrySet()) {
+ for (Entry<String, Map<String, ExceptionMessageWithStackTrace>> outerEntry : ve.getFailedValidations()
+ .entrySet()) {
+ for (Entry<String, ExceptionMessageWithStackTrace> innerEntry : outerEntry.getValue().entrySet()) {
String moduleName = outerEntry.getKey();
String instanceName = innerEntry.getKey();
ExceptionMessageWithStackTrace ex = innerEntry.getValue();
Map<String, ExceptionMessageWithStackTrace> instanceToExMap = failedValidations
.computeIfAbsent(moduleName, k -> new HashMap<>());
if (instanceToExMap.containsKey(instanceName)) {
- throw new IllegalArgumentException(
- "Cannot merge with same module name "
- + moduleName + " and instance name "
- + instanceName);
+ throw new IllegalArgumentException("Cannot merge with same module name " + moduleName
+ + " and instance name " + instanceName);
}
instanceToExMap.put(instanceName, ex);
}
return new ValidationException(failedValidations);
}
- public static ValidationException createForSingleException(
- final ModuleIdentifier moduleIdentifier, final Exception e) {
+ public static ValidationException createForSingleException(final ModuleIdentifier moduleIdentifier,
+ final Exception exception) {
Map<String, Map<String, ExceptionMessageWithStackTrace>> failedValidations = new HashMap<>();
Map<String, ExceptionMessageWithStackTrace> innerMap = new HashMap<>();
failedValidations.put(moduleIdentifier.getFactoryName(), innerMap);
- innerMap.put(moduleIdentifier.getInstanceName(),
- new ExceptionMessageWithStackTrace(e));
+ innerMap.put(moduleIdentifier.getInstanceName(), new ExceptionMessageWithStackTrace(exception));
return new ValidationException(failedValidations);
}
- public Map<String/* module name */, Map<String/* instance name */, ExceptionMessageWithStackTrace>> getFailedValidations() {
+ public Map<String/* module name */,
+ Map<String/* instance name */,
+ ExceptionMessageWithStackTrace>> getFailedValidations() {
return failedValidations;
}
public static class ExceptionMessageWithStackTrace {
- private String message, stackTrace;
+ private String message;
+ private String stackTrace;
public ExceptionMessageWithStackTrace() {
}
this.stackTrace = stackTrace;
}
- public ExceptionMessageWithStackTrace(final Exception e) {
- this(e.getMessage(), Arrays.toString(e.getStackTrace()));
+ public ExceptionMessageWithStackTrace(final Exception exception) {
+ this(exception.getMessage(), Arrays.toString(exception.getStackTrace()));
}
public String getMessage() {
this.message = message;
}
- public void setTrace(final String stackTrace) {
- this.stackTrace = stackTrace;
+ public void setStackTrace(final String trace) {
+ this.stackTrace = trace;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result
- + ((message == null) ? 0 : message.hashCode());
- result = prime * result
- + ((stackTrace == null) ? 0 : stackTrace.hashCode());
+ result = prime * result + (message == null ? 0 : message.hashCode());
+ result = prime * result + (stackTrace == null ? 0 : stackTrace.hashCode());
return result;
}
public String toString() {
return message;
}
-
}
}