Circular imports break resource manager cache
Undo change to use a set for the collected types - this breaks some tests
@@ -267,7 +267,7 @@ public class TypeSystemDescription_impl extends MetaDataObject_impl
* if an import could not be processed.
*/
private static void resolveImports(TypeSystemDescription aDesc, Set<String> aAlreadyVisited,
- Collection<TypeDescription> aAllImportedTypes, Deque<String> aStack,
+ List<TypeDescription> aAllImportedTypes, Deque<String> aStack,
ResourceManager aResourceManager) throws InvalidXMLException {
if (aAlreadyVisited.contains(aDesc.getSourceUrlString())) {
@@ -282,7 +282,7 @@ public class TypeSystemDescription_impl extends MetaDataObject_impl
}
List<Import> unresolvedImports = new ArrayList<>();
- Set<TypeDescription> resolvedTypes = new HashSet<>(asList(aDesc.getTypes()));
+ List<TypeDescription> resolvedTypes = new ArrayList<>(asList(aDesc.getTypes()));
Map<String, XMLizable> importCache = ((ResourceManager_impl) aResourceManager).getImportCache();
for (Import tsImport : imports) {
