You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ce...@apache.org on 2005/01/20 15:45:53 UTC
cvs commit: logging-log4j/src/java/org/apache/log4j/joran/action JndiSubstitutionPropertyAction.java
ceki 2005/01/20 06:45:53
Modified: src/java/org/apache/log4j/joran/action
JndiSubstitutionPropertyAction.java
Log:
Renamed "jndiName" attribute as "name". This is more coherent with the way other property substitution actions work.
Revision Changes Path
1.4 +79 -89 logging-log4j/src/java/org/apache/log4j/joran/action/JndiSubstitutionPropertyAction.java
Index: JndiSubstitutionPropertyAction.java
===================================================================
RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/action/JndiSubstitutionPropertyAction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JndiSubstitutionPropertyAction.java 12 Jan 2005 15:04:18 -0000 1.3
+++ JndiSubstitutionPropertyAction.java 20 Jan 2005 14:45:53 -0000 1.4
@@ -1,5 +1,5 @@
/*
- * Copyright 2004 The Apache Software Foundation.
+ * Copyright 1999,2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,116 +16,106 @@
package org.apache.log4j.joran.action;
-import javax.naming.Context;
-import javax.naming.NamingException;
-import javax.naming.InitialContext;
-
import org.apache.log4j.joran.spi.ExecutionContext;
import org.apache.log4j.spi.ErrorItem;
import org.xml.sax.Attributes;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+
/**
* This action looks up JNDI properties specified in the configuration
* file and adds them to the Joran <code>ExecutionContext</code>. The
* element in the configuration file should have an attribute called
- * "jndiName". This attribute will be the key to the naming context lookup,
+ * "name". This attribute will be the key to the naming context lookup,
* as well as the key to the <code>ExecutionContext</code> properties. If a value
- * is found whose name matches the given jndiName, it will be placed
+ * is found whose name matches the given name, it will be placed
* in the ExecutionContext's properties.
*
* @author Yoav Shapira
*/
public class JndiSubstitutionPropertyAction extends Action {
- /**
- * The attribute name specifying the JNDI variable to lookup.
- */
- private static final String JNDI_ATTR = "jndiName";
-
- /**
- * The naming context.
- */
- private Context namingContext;
-
- /**
- * Returns the naming context for lookups.
- *
- * @return The context (may be null)
- */
- protected Context getNamingContext() {
- return namingContext;
+ /**
+ * The naming context.
+ */
+ private Context namingContext;
+
+ /**
+ * Returns the naming context for lookups.
+ *
+ * @return The context (may be null)
+ */
+ protected Context getNamingContext() {
+ return namingContext;
+ }
+
+ /**
+ * Creates the naming context. This is an expensive
+ * operation.
+ *
+ * @throws NamingException If an error occurs
+ */
+ protected void findNamingContext() throws NamingException {
+ if (getNamingContext() != null) {
+ getLogger().warn("Overwriting existing naming context.");
}
- /**
- * Creates the naming context. This is an expensive
- * operation.
- *
- * @throws NamingException If an error occurs
- */
- protected void findNamingContext() throws NamingException {
- if(getNamingContext() != null) {
- getLogger().warn("Overwriting existing naming context.");
- }
-
- // POSSIBLE TO-DO: add support for properties
- // passed to the initial context, e.g. a factory,
- // to enable things like a remote context.
- InitialContext ic = new InitialContext();
- namingContext = (Context) ic.lookup("java:comp/env");
+ // POSSIBLE TO-DO: add support for properties
+ // passed to the initial context, e.g. a factory,
+ // to enable things like a remote context.
+ InitialContext ic = new InitialContext();
+ namingContext = (Context) ic.lookup("java:comp/env");
+ }
+
+ /**
+ * @see org.apache.joran.Action#begin.
+ */
+ public void begin(
+ final ExecutionContext ec, final String name, final Attributes attributes) {
+ // If first time, create and locate context: expensive operation.
+ if (getNamingContext() == null) {
+ try {
+ findNamingContext();
+ } catch (Exception e) {
+ getLogger().error("Couldn't find JNDI naming context: ", e);
+ ec.addError(new ErrorItem("Couldn't find JNDI naming context.", e));
+ }
}
- /**
- * @see org.apache.joran.Action#begin.
- */
- public void begin(final ExecutionContext ec, final String name, final Attributes attributes) {
- if(getLogger().isDebugEnabled()) {
- getLogger().debug(getClass().getName() +
- ": begin({}, " + name + ", {}): here.", ec, attributes);
- }
-
- // If first time, create and locate context: expensive operation.
- if(getNamingContext() == null) {
- try {
- findNamingContext();
- } catch (Exception e) {
- getLogger().error("Couldn't find JNDI naming context: ", e);
- ec.addError(new ErrorItem("Couldn't find JNDI naming context.", e));
- }
- }
-
- String jndiName = attributes.getValue(JNDI_ATTR);
-
- if((jndiName == null) || (jndiName.trim().length() < 1)) {
- getLogger().warn("Missing {} attribute, ignoring.", JNDI_ATTR);
- } else if(getNamingContext() != null){
- Object value = null;
-
- try {
- value = getNamingContext().lookup(jndiName);
- } catch (Exception e) {
- getLogger().error("Error looking up " + jndiName + ": ", e);
- ec.addError(new ErrorItem("Error looking up " + jndiName, e));
- }
-
- if(value == null) {
- getLogger().warn("No JNDI value found for {}.", jndiName);
- } else if(! (value instanceof String)) {
- getLogger().warn("Value for {} is not a String.", jndiName);
- } else {
- ec.addProperty(jndiName, (String) value);
- }
- } else {
- getLogger().warn("Naming context is null, cannot lookup {}", jndiName);
- }
- }
+ String jndiName = attributes.getValue(NAME_ATTRIBUTE);
- /**
- * @see org.apache.joran.Action#end.
- */
- public void end(final ExecutionContext ec, final String name) {
+ if ((jndiName == null) || (jndiName.trim().length() < 1)) {
+ getLogger().warn("Missing {} attribute, ignoring.", NAME_ATTRIBUTE);
+ } else if (getNamingContext() != null) {
+ Object value = null;
+
+ try {
+ value = getNamingContext().lookup(jndiName);
+ } catch (Exception e) {
+ getLogger().error("Error looking up " + jndiName + ": ", e);
+ ec.addError(new ErrorItem("Error looking up " + jndiName, e));
+ }
+
+ if (value == null) {
+ getLogger().warn("No JNDI value found for {}.", jndiName);
+ } else if (!(value instanceof String)) {
+ getLogger().warn("Value for {} is not a String.", jndiName);
+ } else {
+ ec.addProperty(jndiName, (String) value);
+ }
+ } else {
+ getLogger().warn("Naming context is null, cannot lookup {}", jndiName);
}
+ }
-
+ /**
+ * @see org.apache.joran.Action#end.
+ */
+ public void end(final ExecutionContext ec, final String name) {
+ }
}
// End of class: JndiSubstitutionPropertyAction.java
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org