2016-08-02 4 views

답변

2

상황 : 당신은 UIMA 루타 분석 엔진의 올바른 XML 설명이 있고 그 변경하여 경로가

다음 코드는 설명 파일로 descriptor.java URL의 폴더를 가리 키도록 재구성 할 다른 단계의 매개 변수 값 한 단계 만 필요합니다. 어떤 것이 올바른지는 코드에 따라 다릅니다.

package example; 

import java.io.File; 
import java.net.URL; 

import org.apache.uima.analysis_engine.AnalysisEngine; 
import org.apache.uima.analysis_engine.AnalysisEngineDescription; 
import org.apache.uima.fit.factory.AnalysisEngineFactory; 
import org.apache.uima.resource.metadata.ConfigurationParameterSettings; 
import org.apache.uima.ruta.engine.RutaEngine; 

public class ReconfigureExample { 

    public static void main(String[] args) throws Exception { 

    File file = new File("path to descriptor"); 
    String path = new File(file.toURI()).getParentFile().getAbsolutePath(); 
    String[] pathsArray = new String[] { path }; 

    // override the values in the descriptor when creating the description 
    AnalysisEngineDescription desc = AnalysisEngineFactory.createEngineDescriptionFromPath(
      file.getAbsolutePath(), RutaEngine.PARAM_SCRIPT_PATHS, pathsArray, 
      RutaEngine.PARAM_DESCRIPTOR_PATHS, pathsArray, RutaEngine.PARAM_RESOURCE_PATHS, 
      pathsArray); 

    // in case the location of the descriptor is not known... 
    URL sourceUrl = desc.getSourceUrl(); 
    path = new File(sourceUrl.toURI()).getParentFile().getAbsolutePath(); 
    pathsArray = new String[] { path }; 

    // set the values in the description 
    ConfigurationParameterSettings settings = desc.getAnalysisEngineMetaData() 
      .getConfigurationParameterSettings(); 
    settings.setParameterValue(RutaEngine.PARAM_SCRIPT_PATHS, pathsArray); 
    settings.setParameterValue(RutaEngine.PARAM_DESCRIPTOR_PATHS, pathsArray); 
    settings.setParameterValue(RutaEngine.PARAM_RESOURCE_PATHS, pathsArray); 

    // override the values in the descriptor when creating the analysis engine 
    AnalysisEngine ae = AnalysisEngineFactory.createEngine(desc, RutaEngine.PARAM_SCRIPT_PATHS, pathsArray, 
      RutaEngine.PARAM_DESCRIPTOR_PATHS, pathsArray, RutaEngine.PARAM_RESOURCE_PATHS, 
      pathsArray); 

    // set the values in the analysis engine and reconfigure it 
    ae.setConfigParameterValue(RutaEngine.PARAM_SCRIPT_PATHS, pathsArray); 
    ae.setConfigParameterValue(RutaEngine.PARAM_DESCRIPTOR_PATHS, pathsArray); 
    ae.setConfigParameterValue(RutaEngine.PARAM_RESOURCE_PATHS, pathsArray); 
    ae.reconfigure(); 

    } 

} 

면책 조항 : 나는

UIMA 루타의 개발자입니다