costin 2003/03/20 07:57:40
Modified: catalina/src/share/org/apache/catalina/realm RealmBase.java
Log:
Simplify ( refactored common operations )
Start work on unregistration.
Revision Changes Path
1.8 +18 -29
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/RealmBase.java
Index: RealmBase.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/realm/RealmBase.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- RealmBase.java 17 Mar 2003 19:24:13 -0000 1.7
+++ RealmBase.java 20 Mar 2003 15:57:39 -0000 1.8
@@ -81,10 +81,6 @@
import javax.management.ObjectName;
import javax.management.MBeanServer;
import javax.management.MBeanRegistration;
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanException;
-import javax.management.ReflectionException;
-import javax.management.MalformedObjectNameException;
import org.apache.catalina.Container;
import org.apache.catalina.Context;
@@ -98,6 +94,7 @@
import org.apache.catalina.core.StandardEngine;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.core.StandardContext;
+import org.apache.catalina.core.ContainerBase;
import org.apache.catalina.deploy.LoginConfig;
import org.apache.catalina.deploy.SecurityConstraint;
@@ -995,8 +992,17 @@
protected String host;
protected String path;
protected ObjectName oname;
+ protected ObjectName controller;
protected MBeanServer mserver;
+ public ObjectName getController() {
+ return controller;
+ }
+
+ public void setController(ObjectName controller) {
+ this.controller = controller;
+ }
+
public ObjectName getObjectName() {
return oname;
}
@@ -1040,22 +1046,17 @@
if( container== null ) {
// Register with the parent
try {
- Set names=null;
+ ObjectName parent=null;
if( host == null ) {
// global
- names=mserver.queryNames(new ObjectName(domain
+":type=Engine,*"), null);
+ parent=new ObjectName(domain +":type=Engine");
} else if( path==null ) {
- names=mserver.queryNames(new ObjectName(domain +
- ":type=Host,host=" + host +",*"), null);
+ parent=new ObjectName(domain +
+ ":type=Host,host=" + host);
} else {
- names=mserver.queryNames(new ObjectName(domain
+":j2eeType=WebModule,name=//" +
- host + "/" + path + ",*"), null);
- }
- if( names.size() == 0 ) {
- log.error("Can't register, no object found " + oname );
- return;
+ parent=new ObjectName(domain +":j2eeType=WebModule,name=//" +
+ host + "/" + path);
}
- ObjectName parent=(ObjectName)names.iterator().next();
log.info("Register with " + parent);
mserver.invoke(parent, "setRealm", new Object[] {this},
new String[] {"org.apache.catalina.Realm"});
@@ -1067,21 +1068,9 @@
if( oname==null ) {
// register
try {
- StandardEngine engine=null;
- String suffix="";
- if( container instanceof StandardEngine ) {
- engine=(StandardEngine)container;
- } else if( container instanceof StandardHost ) {
- engine=(StandardEngine)container.getParent();
- suffix=",host=" + container.getName();
- } else if( container instanceof StandardContext ) {
- engine=(StandardEngine)container.getParent().getParent();
- suffix=",host=" + container.getParent().getName() +
- ",path=" + ((StandardContext)container).getPath();
- }
- oname=new ObjectName(engine.getDomain()+ ":type=Realm" + suffix);
+ ContainerBase cb=(ContainerBase)container;
+ oname=new ObjectName(cb.getDomain()+":type=Realm" +
cb.getContainerSuffix());
Registry.getRegistry().registerComponent(this, oname, null );
-
} catch (Throwable e) {
e.printStackTrace(); //To change body of catch statement use
Options | File Templates.
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]