Skip to content

Commit bd97164

Browse files
committed
GH-334 improve compatibility with GraalJS - use Java.type() instead of Packages.
1 parent 1870327 commit bd97164

File tree

17 files changed

+88
-53
lines changed

17 files changed

+88
-53
lines changed

plugins/tracercollect/manifest.mf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ OpenIDE-Module: org.graalvm.visualvm.modules.tracer.collections/2
44
OpenIDE-Module-Layer: org/graalvm/visualvm/modules/tracer/collections/resources/layer.xml
55
OpenIDE-Module-Localizing-Bundle: org/graalvm/visualvm/modules/tracer/collections/Bundle.properties
66
OpenIDE-Module-Requires: org.openjdk.btrace.visualvm.tracer.deployer
7-
OpenIDE-Module-Specification-Version: 2.1
7+
OpenIDE-Module-Specification-Version: 2.2
88

plugins/tracercollect/nbproject/project.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<compile-dependency/>
2222
<run-dependency>
2323
<release-version>2</release-version>
24-
<specification-version>2.0</specification-version>
24+
<specification-version>2.1</specification-version>
2525
</run-dependency>
2626
</dependency>
2727
</module-dependencies>

plugins/tracercollect/src/org/graalvm/visualvm/modules/tracer/collections/resources/collections_traces.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,14 @@
2424
*/
2525

2626
var scriptPath = "nbres:/org/graalvm/visualvm/modules/tracer/collections/resources/CollectionsTracer.btrace"
27-
var btraceDeployer = typeof(Packages.org.openjdk.btrace.visualvm.tracer.deployer.BTraceDeployer) == "function" ?
28-
Packages.org.openjdk.btrace.visualvm.tracer.deployer.BTraceDeployer.instance() : undefined;
27+
var btraceDeployerClass;
28+
try {
29+
btraceDeployerClass = Java.type("org.openjdk.btrace.visualvm.tracer.deployer.BTraceDeployer");
30+
} catch (e) {
31+
btraceDeployerClass = null;
32+
}
33+
var btraceDeployer = btraceDeployerClass ? btraceDeployerClass.instance() : undefined;
34+
2935

