Re: [higgins-dev] Configuration changes ready to check in
> I'll fix them.
Cool, thanks. I just bought my mom a cheap router for
her house so I can get decent internet access ... but go
ahead and make the changes for me cuz I'll be pretty
busy until I get back to work on Tuesday.
> If we leave off the "./", then I can't distinguish a
> reference to a sibling from a reference to a top-level
> setting. We could fix this, of course, by requiring a
> leading "/" to explicitly start at the root. In other
> words "/foo" means the foo setting at the top level,
> and "foo" means the foo sibling.
Yeah, I like that. It's intuitive AND it doesn't imply
that relative paths might be supported in any way.
Do you like that approach?
>>> Greg Byrd <gbyrd@xxxxxxxx> 7/28/2007 7:48 AM >>>
Tom Doman wrote:
Sorry, I'm out of town since just after I received your e-mail about reference path syntaxes and I've got spotty internet access here for some reason. I'll try to get to you on that subject but with regard to the breaking configuration changes, I have a couple of ISettingHandlers of my own in the new common project, org.eclipse.higgins.idas.cp.jscript that will break due to this change and I will not return until Tuesday. I think you could probably fix those up yourself because they're not terribly complicated but I'd be happy to do it when I return.
I'll fix them.
With regard to the reference path syntax, I like what you've done and I really only have a clarification question. Would the relative path special-case be to allow me to refer to a sibling w/o requiring it to come first (ie. be an "older" sibling of any sibling that references it)? If so, cool, I like it, I think that's intuitive, and no, I don't think we need to support walking up the tree. Though, couldn't we do this same thing w/o the "./"? Just say the reference = "foo", and it must be a sibling (again preferably in any order but I'd understand and would be all right with the requirement that it be an "older" sibling). Am I understanding special-case correctly?
It would still have to be an older sibling, because the thing being referenced must already be processed and added to the settings map. A forward reference would require some sort of second placeholder with a second pass through the settings to resolve them.
The reason for providing the relative path is for convenience and maintainability. A setting with only internal references could be moved or copied with no changes.
If we leave off the "./", then I can't distinguish a reference to a sibling from a reference to a top-level setting. We could fix this, of course, by requiring a leading "/" to explicitly start at the root. In other words "/foo" means the foo setting at the top level, and "foo" means the foo sibling.
Greg Byrd <gbyrd@xxxxxxxx> ( mailto:gbyrd@xxxxxxxx ) 7/27/2007 9:42 AM >>> I made some changes to the XML configuration classes to allow for the more sophisticated Reference type that Tom asked for. This is a breaking change, but only if you call an ISettingHandler or have written your own -- there is an additional argument added to ISettingHandler.getSetting().
The new ReferenceHandler will allow a reference to be specified as a "path" from the top-level setting, or from the parent setting. Both maps and lists are supported. See Bug 198010 (link below) for more info.
Unless I hear an objection, I'll check these in on Monday (7/30).
Not sure whether this should be part of M0.9 or not.
higgins-dev mailing firstname.lastname@example.org://dev.eclipse.org/mailman/listinfo/higgins-dev