Author: thomas.heute(a)jboss.com
Date: 2007-04-10 11:07:10 -0400 (Tue, 10 Apr 2007)
New Revision: 6967
Added:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PropertiesFilter.java
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PropertiesBean.java
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/PropertyAction.java
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/dashboard/DashboardBean.java
trunk/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/common/editProperties.xhtml
Log:
Properties editor, add a new property.
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java 2007-04-10
12:56:57 UTC (rev 6966)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PortalObjectManagerBean.java 2007-04-10
15:07:10 UTC (rev 6967)
@@ -29,6 +29,7 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.LinkedList;
import java.util.Set;
@@ -60,7 +61,9 @@
import org.jboss.portal.security.SecurityConstants;
import org.jboss.portal.security.spi.provider.DomainConfigurator;
import org.jboss.portal.theme.LayoutService;
+import org.jboss.portal.theme.ThemeConstants;
import org.jboss.portal.theme.ThemeService;
+import org.jboss.portal.theme.impl.render.dynamic.DynaRenderOptions;
import org.jboss.portal.portlet.PortletInvoker;
/** The portal object manager bean. */
@@ -503,9 +506,10 @@
{
Map.Entry entry = (Map.Entry)i.next();
PropertyInfo info = new PropertyInfo(object, (String)entry.getKey(), false);
+ info.setDisplayName(new LocalizedString((String)entry.getKey(),
Locale.ENGLISH));
properties.addEntry(info, (String)entry.getValue());
}
- selectedProperties = properties;
+ selectedProperties = PropertiesFilter.filter(object, properties);
}
//
@@ -530,6 +534,17 @@
}
instanceItems = (SelectItem[])tmp.toArray(new SelectItem[tmp.size()]);
}
+
+ public SelectItem[] getProperties()
+ {
+ List items = new ArrayList();
+ items.add(new SelectItem(DynaRenderOptions.DND_ENABLED, "DnD enabled"));
+ items.add(new SelectItem(DynaRenderOptions.ASYNC_WINDOW_ENABLED, "Asynchronous
Windows Enabled"));
+ items.add(new SelectItem(ThemeConstants.PORTAL_PROP_ORDER, "Order"));
+ items.add(new SelectItem(PortalObject.PORTAL_PROP_DEFAULT_OBJECT_NAME,
"Default child name"));
+ items.add(new SelectItem("other", "Other"));
+ return (SelectItem[])items.toArray(new SelectItem[items.size()]);
+ }
public void processEvent(ActionEvent event)
{
Modified: trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PropertiesBean.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PropertiesBean.java 2007-04-10
12:56:57 UTC (rev 6966)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PropertiesBean.java 2007-04-10
15:07:10 UTC (rev 6967)
@@ -26,9 +26,6 @@
import java.util.Collections;
import java.util.List;
-import javax.faces.context.FacesContext;
-import javax.faces.event.ActionEvent;
-
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
@@ -108,28 +105,14 @@
Collections.sort(entries);
}
- public void addEntry()
- {
- PropertyBean bean =
(PropertyBean)FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("property");
- System.out.println(bean.getName());
-/*
- String s = event.getComponent().getId();
- int index = Integer.parseInt(s.substring(4));
- List list = new ArrayList(value.asStringList());
- list.remove(index);
- String[] strings = (String[])list.toArray(new String[list.size()]);
- value = new StringValue(strings);
- stale = true;
- */
- }
-
public List getEntries()
{
- return Collections.unmodifiableList(entries);
+ return entries;
}
public int getSize()
{
return entries.size();
}
+
}
Added: trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PropertiesFilter.java
===================================================================
--- trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PropertiesFilter.java
(rev 0)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/PropertiesFilter.java 2007-04-10
15:07:10 UTC (rev 6967)
@@ -0,0 +1,54 @@
+package org.jboss.portal.core.admin.ui;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+
+import org.jboss.portal.common.i18n.LocalizedString;
+import org.jboss.portal.core.model.portal.PortalObject;
+import org.jboss.portal.theme.ThemeConstants;
+
+public class PropertiesFilter
+{
+
+ public static PropertiesBean filter(PortalObject portalObject, PropertiesBean
properties)
+ {
+ Iterator it = properties.getEntries().iterator();
+ List toRemove = new ArrayList();
+
+ while (it.hasNext())
+ {
+ PropertyBean propertyBean = (PropertyBean)it.next();
+ if (propertyBean.getName().equals(ThemeConstants.PORTAL_PROP_LAYOUT))
+ {
+ toRemove.add(propertyBean);
+ }
+ else if (propertyBean.getName().equals(ThemeConstants.PORTAL_PROP_THEME))
+ {
+ toRemove.add(propertyBean);
+ }
+ else if (propertyBean.getName().equals(ThemeConstants.PORTAL_PROP_RENDERSET))
+ {
+ toRemove.add(propertyBean);
+ }
+ else if (propertyBean.getName().equals(ThemeConstants.PORTAL_PROP_ORDER))
+ {
+ propertyBean.setDisplayName(new LocalizedString("Order",
Locale.ENGLISH));
+ }
+ else if
(propertyBean.getName().equals(PortalObject.PORTAL_PROP_DEFAULT_OBJECT_NAME))
+ {
+ propertyBean.setDisplayName(new LocalizedString("Default child
name", Locale.ENGLISH));
+ }
+ }
+
+ it = toRemove.iterator();
+ while (it.hasNext())
+ {
+ properties.getEntries().remove(it.next());
+ }
+
+ return properties;
+ }
+
+}
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/PropertyAction.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/PropertyAction.java 2007-04-10
12:56:57 UTC (rev 6966)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/PropertyAction.java 2007-04-10
15:07:10 UTC (rev 6967)
@@ -44,6 +44,8 @@
private String selectedProperty;
private String propertyValue;
+
+ private String otherPropertyName;
private static final String ERROR_EMPTY_NAME = "Property name cannot be
blank!";
@@ -111,10 +113,29 @@
public void updateProperty()
{
- if (!(getSelectedProperty() == null || getSelectedProperty().equals("")
|| getSelectedProperty().startsWith(" ")))
+ String propertyName = selectedProperty.trim();
+ if (getSelectedProperty() != null)
{
-
getPortalObjectManager().getSelectedObject().setDeclaredProperty(getSelectedProperty(),
getPropertyValue());
+ if (selectedProperty.equals("other"))
+ {
+ propertyName = otherPropertyName.trim();
+ }
+
+ if (! propertyName.equals(""))
+ {
+
getPortalObjectManager().getSelectedObject().setDeclaredProperty(propertyName,
getPropertyValue());
+ }
}
}
+ public String getOtherPropertyName()
+ {
+ return otherPropertyName;
+ }
+
+ public void setOtherPropertyName(String otherPropertyName)
+ {
+ this.otherPropertyName = otherPropertyName;
+ }
+
}
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/dashboard/DashboardBean.java
===================================================================
---
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/dashboard/DashboardBean.java 2007-04-10
12:56:57 UTC (rev 6966)
+++
trunk/core-admin/src/main/org/jboss/portal/core/admin/ui/dashboard/DashboardBean.java 2007-04-10
15:07:10 UTC (rev 6967)
@@ -122,6 +122,11 @@
// Load portal
userPortal =
(Portal)portalObjectContainer.getObject(dashboardId).getChild(userId);
+ if (userPortal == null)
+ {
+ return;
+ }
+
// Page for editting
if (selectedPageName != null)
{
Modified:
trunk/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/common/editProperties.xhtml
===================================================================
---
trunk/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/common/editProperties.xhtml 2007-04-10
12:56:57 UTC (rev 6966)
+++
trunk/core-admin/src/resources/portal-admin-war/WEB-INF/jsf/common/editProperties.xhtml 2007-04-10
15:07:10 UTC (rev 6967)
@@ -10,6 +10,7 @@
<thead class="portlet-section-header"
style="text-align:left;">
<tr>
<th>Name</th>
+ <th>Key</th>
<th>Value</th>
<th>Delete</th>
</tr>
@@ -18,6 +19,9 @@
<c:forEach items="#{properties.entries}" var="prop"
varStatus="status">
<tr class="#{status.index % 2 == 0 ?
'portlet-section-body' : 'portlet-section-alternate'}">
<td>
+
<h:outputText>#{prop.displayName.defaultString}</h:outputText>
+ </td>
+ <td>
<h:outputText>#{prop.name}</h:outputText>
</td>
<td>
@@ -47,7 +51,10 @@
<tbody>
<tr class="#{status.index % 2 == 0 ? 'portlet-section-body' :
'portlet-section-alternate'}">
<td>
- <h:inputText value="#{propertyAction.selectedProperty}"
+ <h:selectOneMenu
value="#{propertyAction.selectedProperty}">
+ <f:selectItems value="#{portalobjectmgr.properties}"/>
+ </h:selectOneMenu><br />
+ <h:outputText value="Other"/><h:inputText
value="#{propertyAction.otherPropertyName}"
validator="#{propertyAction.validatePropertyName}"
/>
</td>
<td>