You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by vj...@apache.org on 2014/11/24 15:28:28 UTC
svn commit: r1641399 -
/ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/ytex/kernel/metric/ConceptSimilarityServiceImpl.java
Author: vjapache
Date: Mon Nov 24 14:28:28 2014
New Revision: 1641399
URL: http://svn.apache.org/r1641399
Log:
fix cache keys to support multiple concept graphs
Modified:
ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/ytex/kernel/metric/ConceptSimilarityServiceImpl.java
Modified: ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/ytex/kernel/metric/ConceptSimilarityServiceImpl.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/ytex/kernel/metric/ConceptSimilarityServiceImpl.java?rev=1641399&r1=1641398&r2=1641399&view=diff
==============================================================================
--- ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/ytex/kernel/metric/ConceptSimilarityServiceImpl.java (original)
+++ ctakes/trunk/ctakes-ytex/src/main/java/org/apache/ctakes/ytex/kernel/metric/ConceptSimilarityServiceImpl.java Mon Nov 24 14:28:28 2014
@@ -648,9 +648,15 @@ public class ConceptSimilarityServiceImp
@SuppressWarnings("unchecked")
private int getLCSFromCache(ConcRel cr1, ConcRel cr2, Set<String> lcses) {
- OrderedPair<String> cacheKey = new OrderedPair<String>(
- cr1.getConceptID(), cr2.getConceptID());
- Element e = this.lcsCache.get(cacheKey);
+ StringBuilder cacheKeyBuilder = new StringBuilder(this.conceptGraphName);
+ cacheKeyBuilder
+ .append(cr1.getConceptID().compareTo(cr2.getConceptID()) < 0 ? cr1
+ .getConceptID() : cr2.getConceptID());
+ cacheKeyBuilder
+ .append(cr1.getConceptID().compareTo(cr2.getConceptID()) >= 0 ? cr2
+ .getConceptID() : cr1.getConceptID());
+ String cacheKey = cacheKeyBuilder.toString();
+ Element e = this.lcsCache != null ? this.lcsCache.get(cacheKey) : null;
if (e != null) {
// hit the cache - unpack the lcs
if (e.getObjectValue() != null) {
@@ -673,8 +679,10 @@ public class ConceptSimilarityServiceImp
}
val[1] = lcses;
}
- e = new Element(cacheKey, val);
- this.lcsCache.put(e);
+ if (this.lcsCache != null) {
+ e = new Element(cacheKey, val);
+ this.lcsCache.put(e);
+ }
return dist;
}
}