src/share/classes/sun/applet/AppletViewer.java
Print this page
rev 10175 : 8042872: Fix raw and unchecked warnings in sun.applet
Reviewed-by:
@@ -92,11 +92,11 @@
*/
final class StdAppletViewerFactory implements AppletViewerFactory {
@Override
public AppletViewer createAppletViewer(int x, int y,
- URL doc, Hashtable atts) {
+ URL doc, Hashtable<String, String> atts) {
return new AppletViewer(x, y, doc, atts, System.out, this);
}
@Override
public MenuBar getBaseMenuBar() {
@@ -154,11 +154,11 @@
}
/**
* Create the applet viewer.
*/
- public AppletViewer(int x, int y, URL doc, Hashtable atts,
+ public AppletViewer(int x, int y, URL doc, Hashtable<String, String> atts,
PrintStream statusMsgStream, AppletViewerFactory factory) {
this.factory = factory;
this.statusMsgStream = statusMsgStream;
setTitle(amh.getMessage("tool.title", atts.get("code")));
@@ -348,11 +348,11 @@
* @return An array of strings. Each string in the array is determined
* by the location of the provided sep in the original string,
* s. Whitespace not stripped.
*/
private String [] splitSeparator(String sep, String s) {
- Vector v = new Vector();
+ Vector<String> v = new Vector<>();
int tokenStart = 0;
int tokenEnd = 0;
while ((tokenEnd = s.indexOf(sep, tokenStart)) != -1) {
v.addElement(s.substring(tokenStart, tokenEnd));
@@ -368,28 +368,28 @@
/*
* Methods for java.applet.AppletContext
*/
- private static Map audioClips = new HashMap();
+ private static Map<URL, AudioClip> audioClips = new HashMap<>();
/**
* Get an audio clip.
*/
@Override
public AudioClip getAudioClip(URL url) {
checkConnect(url);
synchronized (audioClips) {
- AudioClip clip = (AudioClip)audioClips.get(url);
+ AudioClip clip = audioClips.get(url);
if (clip == null) {
audioClips.put(url, clip = new AppletAudioClip(url));
}
return clip;
}
}
- private static Map imageRefs = new HashMap();
+ private static Map<URL, AppletImageRef> imageRefs = new HashMap<>();
/**
* Get an image.
*/
@Override
@@ -401,11 +401,11 @@
* Get an image.
*/
static Image getCachedImage(URL url) {
// System.getSecurityManager().checkConnection(url.getHost(), url.getPort());
synchronized (imageRefs) {
- AppletImageRef ref = (AppletImageRef)imageRefs.get(url);
+ AppletImageRef ref = imageRefs.get(url);
if (ref == null) {
ref = new AppletImageRef(url);
imageRefs.put(url, ref);
}
return ref.get();
@@ -417,23 +417,23 @@
*/
static void flushImageCache() {
imageRefs.clear();
}
- static Vector appletPanels = new Vector();
+ static Vector<AppletPanel> appletPanels = new Vector<>();
/**
* Get an applet by name.
*/
@Override
public Applet getApplet(String name) {
AppletSecurity security = (AppletSecurity)System.getSecurityManager();
name = name.toLowerCase();
SocketPermission panelSp =
new SocketPermission(panel.getCodeBase().getHost(), "connect");
- for (Enumeration e = appletPanels.elements() ; e.hasMoreElements() ;) {
- AppletPanel p = (AppletPanel)e.nextElement();
+ for (Enumeration<AppletPanel> e = appletPanels.elements() ; e.hasMoreElements() ;) {
+ AppletPanel p = e.nextElement();
String param = p.getParameter("name");
if (param != null) {
param = param.toLowerCase();
}
if (name.equals(param) &&
@@ -453,18 +453,18 @@
/**
* Return an enumeration of all the accessible
* applets on this page.
*/
@Override
- public Enumeration getApplets() {
+ public Enumeration<Applet> getApplets() {
AppletSecurity security = (AppletSecurity)System.getSecurityManager();
- Vector v = new Vector();
+ Vector<Applet> v = new Vector<>();
SocketPermission panelSp =
new SocketPermission(panel.getCodeBase().getHost(), "connect");
- for (Enumeration e = appletPanels.elements() ; e.hasMoreElements() ;) {
- AppletPanel p = (AppletPanel)e.nextElement();
+ for (Enumeration<AppletPanel> e = appletPanels.elements() ; e.hasMoreElements() ;) {
+ AppletPanel p = e.nextElement();
if (p.getDocumentBase().equals(panel.getDocumentBase())) {
SocketPermission sp =
new SocketPermission(p.getCodeBase().getHost(), "connect");
if (panelSp.implies(sp)) {
@@ -507,19 +507,19 @@
// We do nothing.
return null;
}
@Override
- public Iterator getStreamKeys(){
+ public Iterator<String> getStreamKeys(){
// We do nothing.
return null;
}
/**
* System parameters.
*/
- static Hashtable systemParam = new Hashtable();
+ static Hashtable<String, String> systemParam = new Hashtable<>();
static {
systemParam.put("codebase", "codebase");
systemParam.put("code", "code");
systemParam.put("alt", "alt");
@@ -531,47 +531,47 @@
}
/**
* Print the HTML tag.
*/
- public static void printTag(PrintStream out, Hashtable atts) {
+ public static void printTag(PrintStream out, Hashtable<String, String> atts) {
out.print("<applet");
- String v = (String)atts.get("codebase");
+ String v = atts.get("codebase");
if (v != null) {
out.print(" codebase=\"" + v + "\"");
}
- v = (String)atts.get("code");
+ v = atts.get("code");
if (v == null) {
v = "applet.class";
}
out.print(" code=\"" + v + "\"");
- v = (String)atts.get("width");
+ v = atts.get("width");
if (v == null) {
v = "150";
}
out.print(" width=" + v);
- v = (String)atts.get("height");
+ v = atts.get("height");
if (v == null) {
v = "100";
}
out.print(" height=" + v);
- v = (String)atts.get("name");
+ v = atts.get("name");
if (v != null) {
out.print(" name=\"" + v + "\"");
}
out.println(">");
// A very slow sorting algorithm
int len = atts.size();
String params[] = new String[len];
len = 0;
- for (Enumeration e = atts.keys() ; e.hasMoreElements() ;) {
- String param = (String)e.nextElement();
+ for (Enumeration<String> e = atts.keys() ; e.hasMoreElements() ;) {
+ String param = e.nextElement();
int i = 0;
for (; i < len ; i++) {
if (params[i].compareTo(param) >= 0) {
break;
}
@@ -647,11 +647,11 @@
/**
* Save the applet to a well known file (for now) as a serialized object
*/
void appletSave() {
- AccessController.doPrivileged(new PrivilegedAction() {
+ AccessController.doPrivileged(new PrivilegedAction<Object>() {
@Override
public Object run() {
// XXX: this privileged block should be made smaller
// by initializing a private static variable with "user.dir"
@@ -700,12 +700,14 @@
* Clone the viewer and the applet.
*/
void appletClone() {
Point p = location();
updateAtts();
+ @SuppressWarnings("unchecked")
+ Hashtable<String, String> tmp = (Hashtable<String, String>) panel.atts.clone();
factory.createAppletViewer(p.x + XDELTA, p.y + YDELTA,
- panel.documentURL, (Hashtable)panel.atts.clone());
+ panel.documentURL, tmp);
}
/**
* Show the applet tag.
*/
@@ -882,12 +884,12 @@
new Thread(new Runnable()
{
@Override
public void run()
{
- for (Enumeration e = appletPanels.elements() ; e.hasMoreElements() ;) {
- AppletPanel p = (AppletPanel)e.nextElement();
+ for (Enumeration<AppletPanel> e = appletPanels.elements() ; e.hasMoreElements() ;) {
+ AppletPanel p = e.nextElement();
appletShutdown(p);
}
appletSystemExit();
}
}).start();
@@ -1014,12 +1016,12 @@
}
/**
* Scan tag
*/
- public static Hashtable scanTag(Reader in) throws IOException {
- Hashtable atts = new Hashtable();
+ public static Hashtable<String, String> scanTag(Reader in) throws IOException {
+ Hashtable<String, String> atts = new Hashtable<>();
skipSpace(in);
while (c >= 0 && c != '>') {
String att = scanIdentifier(in);
String val = "";
skipSpace(in);
@@ -1120,11 +1122,11 @@
* sets it to whatever URL/codebase we ended up getting
*/
url = conn.getURL();
int ydisp = 1;
- Hashtable atts = null;
+ Hashtable<String, String> atts = null;
while(true) {
c = in.read();
if (c == -1)
break;
@@ -1170,16 +1172,16 @@
}
}
else {
String nm = scanIdentifier(in);
if (nm.equalsIgnoreCase("param")) {
- Hashtable t = scanTag(in);
- String att = (String)t.get("name");
+ Hashtable<String, String> t = scanTag(in);
+ String att = t.get("name");
if (att == null) {
statusMsgStream.println(requiresNameWarning);
} else {
- String val = (String)t.get("value");
+ String val = t.get("value");
if (val == null) {
statusMsgStream.println(requiresNameWarning);
} else if (atts != null) {
atts.put(att.toLowerCase(), val);
} else {
@@ -1233,17 +1235,17 @@
atts = null;
}
}
else if (nm.equalsIgnoreCase("app")) {
statusMsgStream.println(appNotLongerSupportedWarning);
- Hashtable atts2 = scanTag(in);
- nm = (String)atts2.get("class");
+ Hashtable<String, String> atts2 = scanTag(in);
+ nm = atts2.get("class");
if (nm != null) {
atts2.remove("class");
atts2.put("code", nm + ".class");
}
- nm = (String)atts2.get("src");
+ nm = atts2.get("src");
if (nm != null) {
atts2.remove("src");
atts2.put("codebase", nm);
}
if (atts2.get("width") == null) {