// ********************************************************************** // // Copyright (c) 2003-2010 ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** package test.Ice.objects; public class Server extends test.Util.Application { private static class MyObjectFactory implements Ice.ObjectFactory { public Ice.Object create(String type) { if(type.equals("::Test::I")) { return new II(); } else if(type.equals("::Test::J")) { return new JI(); } else if(type.equals("::Test::H")) { return new HI(); } assert (false); // Should never be reached return null; } public void destroy() { // Nothing to do } } public int run(String[] args) { Ice.Communicator communicator = communicator(); Ice.ObjectFactory factory = new MyObjectFactory(); communicator.addObjectFactory(factory, "::Test::I"); communicator.addObjectFactory(factory, "::Test::J"); communicator.addObjectFactory(factory, "::Test::H"); Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); Ice.Object object = new InitialI(adapter); adapter.add(object, communicator.stringToIdentity("initial")); object = new UnexpectedObjectExceptionTestI(); adapter.add(object, communicator.stringToIdentity("uoet")); adapter.activate(); return WAIT; } protected Ice.InitializationData getInitData(Ice.StringSeqHolder argsH) { Ice.InitializationData initData = new Ice.InitializationData(); initData.properties = Ice.Util.createProperties(argsH); initData.properties.setProperty("Ice.Package.Test", "test.Ice.objects"); initData.properties.setProperty("TestAdapter.Endpoints", "default -p 12010"); return initData; } public static void main(String[] args) { Server app = new Server(); int result = app.main("Server", args); System.gc(); System.exit(result); } }