< prev index next >
jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/developer/ContextClassloaderLocal.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -23,24 +23,22 @@
* questions.
*/
package com.sun.xml.internal.ws.developer;
+import com.sun.xml.internal.ws.resources.ContextClassloaderLocalMessages;
+
import java.security.AccessController;
import java.security.PrivilegedAction;
-import java.text.MessageFormat;
-import java.util.ResourceBundle;
import java.util.WeakHashMap;
/**
* Simple utility ensuring that the value is cached only in case it is non-internal implementation
*/
abstract class ContextClassloaderLocal<V> {
- private static final String FAILED_TO_CREATE_NEW_INSTANCE = "FAILED_TO_CREATE_NEW_INSTANCE";
-
- private WeakHashMap<ClassLoader, V> CACHE = new WeakHashMap<ClassLoader, V>();
+ private WeakHashMap<ClassLoader, V> CACHE = new WeakHashMap<>();
public V get() throws Error {
ClassLoader tccl = getContextClassLoader();
V instance = CACHE.get(tccl);
if (instance == null) {
@@ -58,23 +56,18 @@
private V createNewInstance() {
try {
return initialValue();
} catch (Exception e) {
- throw new Error(format(FAILED_TO_CREATE_NEW_INSTANCE, getClass().getName()), e);
+ throw new Error(ContextClassloaderLocalMessages.FAILED_TO_CREATE_NEW_INSTANCE(getClass().getName()), e);
}
}
- private static String format(String property, Object... args) {
- String text = ResourceBundle.getBundle(ContextClassloaderLocal.class.getName()).getString(property);
- return MessageFormat.format(text, args);
- }
-
private static ClassLoader getContextClassLoader() {
- return (ClassLoader)
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
+ @Override
+ public ClassLoader run() {
ClassLoader cl = null;
try {
cl = Thread.currentThread().getContextClassLoader();
} catch (SecurityException ex) {
}
< prev index next >