Bug 530310 (temporary revert to J2SE-1.5 for build issue)
diff --git a/plugins/org.eclipse.actf.util.win32.comclutch/src/org/eclipse/actf/util/win32/comclutch/ResourceManager.java b/plugins/org.eclipse.actf.util.win32.comclutch/src/org/eclipse/actf/util/win32/comclutch/ResourceManager.java
index 57a69df..659a57b 100644
--- a/plugins/org.eclipse.actf.util.win32.comclutch/src/org/eclipse/actf/util/win32/comclutch/ResourceManager.java
+++ b/plugins/org.eclipse.actf.util.win32.comclutch/src/org/eclipse/actf/util/win32/comclutch/ResourceManager.java
@@ -29,14 +29,16 @@
private WeakReference<IResource> resourceHashArray[] = new WeakReference[HASHSIZE];
/**
- * @param ptr
- * the reference pointer to be searched
- * @return the instance of IResource having ptr. It returns null if resource
- * is not found.
+ * @param ptr the reference pointer to be searched
+ * @return the instance of IResource having ptr. It returns null if resource is
+ * not found.
*/
public IResource findInResource(long ptr) {
-// int idx = (int) ptr % HASHSIZE;
- int idx = Integer.remainderUnsigned((int)ptr, HASHSIZE);
+
+ // int idx = (int) ptr % HASHSIZE;
+ // int idx = Integer.remainderUnsigned((int)ptr, HASHSIZE); //for Java 8
+ int idx = (int) ((ptr & 0xffffffffL) % HASHSIZE); // tmp for Java 1.7
+
WeakReference<IResource> wr = resourceHashArray[idx];
if (wr == null)
return null;
@@ -51,8 +53,7 @@
/**
* All resources will be released.
*
- * @param except
- * the resource to be excluded from the clearance
+ * @param except the resource to be excluded from the clearance
*/
public void releaseAll(IResource except) {
int len = resourceHashArray.length;
@@ -77,13 +78,14 @@
}
/**
- * @param resource
- * the resource to be removed from the manager
+ * @param resource the resource to be removed from the manager
*/
public void removeResource(IResource resource) {
long ptr = resource.getPtr();
-// int idx = (int) ptr % HASHSIZE;
- int idx = Integer.remainderUnsigned((int)ptr, HASHSIZE);
+ // int idx = (int) ptr % HASHSIZE;
+ // int idx = Integer.remainderUnsigned((int)ptr, HASHSIZE); //for Java 8
+ int idx = (int) ((ptr & 0xffffffffL) % HASHSIZE); // tmp for Java 1.7
+
WeakReference<IResource> wr = resourceHashArray[idx];
if (wr == null)
return;
@@ -100,21 +102,21 @@
}
/**
- * @param target
- * the resource to be added to the manager
+ * @param target the resource to be added to the manager
*/
public void addResource(IResource target) {
long ptr = target.getPtr();
-// int idx = (int) ptr % HASHSIZE;
- int idx = Integer.remainderUnsigned((int)ptr, HASHSIZE);
+ // int idx = (int) ptr % HASHSIZE;
+ //int idx = Integer.remainderUnsigned((int)ptr, HASHSIZE); //for Java 8
+ int idx = (int) ((ptr & 0xffffffffL) % HASHSIZE); // tmp for Java 1.7
+
WeakReference<IResource> wr = new WeakReference<IResource>(target);
resourceHashArray[idx] = wr;
return;
}
/**
- * @param parent
- * the parent resource manager
+ * @param parent the parent resource manager
* @return the new instance of ResourceManager has the parent
*/
public static ResourceManager newResourceManager(ResourceManager parent) {