in validation-modules/property-validation/src/main/java/org/apache/myfaces/extensions/validator/baseval/metadata/transformer/JoinMetaDataTransformer.java [65:111]
private Map<String, Object> convert(MetaDataEntry metaDataEntry)
{
MetaDataExtractor extractor = DefaultPropertyScanningMetaDataExtractor.getInstance();
String[] targetExpressions = metaDataEntry.getValue(JoinValidation.class).value();
ValidationStrategy validationStrategy;
MetaDataTransformer metaDataTransformer;
Map<String, Object> results = new HashMap<String, Object>();
PropertyDetails propertyDetails;
FacesContext facesContext = FacesContext.getCurrentInstance();
for (String targetExpression : targetExpressions)
{
propertyDetails = ExtValUtils
.createPropertyDetailsForNewTarget(metaDataEntry, targetExpression);
for (MetaDataEntry entry : extractor.extract(facesContext, propertyDetails).getMetaDataEntries())
{
validationStrategy = ExtValUtils.getValidationStrategyForMetaData(entry.getKey());
if(validationStrategy == null ||
PropertyValidationUtils.isValidationSkipped(facesContext,
validationStrategy, entry))
{
continue;
}
metaDataTransformer = ExtValUtils.getMetaDataTransformerForValidationStrategy(validationStrategy);
if (metaDataTransformer != null)
{
if(!(entry.getValue() instanceof Annotation &&
ExtValUtils.getValidationParameterExtractor()
.extract(entry.getValue(Annotation.class),
ExtValUtils
.getValidationParameterClassFor(DisableClientSideValidation.class))
.iterator().hasNext()))
{
results.putAll(metaDataTransformer.convertMetaData(entry));
}
}
}
}
return results;
}