Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HashTree and ListedHashTree fail to compile with Java 8 #3355

Closed
asfimport opened this issue Apr 7, 2014 · 4 comments
Closed

HashTree and ListedHashTree fail to compile with Java 8 #3355

asfimport opened this issue Apr 7, 2014 · 4 comments

Comments

@asfimport
Copy link
Collaborator

Emmanuel Bourg (Bug 56360):
HashTree and ListedHashTree in the org.apache.jorphan.collections package fail to compile with Java 8 due to a conflict with the newly added Map.replace(K,V) method:

compile-jorphan:
[javac] Compiling 55 source files to C:\dev\apache\jmeter\build\jorphan
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6
[javac] C:\dev\apache\jmeter\src\jorphan\org\apache\jorphan\collections\HashTree.java:766: error: name clash: replace(Object,Object) in HashTree and replace(K,V) in Map have the same erasure, yet neither overrides the other
[javac] public void replace(Object currentKey, Object newKey) {
[javac] ^
[javac] where K,V are type-variables:
[javac] K extends Object declared in interface Map
[javac] V extends Object declared in interface Map
[javac] C:\dev\apache\jmeter\src\jorphan\org\apache\jorphan\collections\ListedHashTree.java:119: error: name clash: replace(Object,Object) in ListedHashTree and replace(K,V) in Map have the same erasure, yet neither overrides the other
[javac] public void replace(Object currentKey, Object newKey) {
[javac] ^
[javac] where K,V are type-variables:
[javac] K extends Object declared in interface Map
[javac] V extends Object declared in interface Map
[javac] Note: C:\dev\apache\jmeter\src\jorphan\org\apache\jorphan\gui\JLabeledChoice.java uses unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 2 errors
[javac] 1 warning

Severity: normal
OS: All

@asfimport
Copy link
Collaborator Author

Sebb (migrated from Bugzilla):
JMeter currently targets Java 1.6

@asfimport
Copy link
Collaborator Author

Emmanuel Bourg (migrated from Bugzilla):
This is problematic for Debian where JMeter is compiled from the sources. This blocks the transition to Java 8 as the default JDK.

@asfimport
Copy link
Collaborator Author

Emmanuel Bourg (migrated from Bugzilla):
Here is the patch applied in Debian fixing this issue (for JMeter 2.8)

http://anonscm.debian.org/viewvc/pkg-java/trunk/jakarta-jmeter/debian/patches/04_java8_compatibility.patch?view=co

@asfimport
Copy link
Collaborator Author

Sebb (migrated from Bugzilla):
Thanks for the patch etc.

Fixed:

URL: http://svn.apache.org/r1586693
Log:
HashTree and ListedHashTree fail to compile with Java 8
Rename replace as replaceKey to avoid clash with Java 8 Map.replace(K,V) mew method
#3355

Modified:
jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
jmeter/trunk/src/core/org/apache/jmeter/engine/ConvertListeners.java
jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java
jmeter/trunk/src/jorphan/org/apache/jorphan/collections/HashTree.java
jmeter/trunk/src/jorphan/org/apache/jorphan/collections/ListedHashTree.java
jmeter/trunk/src/reports/org/apache/jmeter/report/gui/action/ReportSave.java
jmeter/trunk/xdocs/changes.xml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant