From 024a0e7f1f5b901aaf6566261be7bb435076a564 Mon Sep 17 00:00:00 2001 From: Paul Richardson Date: Mon, 7 Mar 2016 10:47:01 +0000 Subject: [PATCH] TEIIDDES-2803: NoSuchElementException when vdb is not in the workspace * VdbUtil * Test the iterator has an element before trying to fetch it --- .../src/org/teiid/designer/vdb/VdbUtil.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/org.teiid.designer.vdb/src/org/teiid/designer/vdb/VdbUtil.java b/plugins/org.teiid.designer.vdb/src/org/teiid/designer/vdb/VdbUtil.java index a0e749e5dc..a4d6ef1396 100644 --- a/plugins/org.teiid.designer.vdb/src/org/teiid/designer/vdb/VdbUtil.java +++ b/plugins/org.teiid.designer.vdb/src/org/teiid/designer/vdb/VdbUtil.java @@ -21,6 +21,7 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; @@ -682,9 +683,12 @@ public static MultiStatus validateVdbModelsInWorkspace(final IFile theVdbFile) { if( resource == null ) { // Find by name Collection resources = WorkspaceResourceFinderUtil.findIResourceInProjectByName(modelName, theProject); - IFile someResource = resources.iterator().next(); - if( ! ModelUtil.isVdbArchiveFile(someResource)) { - resource = someResource; + Iterator iterator = resources.iterator(); + if (iterator.hasNext()) { + IFile someResource = iterator.next(); + if( ! ModelUtil.isVdbArchiveFile(someResource)) { + resource = someResource; + } } } }