# HG changeset patch # User msheppar # Date 1385298496 0 # Node ID 624af7638fc2875821a9aff5608696bb92d7f919 # Parent e188d774fbc998b889bd6879b4568311fe00e9a8 8028215: ORB.init fails with SecurityException if properties select the JDK default ORB Summary: check for default ORBImpl and ORBSingleton set via properties or System properties Reviewed-by: alanb, coffeys, mchung diff -r e188d774fbc9 -r 624af7638fc2 test/com/sun/corba/se/impl/orb/SetDefaultORBTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/com/sun/corba/se/impl/orb/SetDefaultORBTest.java Sun Nov 24 13:08:16 2013 +0000 @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2013, 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. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/** + * @test + * @bug 8028215 + * @summary SetDefaultORBTest setting ORB impl via properties test + * @run main/othervm SetDefaultORBTest + * + */ + +import java.util.Properties; + +import org.omg.CORBA.ORB; + + +public class SetDefaultORBTest { + + public static void main(String[] args) { + Properties systemProperties = System.getProperties(); + systemProperties.setProperty("org.omg.CORBA.ORBSingletonClass", + "com.sun.corba.se.impl.orb.ORBSingleton"); + System.setSecurityManager(new SecurityManager()); + Properties props = new Properties(); + props.put("org.omg.CORBA.ORBClass", "com.sun.corba.se.impl.orb.ORBImpl"); + ORB orb = ORB.init(args, props); + Class orbClass = orb.getClass(); + if (orbClass.getName().equals("com.sun.corba.se.impl.orb.ORBImpl")) { + System.out.println("orbClass is com.sun.corba.se.impl.orb.ORBimpl as expected"); + } else { + throw new RuntimeException("com.sun.corba.se.impl.orb.ORBimpl class expected for ORBImpl"); + } + ORB singletonORB = ORB.init(); + Class singletoneOrbClass = singletonORB.getClass(); + if (singletoneOrbClass.getName().equals("com.sun.corba.se.impl.orb.ORBSingleton")) { + System.out.println("singeletonOrbClass is com.sun.corba.se.impl.orb.ORBSingleton as expected"); + } else { + throw new RuntimeException("com.sun.corba.se.impl.orb.ORBSingleton class expected for ORBSingleton"); + } + } +}