Author: chathura
Date: Tue Dec 18 04:34:23 2007
New Revision: 11417
Log:
Implementing support for changing databases at runtime.
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/config/RegistryConfiguration.java
trunk/registry/modules/core/src/main/java/org/wso2/registry/servlet/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/utils/AdminUtil.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 04:34:23 2007
@@ -132,10 +132,16 @@
return (DataBaseConfiguration) dbconfgigMap.get(configName);
}
+ public void removeDataBaseConfiguration(String configName) {
+ dbconfgigMap.remove(configName);
+ }
+
public OMElement getRegistryConfigAsXML() {
+
OMFactory factoty = OMAbstractFactory.getOMFactory();
OMElement root = factoty.createOMElement("wso2regsitry", null);
Iterator values = dbconfgigMap.values().iterator();
+
while (values.hasNext()) {
DataBaseConfiguration dataBaseConfiguration =
(DataBaseConfiguration) values.next();
OMElement config = factoty.createOMElement("dbconfig", null);
@@ -161,11 +167,11 @@
return deafultDataBaseConfiguration;
}
- public Map getDbconfgigMap() {
- return dbconfgigMap;
- }
-
public void setDeafultDataBaseConfiguration(DataBaseConfiguration
deafultDataBaseConfiguration) {
this.deafultDataBaseConfiguration = deafultDataBaseConfiguration;
}
+
+ public Map getDbconfgigMap() {
+ return dbconfgigMap;
+ }
}
Modified:
trunk/registry/modules/core/src/main/java/org/wso2/registry/servlet/registry.xml
==============================================================================
---
trunk/registry/modules/core/src/main/java/org/wso2/registry/servlet/registry.xml
(original)
+++
trunk/registry/modules/core/src/main/java/org/wso2/registry/servlet/registry.xml
Tue Dec 18 04:34:23 2007
@@ -10,7 +10,7 @@
<driverName>driverName</driverName>
</dbconfig>
- <dbconfig name="DB1">
+ <dbconfig name="DB2">
<dataSource>dataSource</dataSource>
</dbconfig>
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 04:34:23 2007
@@ -331,6 +331,14 @@
} else if (command.equals("/addDBConfig")) {
AdminUtil.addDBURLBasedConfiguration(request, response);
+
+ } else if (command.equals("/removeDBConfig")) {
+
+ AdminUtil.removeDBConfiguration(request, response);
+
+ } else if (command.equals("/applyConfig")) {
+
+ AdminUtil.removeDBConfiguration(request, response);
}
}
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AdminUtil.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AdminUtil.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/AdminUtil.java
Tue Dec 18 04:34:23 2007
@@ -47,12 +47,14 @@
RegistryConfiguration regConfiguration = (RegistryConfiguration)
request.getSession().
getServletContext().getAttribute(RegistryConstants.REGISTRY_CONFIG);
+ String configName = request.getParameter("configName");
String dbURL = request.getParameter("dbURL");
String driverName = request.getParameter("driverName");
String userName = request.getParameter("userName");
String password = request.getParameter("password");
DataBaseConfiguration dbConfiguration = new DataBaseConfiguration();
+ dbConfiguration.setConfigName(configName);
dbConfiguration.setDbUrl(dbURL);
dbConfiguration.setDriverName(driverName);
dbConfiguration.setUserName(userName);
@@ -68,4 +70,38 @@
e.printStackTrace();
}
}
+
+ public static void removeDBConfiguration(HttpServletRequest request,
HttpServletResponse response) {
+
+ RegistryConfiguration regConfiguration = (RegistryConfiguration)
request.getSession().
+
getServletContext().getAttribute(RegistryConstants.REGISTRY_CONFIG);
+
+
regConfiguration.removeDataBaseConfiguration(request.getParameter("config"));
+
+ try {
+
request.getRequestDispatcher(UIConstants.ADMIN_JSP).forward(request, response);
+ } catch (ServletException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void applyDBConfiguration(HttpServletRequest request,
HttpServletResponse response) {
+
+ RegistryConfiguration regConfiguration = (RegistryConfiguration)
request.getSession().
+
getServletContext().getAttribute(RegistryConstants.REGISTRY_CONFIG);
+
+ DataBaseConfiguration dataBaseConfiguration =
+
regConfiguration.getDataBaseConfiguration(request.getParameter("config"));
+
regConfiguration.setDeafultDataBaseConfiguration(dataBaseConfiguration);
+
+ try {
+
request.getRequestDispatcher(UIConstants.ADMIN_JSP).forward(request, response);
+ } catch (ServletException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
}
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 04:34:23 2007
@@ -49,10 +49,11 @@
<!-- all the content goes here -->
<form action="/wso2registry/system/addDBConfig" method="post">
- <input type="text" name="dbURL"/>
- <input type="text" name="driverName"/>
- <input type="text" name="userName"/>
- <input type="text" name="password"/>
+ Configuration name <input type="text" name="configName"/>
+ Connection URL <input type="text" name="dbURL"/>
+ Driver class name <input type="text" name="driverName"/>
+ User name <input type="text" name="userName"/>
+ Password <input type="text" name="password"/>
<input type="submit" value="Add"/>
</form>
@@ -67,12 +68,14 @@
%>
<strong><%=dbConfiguration.getConfigName()%></strong>
+ <% if (!dbConfiguration.getConfigName().equals("in-memory")) {
%>
<% if (dbConfiguration.getDataSourceName() != null &&
dbConfiguration.getDataSourceName().length() > 0) { %>
( Data source: <%=dbConfiguration.getDataSourceName()%> )
<% } else { %>
( Connection URL: <%=dbConfiguration.getDbUrl()%> | Driver
class name: <%=dbConfiguration.getDriverName()%> | User name:
<%=dbConfiguration.getUserName()%> | Password:
<%=dbConfiguration.getPassWord()%> )
<% } %>
- <a
href="/wso2registry/system/removeDBConfig?config=<%=dbConfiguration.getConfigName()%>">Remove</a>
+ <% } %>
+ <a
href="/wso2registry/system/removeDBConfig?config=<%=dbConfiguration.getConfigName()%>">Remove</a>
| <a
href="/wso2registry/system/applyConfig?config=<%=dbConfiguration.getConfigName()%>">Switch
to this configuration</a>
<hr/>
<% } %>
_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev