You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Marshall Schor (JIRA)" <ui...@incubator.apache.org> on 2007/05/20 21:52:16 UTC

[jira] Created: (UIMA-409) Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class

Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class
----------------------------------------------------------------------------------------

                 Key: UIMA-409
                 URL: https://issues.apache.org/jira/browse/UIMA-409
             Project: UIMA
          Issue Type: Improvement
          Components: Core Java Framework
    Affects Versions: 2.1
            Reporter: Marshall Schor
         Assigned To: Marshall Schor
            Priority: Minor
             Fix For: 2.2


Prepatory to work on supporing multiple classloaders, this change reorganizes several classes as follows:
1) following a suggestion by Thilo, added the CASMetadata class: holds "final" refs to a TypeSystemImpl instance, and a FSClassRegistry instance; also holds structures derived from these used by the CASImpl in doing its work.  There is now just one instance of FSClassRegistry per instance of CASMetadata, and one instance of CASMetadata per instance of TypeSystemImpl.
2) TypeSystemImpl had a set of package-private variables holding instances of some built-in Types and TypeCodes.  So did CASImpl.  These are now consolidated into one spot - the TypeSystemImpl.  
3) Creation of a new TypeSystemImpl object loads it with the UIMA Built-in types.
4) The CASImpl class has a new inner class called SharedViewData; all CASImpl fields which are shared by all views are stored here.  The only things not in this inner class are things related to the index repository, the mySofaRef, and the JCasImpl ref corresponding to this Cas View.  The shared view data replaces a previous strategy of copying things for each view.
5) The JCas now shares all generated JCas cover objects among all views.  The cover object has a particular view instance, which is updated, as follows:  "new": the view used to create it;  De-reference: the view associated with the referring object; Iteration: the view containing the index being iterated over. 
6) Following a suggestion by Adam, changed the generators to ignore what's in the JCas _Type objects, and instead use a standard generator.
7) Several issues around Sofas and Views were cleared up - these were potential bugs that could happen if users used old APIs in unusual ways.
8) JCas class loading is changed to load once per "class loader", and share these across all "views".  However, there are still individual _Type objects per view, per the discussion in the uima-dev list.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Created: (UIMA-409) Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class

Posted by Marshall Schor <ms...@schor.com>.
The updates for 409 are now checked in.  I'm getting a strange test case 
failure, in the PearInstallerTest.  If I run this by itself, or
with all the other tests from the uima-core test suite, from Eclipse, 
using JUnit runner, it works without error. 
If I run it from "mvn install" in the uimaj directory - it fails 
validation, with no error message (it says "unknown error").

Will look at this more...

-Marshall

Marshall Schor (JIRA) wrote:
> Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class
> ----------------------------------------------------------------------------------------
>
>                  Key: UIMA-409
>                  URL: https://issues.apache.org/jira/browse/UIMA-409
>              Project: UIMA
>           Issue Type: Improvement
>           Components: Core Java Framework
>     Affects Versions: 2.1
>             Reporter: Marshall Schor
>          Assigned To: Marshall Schor
>             Priority: Minor
>              Fix For: 2.2
>
>
> Prepatory to work on supporing multiple classloaders, this change reorganizes several classes as follows:
> 1) following a suggestion by Thilo, added the CASMetadata class: holds "final" refs to a TypeSystemImpl instance, and a FSClassRegistry instance; also holds structures derived from these used by the CASImpl in doing its work.  There is now just one instance of FSClassRegistry per instance of CASMetadata, and one instance of CASMetadata per instance of TypeSystemImpl.
> 2) TypeSystemImpl had a set of package-private variables holding instances of some built-in Types and TypeCodes.  So did CASImpl.  These are now consolidated into one spot - the TypeSystemImpl.  
> 3) Creation of a new TypeSystemImpl object loads it with the UIMA Built-in types.
> 4) The CASImpl class has a new inner class called SharedViewData; all CASImpl fields which are shared by all views are stored here.  The only things not in this inner class are things related to the index repository, the mySofaRef, and the JCasImpl ref corresponding to this Cas View.  The shared view data replaces a previous strategy of copying things for each view.
> 5) The JCas now shares all generated JCas cover objects among all views.  The cover object has a particular view instance, which is updated, as follows:  "new": the view used to create it;  De-reference: the view associated with the referring object; Iteration: the view containing the index being iterated over. 
> 6) Following a suggestion by Adam, changed the generators to ignore what's in the JCas _Type objects, and instead use a standard generator.
> 7) Several issues around Sofas and Views were cleared up - these were potential bugs that could happen if users used old APIs in unusual ways.
> 8) JCas class loading is changed to load once per "class loader", and share these across all "views".  However, there are still individual _Type objects per view, per the discussion in the uima-dev list.
>
>   


