import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
-import java.lang.reflect.Field;
+import java.io.IOException;
import java.lang.reflect.Method;
import java.util.Collection;
import org.junit.Assert;
Mockito.when(path.getLastPathArgument()).thenReturn(pathValue);
final ListenerAdapter listener = Notificator.createListener(path, "streamName", NotificationOutputType.JSON);
listener.setQueryParams(null, null, filter);
+
+ // FIXME: do not use reflection here
final Class<?> superclass = listener.getClass().getSuperclass().getSuperclass();
Method m = null;
for (final Method method : superclass.getDeclaredMethods()) {
throw new Exception("Methode parseFilterParam doesn't exist in " + superclass.getName());
}
m.setAccessible(true);
- final Field xmlField = superclass.getDeclaredField("xml");
- xmlField.setAccessible(true);
- xmlField.set(listener, readFile(xml));
- return (boolean) m.invoke(listener, null);
+ return (boolean) m.invoke(listener, readFile(xml));
}
- private String readFile(final File xml) throws Exception {
- final BufferedReader br = new BufferedReader(new FileReader(xml));
- try {
+ private static String readFile(final File xml) throws IOException {
+ try (final BufferedReader br = new BufferedReader(new FileReader(xml))) {
final StringBuilder sb = new StringBuilder();
String line = br.readLine();
line = br.readLine();
}
return sb.toString();
- } finally {
- br.close();
}
}