
com.github.nicosensei.textbatch.job.IncorrectParametersException Maven / Gradle / Ivy
/**
*
*/
package com.github.nicosensei.textbatch.job;
import java.util.Arrays;
import java.util.LinkedList;
import org.apache.log4j.Level;
import com.github.nicosensei.textbatch.ToolException;
/**
* @author ngiraud
*
*/
public class IncorrectParametersException extends ToolException {
private static final long serialVersionUID = -7443393639409230907L;
/**
*
* @param expectedParams
* @param actualParams
*/
public IncorrectParametersException(
String[] expectedParams,
String[] actualParams) {
super(
"INCORRECT_PARAMETERS",
generateMessageFormat(expectedParams, actualParams),
generateMessageParams(expectedParams, actualParams),
Level.FATAL);
}
private static String generateMessageFormat(
String[] expectedParams,
String[] actualParams) {
String fmt = "Incorrect parameters provided:"
+ "\nExpected ";
int index = 0;
for (@SuppressWarnings("unused") String p : expectedParams) {
fmt += "\n\t{" + index + "}";
index++;
}
fmt += "\n but got";
for (@SuppressWarnings("unused") String p : actualParams) {
fmt += "\n\t{" + index + "}";
index++;
}
return fmt;
}
private static String[] generateMessageParams(
String[] expectedParams,
String[] actualParams) {
LinkedList allParams = new LinkedList();
allParams.addAll(Arrays.asList(expectedParams));
allParams.addAll(Arrays.asList(actualParams));
return (String[]) allParams.toArray(new String[allParams.size()]);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy