jboynes 2003/08/23 15:13:15
Modified: modules/core/src/java/org/apache/geronimo/naming/java
ReadOnlyContext.java RootContext.java
modules/core/src/test/org/apache/geronimo/naming/java
BasicContextTest.java
Added: modules/core/src/java/org/apache/geronimo/naming/java
ComponentContextInterceptor.java
Log:
Rename ThreadContext to ComponentContext (seems like a better name)
Add ComponentContextInterceptor to initialize it
Revision Changes Path
1.2 +1 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/java/ReadOnlyContext.java
Index: ReadOnlyContext.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/java/ReadOnlyContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ReadOnlyContext.java 20 Aug 2003 23:28:53 -0000 1.1
+++ ReadOnlyContext.java 23 Aug 2003 22:13:15 -0000 1.2
@@ -59,7 +59,6 @@
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
-import java.util.LinkedList;
import javax.naming.Binding;
import javax.naming.CompositeName;
import javax.naming.Context;
1.2 +10 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/java/RootContext.java
Index: RootContext.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/java/RootContext.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RootContext.java 20 Aug 2003 23:28:53 -0000 1.1
+++ RootContext.java 23 Aug 2003 22:13:15 -0000 1.2
@@ -103,7 +103,15 @@
* for all lookups of "java:comp"
* @param ctx the current components context
*/
- public static void setThreadContext(Context ctx) {
+ public static void setComponentContext(Context ctx) {
compContext.set(ctx);
+ }
+
+ /**
+ * Get the component context for the current thread.
+ * @return the current components context
+ */
+ public static Context getComponentContext() {
+ return (Context) compContext.get();
}
}
1.1 incubator-geronimo/modules/core/src/java/org/apache/geronimo/naming/java/ComponentContextInterceptor.java
Index: ComponentContextInterceptor.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.naming.java;
import javax.naming.Context;
import org.apache.geronimo.common.AbstractInterceptor;
import org.apache.geronimo.common.Invocation;
import org.apache.geronimo.common.InvocationResult;
/**
* An interceptor that pushes the current component's java:comp context into
* the java: JNDI namespace
*
* @version $Revision: 1.1 $ $Date: 2003/08/23 22:13:15 $
*/
public class ComponentContextInterceptor extends AbstractInterceptor {
private final Context compContext;
/**
* Constructor specifying the components JNDI Context (java:comp)
* @param compContext the component's JNDI Context
*/
public ComponentContextInterceptor(Context compContext) {
this.compContext = compContext;
}
public InvocationResult invoke(Invocation invocation) throws Exception {
Context oldContext = RootContext.getComponentContext();
try {
RootContext.setComponentContext(compContext);
return getNext().invoke(invocation);
} finally {
RootContext.setComponentContext(oldContext);
}
}
}
1.2 +2 -2 incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/java/BasicContextTest.java
Index: BasicContextTest.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/test/org/apache/geronimo/naming/java/BasicContextTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BasicContextTest.java 20 Aug 2003 23:28:53 -0000 1.1
+++ BasicContextTest.java 23 Aug 2003 22:13:15 -0000 1.2
@@ -207,6 +207,6 @@
compContext = new ReadOnlyContext(compBinding);
syntax = new Properties();
- RootContext.setThreadContext(compContext);
+ RootContext.setComponentContext(compContext);
}
}
|