Author: chathura
Date: Tue Dec 18 01:48:19 2007
New Revision: 11366

Log:


Started work on support for switching databases at runtime.



Added:
   trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/beans/
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/beans/AdminBean.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AdminUtil.java
Modified:
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/config/RegistryConfiguration.java
   trunk/registry/modules/webapps/conf/registry.xml
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
   trunk/registry/modules/webapps/src/main/webapp/admin/admin.jsp

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/config/RegistryConfiguration.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/config/RegistryConfiguration.java
       (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/config/RegistryConfiguration.java
       Tue Dec 18 01:48:19 2007
@@ -158,6 +158,10 @@
         return deafultDataBaseConfiguration;
     }
 
+    public Map getDbconfgigMap() {
+        return dbconfgigMap;
+    }
+
     public void setDeafultDataBaseConfiguration(DataBaseConfiguration 
deafultDataBaseConfiguration) {
         this.deafultDataBaseConfiguration = deafultDataBaseConfiguration;
     }

Modified: trunk/registry/modules/webapps/conf/registry.xml
==============================================================================
--- trunk/registry/modules/webapps/conf/registry.xml    (original)
+++ trunk/registry/modules/webapps/conf/registry.xml    Tue Dec 18 01:48:19 2007
@@ -1,165 +1,17 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE struts PUBLIC
-        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
-        "http://struts.apache.org/dtds/struts-2.0.dtd";>
+<wso2regsitry>
 
-<struts>
+    <dbconfig name="in-memory" default="true">
+    </dbconfig>
 
-    <package name="registry" namespace="/admin" extends="struts-default">
+    <dbconfig name="DB1">
+        <url>url</url>
+        <userName>userName</userName>
+        <password>password</password>
+        <driverName>driverName</driverName>
+    </dbconfig>
+
+    <dbconfig name="DB1">
+        <dataSource>dataSource</dataSource>
+    </dbconfig>
 
