using Velocity to externalize configuration properties ?
Tom Zeller
tzeller at dragonacea.biz
Fri Aug 2 10:22:41 EDT 2013
> Below is what I said on the committers list back in Feb. Basically, if
> we've gotten to the point of defining /META-INF/spring.schemas files, we
> need to make sure we're using them correctly. The key of those properties
> files should be the (remote) schema location URI, NOT the schema namespace
> URI.
>
>
>
> I was skimming this to refresh my memory and remembered something that
> seems relevant to mention:
>
> Re: section 'F5.2 META-INF/spring.schemas', the v2 code flubbed this. I
> pointed out to Chad a long time ago (when I was basically learning this
> stuff the first time), but basically it was too late to fix.
>
> That file is suppose to define a mapping from a (likely remote) schema
> *location* to its local classpath location, so can be resolved locally
> rather than remotely. (It's basically their proprietary notion of an XML
> Catalog type of thingy). Instead, our files in shib-common and
> shib-idp2 are defined as a mapping from the schema namespace URI to the
> classpath location. (The mistake probably arises from conceptually
> equating it to the schema.handlers, which is a mapping from namespace
> URI to handler class).
>
> However, despite the mistake it "works" IIRC because we also supply a
> custom entity resolver to Spring that makes the same conceptual mistake
> (at least we're consistent). And I *think* that only works b/c we only
> ever process our own custom schema with that particular code. If we
> were ever having Spring process both custom and standard bean schema in
> the same go, this might actually break things.
>
> Just wanted to point out in case anyone looks at the v2 stuff and says
> WTF...
Yes the v2 error has been ported to v3. Thanks for the reminder, again.
So what should be in spring.schemas, instead of the following, for example :
urn\:mace\:shibboleth\:2.0\:afp = schema/shibboleth-2.0-afp.xsd
?
My thought is that instead or "urn..." the key should be "http:..."
but I don't see how that helps hence my question.
(I also do not know what the Spring EntityResolver does, but I will go
look that up if I should)
More information about the dev
mailing list