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 2017/01/13 15:41:30 UTC
svn commit: r1778619 -
/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java
Author: schor
Date: Fri Jan 13 15:41:29 2017
New Revision: 1778619
URL: http://svn.apache.org/viewvc?rev=1778619&view=rev
Log:
[UIMA-5225] have getAddress hold onto the FS for future ref. Remove unused validation flag. Support old version of prettyPrint that uses StringBuffer (not StringBuilder). support the hold-onto-all-fss style
Modified:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java?rev=1778619&r1=1778618&r2=1778619&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java Fri Jan 13 15:41:29 2017
@@ -77,10 +77,7 @@ public class FeatureStructureImplC imple
public static final String DISABLE_RUNTIME_FEATURE_VALUE_VALIDATION = "uima.disable_runtime_feature_value_validation";
public static final boolean IS_ENABLE_RUNTIME_FEATURE_VALUE_VALIDATION = !Misc.getNoValueSystemProperty(DISABLE_RUNTIME_FEATURE_VALUE_VALIDATION);
-
- public static final String DISABLE_RUNTIME_FEATURE_RANGE_VALIDATION = "uima.disable_runtime_feature_range_validation";
- public static final boolean IS_ENABLE_RUNTIME_FEATURE_RANGE_VALIDATION = !Misc.getNoValueSystemProperty(DISABLE_RUNTIME_FEATURE_RANGE_VALIDATION);
-
+
private static final boolean traceFSs = CASImpl.traceFSs;
// next is for experiment (Not implemented) of allocating multiple int arrays for different fss
@@ -201,6 +198,8 @@ public class FeatureStructureImplC imple
if (traceFSs && !(this instanceof CommonArrayFS)) {
_casView.traceFSCreate(this);
}
+
+ _casView.maybeHoldOntoFS(this);
}
/**
@@ -236,6 +235,8 @@ public class FeatureStructureImplC imple
_casView.traceFSCreate(this);
}
+ _casView.maybeHoldOntoFS(this);
+
// if (_typeImpl.featUimaUID != null) {
// final int id = _casView.getAndIncrUimaUID();
// _setLongValueNcNj(_typeImpl.featUimaUID, id);
@@ -318,7 +319,9 @@ public class FeatureStructureImplC imple
* @return the internal id of this fs - unique to this CAS, a positive int
*/
@Override
- public final int getAddress() { return _id; };
+ public final int getAddress() {
+ return _casView.ll_getFSRef(this); // adds this fs to the internal map if needed
+ };
@Override
public final int _id() {return _id; };
@@ -514,7 +517,7 @@ public class FeatureStructureImplC imple
@Override
public void setStringValue(Feature feat, String v) {
// if (IS_ENABLE_RUNTIME_FEATURE_VALIDATION) featureValidation(feat); // done by _setRefValueCJ
- if (IS_ENABLE_RUNTIME_FEATURE_VALUE_VALIDATION) featureValueValidation(feat, v); // verifies feat can take a string
+// if (IS_ENABLE_RUNTIME_FEATURE_VALUE_VALIDATION) featureValueValidation(feat, v); // verifies feat can take a string
subStringRangeCheck(feat, v);
_setRefValueCJ((FeatureImpl) feat, v);
}
@@ -1015,6 +1018,17 @@ public class FeatureStructureImplC imple
prettyPrint(indent, incr, buf, useShortNames, s, printRefs);
}
+ // old version from v2 using StringBuffer
+ /**
+ *
+ * @param indent -
+ * @param incr -
+ * @param buf -
+ * @param useShortNames -
+ * @param s -
+ * @param printRefs -
+ * @deprecated because uses StringBuffer, not builder, for version 2 compatibility only
+ */
public void prettyPrint(
int indent,
int incr,
@@ -1056,7 +1070,11 @@ public class FeatureStructureImplC imple
buf.append(' ');
}
if (_typeImpl == null) {
- buf.append((_id == 0) ? " Special REMOVED marker " : " Special Search Key, id = " + _id);
+ buf.append((_id == 0)
+ ? " Special REMOVED marker "
+ : _isJCasHashMapReserve()
+ ? (" Special JCasHashMap Reserve, id = " + _id)
+ : " Special Search Key, id = " + _id);
} else {
if (useShortNames) {
buf.append(getType().getShortName());
@@ -1319,7 +1337,7 @@ public class FeatureStructureImplC imple
* All callers of this must insure fs is not indexed in **Any** View
*/
protected void _resetInSetSortedIndex() { _flags &= ~_BIT_IN_SET_SORTED_INDEX; }
-
+
protected void _setJCasHashMapReserve() {
_flags |= _BIT_JCASHASHMAP_RESERVE;
}