3036
function SelfTimePercentAcc(mbean, blockName) {
3137
var valAcc = mbean.get("data").get(blockName).get("selfTime.percent");

plugins/tracerdynamic/manifest.mf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ OpenIDE-Module: org.graalvm.visualvm.modules.tracer.dynamic/2
33
OpenIDE-Module-Install: org/graalvm/visualvm/modules/tracer/dynamic/impl/DynamicPackageProvider.class
44
OpenIDE-Module-Localizing-Bundle: org/graalvm/visualvm/modules/tracer/dynamic/Bundle.properties
55
OpenIDE-Module-Provides: org.graalvm.visualvm.modules.tracer.dynamic
6-
OpenIDE-Module-Specification-Version: 2.0
6+
OpenIDE-Module-Specification-Version: 2.1
77

plugins/tracerdynamic/src/org/graalvm/visualvm/modules/tracer/dynamic/resources/configurator.js

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,27 @@
2323
* questions.
2424
*/
2525

26-
var Color = java.awt.Color;
27-
var ProbeItemDescriptor = Packages.org.graalvm.visualvm.modules.tracer.ProbeItemDescriptor;
28-
var ItemValueFormatter = Packages.org.graalvm.visualvm.modules.tracer.ItemValueFormatter;
29-
var TracerProbeDescriptor = Packages.org.graalvm.visualvm.modules.tracer.TracerProbeDescriptor;
30-
var ValueProvider = Packages.org.graalvm.visualvm.modules.tracer.dynamic.impl.ValueProvider;
31-
var DynamicPackage = Packages.org.graalvm.visualvm.modules.tracer.dynamic.impl.DynamicPackage;
32-
var DynamicProbe = Packages.org.graalvm.visualvm.modules.tracer.dynamic.impl.DynamicProbe;
33-
var JmxModelFactory = Packages.org.graalvm.visualvm.tools.jmx.JmxModelFactory;
34-
var NbBundle = Packages.org.openide.util.NbBundle;
35-
var QueryExp = javax.management.QueryExp;
26+
var Color = Java.type("java.awt.Color");
27+
var ArrayList = Java.type("java.util.ArrayList");
28+
var HashMap = Java.type("java.util.HashMap");
29+
var Integer = Java.type("java.lang.Integer");
30+
var ProbeItemDescriptor = Java.type("org.graalvm.visualvm.modules.tracer.ProbeItemDescriptor");
31+
var ItemValueFormatter = Java.type("org.graalvm.visualvm.modules.tracer.ItemValueFormatter");
32+
var TracerProbeDescriptor = Java.type("org.graalvm.visualvm.modules.tracer.TracerProbeDescriptor");
33+
var ValueProvider = Java.type("org.graalvm.visualvm.modules.tracer.dynamic.impl.ValueProvider");
34+
var DynamicPackage = Java.type("org.graalvm.visualvm.modules.tracer.dynamic.impl.DynamicPackage");
35+
var DynamicProbe = Java.type("org.graalvm.visualvm.modules.tracer.dynamic.impl.DynamicProbe");
36+
var ItemValueFormatterInterface = Java.type("org.graalvm.visualvm.modules.tracer.dynamic.impl.ItemValueFormatterInterface");
37+
var ItemValueFormatterProxy = Java.type("org.graalvm.visualvm.modules.tracer.dynamic.impl.ItemValueFormatterProxy");
38+
var DeployerImpl = Java.type("org.graalvm.visualvm.modules.tracer.dynamic.spi.DeployerImpl");
39+
var JMXValueProvider = Java.type("org.graalvm.visualvm.modules.tracer.dynamic.jmx.JMXValueProvider");
40+
var JmxModelFactory = Java.type("org.graalvm.visualvm.tools.jmx.JmxModelFactory");
41+
var NbBundle = Java.type("org.openide.util.NbBundle");
42+
var ImageUtilities = Java.type("org.openide.util.ImageUtilities");
43+
var QueryExp = Java.type("javax.management.QueryExp");
44+
var ObjectName = Java.type("javax.management.ObjectName");
45+
var TabularData = Java.type("javax.management.openmbean.TabularData");
46+
var CompositeData = Java.type("javax.management.openmbean.CompositeData");
3647
var AUTOCOLOR = ProbeItemDescriptor.DEFAULT_COLOR;
3748

3849
function VisualVM(){}
@@ -67,7 +78,7 @@ VisualVM.MBeans = {
6778
if (jmxModel != undefined && jmxModel != null) {
6879
var connection = jmxModel.getMBeanServerConnection();
6980
if (connection != undefined && connection != null) {
70-
var names = connection.queryNames(javax.management.ObjectName.getInstance(objectNamePattern), query);
81+
var names = connection.queryNames(ObjectName.getInstance(objectNamePattern), query);
7182
var iter = names.iterator();
7283
var nameArr = new Array();
7384
while (iter.hasNext()) {
@@ -192,8 +203,8 @@ function getItemDescriptor(property) {
192203
}
193204
if (property.presenter.format == undefined) {
194205
property.presenter.format = ItemValueFormatter.DEFAULT_DECIMAL
195-
} else if (property.presenter.format instanceof Packages.org.graalvm.visualvm.modules.tracer.dynamic.impl.ItemValueFormatterInterface) {
196-
property.presenter.format = new Packages.org.graalvm.visualvm.modules.tracer.dynamic.impl.ItemValueFormatterProxy(property.presenter.format);
206+
} else if (property.presenter.format instanceof ItemValueFormatterInterface) {
207+
property.presenter.format = new ItemValueFormatterProxy(property.presenter.format);
197208
} else if (property.presenter != undefined &&
198209
property.presenter.format != undefined &&
199210
!(property.presenter.format instanceof ItemValueFormatter)) {
@@ -212,9 +223,7 @@ function getItemDescriptor(property) {
212223
return "";
213224
}
214225
}
215-
property.presenter.format = new Packages.org.graalvm.visualvm.modules.tracer.dynamic.impl.ItemValueFormatterProxy(
216-
new Packages.org.graalvm.visualvm.modules.tracer.dynamic.impl.ItemValueFormatterInterface(forward)
217-
);
226+
property.presenter.format = new ItemValueFormatterProxy(new ItemValueFormatterInterface(forward));
218227
}
219228

220229
if (property.presenter.type == VisualVM.Tracer.Type.continuous) {
@@ -225,7 +234,7 @@ function getItemDescriptor(property) {
225234
return undefined;
226235
}
227236

228-
var configuredPackages = new java.util.ArrayList();
237+
var configuredPackages = new ArrayList();
229238

230239
function configure(packages) {
231240
if (application != undefined && packages != undefined) {
@@ -249,11 +258,11 @@ function processPackage(pkg) {
249258
desc = desc.concat(getReqDesc(pkg));
250259
}
251260
var icon = pkg.icon != undefined ? pkg.icon : null;
252-
var position = pkg.position != undefined ? pkg.position : java.lang.Integer.MAX_VALUE;
261+
var position = pkg.position != undefined ? pkg.position : Integer.MAX_VALUE;
253262

254263
if (typeof(icon) == "string") {
255264
try {
256-
icon = Packages.org.openide.util.ImageUtilities.loadImageIcon(icon, true);
265+
icon = ImageUtilities.loadImageIcon(icon, true);
257266
} catch (e) {
258267
icon = null;
259268
}
@@ -269,8 +278,8 @@ function processPackage(pkg) {
269278

270279
// a valid probe must have properties
271280
if (probe.properties != undefined) {
272-
var itemDescriptors = new java.util.ArrayList();
273-
var valProviders = new java.util.ArrayList();
281+
var itemDescriptors = new ArrayList();
282+
var valProviders = new ArrayList();
274283
var propArray;
275284
if (typeof(probe.properties) == "function") {
276285
propArray = probe.properties();
@@ -311,12 +320,12 @@ function processPackage(pkg) {
311320
if (probe.deployment != undefined) {
312321
if (probe.deployment instanceof Array) {
313322
for (var deployment in probe.deployment) {
314-
if (deployment.deployer instanceof Packages.org.graalvm.visualvm.modules.tracer.dynamic.spi.DeployerImpl) {
323+
if (deployment.deployer instanceof DeployerImpl) {
315324
dProbe.addDeployment(deployment.deployer, getDeploymentAttributes(deployment));
316325
}
317326
}
318327
} else if (probe.deployment.deployer != undefined) {
319-
if (probe.deployment.deployer instanceof Packages.org.graalvm.visualvm.modules.tracer.dynamic.spi.DeployerImpl) {
328+
if (probe.deployment.deployer instanceof DeployerImpl) {
320329
dProbe.addDeployment(probe.deployment.deployer, getDeploymentAttributes(probe.deployment));
321330
}
322331
}
@@ -351,7 +360,7 @@ function processPackage(pkg) {
351360
}
352361

353362
function getDeploymentAttributes(deployment) {
354-
var map = new java.util.HashMap();
363+
var map = new HashMap();
355364
for(var attr in deployment) {
356365
if (attr != "deployer") {
357366
map.put(attr, deployment[attr]);
@@ -371,7 +380,7 @@ function delta(valProvider) {
371380
function getKeys(map) {
372381
var ret = new Array();
373382
if (map == undefined || map == null) return 0;
374-
if (map instanceof javax.management.openmbean.TabularData) {
383+
if (map instanceof TabularData) {
375384
var iter2 = map.keySet().iterator();
376385
while (iter2.hasNext()) {
377386
ret[ret.length] = iter2.next().get(0);
@@ -380,7 +389,7 @@ function getKeys(map) {
380389
for(var counter=0; counter < map.length; counter++) {
381390
ret[ret.length] = map[counter].get("key");
382391
}
383-
} else if (map instanceof javax.management.openmbean.CompositeData) {
392+
} else if (map instanceof CompositeData) {
384393
if (map.getCompositeType != undefined) {
385394
var type = map.getCompositeType();
386395

@@ -404,7 +413,7 @@ function get(map, keys) {
404413
var keyArray = isArray(keys);
405414
var key = keyArray ? keys[0] : keys;
406415
if (map == undefined || map == null) return 0;
407-
if (map instanceof javax.management.openmbean.TabularData) {
416+
if (map instanceof TabularData) {
408417
// javax.management.openmbean.TabularDataSupport -> effectively a Map instance
409418
if (!keyArray || keys.length == 1) {
410419
ret = map.get([key]).get(["value"]);
@@ -425,7 +434,7 @@ function get(map, keys) {
425434
}
426435
}
427436
}
428-
} else if (map instanceof javax.management.openmbean.CompositeData) {
437+
} else if (map instanceof CompositeData) {
429438
if (map.getTabularType != undefined) {
430439
// javax.management.openmbean.TabularDataSupport -> effectively a Map instance
431440
if (!keyArray || keys.length == 1) {
@@ -522,7 +531,7 @@ function MBeanAttribute(objectName, attributeName) {
522531

523532
this.getProvider = function() {
524533
if (provider == undefined) {
525-
provider = new Packages.org.graalvm.visualvm.modules.tracer.dynamic.jmx.JMXValueProvider(this.on, this.an, application);
534+
provider = new JMXValueProvider(this.on, this.an, application);
526535
}
527536
return provider;
528537
}

plugins/tracerio/manifest.mf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ OpenIDE-Module: org.graalvm.visualvm.modules.tracer.io/2
44
OpenIDE-Module-Layer: org/graalvm/visualvm/modules/tracer/io/layer.xml
55
OpenIDE-Module-Localizing-Bundle: org/graalvm/visualvm/modules/tracer/io/Bundle.properties
66
OpenIDE-Module-Requires: org.openjdk.btrace.visualvm.tracer.deployer
7-
OpenIDE-Module-Specification-Version: 2.1
7+
OpenIDE-Module-Specification-Version: 2.2
88

plugins/tracerio/nbproject/project.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<compile-dependency/>
2222
<run-dependency>
2323
<release-version>2</release-version>
24-
<specification-version>2.0</specification-version>
24+
<specification-version>2.1</specification-version>
2525
</run-dependency>
2626
</dependency>
2727
</module-dependencies>

plugins/tracerio/src/org/graalvm/visualvm/modules/tracer/io/resources/io_traces.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,13 @@
2424
*/
2525

2626
var scriptPath = "nbres:/org/graalvm/visualvm/modules/tracer/io/resources/IOTracer.btrace"
27-
var btraceDeployer = typeof(Packages.org.openjdk.btrace.visualvm.tracer.deployer.BTraceDeployer) == "function" ?
28-
Packages.org.openjdk.btrace.visualvm.tracer.deployer.BTraceDeployer.instance() : undefined;
27+
var btraceDeployerClass;
28+
try {
29+
btraceDeployerClass = Java.type("org.openjdk.btrace.visualvm.tracer.deployer.BTraceDeployer");
30+
} catch (e) {
31+
btraceDeployerClass = null;
32+
}
33+
var btraceDeployer = btraceDeployerClass ? btraceDeployerClass.instance() : undefined;
2934

3035
function DivideBytesAcc(mbeanBytes, mbeanCount) {
3136
this.value = function (ts) {

plugins/tracerjavafx/manifest.mf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ OpenIDE-Module: org.graalvm.visualvm.modules.tracer.javafx/2
33
OpenIDE-Module-Layer: org/graalvm/visualvm/modules/tracer/javafx/layer.xml
44
OpenIDE-Module-Localizing-Bundle: org/graalvm/visualvm/modules/tracer/javafx/Bundle.properties
55
OpenIDE-Module-Requires: org.openjdk.btrace.visualvm.tracer.deployer
6-
OpenIDE-Module-Specification-Version: 2.1
6+
OpenIDE-Module-Specification-Version: 2.2
77

plugins/tracerjavafx/nbproject/project.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<code-name-base>org.graalvm.visualvm.modules.tracer.dynamic</code-name-base>
2020
<run-dependency>
2121
<release-version>2</release-version>
22-
<specification-version>2.0</specification-version>
22+
<specification-version>2.1</specification-version>
2323
</run-dependency>
2424
</dependency>
2525
</module-dependencies>

0 commit comments

Comments
 (0)