static public TypeSystemDescription getTypeSystemDescription()

in CasViewerEclipsePlugin/uimaj-ep-casviewer-core/src/main/java/org/apache/uima/casviewer/core/internal/TypeSystemUtils2.java [55:102]


    static public TypeSystemDescription getTypeSystemDescription (XMLizable specifier, ResourceManager rm) throws InvalidXMLException, ResourceInitializationException
    {
        TypeSystemDescription tsDescription = null;
        
            if (specifier instanceof TaeDescription) {
                TaeDescription tae = (TaeDescription) specifier;
                if ( tae.isPrimitive() ) {
                    AnalysisEngineMetaData meta = tae.getAnalysisEngineMetaData();
                    if (rm != null) {    
                        meta.resolveImports(rm);
                    } else {
                        meta.resolveImports();
                    }
                    tsDescription = meta.getTypeSystem();
                } else {
                    if (rm != null) {
                        tsDescription = CasCreationUtils.mergeDelegateAnalysisEngineTypeSystems(tae, rm);                        
                    } else {
                        tsDescription = CasCreationUtils.mergeDelegateAnalysisEngineTypeSystems(tae);
                    }
                }                
            } else if (specifier instanceof CasConsumerDescription) {
                ProcessingResourceMetaData meta = ((CasConsumerDescription)specifier).getCasConsumerMetaData();
                if (rm != null) {    
                    meta.resolveImports(rm);
                } else {
                    meta.resolveImports();
                }
                tsDescription = meta.getTypeSystem();
            } else if (specifier instanceof CollectionReaderDescription) {
                ProcessingResourceMetaData meta = ((CollectionReaderDescription)specifier).getCollectionReaderMetaData();
                if (rm != null) {    
                    meta.resolveImports(rm);
                } else {
                    meta.resolveImports();
                }
                tsDescription = meta.getTypeSystem();
            } else if (specifier instanceof TypeSystemDescription) {
                if (rm != null) {    
                    ((TypeSystemDescription) specifier).resolveImports(rm);
                } else {
                    ((TypeSystemDescription) specifier).resolveImports();
                }
                return (TypeSystemDescription) specifier;
            }

        return tsDescription;
    } // getTypeSystemDescription