Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-jforum/src/java/org/jahia/portlet/jforum
In directory james.mmbase.org:/tmp/cvs-serv22750/org/jahia/portlet/jforum

Modified Files:
        JForumPortletBridge.java 
Log Message:
CMSC-915,JForum: externalize database and other configuration settings to the 
context files


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-jforum/src/java/org/jahia/portlet/jforum
See also: http://www.mmbase.org/jira/browse/CMSC-915


Index: JForumPortletBridge.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-jforum/src/java/org/jahia/portlet/jforum/JForumPortletBridge.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- JForumPortletBridge.java    30 May 2008 08:03:22 -0000      1.4
+++ JForumPortletBridge.java    31 May 2008 02:45:05 -0000      1.5
@@ -78,15 +78,14 @@
             // if it's already load JForum App
             if (isAlreadyInstalled()) {
                 logger.info("JForum is already installed");
-
-                // load JForum servlet
                 instance = new JForum();
+                // load JForum servlet
+
 
             } else {
                 logger.info("is not already installed");
                 instance = new InstallServlet();
             }
-
             // init Servlet instance
             instance.init(new ServletConfigWrapper(config));
 
@@ -96,6 +95,7 @@
         }
 
         // set in context
+               getPortletContext().setAttribute("config", config);
         getPortletContext().setAttribute(JFORUM_KEY, instance);
 
     }
@@ -163,14 +163,14 @@
             String defaultAction;
             // Manage auto login portal user
             PortalAutoConnectUserManager userProcesseur = new 
PortalAutoConnectUserManager(request, response);
-
+            defaultRequestUri = "forums/list.page";
+            defaultModule = "forums";
+            defaultAction = "list";
             if (isAlreadyInstalled()) {
                 // if (false) {
                 logger.debug("JForum is already installed");
                 Servlet instance = (Servlet) 
getPortletContext().getAttribute(JFORUM_KEY);
-                defaultRequestUri = "forums/list.page";
-                defaultModule = "forums";
-                defaultAction = "list";
+
 
                 logger.debug("Database is: " + 
SystemGlobals.getValue(ConfigKeys.SQL_QUERIES_DRIVER));
                 if (instance instanceof InstallServlet) {
@@ -203,9 +203,6 @@
                 logger.info("Is not already installed");
 
                 // default case of : Install wizard
-                defaultRequestUri = "install/install.page";
-                defaultModule = "install";
-                defaultAction = "finished";
             }
 
             //call JForum service method
@@ -458,7 +455,7 @@
 
         HttpServletResponseWrapper respW = new 
HttpServletResponseWrapper(response);
         HttpServletRequestWrapper reqW = new 
HttpServletRequestWrapper(request, defaultRequestUri, defaultModule, 
defaultAction, HttpServletRequestWrapper.HTTP_GET, postBody);
-        if(defaultModule.equals("install")) {
+        if (!isAlreadyInstalled()) {
            Locale locale = 
(Locale)(request.getPortletSession().getAttribute("javax.servlet.jsp.jstl.fmt.locale.session"));
            String language = "en_US";
            String charset = 
(String)request.getPortletSession().getAttribute("javax.servlet.jsp.jstl.fmt.request.charset");
@@ -468,6 +465,17 @@
               language = locale.getLanguage()+"_"+locale.getCountry();
            }
            install(respW, reqW,language,charset);
+                  PortletConfig config = 
(PortletConfig)getPortletContext().getAttribute("config");
+                  JForum instance = new JForum();
+                  try {
+                   instance.init(new ServletConfigWrapper(config));
+                  }
+                  catch (ServletException ex) {
+            ex.printStackTrace();
+           }
+
+                  getPortletContext().setAttribute(JFORUM_KEY,instance);
+                  getPortletContext().removeAttribute("config");
         }
         // get servlet object
         Servlet instance = (Servlet) 
getPortletContext().getAttribute(JFORUM_KEY);
@@ -489,7 +497,6 @@
             // get result as StringBuffer
             String encoding = SystemGlobals.getValue(ConfigKeys.ENCODING);
             String result = new String(((ServletOutputStreamWrapper) 
respW.getOutputStream()).getAsByteArray(), encoding);
-
             // update result
             PortletSession session = request.getPortletSession();
             saveResultInSession(session, result);
@@ -509,10 +516,10 @@
            reqW.setAttribute("dbencoding_other", "");
            reqW.setAttribute("use_pool", "true");
            reqW.setAttribute("forum_link", "");
-           reqW.setAttribute("admin_pass1", "admin2k");
+           
reqW.setAttribute("admin_pass1",StringUtils.isEmpty(SystemGlobals.getValue("admin.password"))?"admin2k":SystemGlobals.getValue("admin.password"));
            reqW.setAttribute("db_connection_type", "ds");
            reqW.setAttribute("site_link", "");
-           reqW.setAttribute("dbdatasource", "java:comp/env/jdbc/jforum");
+           reqW.setAttribute("dbdatasource", 
StringUtils.isEmpty(SystemGlobals.getValue("database.dbdatasource"))?"java:comp/env/jdbc/jforum":SystemGlobals.getValue("database.dbdatasource"));
            try {
 
              ActionServletRequest reqAW1 = new ActionServletRequest(reqW);
@@ -537,6 +544,7 @@
              command = new InstallAction(reqAW1, context);
              command.checkInformation();
              command.doInstall();
+                        command.finished();
          } 
          catch (IOException e) {
             logger.debug("install io error: " +e.getMessage());
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to