[jira] Resolved: (UIMA-409) Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor resolved UIMA-409.
---------------------------------

    Resolution: Fixed

> Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class
> ----------------------------------------------------------------------------------------
>
>                 Key: UIMA-409
>                 URL: https://issues.apache.org/jira/browse/UIMA-409
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Marshall Schor
>         Assigned To: Marshall Schor
>            Priority: Minor
>             Fix For: 2.2
>
>
> Prepatory to work on supporing multiple classloaders, this change reorganizes several classes as follows:
> 1) following a suggestion by Thilo, added the CASMetadata class: holds "final" refs to a TypeSystemImpl instance, and a FSClassRegistry instance; also holds structures derived from these used by the CASImpl in doing its work.  There is now just one instance of FSClassRegistry per instance of CASMetadata, and one instance of CASMetadata per instance of TypeSystemImpl.
> 2) TypeSystemImpl had a set of package-private variables holding instances of some built-in Types and TypeCodes.  So did CASImpl.  These are now consolidated into one spot - the TypeSystemImpl.  
> 3) Creation of a new TypeSystemImpl object loads it with the UIMA Built-in types.
> 4) The CASImpl class has a new inner class called SharedViewData; all CASImpl fields which are shared by all views are stored here.  The only things not in this inner class are things related to the index repository, the mySofaRef, and the JCasImpl ref corresponding to this Cas View.  The shared view data replaces a previous strategy of copying things for each view.
> 5) The JCas now shares all generated JCas cover objects among all views.  The cover object has a particular view instance, which is updated, as follows:  "new": the view used to create it;  De-reference: the view associated with the referring object; Iteration: the view containing the index being iterated over. 
> 6) Following a suggestion by Adam, changed the generators to ignore what's in the JCas _Type objects, and instead use a standard generator.
> 7) Several issues around Sofas and Views were cleared up - these were potential bugs that could happen if users used old APIs in unusual ways.
> 8) JCas class loading is changed to load once per "class loader", and share these across all "views".  However, there are still individual _Type objects per view, per the discussion in the uima-dev list.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Work started: (UIMA-409) Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on UIMA-409 started by Marshall Schor.

> Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class
> ----------------------------------------------------------------------------------------
>
>                 Key: UIMA-409
>                 URL: https://issues.apache.org/jira/browse/UIMA-409
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Marshall Schor
>         Assigned To: Marshall Schor
>            Priority: Minor
>             Fix For: 2.2
>
>
> Prepatory to work on supporing multiple classloaders, this change reorganizes several classes as follows:
> 1) following a suggestion by Thilo, added the CASMetadata class: holds "final" refs to a TypeSystemImpl instance, and a FSClassRegistry instance; also holds structures derived from these used by the CASImpl in doing its work.  There is now just one instance of FSClassRegistry per instance of CASMetadata, and one instance of CASMetadata per instance of TypeSystemImpl.
> 2) TypeSystemImpl had a set of package-private variables holding instances of some built-in Types and TypeCodes.  So did CASImpl.  These are now consolidated into one spot - the TypeSystemImpl.  
> 3) Creation of a new TypeSystemImpl object loads it with the UIMA Built-in types.
> 4) The CASImpl class has a new inner class called SharedViewData; all CASImpl fields which are shared by all views are stored here.  The only things not in this inner class are things related to the index repository, the mySofaRef, and the JCasImpl ref corresponding to this Cas View.  The shared view data replaces a previous strategy of copying things for each view.
> 5) The JCas now shares all generated JCas cover objects among all views.  The cover object has a particular view instance, which is updated, as follows:  "new": the view used to create it;  De-reference: the view associated with the referring object; Iteration: the view containing the index being iterated over. 
> 6) Following a suggestion by Adam, changed the generators to ignore what's in the JCas _Type objects, and instead use a standard generator.
> 7) Several issues around Sofas and Views were cleared up - these were potential bugs that could happen if users used old APIs in unusual ways.
> 8) JCas class loading is changed to load once per "class loader", and share these across all "views".  However, there are still individual _Type objects per view, per the discussion in the uima-dev list.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (UIMA-409) Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor reopened UIMA-409:
---------------------------------


failing to install generators properly.

> Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class
> ----------------------------------------------------------------------------------------
>
>                 Key: UIMA-409
>                 URL: https://issues.apache.org/jira/browse/UIMA-409
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 2.2
>
>
> Prepatory to work on supporing multiple classloaders, this change reorganizes several classes as follows:
> 1) following a suggestion by Thilo, added the CASMetadata class: holds "final" refs to a TypeSystemImpl instance, and a FSClassRegistry instance; also holds structures derived from these used by the CASImpl in doing its work.  There is now just one instance of FSClassRegistry per instance of CASMetadata, and one instance of CASMetadata per instance of TypeSystemImpl.
> 2) TypeSystemImpl had a set of package-private variables holding instances of some built-in Types and TypeCodes.  So did CASImpl.  These are now consolidated into one spot - the TypeSystemImpl.  
> 3) Creation of a new TypeSystemImpl object loads it with the UIMA Built-in types.
> 4) The CASImpl class has a new inner class called SharedViewData; all CASImpl fields which are shared by all views are stored here.  The only things not in this inner class are things related to the index repository, the mySofaRef, and the JCasImpl ref corresponding to this Cas View.  The shared view data replaces a previous strategy of copying things for each view.
> 5) The JCas now shares all generated JCas cover objects among all views.  The cover object has a particular view instance, which is updated, as follows:  "new": the view used to create it;  De-reference: the view associated with the referring object; Iteration: the view containing the index being iterated over. 
> 6) Following a suggestion by Adam, changed the generators to ignore what's in the JCas _Type objects, and instead use a standard generator.
> 7) Several issues around Sofas and Views were cleared up - these were potential bugs that could happen if users used old APIs in unusual ways.
> 8) JCas class loading is changed to load once per "class loader", and share these across all "views".  However, there are still individual _Type objects per view, per the discussion in the uima-dev list.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Reopened: (UIMA-409) Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor reopened UIMA-409:
---------------------------------


some user code doesn't set the sofa / view for subtypes of annotation-base.  Handle more gracefully.

> Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class
> ----------------------------------------------------------------------------------------
>
>                 Key: UIMA-409
>                 URL: https://issues.apache.org/jira/browse/UIMA-409
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 2.2
>
>
> Prepatory to work on supporing multiple classloaders, this change reorganizes several classes as follows:
> 1) following a suggestion by Thilo, added the CASMetadata class: holds "final" refs to a TypeSystemImpl instance, and a FSClassRegistry instance; also holds structures derived from these used by the CASImpl in doing its work.  There is now just one instance of FSClassRegistry per instance of CASMetadata, and one instance of CASMetadata per instance of TypeSystemImpl.
> 2) TypeSystemImpl had a set of package-private variables holding instances of some built-in Types and TypeCodes.  So did CASImpl.  These are now consolidated into one spot - the TypeSystemImpl.  
> 3) Creation of a new TypeSystemImpl object loads it with the UIMA Built-in types.
> 4) The CASImpl class has a new inner class called SharedViewData; all CASImpl fields which are shared by all views are stored here.  The only things not in this inner class are things related to the index repository, the mySofaRef, and the JCasImpl ref corresponding to this Cas View.  The shared view data replaces a previous strategy of copying things for each view.
> 5) The JCas now shares all generated JCas cover objects among all views.  The cover object has a particular view instance, which is updated, as follows:  "new": the view used to create it;  De-reference: the view associated with the referring object; Iteration: the view containing the index being iterated over. 
> 6) Following a suggestion by Adam, changed the generators to ignore what's in the JCas _Type objects, and instead use a standard generator.
> 7) Several issues around Sofas and Views were cleared up - these were potential bugs that could happen if users used old APIs in unusual ways.
> 8) JCas class loading is changed to load once per "class loader", and share these across all "views".  However, there are still individual _Type objects per view, per the discussion in the uima-dev list.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (UIMA-409) Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor resolved UIMA-409.
---------------------------------

    Resolution: Fixed

This issue is a bit mixed up with UIMA-386...  But at this point I think work is complete.

> Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class
> ----------------------------------------------------------------------------------------
>
>                 Key: UIMA-409
>                 URL: https://issues.apache.org/jira/browse/UIMA-409
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 2.2
>
>
> Prepatory to work on supporing multiple classloaders, this change reorganizes several classes as follows:
> 1) following a suggestion by Thilo, added the CASMetadata class: holds "final" refs to a TypeSystemImpl instance, and a FSClassRegistry instance; also holds structures derived from these used by the CASImpl in doing its work.  There is now just one instance of FSClassRegistry per instance of CASMetadata, and one instance of CASMetadata per instance of TypeSystemImpl.
> 2) TypeSystemImpl had a set of package-private variables holding instances of some built-in Types and TypeCodes.  So did CASImpl.  These are now consolidated into one spot - the TypeSystemImpl.  
> 3) Creation of a new TypeSystemImpl object loads it with the UIMA Built-in types.
> 4) The CASImpl class has a new inner class called SharedViewData; all CASImpl fields which are shared by all views are stored here.  The only things not in this inner class are things related to the index repository, the mySofaRef, and the JCasImpl ref corresponding to this Cas View.  The shared view data replaces a previous strategy of copying things for each view.
> 5) The JCas now shares all generated JCas cover objects among all views.  The cover object has a particular view instance, which is updated, as follows:  "new": the view used to create it;  De-reference: the view associated with the referring object; Iteration: the view containing the index being iterated over. 
> 6) Following a suggestion by Adam, changed the generators to ignore what's in the JCas _Type objects, and instead use a standard generator.
> 7) Several issues around Sofas and Views were cleared up - these were potential bugs that could happen if users used old APIs in unusual ways.
> 8) JCas class loading is changed to load once per "class loader", and share these across all "views".  However, there are still individual _Type objects per view, per the discussion in the uima-dev list.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (UIMA-409) Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor closed UIMA-409.
-------------------------------


> Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class
> ----------------------------------------------------------------------------------------
>
>                 Key: UIMA-409
>                 URL: https://issues.apache.org/jira/browse/UIMA-409
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 2.2
>
>
> Prepatory to work on supporing multiple classloaders, this change reorganizes several classes as follows:
> 1) following a suggestion by Thilo, added the CASMetadata class: holds "final" refs to a TypeSystemImpl instance, and a FSClassRegistry instance; also holds structures derived from these used by the CASImpl in doing its work.  There is now just one instance of FSClassRegistry per instance of CASMetadata, and one instance of CASMetadata per instance of TypeSystemImpl.
> 2) TypeSystemImpl had a set of package-private variables holding instances of some built-in Types and TypeCodes.  So did CASImpl.  These are now consolidated into one spot - the TypeSystemImpl.  
> 3) Creation of a new TypeSystemImpl object loads it with the UIMA Built-in types.
> 4) The CASImpl class has a new inner class called SharedViewData; all CASImpl fields which are shared by all views are stored here.  The only things not in this inner class are things related to the index repository, the mySofaRef, and the JCasImpl ref corresponding to this Cas View.  The shared view data replaces a previous strategy of copying things for each view.
> 5) The JCas now shares all generated JCas cover objects among all views.  The cover object has a particular view instance, which is updated, as follows:  "new": the view used to create it;  De-reference: the view associated with the referring object; Iteration: the view containing the index being iterated over. 
> 6) Following a suggestion by Adam, changed the generators to ignore what's in the JCas _Type objects, and instead use a standard generator.
> 7) Several issues around Sofas and Views were cleared up - these were potential bugs that could happen if users used old APIs in unusual ways.
> 8) JCas class loading is changed to load once per "class loader", and share these across all "views".  However, there are still individual _Type objects per view, per the discussion in the uima-dev list.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (UIMA-409) Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor resolved UIMA-409.
---------------------------------

    Resolution: Fixed

> Reorganization of TypeSystemImpl, CASImpl, FSClassRegistry, adding new CASMetadata class
> ----------------------------------------------------------------------------------------
>
>                 Key: UIMA-409
>                 URL: https://issues.apache.org/jira/browse/UIMA-409
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Core Java Framework
>    Affects Versions: 2.1
>            Reporter: Marshall Schor
>            Assignee: Marshall Schor
>            Priority: Minor
>             Fix For: 2.2
>
>
> Prepatory to work on supporing multiple classloaders, this change reorganizes several classes as follows:
> 1) following a suggestion by Thilo, added the CASMetadata class: holds "final" refs to a TypeSystemImpl instance, and a FSClassRegistry instance; also holds structures derived from these used by the CASImpl in doing its work.  There is now just one instance of FSClassRegistry per instance of CASMetadata, and one instance of CASMetadata per instance of TypeSystemImpl.
> 2) TypeSystemImpl had a set of package-private variables holding instances of some built-in Types and TypeCodes.  So did CASImpl.  These are now consolidated into one spot - the TypeSystemImpl.  
> 3) Creation of a new TypeSystemImpl object loads it with the UIMA Built-in types.
> 4) The CASImpl class has a new inner class called SharedViewData; all CASImpl fields which are shared by all views are stored here.  The only things not in this inner class are things related to the index repository, the mySofaRef, and the JCasImpl ref corresponding to this Cas View.  The shared view data replaces a previous strategy of copying things for each view.
> 5) The JCas now shares all generated JCas cover objects among all views.  The cover object has a particular view instance, which is updated, as follows:  "new": the view used to create it;  De-reference: the view associated with the referring object; Iteration: the view containing the index being iterated over. 
> 6) Following a suggestion by Adam, changed the generators to ignore what's in the JCas _Type objects, and instead use a standard generator.
> 7) Several issues around Sofas and Views were cleared up - these were potential bugs that could happen if users used old APIs in unusual ways.
> 8) JCas class loading is changed to load once per "class loader", and share these across all "views".  However, there are still individual _Type objects per view, per the discussion in the uima-dev list.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.