TyErrorId typeSystemInit(TypeSystem const & crTypeSystem) {
    cout << "SofaExampleAnnotator::typeSystemInit()" << endl;

    // get Type and Feature objects for use in process()
    annot  = crTypeSystem.getType("uima.tcas.Annotation");
    cross  = crTypeSystem.getType("sofa.test.CrossAnnotation");
    other = cross.getFeatureByBaseName("otherAnnotation");
    if (!(annot.isValid() && cross.isValid() && other.isValid())) {
      cout << "SofaExampleAnnotator::typeSystemInit() - Error getting Type or Feature objects" << endl;
      return (TyErrorId)UIMA_ERR_RESMGR_INVALID_RESOURCE;
    }
    return(TyErrorId)UIMA_ERR_NONE;
  }
		/*!
		* Initializes the typesystem types and features
		*/
		TyErrorId AnnotatorPerformanceAnnotation::initializeTypeSystem(TypeSystem const& crTypeSystem)
		{
			tAnnotatorPerformanceAnnotation = crTypeSystem.getType("org.gramlab.kwaga.unitex_uima.general.tcas.AnnotatorPerformanceAnnotation");
			if (!tAnnotatorPerformanceAnnotation.isValid())
				return (TyErrorId) UIMA_ERR_RESMGR_INVALID_RESOURCE;

			fComponentName = tAnnotatorPerformanceAnnotation.getFeatureByBaseName("componentName");
			fElapsedTime = tAnnotatorPerformanceAnnotation.getFeatureByBaseName("elapsedTime");

			return (TyErrorId) UIMA_ERR_NONE;
		}
		/*!
		 * Initializes the typesystem types and features
		 */
		TyErrorId SentenceAnnotation::initializeTypeSystem(TypeSystem const& crTypeSystem)
		{
			if (ContextAreaAnnotation::initializeTypeSystem(crTypeSystem) != UIMA_ERR_NONE)
				return (TyErrorId) UIMA_ERR_RESMGR_INVALID_RESOURCE;

			tSentenceAnnotation = crTypeSystem.getType("org.gramlab.kwaga.unitex_uima.unitex.tcas.SentenceAnnotation");
			if (!tSentenceAnnotation.isValid())
				return (TyErrorId) UIMA_ERR_RESMGR_INVALID_RESOURCE;

			fParagraph = tSentenceAnnotation.getFeatureByBaseName("paragraph");

			return (TyErrorId) UIMA_ERR_NONE;
		}
示例#4
0
 TyErrorId typeSystemInit(TypeSystem const & crTypeSystem) {
   cout << "SofaDataAnnotator: typeSystemInit()" << endl;
   annot  = crTypeSystem.getType("uima.tcas.Annotation");
   return(TyErrorId)UIMA_ERR_NONE;
 }
 /*static*/
 void
 CapabilityContainer::initTypeOrFeatures(
   TyMapLang2TypeOrFeatures & rMap, // output argument
   Capability::TyVecCapabilityTofs const & vecTofs,
   Capability::TyVecCapabilityLanguages const & vecLangs,
   TypeSystem const & typeSystem) {
   const int BUF_SIZE = 0x100;
   char  cBuf[BUF_SIZE];
   Capability::TyVecCapabilityLanguages::const_iterator itLang;
   for (itLang = vecLangs.begin(); itLang != vecLangs.end(); ++itLang) {
     // convert unicode lang string to single-byte lang string
     assert((*itLang).length() < BUF_SIZE);
     // Note: this conversion can be used only for invariant characters
     u_UCharsToChars((*itLang).getBuffer(), cBuf, (*itLang).length());
     // zero terminate single-byte buffer
     cBuf[(*itLang).length()] = '\0';
     // Special workaround code for the new way to specify the unspecified language
     if (strcasecmp(cBuf, "x-unspecified") == 0) {
       strcpy(cBuf, Language::UNSPECIFIED);
     }
     // create a language object based on single-byte lang string
     Language lang(cBuf);
     if (!lang.isValid()) {
       /* taph 06.02.2003: once we have more detailed information about
       the origin of the error we need to replace "unknown configuration file"
       with the filename of the XML file (and maybe line number?) */
       UIMA_EXC_THROW_NEW(uima::CapabilityException,          // exc-type
                          UIMA_ERR_ENGINE_LANGUAGE_INVALID,   // error code
                          ErrorMessage(UIMA_MSG_ID_EXC_INVALID_LANGUAGE, cBuf), // error message
                          ErrorMessage(UIMA_MSG_ID_EXCON_CHECKING_CAPABILITY_SPEC,"unknown configuration file"),  // error context message
                          ErrorInfo::recoverable);
     }
     // create a new empty vector in the map for this lang
     TySetTypeOrFeatures & setTofs = rMap[lang];
     // now fill the vector with tof objects created from tof strings
     Capability::TyVecCapabilityTofs::const_iterator itTof;
     for (itTof = vecTofs.begin(); itTof != vecTofs.end(); ++itTof) {
       TypeOrFeature tof;
       // the tof string may be a type...
       Type t = typeSystem.getType(*itTof);
       if (t.isValid()) {
         tof = TypeOrFeature(t);
       } else {
         // or the tof string may be a feature
         Feature f = typeSystem.getFeatureByFullName(*itTof);
         if (f.isValid()) {
           tof = TypeOrFeature(f);
         } else {
           /* taph 06.02.2003: once we have more detailed information about
           the origin of the error we need to replace "unknown configuration file"
           with the filename of the XML file (and maybe line number?) */
           if (tof.isType()) {
             UIMA_EXC_THROW_NEW(uima::CapabilityException,        // exc-type
                                UIMA_ERR_INVALID_FSTYPE_OBJECT,   // error code
                                ErrorMessage(UIMA_MSG_ID_EXC_UNKNOWN_TYPE_NAME, *itTof), // error message
                                ErrorMessage(UIMA_MSG_ID_EXCON_CHECKING_CAPABILITY_SPEC, "unknown configuration file"),  // error context message
                                ErrorInfo::recoverable);
           } else {
             UIMA_EXC_THROW_NEW(uima::CapabilityException,        // exc-type
                                UIMA_ERR_INVALID_FSFEATURE_OBJECT,// error code
                                ErrorMessage(UIMA_MSG_ID_EXC_UNKNOWN_FEATURE_NAME, *itTof), // error message
                                ErrorMessage(UIMA_MSG_ID_EXCON_CHECKING_CAPABILITY_SPEC, "unknown configuration file"),  // error context message
                                ErrorInfo::recoverable);
           }
         }
       }
       assert(tof.isValid());
       setTofs.insert(tof);
     } // for all tof strings
   } // for all lang strings
 }