-        <result-types>
-            <result-type name="tiles" 
class="org.apache.struts2.views.tiles.TilesResult" />
-        </result-types>
-
-        <action name="Login" 
class="org.wso2.registry.web.actions.SignInAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">Resources.action</param>
-                <param name="path">${path}</param>
-            </result>
-            <result name="error" type="tiles">login.definition</result>
-        </action>
-
-         <action name="SignOut" 
class="org.wso2.registry.web.actions.SignOutAction">
-            <result name="success" type="tiles">login.definition</result>
-        </action>
-
-        <action name="Changepassword">
-            <result name="success" 
type="tiles">changepassword.definition</result>
-        </action>
-
-        <action name="Resources" 
class="org.wso2.registry.web.actions.CollectionViewAction">
-            <result name="success" type="tiles">resources.definition</result>
-            <result name="error" type="tiles">resources.definition</result>
-        </action>
-
-        <action name="Search" 
class="org.wso2.registry.web.actions.SearchAction">
-            <result name="success" 
type="tiles">searchresults.definition</result>
-            <result name="error" type="tiles">searchresults.definition</result>
-        </action>
-
-         <action name="RecentActivity" 
class="org.wso2.registry.web.actions.RecentActivityAction">
-            <result name="success" 
type="tiles">recentactivity.main.definition</result>
-        </action>
-        
-        <action name="AdvancedSearch">
-            <result name="success" 
type="tiles">advancedsearch.definition</result>
-        </action>
-
-        <action name="AddResource" 
class="org.wso2.registry.web.actions.AddResourceAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">Resources.action</param>
-                <param name="path">${parentPath}</param>
-            </result>
-        </action>
-
-        <action name="AddCollection" 
class="org.wso2.registry.web.actions.AddCollectionAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">Resources.action</param>
-                <param name="path">${parentPath}</param>
-            </result>
-        </action>
-
-        <action name="DeleteResource" 
class="org.wso2.registry.web.actions.DeleteResourceAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">Resources.action</param>
-                <param name="path">${parentPath}</param>
-            </result>
-        </action>
-
-        <action name="ResourceDetails" 
class="org.wso2.registry.web.actions.ResourceDetailsAction">
-            <result name="success" 
type="tiles">resources.detail.definition</result>
-        </action>
-
-        <action name="Rate" class="org.wso2.registry.web.actions.RateAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">ResourceDetails.action</param>
-                <param name="path">${path}</param>
-            </result>
-        </action>
-
-        <action name="AddTag" 
class="org.wso2.registry.web.actions.AddTagAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">ResourceDetails.action</param>
-                <param name="path">${path}</param>
-            </result>
-        </action>
-
-        <action name="Restore" 
class="org.wso2.registry.web.actions.RestoreAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">ResourceDetails.action</param>
-                <param name="path">${path}</param>
-            </result>
-        </action>
-
-        <action name="Comment" 
class="org.wso2.registry.web.actions.CommentAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">ResourceDetails.action</param>
-                <param name="path">${path}</param>
-            </result>
-        </action>
-
-        <action name="Authorization" 
class="org.wso2.registry.web.actions.AuthorizationAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">ResourceDetails.action</param>
-                <param name="path">${pathToAuthorize}</param>
-            </result>
-        </action>
-
-        <action name="UserManagement" 
class="org.wso2.registry.web.actions.UserManagementAction">
-            <result name="success" 
type="tiles">user.management.definition</result>
-        </action>
-               
-               <action name="UserDetails" 
class="org.wso2.registry.web.actions.UserDetailsAction">
-            <result name="success" type="tiles">user.detail.definition</result>
-        </action>
-               
-               <action name="RoleDetails" >
-            <result name="success" type="tiles">role.detail.definition</result>
-        </action>
-
-        <action name="AddUser" 
class="org.wso2.registry.web.actions.AddUserAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">UserManagement.action</param>
-            </result>
-        </action>
-
-        <action name="AddRole" 
class="org.wso2.registry.web.actions.AddRoleAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">UserManagement.action</param>
-            </result>
-        </action>
-
-        <action name="RemoveUser" 
class="org.wso2.registry.web.actions.RemoveUserAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">UserManagement.action</param>
-            </result>
-        </action>
-
-        <action name="RemoveRole" 
class="org.wso2.registry.web.actions.RemoveRoleAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">UserManagement.action</param>
-            </result>
-        </action>
-
-        <action name="AddUserRole" 
class="org.wso2.registry.web.actions.AddUserRoleAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">UserDetails.action</param>
-                <param name="userName">${userName}</param>
-            </result>
-        </action>
-
-        <action name="RemoveUserRole" 
class="org.wso2.registry.web.actions.RemoveUserRoleAction">
-            <result name="success" type="redirect-action">
-                <param name="actionName">UserDetails.action</param>
-                <param name="userName">${userName}</param>
-            </result>
-        </action>
-
-        <!--
-                <action name="ResourceDetails" 
class="org.wso2.registry.ui.actions.ArtifactDetailsAction">
-                   <result 
name="success">/admin/tiles/resources_general.jsp</result>
-               </action>
-        -->
-        <!-- Add actions here -->
-    </package>
-</struts>
+</wso2regsitry>
\ No newline at end of file

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
   (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
   Tue Dec 18 01:48:19 2007
@@ -25,6 +25,8 @@
 import org.wso2.registry.servlet.Utils;
 import org.wso2.registry.web.actions.*;
 import org.wso2.registry.web.utils.TagUtil;
+import org.wso2.registry.web.utils.AdminUtil;
+import org.wso2.registry.web.beans.AdminBean;
 
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
@@ -467,6 +469,10 @@
 
                 forwardToActivity(request, response);
 
+            } else if (command.equals("/admin")) {
+
+                forwardToAdmin(request, response);
+
             } else if (command.equals("/activity/new")) {
 
                 forwardToEmptyActivity(request, response);
@@ -747,6 +753,21 @@
         }
     }
 
