388
389 if (pkgsObject == null)
390 pkgsObject =
391 AccessController.doPrivileged(new PrivilegedAction<String>() {
392 public String run() {
393 return System.getProperty(PROTOCOL_PROVIDER_PACKAGES);
394 }
395 });
396
397 if (pkgsObject == null)
398 return null;
399
400 if (!(pkgsObject instanceof String)) {
401 final String msg = "Value of " + PROTOCOL_PROVIDER_PACKAGES +
402 " parameter is not a String: " +
403 pkgsObject.getClass().getName();
404 throw new JMXProviderException(msg);
405 }
406
407 final String pkgs = (String) pkgsObject;
408 if (pkgs.trim().equals(""))
409 return null;
410
411 // pkgs may not contain an empty element
412 if (pkgs.startsWith("|") || pkgs.endsWith("|") ||
413 pkgs.indexOf("||") >= 0) {
414 final String msg = "Value of " + PROTOCOL_PROVIDER_PACKAGES +
415 " contains an empty element: " + pkgs;
416 throw new JMXProviderException(msg);
417 }
418
419 return pkgs;
420 }
421
422 static <T> T getProvider(JMXServiceURL serviceURL,
423 final Map<String, Object> environment,
424 String providerClassName,
425 Class<T> targetInterface,
426 final ClassLoader loader)
427 throws IOException {
428
|
388
389 if (pkgsObject == null)
390 pkgsObject =
391 AccessController.doPrivileged(new PrivilegedAction<String>() {
392 public String run() {
393 return System.getProperty(PROTOCOL_PROVIDER_PACKAGES);
394 }
395 });
396
397 if (pkgsObject == null)
398 return null;
399
400 if (!(pkgsObject instanceof String)) {
401 final String msg = "Value of " + PROTOCOL_PROVIDER_PACKAGES +
402 " parameter is not a String: " +
403 pkgsObject.getClass().getName();
404 throw new JMXProviderException(msg);
405 }
406
407 final String pkgs = (String) pkgsObject;
408 if (pkgs.trim().isEmpty())
409 return null;
410
411 // pkgs may not contain an empty element
412 if (pkgs.startsWith("|") || pkgs.endsWith("|") ||
413 pkgs.indexOf("||") >= 0) {
414 final String msg = "Value of " + PROTOCOL_PROVIDER_PACKAGES +
415 " contains an empty element: " + pkgs;
416 throw new JMXProviderException(msg);
417 }
418
419 return pkgs;
420 }
421
422 static <T> T getProvider(JMXServiceURL serviceURL,
423 final Map<String, Object> environment,
424 String providerClassName,
425 Class<T> targetInterface,
426 final ClassLoader loader)
427 throws IOException {
428
|