From 0b82edbd44b61ab36592f73728e76d1fd11a3aa2 Mon Sep 17 00:00:00 2001 From: Jose Date: Thu, 16 Aug 2012 15:58:01 +0200 Subject: ICE-4609 - Add ability to load shared library with full path - C++/Java now also support to load Services and Plugins from a full path, this was already supported by .NET - Fixed the parsing of plug-in arguments to correct split the arguments - Fixed Plugin manager destroy C++/Java/C#, the plugin must are now destroyed in initialization reverse order as documented. --- .../Ice/plugin/plugins/PluginTwoFailFactory.java | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 java/test/Ice/plugin/plugins/PluginTwoFailFactory.java (limited to 'java/test/Ice/plugin/plugins/PluginTwoFailFactory.java') diff --git a/java/test/Ice/plugin/plugins/PluginTwoFailFactory.java b/java/test/Ice/plugin/plugins/PluginTwoFailFactory.java new file mode 100644 index 00000000000..80dd2fdf2f2 --- /dev/null +++ b/java/test/Ice/plugin/plugins/PluginTwoFailFactory.java @@ -0,0 +1,64 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2011 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.plugin.plugins; + +public class PluginTwoFailFactory implements Ice.PluginFactory +{ + public Ice.Plugin create(Ice.Communicator communicator, String name, String[] args) + { + return new PluginTwoFail(communicator); + } + + static class PluginTwoFail extends BasePluginFail + { + public PluginTwoFail(Ice.Communicator communicator) + { + super(communicator); + } + + public void initialize() + { + _one = (BasePluginFail)_communicator.getPluginManager().getPlugin("PluginOneFail"); + test(_one.isInitialized()); + _three = (BasePluginFail)_communicator.getPluginManager().getPlugin("PluginThreeFail"); + test(!_three.isInitialized()); + _initialized = true; + } + + public void destroy() + { + test(!_one.isDestroyed()); + // + // Not destroyed because initialize fails. + // + test(!_three.isDestroyed()); + _destroyed = true; + } + + protected void finalize() throws Throwable + { + try + { + if(!_initialized) + { + System.out.println(getClass().getName() + " not initialized"); + } + if(!_destroyed) + { + System.out.println(getClass().getName() + " not destroyed"); + } + } + finally + { + super.finalize(); + } + } + } +} -- cgit v1.2.3