0.8 requires that we support nesting message bundles directly inside of
<Locale> tags. This will make for some fairly bizarre code paths.

To simplify the situation, I propose that the spec factory handle message
bundle retrieval as well, and simply inlines the message bundles directly
into the gadget spec. This would make code that looks like this:

MessageBundle bundle =
bundleFactory.getBundle(spec.getLocale(locale).getMessages())

look like this:

MessageBundle bundle = spec.getLocale(locale).getMessages()

With getMessages() returning the map of localizations, and a new method,
getMessagesUrl, returning the bundle location (in practice, it'll probably
almost never get used).

We'll be forced to fetch the bundles for every locale, but caching of the
spec xml, async bundle fetches using futures, or lazy loading can make the
performance impact negligible.

Does this make sense?

Reply via email to