summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/Ice/LoggerFactory.java18
-rw-r--r--java/src/Ice/LoggerPlugin.java45
-rw-r--r--java/src/Ice/PluginManagerI.java119
-rw-r--r--java/src/IceInternal/Instance.java14
4 files changed, 81 insertions, 115 deletions
diff --git a/java/src/Ice/LoggerFactory.java b/java/src/Ice/LoggerFactory.java
deleted file mode 100644
index 2ad0c0e41ae..00000000000
--- a/java/src/Ice/LoggerFactory.java
+++ /dev/null
@@ -1,18 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2007 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 Ice;
-
-/**
- * @deprecated LoggerFactory is deprecated, use Ice.LoggerPlugin instead.
- **/
-public interface LoggerFactory
-{
- Logger create(Communicator communicator, String[] args);
-}
diff --git a/java/src/Ice/LoggerPlugin.java b/java/src/Ice/LoggerPlugin.java
new file mode 100644
index 00000000000..43d96aba8bd
--- /dev/null
+++ b/java/src/Ice/LoggerPlugin.java
@@ -0,0 +1,45 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2008 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 Ice;
+
+public final class LoggerPlugin implements Ice.Plugin
+{
+ public
+ LoggerPlugin(Communicator communicator, Logger logger)
+ {
+ if(communicator == null)
+ {
+ PluginInitializationException ex = new PluginInitializationException();
+ ex.reason = "Communicator cannot be null";
+ throw ex;
+ }
+
+ if(logger == null)
+ {
+ PluginInitializationException ex = new PluginInitializationException();
+ ex.reason = "Logger cannot be null";
+ throw ex;
+ }
+
+ IceInternal.Instance instance = Util.getInstance(communicator);
+ instance.setLogger(logger);
+ }
+
+ public void
+ initialize()
+ {
+ }
+
+ public void
+ destroy()
+ {
+ }
+}
+
diff --git a/java/src/Ice/PluginManagerI.java b/java/src/Ice/PluginManagerI.java
index e97444bc412..912c1203997 100644
--- a/java/src/Ice/PluginManagerI.java
+++ b/java/src/Ice/PluginManagerI.java
@@ -111,7 +111,6 @@ public final class PluginManagerI implements PluginManager
p.destroy();
}
- _logger = null;
_communicator = null;
}
}
@@ -168,7 +167,7 @@ public final class PluginManagerI implements PluginManager
if(hasKey)
{
final String value = (String)plugins.get(key);
- loadPlugin(loadOrder[i], value, cmdArgs, false);
+ loadPlugin(loadOrder[i], value, cmdArgs);
plugins.remove(key);
}
else
@@ -203,7 +202,7 @@ public final class PluginManagerI implements PluginManager
else if(suffix.equals("java"))
{
name = name.substring(0, dotPos);
- loadPlugin(name, entry.getValue(), cmdArgs, false);
+ loadPlugin(name, entry.getValue(), cmdArgs);
p.remove();
//
@@ -234,17 +233,10 @@ public final class PluginManagerI implements PluginManager
value = javaValue;
}
- loadPlugin(name, value, cmdArgs, false);
+ loadPlugin(name, value, cmdArgs);
}
}
- // DEPRECATED
- String loggerStr = properties.getProperty("Ice.LoggerPlugin");
- if(loggerStr.length() != 0)
- {
- loadPlugin("Logger", loggerStr, cmdArgs, true);
- }
-
//
// An application can set Ice.InitPlugins=0 if it wants to postpone
// initialization until after it has interacted directly with the
@@ -257,7 +249,7 @@ public final class PluginManagerI implements PluginManager
}
private void
- loadPlugin(String name, String pluginSpec, StringSeqHolder cmdArgs, boolean isLogger)
+ loadPlugin(String name, String pluginSpec, StringSeqHolder cmdArgs)
{
assert(_communicator != null);
@@ -299,27 +291,18 @@ public final class PluginManagerI implements PluginManager
// Instantiate the class.
//
PluginFactory pluginFactory = null;
- LoggerFactory loggerFactory = null;
try
{
Class c = Class.forName(className);
java.lang.Object obj = c.newInstance();
try
{
- if(isLogger)
- {
- loggerFactory = (LoggerFactory)obj;
- }
- else
- {
- pluginFactory = (PluginFactory)obj;
- }
+ pluginFactory = (PluginFactory)obj;
}
catch(ClassCastException ex)
{
PluginInitializationException e = new PluginInitializationException();
- e.reason = "class " + className + " does not implement " +
- (isLogger ? "Ice.LoggerFactory" : "Ice.PluginFactory");
+ e.reason = "class " + className + " does not implement Ice.PluginFactory";
e.initCause(ex);
throw e;
}
@@ -349,84 +332,36 @@ public final class PluginManagerI implements PluginManager
//
// Invoke the factory.
//
- if(isLogger)
+ Plugin plugin = null;
+ try
{
- // DEPRECATED
- try
- {
- _logger = loggerFactory.create(_communicator, args);
- }
- catch(Throwable ex)
- {
- PluginInitializationException e = new PluginInitializationException();
- e.reason = "exception in factory " + className;
- e.initCause(ex);
- throw e;
- }
-
- if(_logger == null)
- {
- PluginInitializationException e = new PluginInitializationException();
- e.reason = "failure in factory " + className;
- throw e;
- }
+ plugin = pluginFactory.create(_communicator, name, args);
}
- else
+ catch(PluginInitializationException ex)
{
- Plugin plugin = null;
- try
- {
- plugin = pluginFactory.create(_communicator, name, args);
- }
- catch(PluginInitializationException ex)
- {
- throw ex;
- }
- catch(Throwable ex)
- {
- PluginInitializationException e = new PluginInitializationException();
- e.reason = "exception in factory " + className;
- e.initCause(ex);
- throw e;
- }
-
- if(plugin == null)
- {
- PluginInitializationException e = new PluginInitializationException();
- e.reason = "failure in factory " + className;
- throw e;
- }
-
- if(name.equals("Logger"))
- {
- try
- {
- LoggerPlugin loggerPlugin = (LoggerPlugin)plugin;
- _logger = loggerPlugin.getLogger();
- }
- catch(ClassCastException ex)
- {
- PluginInitializationException e = new PluginInitializationException();
- e.reason = "Ice.Plugin.Logger does not implement an Ice.LoggerPlugin";
- e.initCause(ex);
- throw e;
- }
- }
-
- _plugins.put(name, plugin);
- _initOrder.add(plugin);
+ throw ex;
+ }
+ catch(Throwable ex)
+ {
+ PluginInitializationException e = new PluginInitializationException();
+ e.reason = "exception in factory " + className;
+ e.initCause(ex);
+ throw e;
+ }
+
+ if(plugin == null)
+ {
+ PluginInitializationException e = new PluginInitializationException();
+ e.reason = "failure in factory " + className;
+ throw e;
}
- }
- public Logger
- getLogger()
- {
- return _logger;
+ _plugins.put(name, plugin);
+ _initOrder.add(plugin);
}
private Communicator _communicator;
private java.util.Map<String, Plugin> _plugins = new java.util.HashMap<String, Plugin>();
private java.util.List<Plugin> _initOrder = new java.util.ArrayList<Plugin>();
- private Logger _logger = null;
private boolean _initialized;
}
diff --git a/java/src/IceInternal/Instance.java b/java/src/IceInternal/Instance.java
index 2a47cba9112..9cc5cee4f03 100644
--- a/java/src/IceInternal/Instance.java
+++ b/java/src/IceInternal/Instance.java
@@ -541,6 +541,15 @@ public final class Instance
_referenceFactory = _referenceFactory.setDefaultRouter(router);
}
+ public void
+ setLogger(Ice.Logger logger)
+ {
+ //
+ // No locking, as it can only be called during plugin loading
+ //
+ _initData.logger = logger;
+ }
+
//
// Only for use by Ice.CommunicatorI
//
@@ -756,11 +765,6 @@ public final class Instance
//
Ice.PluginManagerI pluginManagerImpl = (Ice.PluginManagerI)_pluginManager;
pluginManagerImpl.loadPlugins(args);
- Ice.Logger logger = pluginManagerImpl.getLogger();
- if(logger != null)
- {
- _initData.logger = logger;
- }
//
// Get default router and locator proxies. Don't move this