You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2007/02/20 18:49:32 UTC

svn commit: r509685 [2/2] - in /incubator/roller/branches/roller_4.0: ./ apps/planet/ apps/planet/src/java/org/apache/roller/planet/business/ apps/planet/src/java/org/apache/roller/planet/business/datamapper/ apps/planet/src/java/org/apache/roller/plan...

Modified: incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetConfigAction.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetConfigAction.java?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetConfigAction.java (original)
+++ incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetConfigAction.java Tue Feb 20 09:49:24 2007
@@ -16,6 +16,8 @@
 package org.apache.roller.planet.ui.admin.struts.actions;
 
 import java.io.IOException;
+import java.util.Iterator;
+import java.util.Map;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
@@ -23,8 +25,8 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.roller.planet.tasks.RefreshEntriesTask;
-import org.apache.roller.planet.tasks.SyncWebsitesTask;
+import org.apache.roller.RollerException;
+import org.apache.roller.RollerPermissionsException;
 import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
 import org.apache.struts.action.ActionForm;
@@ -33,13 +35,10 @@
 import org.apache.struts.action.ActionMessage;
 import org.apache.struts.action.ActionMessages;
 import org.apache.struts.actions.DispatchAction;
-import org.apache.roller.config.RollerRuntimeConfig;
 import org.apache.roller.planet.business.Planet;
 import org.apache.roller.planet.business.PlanetFactory;
-import org.apache.roller.planet.business.PlanetManager;
-import org.apache.roller.business.Roller;
-import org.apache.roller.business.RollerFactory;
-import org.apache.roller.planet.pojos.PlanetGroupData;
+import org.apache.roller.planet.business.PropertiesManager;
+import org.apache.roller.planet.pojos.PropertyData;
 import org.apache.roller.ui.core.BasePageModel;
 import org.apache.roller.ui.core.RollerRequest;
 import org.apache.roller.ui.core.RollerSession;
@@ -59,8 +58,142 @@
     private static Log logger = 
         LogFactory.getFactory().getInstance(PlanetConfigAction.class);
 
-//    /** Populate config form and forward to config page */
-//    public ActionForward getConfig(ActionMapping mapping,
+    public ActionForward unspecified(
+            ActionMapping       mapping,
+            ActionForm          actionForm,
+            HttpServletRequest  request,
+            HttpServletResponse response)
+            throws IOException, ServletException {
+        
+        // make "edit" our default action
+        return this.edit(mapping, actionForm, request, response);
+    }
+    
+    
+    public ActionForward edit(
+            ActionMapping       mapping,
+            ActionForm          actionForm,
+            HttpServletRequest  request,
+            HttpServletResponse response)
+            throws IOException, ServletException {
+        
+        logger.debug("Handling edit request");
+        
+        ActionForward forward = mapping.findForward("planetConfig.page");
+        try {
+            BasePageModel pageModel = new BasePageModel(
+                    "planetConfig.title", request, response, mapping);
+            request.setAttribute("model",pageModel);                
+            RollerRequest rreq = RollerRequest.getRollerRequest(request);
+            RollerSession rollerSession = RollerSession.getRollerSession(request);
+            if (rollerSession.isGlobalAdminUser() ) {
+                
+                // just grab our properties map and put it in the request
+                Planet planet = PlanetFactory.getPlanet();
+                PropertiesManager propsManager = planet.getPropertiesManager();
+                Map props = propsManager.getProperties();
+                request.setAttribute("PlanetProps", props);
+                
+            } else {
+                forward = mapping.findForward("access-denied");
+            }
+        } catch (Exception e) {
+            logger.error("ERROR in action",e);
+            throw new ServletException(e);
+        }
+        return forward;
+    }
+    
+    
+    public ActionForward update(
+            ActionMapping       mapping,
+            ActionForm          actionForm,
+            HttpServletRequest  request,
+            HttpServletResponse response)
+            throws IOException, ServletException {
+        
+        logger.debug("Handling update request");
+        
+        ActionForward forward = mapping.findForward("planetConfig.page");
+        ActionErrors errors = new ActionErrors();
+        try {
+            RollerRequest rreq = RollerRequest.getRollerRequest(request);
+            RollerSession rollerSession = RollerSession.getRollerSession(request);
+            BasePageModel pageModel = new BasePageModel(
+                    "planetConfig.title", request, response, mapping);
+            request.setAttribute("model",pageModel);                
+            if (rollerSession.isGlobalAdminUser()) {
+            
+                // just grab our properties map and put it in the request
+                Planet planet = PlanetFactory.getPlanet();
+                PropertiesManager propsManager = planet.getPropertiesManager();
+                Map props = propsManager.getProperties();
+                request.setAttribute("PlanetProps", props);
+                
+                // only set values for properties that are already defined
+                String propName = null;
+                PropertyData updProp = null;
+                String incomingProp = null;
+                Iterator propsIT = props.keySet().iterator();
+                while(propsIT.hasNext()) {
+                    propName = (String) propsIT.next();
+                    updProp = (PropertyData) props.get(propName);
+                    incomingProp = request.getParameter(updProp.getName());
+                    
+                    logger.debug("Checking property ["+propName+"]");
+                    
+                    // some special treatment for booleans
+                    // this is a bit hacky since we are assuming that any prop
+                    // with a value of "true" or "false" is meant to be a boolean
+                    // it may not always be the case, but we should be okay for now
+                    if( updProp.getValue() != null // null check needed w/Oracle
+                        && (updProp.getValue().equals("true") || updProp.getValue().equals("false"))) {
+                        
+                        if(incomingProp == null || !incomingProp.equals("on"))
+                            incomingProp = "false";
+                        else
+                            incomingProp = "true";
+                    }
+                    
+                    // only work on props that were submitted with the request
+                    if(incomingProp != null) {
+                        logger.debug("Setting new value for ["+propName+"]");
+                        
+                        // NOTE: the old way had some locale sensitive way to do this??
+                        updProp.setValue(incomingProp.trim());
+                    }
+                }
+                
+                // save it
+                propsManager.saveProperties(props);
+                planet.flush();
+                
+                ActionMessages uiMessages = new ActionMessages();
+                uiMessages.add(null, new ActionMessage("weblogEdit.changesSaved"));
+                saveMessages(request, uiMessages);
+                
+            } else {
+                forward = mapping.findForward("access-denied");
+            }
+            
+        } catch (RollerPermissionsException e) {
+            errors.add(null, new ActionError("error.permissions.deniedSave"));
+            saveErrors(request, errors);
+            forward = mapping.findForward("access-denied");
+            
+        } catch (RollerException e) {
+            logger.error(e);
+            errors.add(ActionErrors.GLOBAL_ERROR, new ActionError(
+                    "error.update.rollerConfig",e.getClass().getName()));
+            saveErrors(request,errors);
+        }
+        
+        return forward;
+    }
+    
+
+//    /** Refresh entries in backgrounded thread (for testing) */
+//    public ActionForward refreshEntries(ActionMapping mapping,
 //            ActionForm actionForm, HttpServletRequest request,
 //            HttpServletResponse response) throws IOException, ServletException
 //    {
@@ -73,20 +206,14 @@
 //                BasePageModel pageModel = new BasePageModel(
 //                    "planetConfig.pageTitle", request, response, mapping);
 //                request.setAttribute("model",pageModel);                
-//                PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
-//                // TODO 4.0 PlanetConfigData config = planet.getConfiguration();
-//                PlanetConfigForm form = (PlanetConfigForm)actionForm;
-//                // TODO 4.0 if (config != null)
-//                //{
-//                    //form.copyFrom(config, request.getLocale());
-//                //}
-//                //else 
-//                {
-//                    form.setTitle("Planet Roller");
-//                    form.setAdminEmail(RollerRuntimeConfig.getProperty("site.adminemail"));
-//                    form.setSiteURL(RollerRuntimeConfig.getProperty("site.absoluteurl"));
-//                    form.setCacheDir("/tmp");
-//                }
+//                Roller roller = RollerFactory.getRoller();
+//                RefreshEntriesTask task = new RefreshEntriesTask();
+//                roller.getThreadManager().executeInBackground(task);
+//                
+//                ActionMessages messages = new ActionMessages();
+//                messages.add(null, 
+//                        new ActionMessage("planetConfig.success.refreshed"));
+//                saveMessages(request, messages);
 //            }
 //            else
 //            {
@@ -100,9 +227,9 @@
 //        }
 //        return forward;
 //    }
-
-//    /** Save posted config form data */
-//    public ActionForward saveConfig(ActionMapping mapping,
+//
+//    /** Sync websites in backgrounded thread (for testing) */
+//    public ActionForward syncWebsites(ActionMapping mapping,
 //            ActionForm actionForm, HttpServletRequest request,
 //            HttpServletResponse response) throws IOException, ServletException
 //    {
