On 12/12/06, Eddie Epstein <[EMAIL PROTECTED]> wrote:
Currently the base CAS and views have the same API set, the only
differences between the base CAS and all other views are:
 - the base CAS has no index repository
 - the base CAS has no Sofa

Given a base CAS it is possible to create FS, including Sofas, but not
annotation FS because they require a Sofa to point at.

To me the important thing is to give all process methods the same CAS
handle, and the current base CAS is perfectly suitable.


There are two related issues here:

(1) The "CAS" passed to the process method currently might be a view
or might be the "base CAS".  We can simplify by always passing a base
CAS.  I estimate I'm about +0.5 on this right now.

(2) It is confusing that an object of type "CAS" could be either a
base CAS or a view.  A base CAS has several unsupported operations,
which throw exceptions if you call them.  I cannot think of a rational
justification for this design other than backwards compatibility.
Most of the recent discussions have been about how to fix this,
however as I said in my previous note any attempt to fix this
seriously complicates the migration story.  Maybe someone can come up
with a brilliant idea about how we can fix this and still support
migration?  That would be nice.

-Adam

Reply via email to