You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2008/11/04 19:07:36 UTC
svn commit: r711334 - in
/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval:
./ recorder/ referencing/strategy/ strategy/
Author: gpetracek
Date: Tue Nov 4 10:07:36 2008
New Revision: 711334
URL: http://svn.apache.org/viewvc?rev=711334&view=rev
Log:
support for cross-component validation error messages within complex components
Modified:
myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java
myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationStorageEntry.java
myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java
myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java
myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/referencing/strategy/LocalCompareStrategy.java
myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCompareStrategy.java
myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java
Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java?rev=711334&r1=711333&r2=711334&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationPhaseListener.java Tue Nov 4 10:07:36 2008
@@ -24,7 +24,6 @@
import org.apache.myfaces.extensions.validator.internal.UsageCategory;
import javax.faces.application.FacesMessage;
-import javax.faces.component.UIComponent;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
@@ -63,16 +62,7 @@
if (facesMessage != null && facesMessage.getSummary() != null && facesMessage.getDetail() != null)
{
- UIComponent component = entry.getComponent();
- String clientId = null;
-
- //TODO
- if (component != null)
- {
- clientId = component.getClientId(event.getFacesContext());
- }
-
- event.getFacesContext().addMessage(clientId, facesMessage);
+ event.getFacesContext().addMessage(entry.getClientId(), facesMessage);
}
event.getFacesContext().renderResponse();
Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationStorageEntry.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationStorageEntry.java?rev=711334&r1=711333&r2=711334&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationStorageEntry.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/CrossValidationStorageEntry.java Tue Nov 4 10:07:36 2008
@@ -37,6 +37,8 @@
private UIComponent component;
private Object convertedObject;
private CrossValidationStrategy validationStrategy;
+ //just for input components within complex components e.g. dataTable,...
+ private String clientId;
public MetaDataEntry getMetaDataEntry()
{
@@ -77,4 +79,14 @@
{
this.validationStrategy = validationStrategy;
}
+
+ public String getClientId()
+ {
+ return clientId;
+ }
+
+ public void setClientId(String clientId)
+ {
+ this.clientId = clientId;
+ }
}
Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java?rev=711334&r1=711333&r2=711334&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/ProcessedInformationEntry.java Tue Nov 4 10:07:36 2008
@@ -40,6 +40,8 @@
//the same key (here the el expression #{entry.property})
//however, don't override the previous entry - they arn't the same;
private List<ProcessedInformationEntry> furtherEntries;
+ //just for input components within complex components e.g. dataTable,...
+ private String clientId;
/*
* generated
@@ -74,6 +76,16 @@
this.component = component;
}
+ public String getClientId()
+ {
+ return clientId;
+ }
+
+ public void setClientId(String clientId)
+ {
+ this.clientId = clientId;
+ }
+
public List<ProcessedInformationEntry> getFurtherEntries()
{
return furtherEntries;
Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java?rev=711334&r1=711333&r2=711334&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/recorder/CrossValidationUserInputRecorder.java Tue Nov 4 10:07:36 2008
@@ -28,6 +28,7 @@
import javax.faces.component.UIComponent;
import javax.faces.component.EditableValueHolder;
+import javax.faces.context.FacesContext;
import java.util.Map;
import java.util.List;
import java.util.ArrayList;
@@ -64,6 +65,7 @@
entry.setBean(targetInformationEntry.getBaseObject());
entry.setConvertedValue(value);
entry.setComponent(uiComponent);
+ entry.setClientId(uiComponent.getClientId(FacesContext.getCurrentInstance()));
String key = targetInformationEntry.getKey();
Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/referencing/strategy/LocalCompareStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/referencing/strategy/LocalCompareStrategy.java?rev=711334&r1=711333&r2=711334&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/referencing/strategy/LocalCompareStrategy.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/referencing/strategy/LocalCompareStrategy.java Tue Nov 4 10:07:36 2008
@@ -139,10 +139,12 @@
if (compareStrategy.useTargetComponentToDisplayErrorMsg(crossValidationStorageEntry))
{
tmpCrossValidationStorageEntry.setComponent(validationTargetEntry.getComponent());
+ tmpCrossValidationStorageEntry.setClientId(validationTargetEntry.getClientId());
}
else
{
tmpCrossValidationStorageEntry.setComponent(crossValidationStorageEntry.getComponent());
+ tmpCrossValidationStorageEntry.setClientId(crossValidationStorageEntry.getClientId());
}
tmpCrossValidationStorageEntry.setConvertedObject(validationTargetEntry.getConvertedValue());
tmpCrossValidationStorageEntry.setValidationStrategy(compareStrategy);
Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCompareStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCompareStrategy.java?rev=711334&r1=711333&r2=711334&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCompareStrategy.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCompareStrategy.java Tue Nov 4 10:07:36 2008
@@ -144,26 +144,25 @@
FacesMessage message;
if (entryOfTarget.getMetaDataEntry() != null)
{
- message = getTargetComponentErrorMessage(entryOfTarget
- .getMetaDataEntry().getValue(Annotation.class), summary, details);
+ message = getTargetComponentErrorMessage(
+ entryOfTarget.getMetaDataEntry().getValue(Annotation.class), summary, details);
}
else
{
//TODO document possible side effects
//due to a missing target annotation (see: tryToValidateLocally)
- message = getTargetComponentErrorMessage(entryOfSource
- .getMetaDataEntry().getValue(Annotation.class), summary, details);
+ message = getTargetComponentErrorMessage(
+ entryOfSource.getMetaDataEntry().getValue(Annotation.class), summary, details);
}
if (message.getSummary() != null || message.getDetail() != null)
{
- facesContext.addMessage(entryOfTarget.getComponent().getClientId(facesContext), message);
+ facesContext.addMessage(entryOfTarget.getClientId(), message);
}
}
//has to be public for custom referencing strategies!!!
- public final void processSourceComponentAfterViolation(
- CrossValidationStorageEntry entryOfSource)
+ public final void processSourceComponentAfterViolation(CrossValidationStorageEntry entryOfSource)
{
if (!handleSourceViolation(entryOfSource))
{
Modified: myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java?rev=711334&r1=711333&r2=711334&view=diff
==============================================================================
--- myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java (original)
+++ myfaces/extensions/validator/branches/jsf_1.1/validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/crossval/strategy/AbstractCrossValidationStrategy.java Tue Nov 4 10:07:36 2008
@@ -55,6 +55,7 @@
entry.setMetaDataEntry(metaDataEntry);
entry.setComponent(uiComponent);
+ entry.setClientId(uiComponent.getClientId(facesContext));
entry.setConvertedObject(convertedObject);
entry.setValidationStrategy(this);