Mercurial > hg > release > icedtea7-forest-2.6 > corba
changeset 932:cbd5b4b07e0c jdk7u55-b11
8035618: Four api/org_omg/CORBA TCK tests fail under plugin only
Reviewed-by: alanb, mchung
author | coffeys |
---|---|
date | Tue, 04 Mar 2014 00:45:16 +0000 |
parents | 0f75d8ee8dda |
children | 3cce2a49d18d |
files | src/share/classes/com/sun/corba/se/spi/orb/ORB.java |
diffstat | 1 files changed, 24 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/com/sun/corba/se/spi/orb/ORB.java Tue Feb 25 12:19:34 2014 -0800 +++ b/src/share/classes/com/sun/corba/se/spi/orb/ORB.java Tue Mar 04 00:45:16 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2014, 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 @@ -170,6 +170,12 @@ // representing LogDomain and ExceptionGroup. private Map wrapperMap ; + static class Holder { + static final PresentationManager defaultPresentationManager = + setupPresentationManager(); + } + private static final Object pmLock = new Object(); + private static Map staticWrapperMap = new ConcurrentHashMap(); protected MonitoringManager monitoringManager; @@ -235,13 +241,24 @@ */ public static PresentationManager getPresentationManager() { - AppContext ac = AppContext.getAppContext(); - PresentationManager pm = (PresentationManager) ac.get(PresentationManager.class); - if (pm == null) { - pm = setupPresentationManager(); - ac.put(PresentationManager.class, pm); + SecurityManager sm = System.getSecurityManager(); + if (sm != null && AppContext.getAppContexts().size() > 0) { + AppContext ac = AppContext.getAppContext(); + if (ac != null) { + synchronized (pmLock) { + PresentationManager pm = + (PresentationManager) ac.get(PresentationManager.class); + if (pm == null) { + pm = setupPresentationManager(); + ac.put(PresentationManager.class, pm); + } + return pm; + } + } } - return pm; + + // No security manager or AppContext + return Holder.defaultPresentationManager; } /** Get the appropriate StubFactoryFactory. This