@@ -115,42 +242,14 @@
 //                BasePageModel pageModel = new BasePageModel(
 //                    "planetConfig.pageTitle", request, response, mapping);
 //                request.setAttribute("model",pageModel);                
-//                PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
-//                // TODO 4.0 PlanetConfigData config = planet.getConfiguration();
-//                //if (config == null)
-//                //{
-//                    //config = new PlanetConfigData();
-//                //}
-//                PlanetConfigForm form = (PlanetConfigForm) actionForm;
-//                ActionErrors errors = validate(form);
-//                if (errors.isEmpty())
-//                {
-//                    // TODO 4.0 form.copyTo(config, request.getLocale());
-//                    
-//                    // the form copy is a little dumb and will set the id value
-//                    // to empty string if it didn't have a value before, which means
-//                    // that this object would not be considered new
-//                    // TODO 4.0 if(config.getId() != null && config.getId().trim().equals("")) {
-//                        //config.setId(null);
-//                    //}
-//                    
-//                    //planet.saveConfiguration(config);
-//                    if (planet.getGroup("external") == null) 
-//                    {
-//                        PlanetGroupData group = new PlanetGroupData();
-//                        group.setHandle("external");
-//                        group.setTitle("external");
-//                        planet.saveGroup(group);
-//                    }
-//                    PlanetFactory.getPlanet().flush();
-//                    ActionMessages messages = new ActionMessages();
-//                    messages.add(null, new ActionMessage("planetConfig.success.saved"));
-//                    saveMessages(request, messages);
-//                }                
-//                else
-//                {
-//                    saveErrors(request, errors);
-//                }
+//                Roller roller = (Roller)RollerFactory.getRoller();
+//                SyncWebsitesTask task = new SyncWebsitesTask();
+//                task.init();
+//                roller.getThreadManager().executeInBackground(task);
+//                ActionMessages messages = new ActionMessages();
+//                messages.add(null, 
+//                        new ActionMessage("planetConfig.success.synced"));
+//                saveMessages(request, messages);
 //            }
 //            else
 //            {
@@ -164,92 +263,7 @@
 //        }
 //        return forward;
 //    }
-
-    /** Refresh entries in backgrounded thread (for testing) */
-    public ActionForward refreshEntries(ActionMapping mapping,
-            ActionForm actionForm, HttpServletRequest request,
-            HttpServletResponse response) throws IOException, ServletException
-    {
-        ActionForward forward = mapping.findForward("planetConfig.page");
-        try
-        {
-            RollerRequest rreq = RollerRequest.getRollerRequest(request);
-            if (RollerSession.getRollerSession(request).isGlobalAdminUser())
-            {
-                BasePageModel pageModel = new BasePageModel(
-                    "planetConfig.pageTitle", request, response, mapping);
-                request.setAttribute("model",pageModel);                
-                Roller roller = RollerFactory.getRoller();
-                RefreshEntriesTask task = new RefreshEntriesTask();
-                roller.getThreadManager().executeInBackground(task);
-                
-                ActionMessages messages = new ActionMessages();
-                messages.add(null, 
-                        new ActionMessage("planetConfig.success.refreshed"));
-                saveMessages(request, messages);
-            }
-            else
-            {
-                forward = mapping.findForward("access-denied");
-            }
-        }
-        catch (Exception e)
-        {
-            request.getSession().getServletContext().log("ERROR", e);
-            throw new ServletException(e);
-        }
-        return forward;
-    }
-
-    /** Sync websites in backgrounded thread (for testing) */
-    public ActionForward syncWebsites(ActionMapping mapping,
-            ActionForm actionForm, HttpServletRequest request,
-            HttpServletResponse response) throws IOException, ServletException
-    {
-        ActionForward forward = mapping.findForward("planetConfig.page");
-        try
-        {
-            RollerRequest rreq = RollerRequest.getRollerRequest(request);
-            if (RollerSession.getRollerSession(request).isGlobalAdminUser())
-            {
-                BasePageModel pageModel = new BasePageModel(
-                    "planetConfig.pageTitle", request, response, mapping);
-                request.setAttribute("model",pageModel);                
-                Roller roller = (Roller)RollerFactory.getRoller();
-                SyncWebsitesTask task = new SyncWebsitesTask();
-                task.init();
-                roller.getThreadManager().executeInBackground(task);
-                ActionMessages messages = new ActionMessages();
-                messages.add(null, 
-                        new ActionMessage("planetConfig.success.synced"));
-                saveMessages(request, messages);
-            }
-            else
-            {
-                forward = mapping.findForward("access-denied");
-            }
-        }
-        catch (Exception e)
-        {
-            request.getSession().getServletContext().log("ERROR", e);
-            throw new ServletException(e);
-        }
-        return forward;
-    }
     
-//    /** Validate config form, returns empty collection if all OK */
-//    public ActionErrors validate(PlanetConfigForm form)
-//    {
-//        ActionErrors errors = new ActionErrors();
-//        if (form.getProxyHost()!=null && form.getProxyHost().trim().length()>0)
-//        {
-//            if (form.getProxyPort()<1)
-//            {
-//                errors.add(null, new ActionError(
-//                        "planetConfig.error.badProxyPort"));
-//            }
-//        }
-//        return errors;
-//    }
+
 }
 

Modified: incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetGroupsAction.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetGroupsAction.java?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetGroupsAction.java (original)
+++ incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetGroupsAction.java Tue Feb 20 09:49:24 2007
@@ -35,11 +35,9 @@
 import org.apache.struts.action.ActionMessages;
 import org.apache.struts.actions.DispatchAction;
 import org.apache.roller.RollerException;
-import org.apache.roller.planet.business.Planet;
 import org.apache.roller.planet.business.PlanetFactory;
 import org.apache.roller.planet.business.PlanetManager;
-import org.apache.roller.business.Roller;
-import org.apache.roller.business.RollerFactory;
+import org.apache.roller.planet.pojos.PlanetData;
 import org.apache.roller.planet.pojos.PlanetGroupData;
 import org.apache.roller.planet.ui.admin.struts.forms.PlanetGroupForm;
 import org.apache.roller.ui.core.BasePageModel;
