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;
+ }
}
}
}