src/share/classes/com/sun/corba/se/spi/orb/ORB.java
Print this page
*** 23,34 ****
* questions.
*/
package com.sun.corba.se.spi.orb;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
import java.util.Map ;
import java.util.HashMap ;
import java.util.Properties ;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Logger ;
--- 23,32 ----
*** 97,108 ****
import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
import com.sun.corba.se.impl.logging.OMGSystemException ;
import com.sun.corba.se.impl.presentation.rmi.PresentationManagerImpl ;
- import sun.misc.JavaAWTAccess;
-
public abstract class ORB extends com.sun.corba.se.org.omg.CORBA.ORB
implements Broker, TypeCodeFactory
{
// As much as possible, this class should be stateless. However,
// there are a few reasons why it is not:
--- 95,104 ----
*** 243,275 ****
* AppContext to hold it. Creates and records one if needed.
*/
public static PresentationManager getPresentationManager()
{
SecurityManager sm = System.getSecurityManager();
! JavaAWTAccess javaAwtAccess = sun.misc.SharedSecrets.getJavaAWTAccess();
if (sm != null && javaAwtAccess != null) {
! Object appletContext;
! try {
! Class<?> clazz = JavaAWTAccess.class;
! Method method = clazz.getMethod("getAppletContext");
! appletContext = method.invoke(javaAwtAccess);
! } catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
! InternalError err = new InternalError();
! err.initCause(e);
! throw err;
! }
!
if (appletContext != null) {
synchronized (pmContexts) {
! PresentationManager pm = pmContexts.get(appletContext);
! if (pm == null) {
! pm = setupPresentationManager();
! pmContexts.put(appletContext, pm);
}
- return pm;
}
- }
}
// No security manager or AppletAppContext
return Holder.defaultPresentationManager;
}
--- 239,256 ----
* AppContext to hold it. Creates and records one if needed.
*/
public static PresentationManager getPresentationManager()
{
SecurityManager sm = System.getSecurityManager();
! sun.misc.JavaAWTAccess javaAwtAccess = sun.misc.SharedSecrets.getJavaAWTAccess();
if (sm != null && javaAwtAccess != null) {
! final Object appletContext = javaAwtAccess.getAppletContext();
if (appletContext != null) {
synchronized (pmContexts) {
! return pmContexts.putIfAbsent(appletContext, setupPresentationManager());
}
}
}
// No security manager or AppletAppContext
return Holder.defaultPresentationManager;
}