+1.  I think being able to move the displayName out of code an into config
/ ResourceBundle will make it much easier to support i18n[1].  If no config
is provided, the name is the default... otherwise, the name displayed is
determined by the locale.  Updating the mock framework to complain about
the absence of a ResourceBundle will encourage adoption, and we'll
gradually work our way to not being English only.

Brandon

[1] https://docs.oracle.com/javase/tutorial/i18n/intro/quick.html

On Thu, May 5, 2016 at 11:46 PM Adam Lamar <adamond...@gmail.com> wrote:

> On Tue, May 3, 2016 at 12:09 PM, Andy LoPresto <alopre...@apache.org>
> wrote:
>
> > As a result of some conversations and some varying feedback on PRs, I’d
> like
> > to discuss with the community an issue I see with PropertyDescriptor name
> > and displayName attributes. I’ll describe the scenarios that cause issues
> > and my proposed solution, and then solicit responses and other
> perspectives.
>
> Andy,
>
> I'd be +1 on this as well. I think the power of this approach will
> become more clear over time, and some of the automation will make it
> possible to more widely enforce.
>
> What do you think about a mixed mode where config reading code can
> fetch the property value with either the name or display name as the
> key, defaulting to the name if it is present? A sample read of
> flow.xml.gz might look like this:
>
> * Processor asks for value of MY_CONFIG_PROPERTY
> * Configuration code looks for key "my-config-property", returns if present
> * Configuration code looks for key "My Config Property", returns if present
> * On finding no valid key, configuration returns blank/default/null
> value (whatever is done today)
>
> On configuration write, the new attributes could be written as the
> normalized name (instead of display name), to allow processors that
> have made the switch to start using the normalized name field and
> start taking advantage of the new features around it (e.g.
> internationalization). Perhaps a disadvantage to this approach is that
> it auto-upgrades an existing flow.xml.gz, making it difficult to
> downgrade from (for example) 0.7 back to 0.6.
>
> A strategy like this (or something similar) might help speed adoption
> by making the process a bit smoother for existing flow.xml.gz files
> and easier to upgrade processors incrementally. At 1.0, display names
> as configuration keys could be dropped, and the upgrade path for users
> on old 0.x releases would be to upgrade to the latest 0.x before
> making the jump to 1.0.
>
> Cheers,
> Adam
>

Reply via email to