package nl.ipo.cds.etl.test.protocol.test; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import java.net.URLStreamHandler; public class Handler extends URLStreamHandler { private static long counter = 0; private static synchronized void incrementCounter() { counter++; } public static synchronized void resetCounter() { counter = 0; } public static synchronized long getCounter() { return counter; } @Override protected URLConnection openConnection(URL u) throws IOException { incrementCounter(); return new URLConnection(u) { @Override public void connect() throws IOException { if(url.getFile().toLowerCase().contains("404")) { throw new IOException(); } } @Override public InputStream getInputStream() throws IOException { connect(); if(url.getFile().toLowerCase().contains("empty")) { return new ByteArrayInputStream("".getBytes("utf-8")); } return new ByteArrayInputStream(url.toExternalForm().getBytes("utf-8")); } }; } }