> I've added a load of extra constructors which take a parent resource as the
> first argument, e.g.
>
> > public Resources(String baseName) throws IOException,
> > SerializationException {
> > this(null, baseName, Locale.getDefault(),
> > Charset.defaultCharset());
> > }
> >
>
> Now has a matching constructor:
>
> > public Resources(Resources parent, String baseName) throws
> IOException,
> > SerializationException {
> > this(parent, baseName, Locale.getDefault(),
> > Charset.defaultCharset());
> > }
> >
>
> Ultimately all constructors call the full argument constructor via this()
> passing the parent as null as appropriate.
That sounds great.
> This is the general approach I'm taking for delegating to the parent
> resources:
>
> Previous:
>
> > public String getString(String key) {
> > return JSONSerializer.getString(resourceMap, key);
> > }
> >
>
> New:
>
> > public String getString(String key) {
> > String s = JSONSerializer.getString(resourceMap, key);
> > if (s == null && parent != null) {
> > return parent.getString(key);
> > }
> > return s;
> > }
> >
Looks good to me.
Have written a test which confirms one of the new constructors and
> getString() but plan to add more tests to cover all the constructors and
> each of the getXXX types.
>
> Do you need anything more than that, Todd? Does any of the WTK code need
> to
> change to support your requirement?
Yeah, there needs to be a small change to WTKXSerializer, where we deal with
<wtkx:include>. Right now, the logic is that we pass our existing resources
down to the include serializer, unless a resources="..." attribute was found
in our include tag, in which case we *replace* the resources that's passed
to the include serializer with the specified resources. The logic should
change such that instantiate a new resources with our existing resources *as
its parent*, then use that new resources to pass to the include serializer.
However, I think Greg's making a somewhat significant change to
WTKXSerializer right now, so you could commit the rest first, then update
WTKXSerializer after you see Greg's update.
-T