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

Reply via email to