amyroh      2004/04/16 19:50:41

  Modified:    webapps/admin/WEB-INF struts-config.xml
               webapps/admin/WEB-INF/classes/org/apache/webapp/admin
                        ApplicationResources.properties
               webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm
                        AddRealmAction.java EditRealmAction.java
  Log:
  Add DataSourceRealm support in admin webapp.
  
  Revision  Changes    Path
  1.6       +14 -0     jakarta-tomcat-catalina/webapps/admin/WEB-INF/struts-config.xml
  
  Index: struts-config.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/struts-config.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- struts-config.xml 31 Jul 2003 15:39:13 -0000      1.5
  +++ struts-config.xml 17 Apr 2004 02:50:41 -0000      1.6
  @@ -56,6 +56,9 @@
   
       <!-- ============= Realm Module ============= -->
   
  +    <form-bean      name="dataSourceRealmForm"
  +                    type="org.apache.webapp.admin.realm.DataSourceRealmForm"/>
  +
       <form-bean      name="jdbcRealmForm"
                       type="org.apache.webapp.admin.realm.JDBCRealmForm"/>
   
  @@ -288,6 +291,10 @@
   
       <!-- ============ Realm Module ============== -->
   
  +    <forward        name="DataSourceRealm"
  +                    path="/realm/dataSourceRealm.jsp"
  +                redirect="false"/>
  +
       <forward        name="JDBCRealm"
                       path="/realm/jdbcRealm.jsp"
                   redirect="false"/>
  @@ -663,6 +670,13 @@
                  type="org.apache.webapp.admin.realm.SaveUserDatabaseRealmAction"
                  name="userDatabaseRealmForm"
                 input="/realm/userDatabaseRealm.jsp"
  +               scope="session"/>
  +
  +   <!-- Perform Save DataSource Realm transaction -->
  +    <action    path="/SaveDataSourceRealm"
  +               type="org.apache.webapp.admin.realm.SaveDataSourceRealmAction"
  +               name="dataSourceRealmForm"
  +              input="/realm/dataSourceRealm.jsp"
                  scope="session"/>
   
      <!-- Perform Save JDBC Realm transaction -->
  
  
  
  1.3       +7 -0      
jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources.properties
  
  Index: ApplicationResources.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources.properties,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ApplicationResources.properties   9 Apr 2004 17:35:33 -0000       1.2
  +++ ApplicationResources.properties   17 Apr 2004 02:50:41 -0000      1.3
  @@ -226,6 +226,7 @@
   error.jdbcrealm=Error occured during setting JDBCRealm.
   error.jndirealm=Error occured during setting JNDIRealm.
   error.userdbrealm=Error occured during setting UserdatabaseRealm.
  +error.datasourcerealm=Error occured during setting DataSourceRealm.
   error.realmName.bad=Invalid realm name {0}
   error.realmName.required=<li>Realm Name required.</li>
   error.realmName.exists=<li>A realm already exists.</li>
  @@ -266,6 +267,9 @@
   realm.userPassword=User Password
   realm.userPattern=User Pattern
   realm.userSearch=User Search
  +realm.dataSourceName=DataSource Name
  +realm.localDataSource=Local DataSource
  +realm.userCredCol=User Credential Column 
   valve.access.properties=Access Logger Properties
   valve.request.properties=Request Filter Properties
   valve.single.properties=Single SignOn Valve Properties
  @@ -310,6 +314,9 @@
   error.connPassword.required=<li>Connection password is required.</li>
   error.connURL.required=<li>Connection URL is required.</li>
   error.connName.required=<li>Connection name is required.</li>
  +error.dataSourceName.required=<li>DataSource name is required.</li>
  +error.userCredCol.required=<li>User credential is required.</li>
  +error.userRoleTable.required=<li>User role table is required.</li>
   
   # ---------- Server Module ----------
   server.service.treeBuilder.subtreeNode=Service
  
  
  
  1.7       +29 -5     
jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/AddRealmAction.java
  
  Index: AddRealmAction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/AddRealmAction.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AddRealmAction.java       27 Feb 2004 14:59:03 -0000      1.6
  +++ AddRealmAction.java       17 Apr 2004 02:50:41 -0000      1.7
  @@ -82,17 +82,18 @@
   
           // Fill in the form values for display and editing
   
  -        String realmTypes[] = new String[4];
  +        String realmTypes[] = new String[5];
           realmTypes[0] = "UserDatabaseRealm";
           realmTypes[1] = "JNDIRealm";
           realmTypes[2] = "MemoryRealm";
           realmTypes[3] = "JDBCRealm";
  +        realmTypes[4] = "DataSourceRealm";
   
           String parent = request.getParameter("parent");
           String type = request.getParameter("type");
           if (type == null)
               type = "UserDatabaseRealm";    // default type is UserDatabaseRealm
  -
  +        
           types = new ArrayList();
           // the first element in the select list should be the type selected
           types.add(new LabelValueBean(type,
  @@ -112,9 +113,10 @@
               createJNDIRealm(session, parent);
           } else if ("MemoryRealm".equalsIgnoreCase(type)) {
               createMemoryRealm(session, parent);
  -        } else {
  -            //JDBC
  +        } else if ("JDBCRealm".equalsIgnoreCase(type)){
               createJDBCRealm(session, parent);
  +        } else if ("DataSourceRealm".equalsIgnoreCase(type)) {
  +            createDataSourceRealm(session, parent);
           }
           // Forward to the realm display page
           return (mapping.findForward(type));
  @@ -207,7 +209,29 @@
           realmFm.setDebugLvlVals(Lists.getDebugLevels());
           realmFm.setRealmTypeVals(types);
       }
  +    
  +    private void createDataSourceRealm(HttpSession session, String parent) {
   
  +        DataSourceRealmForm realmFm = new DataSourceRealmForm();
  +        session.setAttribute("dataSourceRealmForm", realmFm);
  +        realmFm.setAdminAction("Create");
  +        realmFm.setObjectName("");
  +        realmFm.setParentObjectName(parent);
  +        String realmType = "DataSourceRealm";
  +        realmFm.setNodeLabel("Realm (" + realmType + ")");
  +        realmFm.setRealmType(realmType);
  +        realmFm.setDebugLvl("0");
  +        realmFm.setDataSourceName("");
  +        realmFm.setDigest("");
  +        realmFm.setLocalDataSource("false");
  +        realmFm.setRoleNameCol("");
  +        realmFm.setUserCredCol("");
  +        realmFm.setUserNameCol("");
  +        realmFm.setUserRoleTable("");
  +        realmFm.setUserTable("");
  +        realmFm.setDebugLvlVals(Lists.getDebugLevels());
  +        realmFm.setRealmTypeVals(types);
  +    }
   
   
   }
  
  
  
  1.6       +66 -2     
jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/EditRealmAction.java
  
  Index: EditRealmAction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/EditRealmAction.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- EditRealmAction.java      4 Mar 2004 18:44:51 -0000       1.5
  +++ EditRealmAction.java      17 Apr 2004 02:50:41 -0000      1.6
  @@ -151,8 +151,10 @@
                  setUpMemoryRealm(rname, response);
           } else if ("JDBCRealm".equalsIgnoreCase(realmType)) {
                  setUpJDBCRealm(rname, response);
  -        } else {
  +        } else if ("JNDIRealm".equalsIgnoreCase(realmType)) {
                  setUpJNDIRealm(rname, response);
  +        } else if ("DataSourceRealm".equalsIgnoreCase(realmType)) {
  +                setUpDataSourceRealm(rname, response);
           }
   
           return (mapping.findForward(realmType));
  @@ -382,6 +384,68 @@
                   ((String) mBServer.getAttribute(rname, attribute));
               attribute = "connectionURL";
               realmFm.setConnectionURL
  +                ((String) mBServer.getAttribute(rname, attribute));
  +
  +        } catch (Throwable t) {
  +            getServlet().log
  +                (resources.getMessage(locale, "users.error.attribute.get",
  +                                      attribute), t);
  +            response.sendError
  +                (HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
  +                 resources.getMessage(locale, "users.error.attribute.get",
  +                                      attribute));
  +        }
  +    }
  +
  +    private void setUpDataSourceRealm(ObjectName rname,
  +                                        HttpServletResponse response)
  +    throws IOException {
  +        // Fill in the form values for display and editing
  +        DataSourceRealmForm realmFm = new DataSourceRealmForm();
  +        session.setAttribute("dataSourceRealmForm", realmFm);
  +        realmFm.setAdminAction("Edit");
  +        realmFm.setObjectName(rname.toString());
  +        String realmType = "DataSourceRealm";
  +        StringBuffer sb = new StringBuffer();
  +        sb.append(resources.getMessage(locale, "server.service.treeBuilder.realm"));
  +        sb.append(" (");
  +        sb.append(realmType);
  +        sb.append(")");
  +        realmFm.setNodeLabel(sb.toString());
  +        realmFm.setRealmType(realmType);
  +        realmFm.setDebugLvlVals(Lists.getDebugLevels());
  +        realmFm.setAllowDeletion(allowDeletion(rname));
  +
  +        String attribute = null;
  +        try {
  +
  +            // Copy scalar properties
  +            attribute = "dataSourceName";
  +            realmFm.setDataSourceName
  +                ((String) mBServer.getAttribute(rname, attribute));
  +            attribute = "debug";
  +            realmFm.setDebugLvl
  +                (((Integer) mBServer.getAttribute(rname, attribute)).toString());
  +            attribute = "digest";
  +            realmFm.setDigest
  +                ((String) mBServer.getAttribute(rname, attribute));
  +            attribute = "localDataSource";
  +            realmFm.setLocalDataSource
  +                (((Boolean) mBServer.getAttribute(rname, attribute)).toString());
  +            attribute = "roleNameCol";
  +            realmFm.setRoleNameCol
  +                ((String) mBServer.getAttribute(rname, attribute));
  +            attribute = "userCredCol";
  +            realmFm.setUserCredCol
  +                ((String) mBServer.getAttribute(rname, attribute));
  +            attribute = "userNameCol";
  +            realmFm.setUserNameCol
  +                ((String) mBServer.getAttribute(rname, attribute));
  +            attribute = "userRoleTable";
  +            realmFm.setUserRoleTable
  +                ((String) mBServer.getAttribute(rname, attribute));
  +            attribute = "userTable";
  +            realmFm.setUserTable
                   ((String) mBServer.getAttribute(rname, attribute));
   
           } catch (Throwable t) {
  
  
  

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

Reply via email to