aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Domurad <[email protected]>2012-05-17 14:14:03 -0400
committerAdam Domurad <[email protected]>2012-05-17 14:14:03 -0400
commitb42384fe344b0af2a54eb00735f7d59b6ba1ab6e (patch)
tree1dc30db08c963ecdd9fbe5c7186a007f110b8057
parent0c598ca6848b417c79245a971f26570d05144132 (diff)
Went through the source of IcedTeaWeb with FindBugs and went over all reported cases of == being used to compare String's. Some usage cases were valid (eg, .equals eventually called, magic String value). I noted one such usage case. The others were changed to .equals calls.
-rw-r--r--ChangeLog14
-rw-r--r--netx/net/sourceforge/jnlp/JNLPFile.java2
-rw-r--r--netx/net/sourceforge/jnlp/SecurityDesc.java4
-rw-r--r--netx/net/sourceforge/jnlp/Version.java5
-rw-r--r--plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java2
-rw-r--r--plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java10
6 files changed, 26 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index a2f7b0c..5221f9d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2012-05-17 Adam Domurad <[email protected]>
+
+ Fixed uses of == to compare String objects to .equals where
+ appropriate.
+ Noted a non-obvious use of == to compare a 'magic' String reference.
+ * netx/net/sourceforge/jnlp/JNLPFile.java:
+ Changed calls that compare String contents from == to .equals
+ * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java:
+ Same
+ * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java:
+ Same
+ * netx/net/sourceforge/jnlp/Version.java: Added comment explaining why
+ == was used vs .equals
+
2012-05-14 Jiri Vanek <[email protected]>
* tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java:
diff --git a/netx/net/sourceforge/jnlp/JNLPFile.java b/netx/net/sourceforge/jnlp/JNLPFile.java
index 714ff7e..5ddb989 100644
--- a/netx/net/sourceforge/jnlp/JNLPFile.java
+++ b/netx/net/sourceforge/jnlp/JNLPFile.java
@@ -208,7 +208,7 @@ public class JNLPFile {
//(i.e. If the jnlp file being launched exist locally, but it
//originated from a website, then download the one from the website
//into the cache).
- if (sourceLocation != null && location.getProtocol() == "file") {
+ if (sourceLocation != null && "file".equals(location.getProtocol())) {
openURL(sourceLocation, version, policy);
}
diff --git a/netx/net/sourceforge/jnlp/SecurityDesc.java b/netx/net/sourceforge/jnlp/SecurityDesc.java
index abb61bd..9455c9a 100644
--- a/netx/net/sourceforge/jnlp/SecurityDesc.java
+++ b/netx/net/sourceforge/jnlp/SecurityDesc.java
@@ -202,7 +202,7 @@ public class SecurityDesc {
PermissionCollection permissions = getSandBoxPermissions();
// discard sandbox, give all
- if (type == ALL_PERMISSIONS) {
+ if (ALL_PERMISSIONS.equals(type)) {
permissions = new Permissions();
if (customTrustedPolicy == null) {
permissions.add(new AllPermission());
@@ -213,7 +213,7 @@ public class SecurityDesc {
}
// add j2ee to sandbox if needed
- if (type == J2EE_PERMISSIONS)
+ if (J2EE_PERMISSIONS.equals(type))
for (int i = 0; i < j2eePermissions.length; i++)
permissions.add(j2eePermissions[i]);
diff --git a/netx/net/sourceforge/jnlp/Version.java b/netx/net/sourceforge/jnlp/Version.java
index eeb4536..99e7cd6 100644
--- a/netx/net/sourceforge/jnlp/Version.java
+++ b/netx/net/sourceforge/jnlp/Version.java
@@ -230,6 +230,7 @@ public class Version {
Integer number2 = Integer.valueOf(0);
// compare as integers
+ // for normalization key, compare exact object, not using .equals
try {
if (!(part1 == emptyString)) // compare to magic normalization key
number1 = Integer.valueOf(part1);
@@ -242,9 +243,9 @@ public class Version {
// means to compare as strings
}
- if (part1 == emptyString)
+ if (part1 == emptyString) // compare to magic normalization key
part1 = "";
- if (part2 == emptyString)
+ if (part2 == emptyString) // compare to magic normalization key
part2 = "";
return part1.compareTo(part2);
diff --git a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java
index 2cea3da..e9b71c2 100644
--- a/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java
+++ b/plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java
@@ -50,7 +50,7 @@ public class GetMemberPluginCallRequest extends PluginCallRequest {
String[] args = message.split(" ");
// FIXME: Is it even possible to distinguish between null and void
// here?
- if (args[3] != "null" && args[3] != "void")
+ if (!"null".equals(args[3]) && !"void".equals(args[3]))
object = AppletSecurityContextManager.getSecurityContext(0).getObject(Integer.parseInt(args[3]));
setDone(true);
}
diff --git a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java
index d5edc6f..973a324 100644
--- a/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java
+++ b/plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java
@@ -41,15 +41,15 @@ public class PluginCallRequestFactory {
public PluginCallRequest getPluginCallRequest(String id, String message, Long reference) {
- if (id == "member") {
+ if ("member".equals(id)) {
return new GetMemberPluginCallRequest(message, reference);
- } else if (id == "void") {
+ } else if ("void".equals(id)) {
return new VoidPluginCallRequest(message, reference);
- } else if (id == "window") {
+ } else if ("window".equals(id)) {
return new GetWindowPluginCallRequest(message, reference);
- } else if (id == "proxyinfo") {
+ } else if ("proxyinfo".equals(id)) {
return new PluginProxyInfoRequest(message, reference);
- } else if (id == "cookieinfo") {
+ } else if ("cookieinfo".equals(id)) {
return new PluginCookieInfoRequest(message, reference);
} else {
throw new RuntimeException("Unknown plugin call request type requested from factory");