ScopedLocalizableError should have public accessors for defaultName, key, and
parameters
----------------------------------------------------------------------------------------
Key: STS-539
URL: http://www.stripesframework.org/jira/browse/STS-539
Project: Stripes
Issue Type: Improvement
Components: Validation
Affects Versions: Release 1.4.3, Release 1.5
Environment: All
Reporter: Ryan Asleson
I need the Stripes localization stuff to be more pluggable than it currently
is. Most specifically, for the validator annotations, I need to be able to
specify the exact key that should be used to look up the field name from the
custom content repository our applications use.
My thought is this: first, leverage the new "label" attribute in the
@Validation annotation and in it put the field name key. For the field name
key in the "label" attribute to be used to look up the field name from the
content repository, I can subclass the ScopedLocalizableError class and
override the resolveFieldName method (which is actually in the SimpleError
superclass) to use the "label" attribute to look up the actual field name text
from the content repository.
Since Stripes uses ScopedLocalizableError in several places (and can't be
replaced) I'm thinking that I can create an Interceptor that uses the
@Intercepts({LifecycleStage.BindingAndValidation}) annotation. In the
intercept method, I could get the validation errors from the ActionBeanContext,
and then iterate through the errors. For each ScopedLocalizableError, I would
create an instance of MyScopedLocalizableError (which obviously extends
ScopedLocalizableError) so the overridden resolveFieldName method can be used.
However, there is no way to transfer the state of the ScopedLocalizableError to
the new subclass I'm creating. The subclass instance needs to have the same
state as the ScopedLocalizableError. Specifically, the parameters in
ScopedLocalizableError's constructor -- defaultName, key, and the optional
parameters -- need to have public getter methods.
Can ScopedLocalizableError be extended to include public getter methods for
defaultName, key, and the optional parameters? So I can do something like this
public class MyScopedLocalizableError extends ScopedLocalizableError {
public MyScopedLocalizableError(ScopedLocalizableError error) {
super(error.getDefaultName, error.getKey, error.getparameters);
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://www.stripesframework.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development