/** * @return Returns the url. */ public String getUrlAsString() { return getUrl().toString(); }
public Boolean configure(Integer port, String file, List<Object> argslist) { this.port = port; this.file = file; return finishConfigure(argslist); }
@SuppressWarnings("unchecked") @Test public void build1() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { HttpProbe<String> p = new HttpProbe<String>() { @Override protected Map<String, Number> parseStream(InputStream stream) { return null; } }; ProbeDesc<String> pd = new ProbeDesc<>(); pd.setProbeClass((Class<? extends Probe<String, ?>>) p.getClass()); p.setHost(webserver); p.setPd(pd); p.setFile("/"); p.setPort(80); Assert.assertTrue(p.configure()); Assert.assertEquals("http://" + HOST + ":80/", p.getUrlAsString()); validateBean(p); }
@SuppressWarnings("unchecked") @Test public void build4() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { HttpProbe<String> p = new HttpProbe<String>() { @Override protected Map<String, Number> parseStream(InputStream stream) { return null; } }; ProbeDesc<String> pd = new ProbeDesc<String>(); pd.setProbeClass((Class<? extends Probe<String, ?>>) p.getClass()); p.setHost(webserver); p.setPd(pd); p.setFile("/"); p.setPort(80); p.setLogin("login@domain"); p.setPassword("password"); Assert.assertTrue(p.configure()); Assert.assertEquals("http://login%40domain:password@" + HOST + ":80/", p.getUrlAsString()); validateBean(p); }
public Map<KeyType, Number> getNewSampleValues() { log(Level.DEBUG, "Getting %s", getUrl()); URLConnection cnx; try { cnx = getUrl().openConnection(); cnx.setConnectTimeout(getTimeout() * 1000); cnx.setReadTimeout(getTimeout() * 1000); cnx.connect(); } catch (IOException e) { log(Level.ERROR, e, "Connection to %s failed: %s", getUrl(), e.getMessage()); return null; Map<KeyType, Number> vars = parseStream(is); is.close(); return vars; } catch (ConnectException e) { log(Level.ERROR, e, "Connection refused to %s", getUrl()); } catch (IOException e) { byte[] buffer = new byte[4096]; int respCode = ((HttpURLConnection) cnx).getResponseCode(); log(Level.ERROR, e, "Unable to read url %s because: %s, http error code: %d", getUrl(), e.getMessage(), respCode); InputStream es = ((HttpURLConnection) cnx).getErrorStream(); log(Level.ERROR, ex, "Unable to recover from error in url %s because %s", getUrl(), ex.getMessage());
urlhost = getHost().getDnsName(); try { urlString = String.format(scheme + "://" + userInfo + urlhost + portString + file, argslist.toArray()); urlString = Util.parseTemplate(urlString, getHost(), argslist, this); } catch (IllegalFormatConversionException e) { log(Level.ERROR, "Illegal format string: %s://%s%s:%d%s, args %d", scheme, userInfo, urlhost, portString, file, argslist.size()); return false; urlString = Util.parseTemplate(scheme + "://" + userInfo + urlhost + portString + file, this, getHost()); log(Level.ERROR, e, "URL '%s:/%s/%s:%s%s' is invalid", scheme, userInfo, urlhost, portString, file); return false; resolver = getParent().registerStarter(new Resolver(url.getHost())); log(Level.DEBUG, "URL to collect is %s", getUrl()); return true;
private void validateBean(HttpProbe<String> p) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { Assert.assertEquals("invalid url bean", p.getUrl(), p.getPd().getBean("url").get(p)); Assert.assertEquals("invalid port bean", p.getPort(), p.getPd().getBean("port").get(p)); Assert.assertEquals("invalid file bean", p.getFile(), p.getPd().getBean("file").get(p)); Assert.assertEquals("invalid url bean template", p.getUrl().toString(), Util.parseTemplate("${attr.url}", p)); Assert.assertEquals("invalid port bean template", p.getPort().toString(), Util.parseTemplate("${attr.port}", p)); Assert.assertEquals("invalid file bean template", p.getFile(), Util.parseTemplate("${attr.file}", p)); }
/** * A utility method that transform the input stream to a List of lines * * @param stream * @return */ public List<String> parseStreamToLines(InputStream stream) { List<String> lines = java.util.Collections.emptyList(); log(Level.DEBUG, "Getting %s", getUrl()); try { BufferedReader in = new BufferedReader(new InputStreamReader(stream)); lines = new ArrayList<String>(); String lastLine; while ((lastLine = in.readLine()) != null) lines.add(lastLine); in.close(); } catch (IOException e) { log(Level.ERROR, e, "Unable to read url %s because: %s", getUrl(), e.getMessage()); } return lines; }
@Override public Boolean configure() { if("true".equalsIgnoreCase(getPd().getSpecific("mandatorySession"))) { mandatorySession = true; } return super.configure(); }
@SuppressWarnings("unchecked") @Test public void build2() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { HttpProbe<String> p = new HttpProbe<String>() { @Override protected Map<String, Number> parseStream(InputStream stream) { return null; } }; p.setHost(webserver); ProbeDesc<String> pd = new ProbeDesc<String>(); pd.setProbeClass((Class<? extends Probe<String, ?>>) p.getClass()); p.setPd(pd); p.setFile("/file"); p.setPort(80); Assert.assertTrue(p.configure("/file")); Assert.assertEquals("http://" + HOST + ":80/file", p.getUrlAsString()); validateBean(p); }
@SuppressWarnings("unchecked") @Test public void build5() throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { HttpProbe<String> p = new HttpProbe<String>() { @Override protected Map<String, Number> parseStream(InputStream stream) { return null; } }; ProbeDesc<String> pd = new ProbeDesc<String>(); pd.setProbeClass((Class<? extends Probe<String, ?>>) p.getClass()); p.setHost(webserver); p.setPd(pd); p.setFile("/${1}"); p.setPort(80); List<Object> args = Arrays.asList((Object) "file"); Assert.assertTrue(p.configure(args)); Assert.assertEquals("http://" + HOST + ":80/file", p.getUrlAsString()); validateBean(p); }
public Boolean configure(Integer port, String file) { this.port = port; this.file = file; return finishConfigure(null); }
@SuppressWarnings("unchecked") @Test public void build3() throws IntrospectionException, IllegalArgumentException, IllegalAccessException, InvocationTargetException { HttpProbe<String> p = new HttpProbe<String>() { @Override protected Map<String, Number> parseStream(InputStream stream) { return null; } }; p.setHost(webserver); ProbeDesc<String> pd = new ProbeDesc<String>(); pd.setProbeClass((Class<? extends Probe<String, ?>>) p.getClass()); p.setPd(pd); p.setFile("/file"); p.setPort(81); Assert.assertTrue(p.configure()); Assert.assertEquals("http://" + HOST + ":81/file", p.getUrlAsString()); Assert.assertEquals("http://" + HOST + ":81/file", pd.getBean("url").get(p).toString()); validateBean(p); }
public Boolean configure(String file, List<Object> argslist) { this.file = file; return finishConfigure(argslist); }
public Boolean configure(String file) { this.file = file; return finishConfigure(null); }
public Boolean configure(URL url) { this.url = url; return finishConfigure(null); }
public Boolean configure(Integer port) { this.port = port; return finishConfigure(null); }
public Boolean configure(Integer port, List<Object> argslist) { this.port = port; return finishConfigure(argslist); }
public Boolean configure(URL url, List<Object> argslist) { this.url = url; return finishConfigure(argslist); }
public Boolean configure(List<Object> argslist) { return finishConfigure(argslist); }