Skip to content

Instantly share code, notes, and snippets.

@rnaufal
Created September 10, 2018 20:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rnaufal/f6ce25027520bdead5cee88f9db4382f to your computer and use it in GitHub Desktop.
Save rnaufal/f6ce25027520bdead5cee88f9db4382f to your computer and use it in GitHub Desktop.
private Iterable<Object[]> convert(Iterable<Object[]> data) {
List<Object[]> parameters = new ArrayList<>();
for (Object[] args : data) {
Object[] params = new Object[args.length];
for (int i = 0; i < args.length; i++) {
Object param;
Class<?> parameterClazz = method.getMethod()
.getParameterTypes()[i];
if (parameterClazz.equals(String.class)) {
param = buildString(args[i]);
} else if (parameterClazz.equals(Integer.TYPE)) {
param = buildPrimitiveInt(args[i]);
} else if (parameterClazz.equals(Integer.class)) {
param = buildInteger(args[i]);
} else if (parameterClazz.equals(Long.TYPE)) {
param = buildPrimitiveLong(args[i]);
} else if (parameterClazz.equals(Long.class)) {
param = buildLong(args[i]);
} else if (parameterClazz.equals(Boolean.TYPE)) {
param = buildPrimitiveBoolean(args[i]);
} else if (parameterClazz.equals(Boolean.class)) {
param = buildBoolean(args[i]);
} else if (parameterClazz.equals(Short.TYPE)) {
param = buildPrimitiveShort(args[i]);
} else if (parameterClazz.equals(Short.class)) {
param = buildShort(args[i]);
} else if (parameterClazz.equals(Byte.TYPE)) {
param = buildPrimitiveByte(args[i]);
} else if (parameterClazz.equals(Byte.class)) {
param = buildByte(args[i]);
} else if (parameterClazz.equals(Character.TYPE)) {
param = buildPrimitiveChar(args[i]);
} else if (parameterClazz.equals(Character.class)) {
param = buildChar(args[i]);
} else if (parameterClazz.equals(Float.TYPE)) {
param = buildPrimitiveFloat(args[i]);
} else if (parameterClazz.equals(Float.class)) {
param = buildFloat(args[i]);
} else if (parameterClazz.equals(Double.TYPE)) {
param = buildPrimitiveDouble(args[i]);
} else if (parameterClazz.equals(Double.class)) {
param = buildDouble(args[i]);
} else {
throw new NotFoundParameterGeneratorException("Cannot convert " + args[i] + " to " + parameterClazz);
}
params[i] = param;
}
parameters.add(params);
}
return parameters;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment