use of org.apache.tapestry5.internal.beaneditor.EnvironmentMessages in project tapestry-5 by apache.
the class MessagesAnnotationConstraintGeneratorTest method pushAndTrainEnvironmentalObjects.
private void pushAndTrainEnvironmentalObjects(Environment e, boolean hasProperty, String propertyValue) {
Messages messages = mockMessages();
train_contains(messages, "testProperty-validate", hasProperty);
if (hasProperty) {
train_get(messages, "testProperty-validate", propertyValue);
}
EnvironmentMessages em = new EnvironmentMessages(messages, "testProperty");
e.push(EnvironmentMessages.class, em);
replay();
}
use of org.apache.tapestry5.internal.beaneditor.EnvironmentMessages in project tapestry-5 by apache.
the class MessagesConstraintGenerator method buildConstraints.
public List<String> buildConstraints(Class propertyType, AnnotationProvider annotationProvider) {
EnvironmentMessages environmentMessages = environment.peek(EnvironmentMessages.class);
if (environmentMessages == null) {
return null;
}
String key = environmentMessages.getOverrideId() + "-validate";
Messages m = environmentMessages.getMessages();
if (!m.contains(key)) {
return null;
}
String result = m.get(key);
if (InternalUtils.isBlank(result)) {
return null;
}
return Arrays.asList(splitPattern.split(result));
}
use of org.apache.tapestry5.internal.beaneditor.EnvironmentMessages in project tapestry-5 by apache.
the class TapestryModule method decorateFieldValidatorDefaultSource.
/**
* Decorate FieldValidatorDefaultSource to setup the EnvironmentMessages
* object and place it in the environment.
* Although this could have been implemented directly in the default
* implementation of the service, doing it
* as service decoration ensures that the environment will be properly setup
* even if a user overrides the default
* service implementation.
*
* @param defaultSource
* The service to decorate
* @param environment
*/
public static FieldValidatorDefaultSource decorateFieldValidatorDefaultSource(final FieldValidatorDefaultSource defaultSource, final Environment environment) {
return new FieldValidatorDefaultSource() {
public FieldValidator createDefaultValidator(Field field, String overrideId, Messages overrideMessages, Locale locale, Class propertyType, AnnotationProvider propertyAnnotations) {
environment.push(EnvironmentMessages.class, new EnvironmentMessages(overrideMessages, overrideId));
FieldValidator fieldValidator = defaultSource.createDefaultValidator(field, overrideId, overrideMessages, locale, propertyType, propertyAnnotations);
environment.pop(EnvironmentMessages.class);
return fieldValidator;
}
public FieldValidator createDefaultValidator(ComponentResources resources, String parameterName) {
EnvironmentMessages em = new EnvironmentMessages(resources.getContainerMessages(), resources.getId());
environment.push(EnvironmentMessages.class, em);
FieldValidator fieldValidator = defaultSource.createDefaultValidator(resources, parameterName);
environment.pop(EnvironmentMessages.class);
return fieldValidator;
}
};
}
Aggregations