@@ -73,12 +71,13 @@
             RollerRequest rreq = RollerRequest.getRollerRequest(request);
             if (RollerSession.getRollerSession(request).isGlobalAdminUser())
             {
-                PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
+                PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
                 PlanetGroupForm form = (PlanetGroupForm)actionForm;
                 if (request.getParameter("groupHandle") != null)
                 {
-                    String feedUrl = request.getParameter("groupHandle");
-                    PlanetGroupData group = planet.getGroup(feedUrl);
+                    String handle = request.getParameter("groupHandle");
+                    PlanetData defaultPlanet = pmgr.getPlanet("default_planet");
+                    PlanetGroupData group = pmgr.getGroup(defaultPlanet, handle);
                     form.copyFrom(group, request.getLocale());
                 }
                 else 
@@ -141,12 +140,13 @@
             RollerRequest rreq = RollerRequest.getRollerRequest(request);
             if (RollerSession.getRollerSession(request).isGlobalAdminUser())
             {
-                PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
+                PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
                 PlanetGroupForm form = (PlanetGroupForm)actionForm;
                 if (form.getHandle() != null)
                 {
-                    PlanetGroupData group = planet.getGroup(form.getHandle());
-                    planet.deleteGroup(group);
+                    PlanetData defaultPlanet = pmgr.getPlanet("default_planet");
+                    PlanetGroupData group = pmgr.getGroup(defaultPlanet, form.getHandle());
+                    pmgr.deleteGroup(group);
                     PlanetFactory.getPlanet().flush();
                     // TODO: why release here?
                     PlanetFactory.getPlanet().release();
@@ -188,18 +188,20 @@
             if (RollerSession.getRollerSession(request).isGlobalAdminUser())
             {
                 PlanetGroupForm form = (PlanetGroupForm)actionForm;
-                PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
-                ActionErrors errors = validate(planet, form);
+                PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
+                PlanetData defaultPlanet = pmgr.getPlanet("default_planet");
+                ActionErrors errors = validate(pmgr, form);
                 if (errors.isEmpty())
                 {
                     PlanetGroupData group = null;
                     if (form.getId() == null || form.getId().trim().length() == 0)
                     {
                         group = new PlanetGroupData();
+                        group.setPlanet(defaultPlanet);
                     }
                     else 
                     {
-                        group = planet.getGroupById(form.getId());
+                        group = pmgr.getGroupById(form.getId());
                     }                
                     form.copyTo(group, request.getLocale());
                     
@@ -210,7 +212,7 @@
                         group.setId(null);
                     }
                     
-                    planet.saveGroup(group);  
+                    pmgr.saveGroup(group);  
                     PlanetFactory.getPlanet().flush();
 
                     ActionMessages messages = new ActionMessages();
@@ -275,33 +277,23 @@
         {
             super("planetGroups.pagetitle", request, response, mapping);
             RollerRequest rreq = RollerRequest.getRollerRequest(request);
-            PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();            
-            PlanetGroupData externalGroup = planet.getGroup("external");
-            if (externalGroup != null) 
+            PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();            
+            PlanetData defaultPlanet = pmgr.getPlanet("default_planet");
+            PlanetGroupData externalGroup = pmgr.getGroup("external");
+            Iterator allgroups = pmgr.getGroups(defaultPlanet).iterator();
+            while (allgroups.hasNext()) 
             {
-                Iterator allgroups = planet.getGroups().iterator();
-                while (allgroups.hasNext()) 
-                {
-                    PlanetGroupData agroup = (PlanetGroupData)allgroups.next();
-                    if (    !agroup.getHandle().equals("external")
-                         && !agroup.getHandle().equals("all")) 
-                      {
-                          groups.add(agroup);
-                      }
-                }
-            }
-            else 
-            {
-                unconfigured = true;
+                PlanetGroupData agroup = (PlanetGroupData)allgroups.next();
+                if (    !agroup.getHandle().equals("external")
+                     && !agroup.getHandle().equals("all")) 
+                  {
+                      groups.add(agroup);
+                  }
             }
         }
         public List getGroups()
         {
             return groups;
-        }
-        public boolean isUnconfigured()
-        {
-            return unconfigured;
         }
     }
 }

Modified: incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetSubscriptionsAction.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetSubscriptionsAction.java?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetSubscriptionsAction.java (original)
+++ incubator/roller/branches/roller_4.0/src/org/apache/roller/planet/ui/admin/struts/actions/PlanetSubscriptionsAction.java Tue Feb 20 09:49:24 2007
@@ -27,6 +27,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.planet.business.PropertiesManager;
 import org.apache.roller.planet.ui.admin.struts.forms.PlanetSubscriptionFormEx;
 import org.apache.struts.action.ActionError;
 import org.apache.struts.action.ActionErrors;
@@ -37,15 +38,13 @@
 import org.apache.struts.action.ActionMessages;
 import org.apache.struts.actions.DispatchAction;
 import org.apache.roller.RollerException;
-import org.apache.roller.planet.business.Planet;
 import org.apache.roller.planet.business.PlanetFactory;
 import org.apache.roller.planet.business.PlanetManager;
+import org.apache.roller.planet.pojos.PlanetData;
 import org.apache.roller.planet.util.Technorati;
-import org.apache.roller.business.Roller;
-import org.apache.roller.business.RollerFactory;
-// TODO 4.0 import org.apache.roller.planet.pojos.PlanetConfigData;
 import org.apache.roller.planet.pojos.PlanetGroupData;
 import org.apache.roller.planet.pojos.PlanetSubscriptionData;
+import org.apache.roller.planet.pojos.PropertyData;
 import org.apache.roller.ui.core.BasePageModel;
 import org.apache.roller.ui.core.RollerSession;
 
@@ -73,12 +72,12 @@
         ActionForward forward = mapping.findForward("planetSubscriptions.page");
         try {
             if (RollerSession.getRollerSession(request).isGlobalAdminUser()) {
-                PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
+                PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
                 PlanetSubscriptionFormEx form = (PlanetSubscriptionFormEx)actionForm;
                 if (request.getParameter("feedUrl") != null) {
                     String feedUrl = request.getParameter("feedUrl");
                     PlanetSubscriptionData sub =
-                            planet.getSubscription(feedUrl);
+                            pmgr.getSubscription(feedUrl);
                     form.copyFrom(sub, request.getLocale());
                 } else {
                     form.doReset(mapping, request);
@@ -88,7 +87,8 @@
                 groupHandle = (groupHandle == null) ? form.getGroupHandle() : groupHandle;
                 groupHandle = (groupHandle == null) ? "external" : groupHandle;
                 
-                PlanetGroupData targetGroup = planet.getGroup(groupHandle);
+                PlanetData defaultPlanet = pmgr.getPlanet("default_planet");
+                PlanetGroupData targetGroup = pmgr.getGroup(defaultPlanet, groupHandle);
                 form.setGroupHandle(groupHandle);
                 request.setAttribute("model",
                         new SubscriptionsPageModel(
@@ -110,7 +110,7 @@
         ActionForward forward = mapping.findForward("planetSubscriptions.page");
         try {
             if (RollerSession.getRollerSession(request).isGlobalAdminUser()) {
-                PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
+                PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
                 PlanetSubscriptionFormEx form = (PlanetSubscriptionFormEx)actionForm;
                 
                 form.doReset(mapping, request);
@@ -119,7 +119,8 @@
                 groupHandle = (groupHandle == null) ? form.getGroupHandle() : groupHandle;
                 groupHandle = (groupHandle == null) ? "external" : groupHandle;
                 
-                PlanetGroupData targetGroup = planet.getGroup(groupHandle);
+                PlanetData defaultPlanet = pmgr.getPlanet("default_planet");
+                PlanetGroupData targetGroup = pmgr.getGroup(defaultPlanet, groupHandle);
                 form.setGroupHandle(groupHandle);
                 request.setAttribute("model",
                         new SubscriptionsPageModel(
@@ -142,20 +143,21 @@
         try {
             //RollerRequest rreq = RollerRequest.getRollerRequest(request);
             if (RollerSession.getRollerSession(request).isGlobalAdminUser()) {
-                PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
+                PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
                 PlanetSubscriptionFormEx form = (PlanetSubscriptionFormEx)actionForm;
                 if (form.getId() != null) {
                     PlanetSubscriptionData sub =
-                            planet.getSubscriptionById(form.getId());
+                            pmgr.getSubscriptionById(form.getId());
                     
                     String groupHandle = request.getParameter("groupHandle");
                     groupHandle = (groupHandle == null) ? form.getGroupHandle() : groupHandle;
                     groupHandle = (groupHandle == null) ? "external" : groupHandle;
                     
-                    PlanetGroupData targetGroup = planet.getGroup(groupHandle);
+                    PlanetData defaultPlanet = pmgr.getPlanet("default_planet");
+                    PlanetGroupData targetGroup = pmgr.getGroup(defaultPlanet, groupHandle);
                     
                     targetGroup.getSubscriptions().remove(sub);
-                    planet.deleteSubscription(sub);
+                    pmgr.deleteSubscription(sub);
                     PlanetFactory.getPlanet().flush();
                     // TODO: why release here?
                     PlanetFactory.getPlanet().release();
@@ -189,26 +191,27 @@
             HttpServletResponse response) throws IOException, ServletException {
         ActionForward forward = mapping.findForward("planetSubscriptions.page");
         try {
-            PlanetManager planet = PlanetFactory.getPlanet().getPlanetManager();
+            PlanetManager pmgr = PlanetFactory.getPlanet().getPlanetManager();
             PlanetSubscriptionFormEx form = (PlanetSubscriptionFormEx)actionForm;
             
             String groupHandle = request.getParameter("groupHandle");
             groupHandle = (groupHandle == null) ? form.getGroupHandle() : groupHandle;
             groupHandle = (groupHandle == null) ? "external" : groupHandle;
             
-            PlanetGroupData targetGroup = planet.getGroup(groupHandle);
+            PlanetData defaultPlanet = pmgr.getPlanet("default_planet");
+            PlanetGroupData targetGroup = pmgr.getGroup(defaultPlanet, groupHandle);
             
             if (RollerSession.getRollerSession(request).isGlobalAdminUser()) {
                 
                 ActionMessages messages = new ActionMessages();
                 PlanetSubscriptionData sub = null;
-                ActionErrors errors = validate(planet, form);
+                ActionErrors errors = validate(pmgr, form);
                 if (errors.isEmpty()) {
                     if (form.getId() == null || form.getId().trim().length() == 0) {                        
                         // Adding new subscription to group                        
                         // But, does subscription to that feed already exist?
                         if (form.getFeedURL() != null) {
-                            sub = planet.getSubscription(form.getFeedURL()); 
+                            sub = pmgr.getSubscription(form.getFeedURL()); 
                         }
                         if (sub != null) {
                             // Yes, we'll use it instead
@@ -226,17 +229,17 @@
                                 sub.setId(null);
                             }
 
-                            planet.saveSubscription(sub);
+                            pmgr.saveSubscription(sub);
                         }                        
                         targetGroup.getSubscriptions().add(sub);
                         
                     } else {
                         // User editing an existing subscription within a group
-                        sub = planet.getSubscriptionById(form.getId());
+                        sub = pmgr.getSubscriptionById(form.getId());
                         form.copyTo(sub, request.getLocale());                        
                     }                    
                     form.setGroupHandle(groupHandle);
-                    planet.saveGroup(targetGroup);
+                    pmgr.saveGroup(targetGroup);
                     PlanetFactory.getPlanet().flush();
                     
                     messages.add(null,
@@ -252,32 +255,39 @@
             request.setAttribute("model",
                     new SubscriptionsPageModel(
                     targetGroup, request, response, mapping, form));
-        } catch (RollerException e) {
+        } catch (RollerException re) {
             ActionErrors errors = new ActionErrors();
             errors.add(null, new ActionError(
-                    "planetSubscriptions.error.duringSave",e.getRootCauseMessage()));
+                "planetSubscriptions.error.duringSave", re.getRootCauseMessage()));
             saveErrors(request, errors);
+        } catch (Exception e) {
+            ActionErrors errors = new ActionErrors();
+            errors.add(null, new ActionError(
+                "planetSubscriptions.error.duringSave", e.getMessage()));
+            saveErrors(request, errors);
+            logger.error("Unexpected error saving subscription", e);
         }
         return forward;
     }
     
     /** Validate posted subscription, fill in blanks via Technorati */
     private ActionErrors validate(
-            PlanetManager planet, PlanetSubscriptionFormEx form) {
+            PlanetManager pmgr, PlanetSubscriptionFormEx form) {
         String technoratiTitle = null;
         String technoratiFeedUrl = null;
         int inboundlinks = -1;
         int inboundblogs = -1;
         if (form.getSiteURL()!=null && form.getSiteURL().trim().length() > 0) {
             try {
-                // TODO 4.0 PlanetConfigData config = planet.getConfiguration();
+                PropertiesManager props = PlanetFactory.getPlanet().getPropertiesManager();
                 Technorati technorati = null;
-                //if (config.getProxyHost()!=null && config.getProxyPort() > 0) {
-                    //technorati = new Technorati(
-                            //config.getProxyHost(), config.getProxyPort());
-                //} else {
+                PropertyData proxyHostProp = props.getProperty("proxyHost");
+                PropertyData proxyPortProp = props.getProperty("proxyPort");
+                if (proxyHostProp != null && proxyPortProp != null) {
+                    technorati = new Technorati(proxyHostProp.getValue(), Integer.parseInt(proxyPortProp.getValue())); 
+                } else {
                     technorati = new Technorati();
-                //}
+                }
                 Technorati.Result result =
                         technorati.getBloginfo(form.getSiteURL());
                 technoratiTitle = result.getWeblog().getName();
@@ -347,10 +357,6 @@
         
         public List getSubscriptions() {
             return subscriptions;
-        }
-        
-        public boolean isUnconfigured() {
-            return unconfigured;
         }
     }
 }

Modified: incubator/roller/branches/roller_4.0/src/org/apache/roller/ui/core/struts/actions/CreateWebsiteAction.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/src/org/apache/roller/ui/core/struts/actions/CreateWebsiteAction.java?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/src/org/apache/roller/ui/core/struts/actions/CreateWebsiteAction.java (original)
+++ incubator/roller/branches/roller_4.0/src/org/apache/roller/ui/core/struts/actions/CreateWebsiteAction.java Tue Feb 20 09:49:24 2007
@@ -142,14 +142,14 @@
         } else try {
             RollerContext rollerContext = RollerContext.getRollerContext();
             UserData user =
-                    RollerSession.getRollerSession(request).getAuthenticatedUser();
+                RollerSession.getRollerSession(request).getAuthenticatedUser();
             UserManager mgr = roller.getUserManager();
             
             if (!RollerConfig.getBooleanProperty("groupblogging.enabled")) {
                 List permissions = roller.getUserManager().getAllPermissions(user);
                 if (permissions.size() > 0) {
-                    // sneaky user trying to get around 1 blog limit that applies
-                    // only when group blogging is disabled
+                    // sneaky user trying to get around 1 blog limit that 
+                    // applies only when group blogging is disabled
                     return mapping.findForward("access-denied");
                 }
             }
@@ -184,8 +184,7 @@
                     new ActionMessage("createWebsite.created", form.getHandle()));
             saveMessages(request, msgs);
         } catch (RollerException e) {
-            errors.add(ActionErrors.GLOBAL_ERROR,
-                    new ActionError(e.getMessage()));
+            errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("application.unexpectedError"));
             saveErrors(request, errors);
             mLogger.error("ERROR in createWebsite", e);
         }

Modified: incubator/roller/branches/roller_4.0/testdata/JPAEMF.properties
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/testdata/JPAEMF.properties?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/testdata/JPAEMF.properties (original)
+++ incubator/roller/branches/roller_4.0/testdata/JPAEMF.properties Tue Feb 20 09:49:24 2007
@@ -1,6 +1,6 @@
-toplink.jdbc.driver=org.hsqldb.jdbcDriver
-toplink.jdbc.url=jdbc:hsqldb:hsql://localhost:3219
-toplink.jdbc.user=sa
-toplink.jdbc.password=
+toplink.jdbc.driver=org.apache.derby.jdbc.ClientDriver
+toplink.jdbc.url=jdbc:derby://localhost:3219/roller
+toplink.jdbc.user=APP
+toplink.jdbc.password=APP
 #toplink.ddl-generation=drop-and-create-tables
 toplink.logging.level=FINEST

Modified: incubator/roller/branches/roller_4.0/tests/org/apache/roller/business/CommentTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/tests/org/apache/roller/business/CommentTest.java?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/tests/org/apache/roller/business/CommentTest.java (original)
+++ incubator/roller/branches/roller_4.0/tests/org/apache/roller/business/CommentTest.java Tue Feb 20 09:49:24 2007
@@ -18,6 +18,8 @@
 
 package org.apache.roller.business;
 
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.util.List;
 import junit.framework.Test;
 import junit.framework.TestCase;
@@ -26,8 +28,6 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.RollerException;
 import org.apache.roller.TestUtils;
-import org.apache.roller.business.RollerFactory;
-import org.apache.roller.business.WeblogManager;
 import org.apache.roller.pojos.CommentData;
 import org.apache.roller.pojos.UserData;
 import org.apache.roller.pojos.WeblogEntryData;
@@ -244,6 +244,9 @@
             umgr.removeWebsite(TestUtils.getManagedWebsite(weblog));
             TestUtils.endSession(true);
         } catch (RollerException e) {
+            PrintWriter pw = new PrintWriter(new StringWriter()); 
+            e.printStackTrace(pw);
+            log.info(pw.toString());
             ex = e;
         }
         assertNull(ex);

Modified: incubator/roller/branches/roller_4.0/tools/roller-core/roller-core.jar
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/tools/roller-core/roller-core.jar?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
Binary files - no diff available.

Modified: incubator/roller/branches/roller_4.0/tools/roller-planet/roller-planet-business.jar
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/tools/roller-planet/roller-planet-business.jar?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
Binary files - no diff available.

Modified: incubator/roller/branches/roller_4.0/web/WEB-INF/classes/ApplicationResources.properties
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/classes/ApplicationResources.properties?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/classes/ApplicationResources.properties (original)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/classes/ApplicationResources.properties Tue Feb 20 09:49:24 2007
@@ -22,6 +22,7 @@
 application.no=No
 application.true=True
 application.false=False
+application.unexpectedError=Unexpected error. Exception has been recorded in log file.
 
 # ------------------------------------------------------------- BookmarkForm.jsp
 
@@ -1024,43 +1025,17 @@
 planet.title.unconfigured=Planet Aggregator (unconfigured)
 planet.description.unconfigured=Planet aggregator is enabled but has not yet been configured.
 
-planetConfig.pageTitle=Planet Configuration
+planetConfig.title=Planet configuration
 planetConfig.subtitle=Configure Roller's built-in newsfeed aggregator.
-planetConfig.prompt=Set the title, description, email address and site URL \
-to be included in newsfeeds produced by the aggregator. You can also setup a \
-proxy if one is required required by your network.
-planetConfig.description=Description
-planetConfig.title=Planet Configuration
-planetConfig.adminEmail=Admin E-mail
-planetConfig.cacheDir=Cache Directory
-planetConfig.siteUrl=Site URL
-planetConfig.proxyHost=Proxy Host URL
-planetConfig.proxyPort=Proxy Host Port
-
-planetConfig.title.control=Experimental Planet Control
-planetConfig.prompt.control=Launch background tasks (for testing purposes only)
-
-planetConfig.numWebsites=Number of Roller hosted weblogs
-planetConfig.numSubscrtions=Number of Roller hosted subscriptions
-
-planetConfig.button.post=Save
-planetConfig.button.refreshEntries=Refresh Entries
-planetConfig.button.syncWebsites=Synchronize Roller weblogs
-
-planetConfig.success.saved=Configuration saved
-planetConfig.success.refreshed=Refresh operation started
-planetConfig.success.synced=weblog synchronization started
-planetConfig.error.cacheDirNotFound=Cache directory not found
-planetConfig.error.cacheDirNotWritable=Cache directory not writable
-planetConfig.error.badProxyPort=Proxy port is invalid
-
-planetConfig.tip.title=Title to be used in newsfeed header
-planetConfig.tip.description=Description to be used in newsfeed header
-planetConfig.tip.adminEmail=E-mail address to be used in newsfeed header
-planetConfig.tip.cacheDir=Directory where newsfeed data will be cached
-planetConfig.tip.siteUrl=URL to be used in newsfeed header
-planetConfig.tip.proxyHost=URL of proxy host (if required)
-planetConfig.tip.proxyPort=Port of proxy host (if required)
+
+ConfigForm.siteSettings=Planet Configuration
+ConfigForm.title=Title of Planet site
+ConfigForm.description=Desrcription of Planet site
+ConfigForm.adminName=Name of Planet site administrator	
+ConfigForm.adminEmail=Email address of Planet site adminsitrator	
+ConfigForm.absoluteUrl=Absolute URL of Planet-site		
+ConfigForm.proxyHost=Proxy Host URL 		
+ConfigForm.proxyPort=Proxy Host Port
 
 # ----------------------------------------------------- PlanetSubscriptions.jsp
 

Modified: incubator/roller/branches/roller_4.0/web/WEB-INF/classes/JPAEMF.properties
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/classes/JPAEMF.properties?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/classes/JPAEMF.properties (original)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/classes/JPAEMF.properties Tue Feb 20 09:49:24 2007
@@ -1,7 +1,5 @@
 toplink.jdbc.driver=org.apache.derby.jdbc.ClientDriver
-toplink.jdbc.url=jdbc:derby://localhost:3219/roller
-#toplink.jdbc.url=jdbc:derby://localhost:1527/roller-jpa
+toplink.jdbc.url=jdbc:derby://localhost:1527/roller-jpa
 toplink.jdbc.user=APP
 toplink.jdbc.password=APP
 toplink.logging.level=FINE
-

Modified: incubator/roller/branches/roller_4.0/web/WEB-INF/classes/planet-hibernate.cfg.xml
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/classes/planet-hibernate.cfg.xml?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/classes/planet-hibernate.cfg.xml (original)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/classes/planet-hibernate.cfg.xml Tue Feb 20 09:49:24 2007
@@ -22,7 +22,7 @@
 <hibernate-configuration>
     <session-factory>
         
-        <!-- You can override this via the jdbc.XXX properties in roller-custom.properties -->
+        <!-- You can override this via the jdbc.XXX properties in planet-custom.properties -->
         <property name="connection.datasource">java:comp/env/jdbc/rollerdb</property>
                         
         <!-- You can override this via the hibernate.dialect property in roller-custom.properties -->
@@ -42,7 +42,8 @@
         
         
         <!-- Map Planet pojo classes -->
-        <mapping resource="org/apache/roller/planet/pojos/PlanetConfigData.hbm.xml" />
+        <mapping resource="org/apache/roller/planet/pojos/PlanetData.hbm.xml" />
+        <mapping resource="org/apache/roller/planet/pojos/PropertyData.hbm.xml" />
         <mapping resource="org/apache/roller/planet/pojos/PlanetGroupData.hbm.xml" />
         <mapping resource="org/apache/roller/planet/pojos/PlanetEntryData.hbm.xml" />
         <mapping resource="org/apache/roller/planet/pojos/PlanetSubscriptionData.hbm.xml" />

Added: incubator/roller/branches/roller_4.0/web/WEB-INF/classes/planetRuntimeConfigDefs.xml
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/classes/planetRuntimeConfigDefs.xml?view=auto&rev=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/classes/planetRuntimeConfigDefs.xml (added)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/classes/planetRuntimeConfigDefs.xml Tue Feb 20 09:49:24 2007
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  The ASF licenses this file to You
+  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.  For additional information regarding
+  copyright in this work, please see the NOTICE file in the top level
+  directory of this distribution.
+-->
+
+<!--
+  STOP!!!!  This is NOT a Roller configuration file!!
+  Users of Roller should never need to edit this file.  The properties listed
+  here are changed on the Roller Admin Settings page.
+  
+  This file defines what properties are made available to get/set
+  during the running of the Roller application.  These properties
+  are stored in the database and the code *must* be able to make
+  use of changed values during runtime.
+  
+  Also included in this file is meta-data which defines what class
+  of property we are dealing with, it's default value, and information
+  on how to populate the display that allows for changing the value.
+  
+  NOTE: order does matter!!  the display is populated in a linear fashion
+	starting from the first display-group and moving down.
+-->
+
+<runtime-configs> 
+
+ <!--
+   The global-properties represents the base set of roller runtime properties.
+   In *most* cases you should be putting your properties here and they can
+   then be changed from the admin configuration page at ...
+        /admin/rollerConfig.do
+ -->
+ <config-def name="global-properties">
+
+   <!-- Site Settings Group -->
+   <display-group name="siteSettings" key="ConfigForm.siteSettings" >
+       
+       <property-def  name="site.name"  key="ConfigForm.title">
+           <type>string</type>
+           <default-value>Roller Planet</default-value>
+       </property-def>
+       <property-def  name="site.description"  key="ConfigForm.description">
+           <type>string</type>
+           <default-value>A default install of the Roller Planet open source aggregation server</default-value>
+       </property-def>
+       <property-def  name="site.adminname"  key="ConfigForm.adminName">
+           <type>string</type>
+           <default-value></default-value>
+       </property-def>
+       <property-def  name="site.adminemail"  key="ConfigForm.adminEmail">
+           <type>string</type>
+           <default-value></default-value>
+       </property-def>
+       <property-def  name="site.absoluteurl"  key="ConfigForm.absoluteUrl">
+           <type>string</type>
+           <default-value></default-value>
+       </property-def>
+       <property-def  name="site.proxyhost"  key="ConfigForm.proxyHost">
+           <type>string</type>
+           <default-value></default-value>
+       </property-def>
+       <property-def  name="site.proxyport"  key="ConfigForm.proxyPort">
+           <type>string</type>
+           <default-value>0</default-value>
+       </property-def>
+       
+   </display-group >
+   
+ </config-def>
+ 
+</runtime-configs>

Added: incubator/roller/branches/roller_4.0/web/WEB-INF/classes/struts.properties
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/classes/struts.properties?view=auto&rev=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/classes/struts.properties (added)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/classes/struts.properties Tue Feb 20 09:49:24 2007
@@ -0,0 +1,4 @@
+struts.objectFactory = spring
+struts.devMode = false
+#struts.action.extension = do
+struts.enable.DynamicMethodInvocation = false

Modified: incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetConfig.jsp
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetConfig.jsp?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetConfig.jsp (original)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetConfig.jsp Tue Feb 20 09:49:24 2007
@@ -15,92 +15,90 @@
   copyright in this work, please see the NOTICE file in the top level
   directory of this distribution.
 -->
+<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
 <%@ include file="/WEB-INF/jsps/taglibs.jsp" %>
-<script type="text/javascript">
-<!--
-function refreshEntries()
-{
-    document.planetConfigForm.method.value = "refreshEntries";
-    document.planetConfigForm.submit();
-}
-function syncWebsites()
-{
-    document.planetConfigForm.method.value = "syncWebsites";
-    document.planetConfigForm.submit();
-}
-// -->
-</script>
-
-<html:form action="/roller-ui/admin/planetConfig" method="post">
-    <html:hidden property="id" />
-    <html:hidden property="cacheDir" />
-    <html:hidden property="templateDir" />
-    <html:hidden property="outputDir" />
-    <html:hidden property="method" value="saveConfig" />
-    
-    <p class="subtitle"><fmt:message key="planetConfig.subtitle" /></p>
-    <p><fmt:message key="planetConfig.prompt" /></p>
-
-    <table class="formtable">
 
-    <tr>
-        <td class="label"><label for="title" /><fmt:message key="planetConfig.title" /></label></td>
-        <td class="field"><html:text property="title" size="40" maxlength="255" /></td>
-        <td class="description"><fmt:message key="planetConfig.tip.title" /></td>
-    </tr>
-
-    <tr>
-        <td class="label"><label for="description" /><fmt:message key="planetConfig.description" /></label></td>
-        <td class="field"><html:text property="description" size="40" maxlength="255" /></td>
-        <td class="description"><fmt:message key="planetConfig.tip.description" /></td>
-    </tr>
-
-    <tr>
-        <td class="label"><label for="siteURL" /><fmt:message key="planetConfig.siteUrl" /></label></td>
-        <td class="field"><html:text property="siteURL" size="40" maxlength="255" /></td>
-        <td class="description"><fmt:message key="planetConfig.tip.siteUrl" /></td>
-    </tr>
-
-    <tr>
-        <td class="label"><label for="adminEmail" /><fmt:message key="planetConfig.adminEmail" /></label></td>
-        <td class="field"><html:text property="adminEmail" size="40" maxlength="255" /></td>
-        <td class="description"><fmt:message key="planetConfig.tip.adminEmail" /></td>
-    </tr>
-
-    <tr>
-        <td class="label"><label for="proxyHost" /><fmt:message key="planetConfig.proxyHost" /></label></td>
-        <td class="field"><html:text property="proxyHost" size="40" maxlength="255" /></td>
-        <td class="description"><fmt:message key="planetConfig.tip.proxyHost" /></td>
-    </tr>
-
-    <tr>
-        <td class="label"><label for="proxyPort" /><fmt:message key="planetConfig.proxyPort" /></label></td>
-        <td class="field"><html:text property="proxyPort" size="6" maxlength="6" /></td>
-        <td class="description"><fmt:message key="planetConfig.tip.proxyPort" /></td>
-    </tr>
+<%-- Start by parsing our config defs using the jstl xml toolkit --%>
+<%-- Then we'll progress through the config defs and print out the form --%>
+<x:parse var="configDefs">
+  <%= org.apache.roller.planet.config.PlanetRuntimeConfig.getRuntimeConfigDefsAsString() %>
+</x:parse>
 
-    </table>
 
-    <br />
-    <div class="control">
-        <input type="submit" value='<fmt:message key="planetConfig.button.post" />' />
-    </div>
-    
-    <br />           
-    <h3><fmt:message key="planetConfig.title.control" /></h3>
-    <p><i><fmt:message key="planetConfig.prompt.control" /></i></p>
-    
-    <input type="button" name="refresh"
-       value='<fmt:message key="planetConfig.button.refreshEntries" />'
-       onclick="refreshEntries()" />  
-
-    <input type="button" name="sync"
-       value='<fmt:message key="planetConfig.button.syncWebsites" />'
-       onclick="syncWebsites()" /> 
+<roller:StatusMessage/>
 
-</html:form>
+<p class="subtitle"><fmt:message key="planetConfig.subtitle" /></a>
+<p><fmt:message key="configForm.prompt" /></a>
 
+<form action="planetConfig.do" method="post">
 
+<input type="hidden" name="method" value="update">
 
+    <table class="formtableNoDesc">
+    
+    <x:forEach select="$configDefs//config-def[@name='global-properties']/display-group">
+        <c:set var="displayGroupKey"><x:out select="@key"/></c:set>
+    
+        <tr>
+            <td colspan="3"><h2><fmt:message key="${displayGroupKey}" /></h2></td>
+        </tr>
+    
+        <x:forEach select="property-def">
+            <c:set var="propLabelKey"><x:out select="@key"/></c:set>
+            <c:set var="name"><x:out select="@name"/></c:set>
+        
+            <tr>
+                <td class="label"><fmt:message key="${propLabelKey}" /></td>
+              
+                <%-- choose the right html input element for the display --%>
+                <x:choose>
+                
+                  <%-- "string" type means use a simple textbox --%>
+                  <x:when select="type='string'">
+                    <td class="field"><input type="text" name='<c:out value="${name}"/>' value='<c:out value="${PlanetProps[name].value}"/>' size="35" /></td>
+                  </x:when>
+                  
+                  <%-- "text" type means use a full textarea --%>
+                  <x:when select="type='text'">
+                    <td class="field">
+                      <textarea name='<c:out value="${name}"/>' rows="<x:out select="rows"/>" cols="<x:out select="cols"/>"><c:out value="${PlanetProps[name].value}"/></textarea>
+                    </td>
+                  </x:when>
+                  
+                  <%-- "boolean" type means use a checkbox --%>
+                  <x:when select="type='boolean'">
+                    <c:choose>
+                      <c:when test="${PlanetProps[name].value eq 'true'}">
+                          <td class="field"><input type="checkbox" name='<c:out value="${name}"/>' CHECKED></td>
+                      </c:when>
+                      <c:otherwise>
+                          <td class="field"><input type="checkbox" name='<c:out value="${name}"/>'></td>
+                      </c:otherwise>
+                    </c:choose>
+                  </x:when>
+                  
+                  <%-- if it's something we don't understand then use textbox --%>
+                  <x:otherwise>
+                    <td class="field"><input type="text" name='<c:out value="${name}"/>' size="50" /></td>
+                  </x:otherwise>
+                </x:choose>
+                
+                <td class="description"><%-- <fmt:message key="" /> --%></td>
+            </tr>
+          
+        </x:forEach>
+      
+        <tr>
+            <td colspan="2">&nbsp;</td>
+        </tr>
+        
+    </x:forEach>
 
+    </table>
+    
+    <div class="control">
+        <input class="buttonBox" type="submit" value="<fmt:message key="configForm.save"/>"/>
+    </div>
+    
+<form>
 

Modified: incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetGroups.jsp
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetGroups.jsp?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetGroups.jsp (original)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetGroups.jsp Tue Feb 20 09:49:24 2007
@@ -30,118 +30,114 @@
 }
 // -->
 </script>
-<c:if test="${!(model.unconfigured)}" >
 
-    <p class="subtitle"><fmt:message key="planetGroups.subtitle" /></p>
+<p class="subtitle"><fmt:message key="planetGroups.subtitle" /></p>
 
-    <p>
-    <c:if test="${empty planetSubscriptionForm.id}" >
-        <fmt:message key="planetGroups.prompt.add" />
-    </c:if>
-    <c:if test="${!empty planetSubscriptionForm.id}" >
-        <fmt:message key="planetGroups.prompt.edit" />
-    </c:if>
-    </p>
-    
-    <html:form action="/roller-ui/admin/planetGroups" method="post">
-        <html:hidden property="method" value="saveGroup" />
-        <html:hidden property="id" />
-        
-        <div class="formrow">
-            <label for="title" class="formrow" />
-                <fmt:message key="planetGroups.title" /></label>
-            <html:text property="title" size="40" maxlength="255" />
-            <img src="../images/help.png" alt="help" 
-                title='<fmt:message key="planetGroups.tip.title" />' />
-        </div>
-        
-        <div class="formrow">
-            <label for="handle" class="formrow" />
-                <fmt:message key="planetGroups.handle" /></label>
-            <html:text property="handle" size="40" maxlength="255" />
-            <img src="../images/help.png" alt="help" 
-                title='<fmt:message key="planetGroups.tip.handle" />' />
-        </div>
-        
-        <p />
-        <div class="formrow">
-            <label class="formrow" />&nbsp;</label>
-            <input type="submit" 
-                value='<fmt:message key="planetGroups.button.save" />' />
-            &nbsp;
-            <input type="button" 
-                value='<fmt:message key="planetGroups.button.cancel" />' 
-                onclick="cancelEditing()"/>
-            <c:if test="${!empty planetGroupForm.id}" >
-                &nbsp;&nbsp;
-                <input type="button" 
-                   value='<fmt:message key="planetGroups.button.delete" />' 
-                   onclick="deleteGroup()" />
-            </c:if>
-        </div>
-
-    </html:form>
-    
-    <br style="clear:left" />
-    
-    <h2><fmt:message key="planetGroups.existingTitle" /></h2>
-    <p><i><fmt:message key="planetGroups.existingPrompt" /></i></p>
-    
-    <table class="rollertable">
-        <tr class="rHeaderTr">
-           <th class="rollertable" width="30%">
-               <fmt:message key="planetGroups.column.title" />
-           </th>
-           <th class="rollertable" width="50%">
-               <fmt:message key="planetGroups.column.handle" />
-           </th>
-           <th class="rollertable" width="10%">
-               <fmt:message key="planetGroups.column.edit" />
-           </th>
-           <th class="rollertable" width="10%">
-               <fmt:message key="planetGroups.column.subscriptions" />
-           </th>
-        </tr>
-        <c:forEach var="group" items="${model.groups}" >
-            <roller:row oddStyleClass="rollertable_odd" evenStyleClass="rollertable_even">
-            
-                <td class="rollertable">
-                       <c:out value="${group.title}" />
-                </td>
-                
-                <td class="rollertable">
-                       <c:out value="${group.handle}" />
-                </td>
-                
-                <td class="rollertable">
-                    <roller:link page="/roller-ui/admin/planetGroups.do">
-                        <roller:linkparam 
-                            id="method" value="getGroups" />                   
-                        <roller:linkparam 
-                            id="groupHandle" name="group" property="handle" />                   
-                        <img src='<c:url value="/images/page_white_edit.png"/>' border="0" alt="icon" 
-                            title="<fmt:message key='planetGroups.edit.tip' />" />
-                    </roller:link>
-                </td>       
-                                        
-                <td class="rollertable">
-                    <roller:link page="/roller-ui/admin/planetSubscriptions.do">
-                        <roller:linkparam 
-                            id="method" value="getSubscriptions" />                   
-                        <roller:linkparam 
-                            id="groupHandle" name="group" property="handle" />                   
-                        <img src='<c:url value="/images/page_white_edit.png"/>' border="0" alt="icon" 
-                            title="<fmt:message key='planetGroups.subscriptions.tip' />" />
-                    </roller:link>
-                </td>       
-                                        
-            </roller:row>
-       </c:forEach>
-    </table>
+<p>
+<c:if test="${empty planetSubscriptionForm.id}" >
+    <fmt:message key="planetGroups.prompt.add" />
 </c:if>
-<c:if test="${model.unconfigured}" >
-    <fmt:message key="planetGroups.unconfigured" />
+<c:if test="${!empty planetSubscriptionForm.id}" >
+    <fmt:message key="planetGroups.prompt.edit" />
 </c:if>
+</p>
+
+<html:form action="/roller-ui/admin/planetGroups" method="post">
+    <html:hidden property="method" value="saveGroup" />
+    <html:hidden property="id" />
+
+    <div class="formrow">
+        <label for="title" class="formrow" />
+            <fmt:message key="planetGroups.title" /></label>
+        <html:text property="title" size="40" maxlength="255" />
+        <img src="../images/help.png" alt="help" 
+            title='<fmt:message key="planetGroups.tip.title" />' />
+    </div>
+
+    <div class="formrow">
+        <label for="handle" class="formrow" />
+            <fmt:message key="planetGroups.handle" /></label>
+        <html:text property="handle" size="40" maxlength="255" />
+        <img src="../images/help.png" alt="help" 
+            title='<fmt:message key="planetGroups.tip.handle" />' />
+    </div>
+
+    <p />
+    <div class="formrow">
+        <label class="formrow" />&nbsp;</label>
+        <input type="submit" 
+            value='<fmt:message key="planetGroups.button.save" />' />
+        &nbsp;
+        <input type="button" 
+            value='<fmt:message key="planetGroups.button.cancel" />' 
+            onclick="cancelEditing()"/>
+        <c:if test="${!empty planetGroupForm.id}" >
+            &nbsp;&nbsp;
+            <input type="button" 
+               value='<fmt:message key="planetGroups.button.delete" />' 
+               onclick="deleteGroup()" />
+        </c:if>
+    </div>
+
+</html:form>
+
+<br style="clear:left" />
+
+<h2><fmt:message key="planetGroups.existingTitle" /></h2>
+<p><i><fmt:message key="planetGroups.existingPrompt" /></i></p>
+
+<table class="rollertable">
+    <tr class="rHeaderTr">
+       <th class="rollertable" width="30%">
+           <fmt:message key="planetGroups.column.title" />
+       </th>
+       <th class="rollertable" width="50%">
+           <fmt:message key="planetGroups.column.handle" />
+       </th>
+       <th class="rollertable" width="10%">
+           <fmt:message key="planetGroups.column.edit" />
+       </th>
+       <th class="rollertable" width="10%">
+           <fmt:message key="planetGroups.column.subscriptions" />
+       </th>
+    </tr>
+    <c:forEach var="group" items="${model.groups}" >
+        <roller:row oddStyleClass="rollertable_odd" evenStyleClass="rollertable_even">
+
+            <td class="rollertable">
+                   <c:out value="${group.title}" />
+            </td>
+
+            <td class="rollertable">
+                   <c:out value="${group.handle}" />
+            </td>
+
+            <td class="rollertable">
+                <roller:link page="/roller-ui/admin/planetGroups.do">
+                    <roller:linkparam 
+                        id="method" value="getGroups" />                   
+                    <roller:linkparam 
+                        id="groupHandle" name="group" property="handle" />                   
+                    <img src='<c:url value="/images/page_white_edit.png"/>' border="0" alt="icon" 
+                        title="<fmt:message key='planetGroups.edit.tip' />" />
+                </roller:link>
+            </td>       
+
+            <td class="rollertable">
+                <roller:link page="/roller-ui/admin/planetSubscriptions.do">
+                    <roller:linkparam 
+                        id="method" value="getSubscriptions" />                   
+                    <roller:linkparam 
+                        id="groupHandle" name="group" property="handle" />                   
+                    <img src='<c:url value="/images/page_white_edit.png"/>' border="0" alt="icon" 
+                        title="<fmt:message key='planetGroups.subscriptions.tip' />" />
+                </roller:link>
+            </td>       
+
+        </roller:row>
+   </c:forEach>
+</table>
+
 
 
 

Modified: incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetSubscriptions.jsp
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetSubscriptions.jsp?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetSubscriptions.jsp (original)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/admin/PlanetSubscriptions.jsp Tue Feb 20 09:49:24 2007
@@ -30,141 +30,133 @@
 }
 // -->
 </script>
-<c:if test="${!(model.unconfigured)}" >
 
-    <h1>
-        <fmt:message key="planetSubscriptions.title" />    
+<h1>
+    <fmt:message key="planetSubscriptions.title" />    
+    <c:if test='${planetSubscriptionFormEx.groupHandle != "external"}' >
+       &nbsp;[group: <c:out value="${planetSubscriptionFormEx.groupHandle}" />]
+    </c:if>        
+</h1>
+
+<c:choose>
+    <c:when test='${empty planetSubscriptionFormEx.id && planetSubscriptionFormEx.groupHandle == "external"}' >
+        <p class="subtitle"><fmt:message key="planetSubscriptions.subtitle.addMain" /></p>
+        <p><fmt:message key="planetSubscriptions.prompt.addMain" /></p>
+    </c:when>
+    <c:when test='${empty planetSubscriptionFormEx.id && planetSubscriptionFormEx.groupHandle != "external"}' >
+        <p class="subtitle">
+            <fmt:message key="planetSubscriptions.subtitle.add" >
+                <fmt:param value="${planetSubscriptionFormEx.groupHandle}" />
+            </fmt:message>
+        </p>
+        <p><fmt:message key="planetSubscriptions.prompt.add" /></p>
+    </c:when>
+    <c:when test="${!empty planetSubscriptionFormEx.id}" >
+        <p class="subtitle"><fmt:message key="planetSubscriptions.subtitle.edit" /></p>
+        <p><fmt:message key="planetSubscriptions.prompt.edit" /></p>
+    </c:when>
+</c:choose>
+
+<html:form action="/roller-ui/admin/planetSubscriptions" method="post">
+    <html:hidden property="method" value="saveSubscription" />
+    <html:hidden property="id" />
+    <html:hidden property="groupHandle" />
+    <html:hidden property="inboundlinks" />
+    <html:hidden property="inboundblogs" />
+
+    <div class="formrow">
+        <label for="title" class="formrow" />
+            <fmt:message key="planetSubscription.title" /></label>
+        <html:text property="title" size="40" maxlength="255" />
+        <img src="../images/help.png" alt="help" 
+            title='<fmt:message key="planetSubscription.tip.title" />' />
+    </div>
+
+    <div class="formrow">
+        <label for="feedURL" class="formrow" />
+            <fmt:message key="planetSubscription.feedUrl" /></label>
+        <html:text property="feedURL" size="40" maxlength="255" />
+        <img src="../images/help.png" alt="help" 
+            title='<fmt:message key="planetSubscription.tip.feedUrl" />' />
+    </div>
+
+    <div class="formrow">
+        <label for="siteURL" class="formrow" />
+            <fmt:message key="planetSubscription.siteUrl" /></label>
+        <html:text property="siteURL" size="40" maxlength="255" />
+        <img src="../images/help.png" alt="help" 
+            title='<fmt:message key="planetSubscription.tip.siteUrl" />' />
+    </div>
+
+    <p />
+    <div class="formrow">
+        <label class="formrow" />&nbsp;</label>
+        <input type="submit" 
+            value='<fmt:message key="planetSubscriptions.button.save" />' />
+        &nbsp;
+        <input type="button" 
+            value='<fmt:message key="planetSubscriptions.button.cancel" />' 
+            onclick="cancelEditing()"/>
+        <c:if test="${!empty planetSubscriptionFormEx.id}" >
+            &nbsp;&nbsp;
+            <input type="button" 
+               value='<fmt:message key="planetSubscriptions.button.delete" />' 
+               onclick="deleteSubscription()" />
+        </c:if>
+    </div>
+
+    <br style="clear:left" />
+
+    <h2>
+        <fmt:message key="planetSubscriptions.existingTitle" />
         <c:if test='${planetSubscriptionFormEx.groupHandle != "external"}' >
            &nbsp;[group: <c:out value="${planetSubscriptionFormEx.groupHandle}" />]
-        </c:if>        
-    </h1>
-   
-    <c:choose>
-        <c:when test='${empty planetSubscriptionFormEx.id && planetSubscriptionFormEx.groupHandle == "external"}' >
-            <p class="subtitle"><fmt:message key="planetSubscriptions.subtitle.addMain" /></p>
-            <p><fmt:message key="planetSubscriptions.prompt.addMain" /></p>
-        </c:when>
-        <c:when test='${empty planetSubscriptionFormEx.id && planetSubscriptionFormEx.groupHandle != "external"}' >
-            <p class="subtitle">
-                <fmt:message key="planetSubscriptions.subtitle.add" >
-                    <fmt:param value="${planetSubscriptionFormEx.groupHandle}" />
-                </fmt:message>
-            </p>
-            <p><fmt:message key="planetSubscriptions.prompt.add" /></p>
-        </c:when>
-        <c:when test="${!empty planetSubscriptionFormEx.id}" >
-            <p class="subtitle"><fmt:message key="planetSubscriptions.subtitle.edit" /></p>
-            <p><fmt:message key="planetSubscriptions.prompt.edit" /></p>
-        </c:when>
-    </c:choose>
-    
-    <html:form action="/roller-ui/admin/planetSubscriptions" method="post">
-        <html:hidden property="method" value="saveSubscription" />
-        <html:hidden property="id" />
-        <html:hidden property="groupHandle" />
-        <html:hidden property="inboundlinks" />
-        <html:hidden property="inboundblogs" />
-        
-        <div class="formrow">
-            <label for="title" class="formrow" />
-                <fmt:message key="planetSubscription.title" /></label>
-            <html:text property="title" size="40" maxlength="255" />
-            <img src="../images/help.png" alt="help" 
-                title='<fmt:message key="planetSubscription.tip.title" />' />
-        </div>
-        
-        <div class="formrow">
-            <label for="feedURL" class="formrow" />
-                <fmt:message key="planetSubscription.feedUrl" /></label>
-            <html:text property="feedURL" size="40" maxlength="255" />
-            <img src="../images/help.png" alt="help" 
-                title='<fmt:message key="planetSubscription.tip.feedUrl" />' />
-        </div>
-        
-        <div class="formrow">
-            <label for="siteURL" class="formrow" />
-                <fmt:message key="planetSubscription.siteUrl" /></label>
-            <html:text property="siteURL" size="40" maxlength="255" />
-            <img src="../images/help.png" alt="help" 
-                title='<fmt:message key="planetSubscription.tip.siteUrl" />' />
-        </div>
-
-        <p />
-        <div class="formrow">
-            <label class="formrow" />&nbsp;</label>
-            <input type="submit" 
-                value='<fmt:message key="planetSubscriptions.button.save" />' />
-            &nbsp;
-            <input type="button" 
-                value='<fmt:message key="planetSubscriptions.button.cancel" />' 
-                onclick="cancelEditing()"/>
-            <c:if test="${!empty planetSubscriptionFormEx.id}" >
-                &nbsp;&nbsp;
-                <input type="button" 
-                   value='<fmt:message key="planetSubscriptions.button.delete" />' 
-                   onclick="deleteSubscription()" />
-            </c:if>
-        </div>
-
-        <br style="clear:left" />
-
-        <h2>
-            <fmt:message key="planetSubscriptions.existingTitle" />
-            <c:if test='${planetSubscriptionFormEx.groupHandle != "external"}' >
-               &nbsp;[group: <c:out value="${planetSubscriptionFormEx.groupHandle}" />]
-            </c:if>
-        </h2>
-        <p><i><fmt:message key="planetSubscriptions.existingPrompt" /></i></p>
-
-        <table class="rollertable">
-            <tr class="rHeaderTr">
-               <th class="rollertable" width="30%">
-                   <fmt:message key="planetSubscriptions.column.title" />
-               </th>
-               <th class="rollertable" width="60%">
-                   <fmt:message key="planetSubscriptions.column.feedUrl" />
-               </th>
-               <th class="rollertable" width="10%">
-                   <fmt:message key="planetSubscriptions.column.edit" />
-               </th>
-            </tr>
-            <c:forEach var="subscription" items="${model.subscriptions}" >
-                <roller:row oddStyleClass="rollertable_odd" evenStyleClass="rollertable_even">
-
-                    <td class="rollertable">
-                           <c:out value="${subscription.title}" />
-                    </td>
-
-                    <td class="rollertable">
-                        <str:left count="100" >
-                           <c:out value="${subscription.feedURL}" />
-                        </str:left>
-                    </td>
-
-                    <td class="rollertable">
-                        <roller:link page="/roller-ui/admin/planetSubscriptions.do">
-                            <roller:linkparam 
-                                id="method" value="getSubscriptions" />                   
-                            <roller:linkparam 
-                                id="groupHandle" 
-                                name="planetSubscriptionFormEx" 
-                                property="groupHandle" />                   
-                            <roller:linkparam 
-                                id="feedUrl" name="subscription" property="feedURL" />                   
-                            <img src='<c:url value="/images/page_white_edit.png"/>' border="0" alt="icon" 
-                                title="<fmt:message key='planetSubscription.edit.tip' />" />
-                        </roller:link>
-                    </td>       
-
-                </roller:row>
-           </c:forEach>
-        </table>
-    
-    </html:form>
-
-    
-</c:if>
-<c:if test="${model.unconfigured}" >
-    <fmt:message key="planetSubscriptions.unconfigured" />
-</c:if>
+        </c:if>
+    </h2>
+    <p><i><fmt:message key="planetSubscriptions.existingPrompt" /></i></p>
+
+    <table class="rollertable">
+        <tr class="rHeaderTr">
+           <th class="rollertable" width="30%">
+               <fmt:message key="planetSubscriptions.column.title" />
+           </th>
+           <th class="rollertable" width="60%">
+               <fmt:message key="planetSubscriptions.column.feedUrl" />
+           </th>
+           <th class="rollertable" width="10%">
+               <fmt:message key="planetSubscriptions.column.edit" />
+           </th>
+        </tr>
+        <c:forEach var="subscription" items="${model.subscriptions}" >
+            <roller:row oddStyleClass="rollertable_odd" evenStyleClass="rollertable_even">
+
+                <td class="rollertable">
+                       <c:out value="${subscription.title}" />
+                </td>
+
+                <td class="rollertable">
+                    <str:left count="100" >
+                       <c:out value="${subscription.feedURL}" />
+                    </str:left>
+                </td>
+
+                <td class="rollertable">
+                    <roller:link page="/roller-ui/admin/planetSubscriptions.do">
+                        <roller:linkparam 
+                            id="method" value="getSubscriptions" />                   
+                        <roller:linkparam 
+                            id="groupHandle" 
+                            name="planetSubscriptionFormEx" 
+                            property="groupHandle" />                   
+                        <roller:linkparam 
+                            id="feedUrl" name="subscription" property="feedURL" />                   
+                        <img src='<c:url value="/images/page_white_edit.png"/>' border="0" alt="icon" 
+                            title="<fmt:message key='planetSubscription.edit.tip' />" />
+                    </roller:link>
+                </td>       
+
+            </roller:row>
+       </c:forEach>
+    </table>
 
+</html:form>

Modified: incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/core/login.jsp
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/core/login.jsp?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/core/login.jsp (original)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/core/login.jsp Tue Feb 20 09:49:24 2007
@@ -30,7 +30,7 @@
 
 <form method="post" 
       id="loginForm" 
-      action="<c:url value="/j_security_check"/>"
+      action="<c:url value="/roller_j_security_check"/>"
       onsubmit="saveUsername(this)">
       
     <table>

Modified: incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/tiles/tiles-errorpage.jsp
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/tiles/tiles-errorpage.jsp?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/tiles/tiles-errorpage.jsp (original)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/jsps/tiles/tiles-errorpage.jsp Tue Feb 20 09:49:24 2007
@@ -22,9 +22,6 @@
 <title><c:out value="${model.title}" /></title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <tiles:insert page="/WEB-INF/jsps/tiles/head.jsp"  />
-<style type="text/css">
-<tiles:insert page="/WEB-INF/jsps/tiles/styles.jsp" />
-</style>
 </head>
 <body>
     

Modified: incubator/roller/branches/roller_4.0/web/WEB-INF/security.xml
URL: http://svn.apache.org/viewvc/incubator/roller/branches/roller_4.0/web/WEB-INF/security.xml?view=diff&rev=509685&r1=509684&r2=509685
==============================================================================
--- incubator/roller/branches/roller_4.0/web/WEB-INF/security.xml (original)
+++ incubator/roller/branches/roller_4.0/web/WEB-INF/security.xml Tue Feb 20 09:49:24 2007
@@ -178,7 +178,7 @@
         <property name="authenticationManager" ref="authenticationManager"/>
         <property name="authenticationFailureUrl" value="/roller-ui/login.do?error=true"/>
         <property name="defaultTargetUrl" value="/"/>
-        <property name="filterProcessesUrl" value="/j_security_check"/>
+        <property name="filterProcessesUrl" value="/roller_j_security_check"/>
         <property name="rememberMeServices" ref="rememberMeServices"/>
     </bean>