Author: chris.laprun(a)jboss.com
Date: 2009-06-16 19:27:47 -0400 (Tue, 16 Jun 2009)
New Revision: 13465
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/DisplayNameAction.java
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/displayNameObject.xhtml
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/test/wsrp/other/ConsumerBeanTestCase.java
branches/JBoss_Portal_Branch_2_7/faces/src/main/org/jboss/portal/faces/gui/BeanContext.java
branches/JBoss_Portal_Branch_2_7/faces/src/main/org/jboss/portal/faces/gui/JSFBeanContext.java
Log:
- Added isTargetResolved to BeanContext to be able to check that a given target String can
be used to display error message.
- JBPORTAL-2419:
+ DisplayNameAction now switches the error target as it varies on context (defaults to
status if cannot be resolved)
+ Added missing message in displayNameObject.xhtml
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/DisplayNameAction.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/DisplayNameAction.java 2009-06-16
21:00:24 UTC (rev 13464)
+++
branches/JBoss_Portal_Branch_2_7/core-admin/src/main/org/jboss/portal/core/admin/ui/actions/DisplayNameAction.java 2009-06-16
23:27:47 UTC (rev 13465)
@@ -29,6 +29,7 @@
import org.jboss.portal.core.admin.ui.DisplayNameBean;
import org.jboss.portal.core.model.HasDisplayName;
import org.jboss.portal.faces.gui.ManagedBean;
+import org.jboss.portal.faces.gui.BeanContext;
import java.util.Collection;
import java.util.HashMap;
@@ -49,6 +50,8 @@
protected DisplayNameBean displayNameBean;
protected HasDisplayName target;
protected static final String DISPLAY_NAME_TYPE = "DISPLAY_NAME_TYPE";
+ private static final String DISPLAY_NAME_DIRECT =
"display-name-form:newName";
+ private static final String DISPLAY_NAME_IN_VIEW =
"display-names-view:add-display-name-form:newName";
public Object getManagerBean()
{
@@ -102,7 +105,24 @@
public void addDisplayName() throws ConversionException
{
- newText = checkNameValidity(newText,
"display-names-view:add-display-name-form:newName");
+ String errorMessageTarget;
+ boolean directResolved = beanContext.isTargetResolved(DISPLAY_NAME_DIRECT);
+ boolean inViewResolved = beanContext.isTargetResolved(DISPLAY_NAME_IN_VIEW);
+
+ if(directResolved)
+ {
+ errorMessageTarget = DISPLAY_NAME_DIRECT;
+ }
+ else if (inViewResolved)
+ {
+ errorMessageTarget = DISPLAY_NAME_IN_VIEW;
+ }
+ else
+ {
+ errorMessageTarget = BeanContext.STATUS;
+ }
+
+ newText = checkNameValidity(newText, errorMessageTarget);
if (newText != null)
{
HasDisplayName hasDisplayName = getTarget();
Modified:
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/displayNameObject.xhtml
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/displayNameObject.xhtml 2009-06-16
21:00:24 UTC (rev 13464)
+++
branches/JBoss_Portal_Branch_2_7/core-admin/src/resources/portal-admin-war/jsf/displayNameObject.xhtml 2009-06-16
23:27:47 UTC (rev 13465)
@@ -20,6 +20,7 @@
</h:selectOneMenu>
<h:commandButton id="add-display"
value="#{addDisplayNameAction.newText ne null ? 'Modify' : 'Add'}
Name" action="#{addDisplayNameAction.addDisplayName}"
styleClass="portlet-form-button"/>
+ <h:message for="newName"
errorClass="portlet-msg-error"/>
</div>
</h:form>
</div>
Modified:
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/test/wsrp/other/ConsumerBeanTestCase.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/test/wsrp/other/ConsumerBeanTestCase.java 2009-06-16
21:00:24 UTC (rev 13464)
+++
branches/JBoss_Portal_Branch_2_7/core-wsrp/src/main/org/jboss/portal/test/wsrp/other/ConsumerBeanTestCase.java 2009-06-16
23:27:47 UTC (rev 13465)
@@ -104,5 +104,11 @@
{
throw new NotYetImplemented();
}
+
+ @Override
+ public boolean isTargetResolved(String target)
+ {
+ throw new NotYetImplemented();
+ }
}
}
Modified:
branches/JBoss_Portal_Branch_2_7/faces/src/main/org/jboss/portal/faces/gui/BeanContext.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/faces/src/main/org/jboss/portal/faces/gui/BeanContext.java 2009-06-16
21:00:24 UTC (rev 13464)
+++
branches/JBoss_Portal_Branch_2_7/faces/src/main/org/jboss/portal/faces/gui/BeanContext.java 2009-06-16
23:27:47 UTC (rev 13465)
@@ -284,4 +284,6 @@
return expectedClass.cast(result);
}
+
+ public abstract boolean isTargetResolved(String target);
}
Modified:
branches/JBoss_Portal_Branch_2_7/faces/src/main/org/jboss/portal/faces/gui/JSFBeanContext.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/faces/src/main/org/jboss/portal/faces/gui/JSFBeanContext.java 2009-06-16
21:00:24 UTC (rev 13464)
+++
branches/JBoss_Portal_Branch_2_7/faces/src/main/org/jboss/portal/faces/gui/JSFBeanContext.java 2009-06-16
23:27:47 UTC (rev 13465)
@@ -84,6 +84,20 @@
// Get the component id from the target
FacesContext facesContext = FacesContext.getCurrentInstance();
+ target = resolveTargetId(target, facesContext);
+ if(target == null)
+ {
+ // if we couldn't find the component, default to STATUS
+ log.info("Couldn't resolve component target: " + target + ".
Using '" + STATUS + "' instead.");
+ target = STATUS;
+ }
+
+ FacesMessage msg = new FacesMessage(jsfSeverity, message, message);
+ facesContext.addMessage(target, msg);
+ }
+
+ protected static String resolveTargetId(String target, FacesContext facesContext)
+ {
UIViewRoot viewRoot = facesContext.getViewRoot();
UIComponent component = viewRoot.findComponent(target);
if (component != null)
@@ -92,12 +106,16 @@
}
else
{
- // todo: do something better here
- log.info("Couldn't resolve component target: " + target);
+ target = null;
}
+ return target;
+ }
- FacesMessage msg = new FacesMessage(jsfSeverity, message, message);
- facesContext.addMessage(target, msg);
+ @Override
+ public boolean isTargetResolved(String target)
+ {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ return resolveTargetId(target, facesContext) != null;
}
public static void outputLocalizedMessage(String target, String localizationKey,
Object severity, String resourceName, Object... params)
Show replies by date