+    private void forwardToAdmin(HttpServletRequest request, 
HttpServletResponse response) {
+
+        AdminBean adminBean = AdminUtil.getAdminBean(request);
+        request.getSession().setAttribute(UIConstants.ADMIN_BEAN, adminBean);
+
+        try {
+            
request.getRequestDispatcher(UIConstants.ADMIN_JSP).forward(request, response);
+
+        } catch (ServletException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     private void forwardToActivity(HttpServletRequest request, 
HttpServletResponse response) {
 
         RecentActivityAction recentActivityAction = new RecentActivityAction();

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
 (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
 Tue Dec 18 01:48:19 2007
@@ -24,6 +24,7 @@
     public static final String COLLECTION_BEAN = "collection";
     public static final String USER_MANAGEMENT_BEAN = "user_management";
     public static final String ACTIVITY_BEAN = "activity";
+    public static final String ADMIN_BEAN = "admin";
     public static final String ADVANCED_SEARCH_BEAN = "advanced_search";
     public static final String SEARCH_BEAN = "search";
     public static final String USER_BEAN = "userBean";
@@ -39,6 +40,7 @@
     public static final String RESOURCES_JSP = "/admin/registry-resources.jsp";
     public static final String USER_MANAGEMENT_JSP = "/admin/people.jsp";
     public static final String ACTIVITY_JSP = "/admin/recent-activity.jsp";
+    public static final String ADMIN_JSP = "/admin/admin.jsp";
     public static final String ADVANCED_SEARCH_JSP = 
"/admin/advanced-search.jsp";
     public static final String SEARCH_JSP = "/admin/search.jsp";
     public static final String USER_JSP = "/admin/user.jsp";

Added: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/beans/AdminBean.java
==============================================================================
--- (empty file)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/beans/AdminBean.java
     Tue Dec 18 01:48:19 2007
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2006, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wso2.registry.web.beans;
+
+import java.util.Map;
+import java.util.HashMap;
+
+public class AdminBean {
+
+    private Map dbConfigs = new HashMap();
+
+    public Map getDbConfigs() {
+        return dbConfigs;
+    }
+
+    public void setDbConfigs(Map dbConfigs) {
+        this.dbConfigs = dbConfigs;
+    }
+}

Added: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AdminUtil.java
==============================================================================
--- (empty file)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AdminUtil.java
     Tue Dec 18 01:48:19 2007
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2006, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.wso2.registry.web.utils;
+
+import org.wso2.registry.web.beans.AdminBean;
+import org.wso2.registry.config.RegistryConfiguration;
+import org.wso2.registry.RegistryConstants;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+public class AdminUtil {
+
+    public static AdminBean getAdminBean(HttpServletRequest request) {
+
+        RegistryConfiguration regConfiguration = (RegistryConfiguration) 
request.getSession().
+                
getServletContext().getAttribute(RegistryConstants.REGISTRY_CONFIG);
+
+        Map dbConfigs = regConfiguration.getDbconfgigMap();
+
+        AdminBean adminBean = new AdminBean();
+        adminBean.setDbConfigs(dbConfigs);
+        return adminBean;
+    }
+}

Modified: trunk/registry/modules/webapps/src/main/webapp/admin/admin.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/admin.jsp      
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/admin.jsp      Tue Dec 
18 01:48:19 2007
@@ -1,6 +1,8 @@
 <%@ page import="org.wso2.registry.web.actions.UserDetailsAction" %>
 <%@ page import="org.wso2.registry.web.UIConstants" %>
 <%@ page import="java.util.Iterator" %>
+<%@ page import="org.wso2.registry.web.beans.AdminBean" %>
+<%@ page import="org.wso2.registry.config.DataBaseConfiguration" %>
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <html>
 <head>
@@ -15,16 +17,13 @@
 <!-- START header content -->
 <jsp:include page="header.jsp" />
     <%
-        UserDetailsAction userDetailsAction = (UserDetailsAction) 
request.getSession().getAttribute(UIConstants.USER_BEAN);        
+        AdminBean adminBeann = (AdminBean) 
request.getSession().getAttribute(UIConstants.ADMIN_BEAN);
     %>
 
 
 <div class="content">
 <h1 class="headding-user-manage">Administration</h1>
-<div class="breadcrumb" style="margin-bottom:10px;"><a 
href="/wso2registry/system/people">People</a> | 
<%=userDetailsAction.getUserName()%> (Settings)</div>
 
-
-                       
                        <!-- Hear comes the box1 table -->
                        <div class="box1-head">
                                <table cellspacing="0" cellpadding="0" 
border="0" style="width:100%">
@@ -48,9 +47,20 @@
                        </div>
                        <div class="box1-mid" id="userExpanded">
                        <!-- all the content goes here -->
-                       admin content   
-                       
-                       <!-- End box1-mid div -->
+
+                <%
+                    Iterator iConfigs = 
adminBeann.getDbConfigs().values().iterator();
+                    while (iConfigs.hasNext()) {
+                        DataBaseConfiguration dbConfiguration = 
(DataBaseConfiguration) iConfigs.next();
+                %>
+
+                <%=dbConfiguration.getDataSourceName()%> | 
<%=dbConfiguration.getDbUrl()%>
+
+                <hr/>
+
+                <% } %>
+
+            <!-- End box1-mid div -->
                        </div>
                        <div class="box1-bot">
                                <table cellspacing="0" cellpadding="0" 
border="0" style="width:100%" >

_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev

Reply via email to