Skip to content

Commit ffbccfa

Browse files
committed
GH-86 detection of 10.0.1 fixed - use java.property.java.version first
1 parent c61c02a commit ffbccfa

File tree

1 file changed

+40
-35
lines changed

1 file changed

+40
-35
lines changed

visualvm/jvmstat/src/com/sun/tools/visualvm/jvmstat/JvmJvmstatModelProvider.java

Lines changed: 40 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -43,46 +43,51 @@ public class JvmJvmstatModelProvider extends AbstractModelProvider<JvmJvmstatMod
4343
public JvmJvmstatModel createModelFor(Application app) {
4444
JvmstatModel jvmstat = JvmstatModelFactory.getJvmstatFor(app);
4545
if (jvmstat != null) {
46-
String vmVersion = jvmstat.findByName("java.property.java.vm.version"); // NOI18N
4746

4847
JvmJvmstatModel model = null;
4948
// Check for Sun VM (and maybe other?)
50-
// JVM 1.4
51-
if (vmVersion.startsWith("1.4.")) model = new JvmJvmstatModel_4(app,jvmstat); // NOI18N
52-
53-
// JVM 1.5
54-
else if (vmVersion.startsWith("1.5.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
55-
56-
// JVM 1.6
57-
else if (vmVersion.startsWith("1.6.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
58-
59-
// JVM 1.7
60-
else if (vmVersion.startsWith("1.7.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
61-
62-
// Hotspot Express
63-
else if (vmVersion.startsWith("10.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
64-
else if (vmVersion.startsWith("11.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
65-
else if (vmVersion.startsWith("12.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
66-
else if (vmVersion.startsWith("13.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
67-
else if (vmVersion.startsWith("14.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
49+
// try java.property.java.version from HotSpot Express 14.0
50+
String javaVersion = jvmstat.findByName("java.property.java.version"); // NOI18N
51+
52+
if (javaVersion != null) {
53+
// JVM 1.6
54+
if (javaVersion.startsWith("1.6.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
55+
// JVM 1.7
56+
else if (javaVersion.startsWith("1.7.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
57+
// JVM 1.8
58+
else if (javaVersion.startsWith("1.8.")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
59+
// JVM 1.9
60+
else if (javaVersion.startsWith("1.9.")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
61+
// JVM 9
62+
else if (javaVersion.equals("9")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
63+
else if (javaVersion.startsWith("9.")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
64+
// JVM 10
65+
else if (javaVersion.equals("10")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
66+
else if (javaVersion.startsWith("10.")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
67+
}
6868

69-
if (model == null) { // try java.property.java.version from HotSpot Express 14.0
70-
String javaVersion = jvmstat.findByName("java.property.java.version"); // NOI18N
69+
if (model == null) {
70+
String vmVersion = jvmstat.findByName("java.property.java.vm.version"); // NOI18N
71+
72+
// JVM 1.4
73+
if (vmVersion.startsWith("1.4.")) model = new JvmJvmstatModel_4(app,jvmstat); // NOI18N
74+
75+
// JVM 1.5
76+
else if (vmVersion.startsWith("1.5.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
77+
78+
// JVM 1.6
79+
else if (vmVersion.startsWith("1.6.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
80+
81+
// JVM 1.7
82+
else if (vmVersion.startsWith("1.7.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
83+
84+
// Hotspot Express
85+
else if (vmVersion.startsWith("10.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
86+
else if (vmVersion.startsWith("11.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
87+
else if (vmVersion.startsWith("12.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
88+
else if (vmVersion.startsWith("13.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
89+
else if (vmVersion.startsWith("14.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
7190

72-
if (javaVersion != null) {
73-
// JVM 1.6
74-
if (javaVersion.startsWith("1.6.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
75-
// JVM 1.7
76-
else if (javaVersion.startsWith("1.7.")) model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N
77-
// JVM 1.8
78-
else if (javaVersion.startsWith("1.8.")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
79-
// JVM 1.9
80-
else if (javaVersion.startsWith("1.9.")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
81-
// JVM 9
82-
else if (javaVersion.startsWith("9")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
83-
// JVM 10
84-
else if (javaVersion.startsWith("10")) model = new JvmJvmstatModel_8(app,jvmstat); // NOI18N
85-
}
8691
if (model == null) { // still not recognized, fallback to JvmJvmstatModel_5
8792
LOGGER.log(Level.WARNING, "Unrecognized java.vm.version " + vmVersion); // NOI18N
8893
model = new JvmJvmstatModel_5(app,jvmstat); // NOI18N

0 commit comments

Comments
 (0)