Methods Summary |
---|
public void | execute()Execute the task.
if (splash != null) {
splash.setVisible(false);
getProject().removeBuildListener(splash);
splash.dispose();
splash = null;
}
log("Creating new SplashScreen", Project.MSG_VERBOSE);
InputStream in = null;
if (imgurl != null) {
try {
URLConnection conn = null;
if (useProxy && (proxy != null && proxy.length() > 0)
&& (port != null && port.length() > 0)) {
log("Using proxied Connection", Project.MSG_DEBUG);
System.getProperties().put("http.proxySet", "true");
System.getProperties().put("http.proxyHost", proxy);
System.getProperties().put("http.proxyPort", port);
URL url = new URL(imgurl);
conn = url.openConnection();
if (user != null && user.length() > 0) {
// converted from sun internal classes to
// new Base64Converter
// utility class extracted from Get task
String encodedcreds =
new Base64Converter().encode(user + ":" + password);
conn.setRequestProperty("Proxy-Authorization",
encodedcreds);
}
} else {
System.getProperties().put("http.proxySet", "false");
System.getProperties().put("http.proxyHost", "");
System.getProperties().put("http.proxyPort", "");
log("Using Direction HTTP Connection", Project.MSG_DEBUG);
URL url = new URL(imgurl);
conn = url.openConnection();
}
conn.setDoInput(true);
conn.setDoOutput(false);
in = conn.getInputStream();
// Catch everything - some of the above return nulls,
// throw exceptions or generally misbehave
// in the event of a problem etc
} catch (Throwable ioe) {
log("Unable to download image, trying default Ant Logo",
Project.MSG_DEBUG);
log("(Exception was \"" + ioe.getMessage() + "\"",
Project.MSG_DEBUG);
}
}
if (in == null) {
ClassLoader cl = SplashTask.class.getClassLoader();
if (cl != null) {
in = cl.getResourceAsStream("images/ant_logo_large.gif");
} else {
in = ClassLoader
.getSystemResourceAsStream("images/ant_logo_large.gif");
}
}
boolean success = false;
if (in != null) {
DataInputStream din = new DataInputStream(in);
try {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
int data;
while ((data = din.read()) != -1) {
bout.write((byte) data);
}
log("Got ByteArray, creating splash", Project.MSG_DEBUG);
try {
ImageIcon img = new ImageIcon(bout.toByteArray());
splash = new SplashScreen(img);
success = true;
} catch (Throwable e) {
logHeadless(e);
}
} catch (Exception e) {
throw new BuildException(e);
} finally {
try {
din.close();
} catch (IOException ioe) {
// swallow if there was an error before so that
// original error will be passed up
if (success) {
throw new BuildException(ioe);
}
}
}
} else {
try {
splash = new SplashScreen("Image Unavailable.");
success = true;
} catch (Throwable e) {
logHeadless(e);
}
}
if (success) {
splash.setVisible(true);
splash.toFront();
getProject().addBuildListener(splash);
try {
Thread.sleep(showDuration);
} catch (InterruptedException e) {
// Ignore Exception
}
}
|
private void | logHeadless(java.lang.Throwable e)
log("failed to display SplashScreen, caught "
+ e.getClass().getName() + " with message: " + e.getMessage(),
Project.MSG_WARN);
|
public void | setImageURL(java.lang.String imgurl)A URL pointing to an image to display; optional, default antlogo.gif
from the classpath.
this.imgurl = imgurl;
|
public void | setPassword(java.lang.String password)Proxy password; required if user is set.
this.password = password;
|
public void | setPort(java.lang.String port)Proxy port; optional, default 80.
this.port = port;
|
public void | setProxy(java.lang.String proxy)name of proxy; optional.
this.proxy = proxy;
|
public void | setShowduration(int duration)how long to show the splash screen in milliseconds,
optional; default 5000 ms.
this.showDuration = duration;
|
public void | setUseproxy(boolean useProxy)flag to enable proxy settings; optional, deprecated : consider
using <setproxy> instead
this.useProxy = useProxy;
|
public void | setUser(java.lang.String user)Proxy user; optional, default =none.
this.user = user;
|