Scripted Attribute resolution and legacy support.

Rod Widdowson rdw at steadingsoftware.com
Tue Mar 26 14:16:58 EDT 2013


> > 1) Change the name that the scripting sees for the V3 resolution context
so
> > that we make the emulated V2 one available via the old name (done).
> 
> Could you point me where this was done ?
> 

r4358
(http://svn.shibboleth.net/view/java-identity-provider?view=revision&revisio
n=4358)

> In IDP-206 I see the following, but I don't understand :
> 
> 1) Rename the (Native, V3) resolutionContext to be "resolutionContext"
> such that "requestContext" can be used for legacy (V2) scripts

That’s it.  In V2 we document "requestContext " to be that monster with 110
methods.  Until r4358 "requestContext " pointed to a
net.shibboleth.attribute.resolver.AttributeResolutionContext, we now point
to this by a variable called "resolutionContext".

> > 4) Add a vestigial
> >
edu.internet2.middleware.shibboleth.common.attribute.provider.BaseAttribute
> > with one method: Collection<String> getValues. [*]
> > [*] this class represents a difficulty - do we want to put it inside
> > idp-attribute-resolver-impl (which is a bit ugly) or do we want to give
it
> > its own jar (which is overkill).  Opinions?
> 
> As we chatted, the v2 BaseAttribute might have a long life in scripts
> if we provide backwards compatibility. Wondering if an
> idp-v2-compatibility module might contain such things.

Of even idp-v2-compatibility-impl.   That’s what I thought - it just seems
like a heavyweight beast to summon up just to have one 20 line class in it.


Mind you it feels as though there may be more things added with time (I am
hoping to avoid V2 ScopedAttribute), and I just hate the idea of having an
edu.internet2.bla directory tree inside idp-attribute-resolution-impl.  Of
course there is one nit in that idp-attribute-resolution-impl would depend
on idp-v2-compatibility which is sort of against our rules, but I can live
with that since it isn't an *-api depending on an *-impl.  

I leave it to you (Tom) to decide with a request that if you want to create
a new module, could you do the doings to make it happen so I can check stuff
into it?  Thanks.

/Rod




More information about the dev mailing list