[SAGA-RG] Context and Session thoughts

Steve Fisher dr.s.m.fisher at gmail.com
Thu Feb 19 12:03:36 CST 2009


Hi,

I am not very clear from the spec how to handle contexts - and it
would appear that C++ and Java implementations have interpreted it
differently. I will try to explain what I think should happen then you
can all tell me why I am wrong.

If I have omitted the session parameter to get a default session then
I get a session with the default context.

An implementation (which may or may be adapter based) has a set of
contexts that it knows about - each with an implementation-defined
type.

An  implementation-defined context type in turn defines a set of
context attribute names that are meaningful to that type

The implementation defines one of the contexts types that it knows
about as a default type - so the default context is actually a context
with the default type.

If the default context needs to be modified by the user to be useful -
e.g. storing a password - then there is no benefit in using the
default context. So the default context should not be modifiable by
the user. It may be implemented as  a singleton.

The user can also create a context with a type known to him and to the
implementation. He may need to set attributes of this context before
it can be used. The implementation must not modify any attributes -
though the constructor may set attributes to sensible defaults which
can then be modified by the user.

The set_defaults call should *not* be in the spec - it is purely an
implementation thing.

Steve


More information about the saga-rg mailing list