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/08/29 20:15:25 UTC
svn commit: r1758296 - in
/uima/uimaj/branches/experiment-v3-jcas/uimaj-core: ./ src/main/java/
src/main/java/org/apache/uima/resource/
src/main/java/org/apache/uima/resource/impl/
src/main/java/org/apache/uima/resource/metadata/impl/ src/test/resource...
Author: schor
Date: Mon Aug 29 20:15:24 2016
New Revision: 1758296
URL: http://svn.apache.org/viewvc?rev=1758296&view=rev
Log:
UIMA-5058 catchup merge part 1
Added:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AggregateForMultipleAeTest.xml
- copied unchanged from r1756914, uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/AggregateForMultipleAeTest.xml
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/MultipleAeTest.xml
- copied unchanged from r1756914, uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/MultipleAeTest.xml
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/MultipleAeTest2.xml
- copied unchanged from r1756914, uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/MultipleAeTest2.xml
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/MultipleAeTest3.xml
- copied unchanged from r1756914, uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/MultipleAeTest3.xml
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/MultipleAeTest4.xml
- copied unchanged from r1756914, uima/uimaj/trunk/uimaj-core/src/test/resources/TextAnalysisEngineImplTest/MultipleAeTest4.xml
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/resources/org/apache/uima/resource/metadata/impl/ImportsTypeSystemImportedByName.xml
- copied unchanged from r1756914, uima/uimaj/trunk/uimaj-core/src/test/resources/org/apache/uima/resource/metadata/impl/ImportsTypeSystemImportedByName.xml
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/resources/org/apache/uima/resource/metadata/impl/TypeSystemImportedByName2.xml
- copied unchanged from r1756914, uima/uimaj/trunk/uimaj-core/src/test/resources/org/apache/uima/resource/metadata/impl/TypeSystemImportedByName2.xml
Modified:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/ (props changed)
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/ (props changed)
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/ResourceManager.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/CasManager_impl.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/ResourceManager_impl.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/FsIndexCollection_impl.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypePriorities_impl.java
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypeSystemDescription_impl.java
Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 29 20:15:24 2016
@@ -4,4 +4,4 @@
/uima/uimaj/branches/depend-on-parent-pom-4/uimaj-core:961329-961745
/uima/uimaj/branches/filteredCompress-uima-2498/uimaj-core:1436573-1462257
/uima/uimaj/branches/mavenAlign/uimaj-core:933273-944396
-/uima/uimaj/trunk/uimaj-core:1690273-1693269,1757287-1757385,1757523
+/uima/uimaj/trunk/uimaj-core:1690273-1693269,1756914,1757094,1757287-1757385,1757523
Propchange: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Aug 29 20:15:24 2016
@@ -5,4 +5,4 @@
/uima/uimaj/branches/filteredCompress-uima-2498/uimaj-core/src/main/java:1436573-1462257
/uima/uimaj/branches/mavenAlign/uimaj-core/src/main/java:933273-944396
/uima/uimaj/branches/test-parent-pom-6/uimaj-core/src/main/java:1024030
-/uima/uimaj/trunk/uimaj-core/src/main/java:1690273-1693269,1757287-1757385,1757523
+/uima/uimaj/trunk/uimaj-core/src/main/java:1690273-1693269,1756914,1757094,1757287-1757385,1757523
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/ResourceManager.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/ResourceManager.java?rev=1758296&r1=1758295&r2=1758296&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/ResourceManager.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/ResourceManager.java Mon Aug 29 20:15:24 2016
@@ -23,6 +23,7 @@ import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Map;
+import java.util.Set;
import org.apache.uima.resource.metadata.ResourceManagerConfiguration;
import org.apache.uima.util.XMLizable;
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/CasManager_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/CasManager_impl.java?rev=1758296&r1=1758295&r2=1758296&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/CasManager_impl.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/CasManager_impl.java Mon Aug 29 20:15:24 2016
@@ -99,7 +99,8 @@ public class CasManager_impl implements
if (containsSameTypeAndIndexInfo(aMetaData)) { //UIMA-1249
return;
}
- throw new UIMARuntimeException(UIMARuntimeException.ILLEGAL_ADDING_OF_NEW_META_INFO_AFTER_CAS_DEFINED, new Object[] {}); // internal error UIMA-1249
+ throw new UIMARuntimeException(UIMARuntimeException.ILLEGAL_ADDING_OF_NEW_META_INFO_AFTER_CAS_DEFINED,
+ aMetaData.getSourceUrlString()); // internal error UIMA-1249
}
mMetaDataList.add(aMetaData);
// mCasDefinition = null; // marka this stale
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/ResourceManager_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/ResourceManager_impl.java?rev=1758296&r1=1758295&r2=1758296&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/ResourceManager_impl.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/impl/ResourceManager_impl.java Mon Aug 29 20:15:24 2016
@@ -28,6 +28,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.uima.UIMAFramework;
@@ -144,6 +145,12 @@ public class ResourceManager_impl implem
final private Map<String,XMLizable> importCache = Collections.synchronizedMap(new HashMap<String,XMLizable>());
/**
+ * Cache of imported descriptor URLs from which the parsed objects in importCache
+ * were created, so that these URLs are not re-parsed if the same URL is imported again.
+ */
+ final private Map<String,Set<String>> importUrlsCache = Collections.synchronizedMap(new HashMap<String,Set<String>>());
+
+ /**
* Creates a new <code>ResourceManager_impl</code>.
*/
public ResourceManager_impl() {
@@ -694,6 +701,10 @@ public class ResourceManager_impl implem
return importCache;
}
+ public Map<String, Set<String>> getImportUrlsCache() {
+ return importUrlsCache;
+ }
+
public Class<?> loadUserClass(String name) throws ClassNotFoundException {
ClassLoader cl = getExtensionClassLoader();
if (cl == null) {
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/FsIndexCollection_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/FsIndexCollection_impl.java?rev=1758296&r1=1758295&r2=1758296&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/FsIndexCollection_impl.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/FsIndexCollection_impl.java Mon Aug 29 20:15:24 2016
@@ -26,6 +26,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.TreeSet;
import org.apache.uima.UIMAFramework;
@@ -258,16 +259,24 @@ public class FsIndexCollection_impl exte
FsIndexCollection desc;
String urlString = aURL.toString();
Map<String, XMLizable> importCache = ((ResourceManager_impl)aResourceManager).getImportCache();
+ Map<String, Set<String>> importUrlsCache = aResourceManager.getImportUrlsCache();
synchronized(importCache) {
XMLizable cachedObject = importCache.get(urlString);
if (cachedObject instanceof FsIndexCollection) {
desc = (FsIndexCollection)cachedObject;
+ // Add the URLs parsed for this cached object to the list already-parsed (UIMA-5058)
+ aAlreadyImportedFsIndexCollectionURLs.addAll(importUrlsCache.get(urlString));
} else {
XMLInputSource input;
input = new XMLInputSource(aURL);
desc = UIMAFramework.getXMLParser().parseFsIndexCollection(input);
+ TreeSet<String> previouslyImported = new TreeSet<String>(aAlreadyImportedFsIndexCollectionURLs);
desc.resolveImports(aAlreadyImportedFsIndexCollectionURLs, aResourceManager);
importCache.put(urlString, desc);
+ // Save the URLS parsed by this import
+ TreeSet<String> locallyImported = new TreeSet<String>(aAlreadyImportedFsIndexCollectionURLs);
+ locallyImported.removeAll(previouslyImported);
+ importUrlsCache.put(urlString, locallyImported);
}
}
aResults.addAll(Arrays.asList(desc.getFsIndexes()));
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypePriorities_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypePriorities_impl.java?rev=1758296&r1=1758295&r2=1758296&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypePriorities_impl.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypePriorities_impl.java Mon Aug 29 20:15:24 2016
@@ -26,6 +26,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.TreeSet;
import org.apache.uima.UIMAFramework;
@@ -267,16 +268,24 @@ public class TypePriorities_impl extends
TypePriorities desc;
String urlString = aURL.toString();
Map<String, XMLizable> importCache = ((ResourceManager_impl)aResourceManager).getImportCache();
+ Map<String, Set<String>> importUrlsCache = aResourceManager.getImportUrlsCache();
synchronized(importCache) {
XMLizable cachedObject = importCache.get(urlString);
if (cachedObject instanceof TypePriorities) {
desc = (TypePriorities)cachedObject;
+ // Add the URLs parsed for this cached object to the list already-parsed (UIMA-5058)
+ aAlreadyImportedTypePrioritiesURLs.addAll(importUrlsCache.get(urlString));
} else {
XMLInputSource input;
input = new XMLInputSource(aURL);
desc = UIMAFramework.getXMLParser().parseTypePriorities(input);
+ TreeSet<String> previouslyImported = new TreeSet<String>(aAlreadyImportedTypePrioritiesURLs);
desc.resolveImports(aAlreadyImportedTypePrioritiesURLs, aResourceManager);
importCache.put(urlString, desc);
+ // Save the URLS parsed by this import
+ TreeSet<String> locallyImported = new TreeSet<String>(aAlreadyImportedTypePrioritiesURLs);
+ locallyImported.removeAll(previouslyImported);
+ importUrlsCache.put(urlString, locallyImported);
}
}
aResults.addAll(Arrays.asList(desc.getPriorityLists()));
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypeSystemDescription_impl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypeSystemDescription_impl.java?rev=1758296&r1=1758295&r2=1758296&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypeSystemDescription_impl.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypeSystemDescription_impl.java Mon Aug 29 20:15:24 2016
@@ -26,6 +26,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.TreeSet;
import org.apache.uima.UIMAFramework;
@@ -262,17 +263,26 @@ public class TypeSystemDescription_impl
TypeSystemDescription desc;
String urlString = aURL.toString();
Map<String, XMLizable> importCache = ((ResourceManager_impl)aResourceManager).getImportCache();
+ Map<String, Set<String>> importUrlsCache = aResourceManager.getImportUrlsCache();
synchronized(importCache) {
XMLizable cachedObject = importCache.get(urlString);
if (cachedObject instanceof TypeSystemDescription) {
desc = (TypeSystemDescription)cachedObject;
+ // Add the URLs parsed for this cached object to the list already-parsed (UIMA-5058)
+ aAlreadyImportedTypeSystemURLs.addAll(importUrlsCache.get(urlString));
} else {
XMLInputSource input;
input = new XMLInputSource(aURL);
desc = UIMAFramework.getXMLParser().parseTypeSystemDescription(input);
+ TreeSet<String> previouslyImported = new TreeSet<String>(aAlreadyImportedTypeSystemURLs);
desc.resolveImports(aAlreadyImportedTypeSystemURLs, aResourceManager);
importCache.put(urlString, desc);
+ // Save the URLS parsed by this import
+ TreeSet<String> locallyImported = new TreeSet<String>(aAlreadyImportedTypeSystemURLs);
+ locallyImported.removeAll(previouslyImported);
+ importUrlsCache.put(urlString, locallyImported);
}
+
}
aResults.addAll(Arrays.asList(desc.getTypes()));
}