You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2016/01/02 16:26:49 UTC
svn commit: r1722637 -
/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java
Author: schor
Date: Sat Jan 2 15:26:49 2016
New Revision: 1722637
URL: http://svn.apache.org/viewvc?rev=1722637&view=rev
Log:
[UIMA-4674] use non-copying getFeatureImpls and stream
Modified:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java?rev=1722637&r1=1722636&r2=1722637&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/analysis_engine/impl/AnalysisEngineImplBase.java Sat Jan 2 15:26:49 2016
@@ -40,6 +40,10 @@ import org.apache.uima.cas.CASException;
import org.apache.uima.cas.Feature;
import org.apache.uima.cas.Type;
import org.apache.uima.cas.TypeSystem;
+import org.apache.uima.cas.impl.CASImpl;
+import org.apache.uima.cas.impl.FeatureImpl;
+import org.apache.uima.cas.impl.TypeImpl;
+import org.apache.uima.cas.impl.TypeSystemImpl;
import org.apache.uima.cas.text.Language;
import org.apache.uima.internal.util.JmxMBeanAgent;
import org.apache.uima.jcas.JCas;
@@ -363,22 +367,12 @@ public abstract class AnalysisEngineImpl
*/
public synchronized String[] getFeatureNamesForType(String aTypeName) {
// build CAS and populate mFirstTypeSystem
- CAS cas = getCasManager().getCas(this.getUimaContextAdmin().getQualifiedContextName());
- TypeSystem ts = cas.getTypeSystem();
+ CASImpl cas = (CASImpl) getCasManager().getCas(this.getUimaContextAdmin().getQualifiedContextName());
+ TypeSystemImpl ts = cas.getTypeSystemImpl();
getCasManager().releaseCas(cas);
- Type t = ts.getType(aTypeName);
- if (t != null) {
- List<Feature> features = t.getFeatures();
- String[] featNames = new String[features.size()];
- for (int i = 0; i < features.size(); i++) {
- Feature f = features.get(i);
- featNames[i] = f.getShortName();
- }
- return featNames;
- } else {
- return null;
- }
+ TypeImpl t = ts.getType(aTypeName);
+ return (t == null) ? null : t.getFeatureImpls().stream().map(f -> f.getShortName()).toArray(size -> new String[size]);
}
/*