Index: CustomizeAction.java =================================================================== RCS file: /home/cvspublic/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/CustomizeAction.java,v retrieving revision 1.12 diff -u -r1.12 CustomizeAction.java --- CustomizeAction.java 5 Jul 2002 18:14:12 -0000 1.12 +++ CustomizeAction.java 12 Aug 2002 21:04:24 -0000 @@ -78,6 +78,7 @@ import org.apache.jetspeed.services.PortalToolkit; import org.apache.jetspeed.services.security.PortalResource; import org.apache.jetspeed.portal.PortletInstance; +import org.apache.jetspeed.util.MetaData; // Turbine stuff import org.apache.turbine.util.Log; @@ -166,6 +167,14 @@ if (p.getPortletConfig().getSkin() != null) context.put("current_skin", p.getPortletConfig().getPortletSkin().getName()); + Profile profile = ((JetspeedRunData)rundata).getProfile(); + String currentTitle = profile.getDocument().getEntryById(p.getID()).getTitle(); + if (currentTitle == null && p.getPortletConfig().getMetainfo() != null) + { + currentTitle = p.getPortletConfig().getMetainfo().getTitle(); + } + context.put("current_title", currentTitle); + } /** Clean up the customization state */ @@ -188,8 +197,9 @@ List params = (List)rundata.getSession().getAttribute("parameters"); String newSecurityParent = rundata.getParameters().getString("_security_ref"); String newSkinName = (String) rundata.getParameters().getString("_skin"); + String newTitle = (String) rundata.getParameters().getString("current_title"); - boolean changeRequested = ( (params == null) || (newSkinName == null) || (newSecurityParent == null)); + boolean changeRequested = ( (params == null) || (newSkinName == null) || (newSecurityParent == null) || (newTitle == null)); boolean madePsChange = false; boolean madePcChange = false; @@ -275,6 +285,41 @@ entry.setSkin(null); } madePcChange = true; + } + } + + // Only update the title if the title changed + if (newTitle != null) + { + boolean titleChanged = false; + String currentTitle = entry.getTitle(); + + MetaData md = pc.getMetainfo(); + if (currentTitle == null && md != null && md.getTitle() != null) + currentTitle = md.getTitle(); + + if (currentTitle != null) + { + titleChanged = (newTitle.equals(currentTitle) == false); + } + else + { + titleChanged = (newTitle.trim().length() > 0); + } + + if (titleChanged == true) + { + + if ((newTitle.trim().length() > 0)) + { + if (md == null) { + md = new MetaData(); + pc.setMetainfo(md); + } + md.setTitle(newTitle); + entry.setTitle(newTitle); + madePcChange = true; + } } }