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