Quellcode durchsuchen

add try-catch to AbstractDefaultValueProvider for methods that try to access workspace resources

holger.willebrandt@gmail.com vor 13 Jahren
Ursprung
Commit
7ce6b71aab

+ 20 - 6
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/features/AbstractDefaultFeatureValueProvider.java

@@ -78,17 +78,31 @@ public abstract class AbstractDefaultFeatureValueProvider implements
 	}
 
 	protected boolean projectExists(String value) {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(value)
-				.exists();
+		try {
+			return ResourcesPlugin.getWorkspace().getRoot().getProject(value)
+					.exists();
+		} catch (IllegalArgumentException e) {
+			return false;
+		}
 	}
 
 	protected boolean folderExists(String projectName, String folderPath) {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName)
-				.getFolder(new Path(folderPath)).exists();
+		try {
+			return ResourcesPlugin.getWorkspace().getRoot()
+					.getProject(projectName).getFolder(new Path(folderPath))
+					.exists();
+		} catch (IllegalArgumentException e) {
+			return false;
+		}
 	}
 
 	protected boolean fileExists(String projectName, String folderPath) {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(projectName)
-				.getFile(new Path(folderPath)).exists();
+		try {
+			return ResourcesPlugin.getWorkspace().getRoot()
+					.getProject(projectName).getFile(new Path(folderPath))
+					.exists();
+		} catch (IllegalArgumentException e) {
+			return false;
+		}
 	}
 }