summaryrefslogtreecommitdiff
path: root/java/test/Ice/plugin/plugins/PluginFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/test/Ice/plugin/plugins/PluginFactory.java')
-rw-r--r--java/test/Ice/plugin/plugins/PluginFactory.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/java/test/Ice/plugin/plugins/PluginFactory.java b/java/test/Ice/plugin/plugins/PluginFactory.java
new file mode 100644
index 00000000000..dff16aa61f8
--- /dev/null
+++ b/java/test/Ice/plugin/plugins/PluginFactory.java
@@ -0,0 +1,73 @@
+// **********************************************************************
+//
+// 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 PluginFactory implements Ice.PluginFactory
+{
+ public Ice.Plugin create(Ice.Communicator communicator, String name, String[] args)
+ {
+ return new Plugin(communicator, args);
+ }
+
+ static class Plugin implements Ice.Plugin
+ {
+ public Plugin(Ice.Communicator communicator, String[] args)
+ {
+ _communicator = communicator;
+ _args = args;
+ }
+
+ public void initialize()
+ {
+ _initialized = true;
+ test(_args.length == 3);
+ test(_args[0].equals("C:\\Program Files\\"));
+ test(_args[1].equals("--DatabasePath"));
+ test(_args[2].equals("C:\\Program Files\\Application\\db"));
+ }
+
+ public void destroy()
+ {
+ _destroyed = true;
+ }
+
+ protected void finalize() throws Throwable
+ {
+ try
+ {
+ if(!_initialized)
+ {
+ System.out.println("test.Ice.plugin.plugins.Plugin not initialized");
+ }
+ if(!_destroyed)
+ {
+ System.out.println("test.Ice.plugin.plugins.Plugin not destroyed");
+ }
+ }
+ finally
+ {
+ super.finalize();
+ }
+ }
+
+ private static void test(boolean b)
+ {
+ if(!b)
+ {
+ throw new RuntimeException();
+ }
+ }
+
+ private Ice.Communicator _communicator;
+ private String[] _args;
+ private boolean _initialized = false;
+ private boolean _destroyed = false;
+ }
+}