Author: fhanik
Date: Wed Sep  6 09:06:18 2006
New Revision: 440749

URL: http://svn.apache.org/viewvc?view=rev&rev=440749
Log:
Fix for bug 37588

Modified:
    
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
    
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
    
tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java?view=diff&rev=440749&r1=440748&r2=440749
==============================================================================
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
 (original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java
 Wed Sep  6 09:06:18 2006
@@ -42,6 +42,7 @@
 import org.apache.catalina.realm.DataSourceRealm;
 import org.apache.catalina.realm.JDBCRealm;
 import org.apache.catalina.realm.JNDIRealm;
+import org.apache.catalina.realm.JAASRealm;
 import org.apache.catalina.realm.MemoryRealm;
 import org.apache.catalina.realm.UserDatabaseRealm;
 import org.apache.catalina.session.StandardManager;
@@ -404,12 +405,14 @@
      *
      * @exception Exception if an MBean cannot be created or registered
      */
-    public String createJNDIRealm(String parent)
+    public String createJNDIRealm(String parent,String connectionURL,String 
connectionName,String connectionPassword)
         throws Exception {
 
          // Create a new JNDIRealm instance
         JNDIRealm realm = new JNDIRealm();
-
+                               realm.setConnectionURL(connectionURL);
+                               realm.setConnectionName(connectionName);
+                               realm.setConnectionPassword(connectionPassword);
         // Add the new instance to its parent component
         ObjectName pname = new ObjectName(parent);
         ContainerBase containerBase = getParentContainerFromParent(pname);
@@ -426,7 +429,44 @@
 
 
     }
+               
+  /**
+     * Create a new JAAS Realm.
+     *
+     * @param parent MBean Name of the associated parent component
+     *
+     * @exception Exception if an MBean cannot be created or registered
+     */
+    public String createJAASRealm(String parent,String appName,String 
userClassNames,String roleClassNames,String useContextClassLoader)
+        throws Exception {
 
+         // Create a new JAASRealm instance
+        JAASRealm realm = new JAASRealm();
+                               realm.setAppName(appName);
+                               realm.setUserClassNames(userClassNames);
+                               realm.setRoleClassNames(roleClassNames);
+                               
if("true".equals(useContextClassLoader)||"TRUE".equals(useContextClassLoader)){
+                                               
realm.setUseContextClassLoader(true);
+                               }
+                               else{
+                                               
realm.setUseContextClassLoader(false);
+                               }
+        // Add the new instance to its parent component
+        ObjectName pname = new ObjectName(parent);
+        ContainerBase containerBase = getParentContainerFromParent(pname);
+        // Add the new instance to its parent component
+        containerBase.setRealm(realm);
+        // Return the corresponding MBean name
+        ObjectName oname = realm.getObjectName();
+
+        if (oname != null) {
+            return (oname.toString());
+        } else {
+            return null;
+        }   
+
+
+    }
 
     /**
      * Create a new Memory Realm.

Modified: 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml?view=diff&rev=440749&r1=440748&r2=440749
==============================================================================
--- 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
 (original)
+++ 
tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml
 Wed Sep  6 09:06:18 2006
@@ -119,7 +119,36 @@
            returnType="java.lang.String">
       <parameter name="parent"
           description="MBean Name of the associated parent component"
-                 type="java.lang.String"/>
+                                       type="java.lang.String"/>
+           <parameter name="connectionURL"
+          description="Jndi Connection URL"
+                                       type="java.lang.String"/>
+           <parameter name="connectionName"
+          description="Connection name"
+                                       type="java.lang.String"/>
+           <parameter name="connectionPassword"
+          description="Connection password"
+                                       type="java.lang.String"/>
+    </operation>
+    <operation   name="createJAASRealm"
+          description="Create a new Jaas Realm"
+               impact="ACTION"
+           returnType="java.lang.String">
+      <parameter name="parent"
+          description="MBean Name of the associated parent component"
+                                       type="java.lang.String"/>
+           <parameter name="appName"
+          description="App name"
+                                       type="java.lang.String"/>
+           <parameter name="userClassNames"
+          description="Users class names."
+                                       type="java.lang.String"/>
+           <parameter name="roleClassNames"
+          description="Role classNames"
+                                       type="java.lang.String"/>
+           <parameter name="useContextClassLoader"
+          description="Whether use context classloader"
+                                       type="java.lang.String"/>
     </operation>
 
     <operation   name="createMemoryRealm"

Modified: 
tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java?view=diff&rev=440749&r1=440748&r2=440749
==============================================================================
--- 
tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
 (original)
+++ 
tomcat/container/tc5.5.x/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java
 Wed Sep  6 09:06:18 2006
@@ -65,6 +65,9 @@
      */
     private String createStandardRealmTypes[] =
     { "java.lang.String",     // parent
+      "java.lang.String", //Connection URL
+      "java.lang.String", //Connection name
+      "java.lang.String", //Connection password
     };
 
 
@@ -164,8 +167,11 @@
                     TomcatTreeBuilder.getMBeanFactory();
 
                 // Create a new StandardRealm object
-                values = new String[1];
+                values = new String[4];
                 values[0] = parent;
+                values[1] = rform.getConnectionURL();
+                values[2] = rform.getConnectionName();
+                values[3] = rform.getConnectionPassword();
                 operation = "createJNDIRealm";
                 rObjectName = (String)
                     mBServer.invoke(fname, operation,



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to