Bug 396219 - Intentionally referencing a non-existent id in Augment task
shows error editor
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorTests.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorTests.java
index 1e3a829..34b0ab5 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorTests.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorTests.java
@@ -274,6 +274,18 @@
 		assertTrue("The hover text must contain the augmented element 'foo'", text.indexOf("foo") > -1);
     }
     
+    /**
+     * Tests that the Ant editor is resilient to using an Augment task that references an unknown id
+     * 
+     * @see https://bugs.eclipse.org/bugs/show_bug.cgi?id=396219
+     * @throws Exception
+     */
+    public void testAugmentMissingId() throws Exception {
+    	IFile file = getIFile("bug396219.ent");
+		IEditorPart part = EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
+		assertTrue("The opened editor must be the AntEditor", part instanceof AntEditor);
+    }
+    
     public void testHoverRegionWithSpaces() throws PartInitException, BadLocationException {
     	IFile file= getIFile("refid.xml");
     	AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/bug396219.ent b/ant/org.eclipse.ant.tests.ui/testbuildfiles/bug396219.ent
new file mode 100644
index 0000000..0dcb688
--- /dev/null
+++ b/ant/org.eclipse.ant.tests.ui/testbuildfiles/bug396219.ent
@@ -0,0 +1,10 @@
+<project>
+	<path id="path1"/>
+	<resource id="resource1"/>
+	<propertyset id="property1"/>
+	<target name="augment">
+		<augment id="path">
+			<pathelement location="/foo"/>
+		</augment>
+	</target>
+</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntAugmentTaskNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntAugmentTaskNode.java
index f35e2aa..9c418ed 100644
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntAugmentTaskNode.java
+++ b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntAugmentTaskNode.java
@@ -55,6 +55,11 @@
 			//either a system exit or setting of system property was attempted
 			handleBuildException(new BuildException(AntModelMessages.AntTaskNode_0), AntEditorPreferenceConstants.PROBLEM_SECURITY);
 		}
+		catch(IllegalStateException ise) {
+			//this is thrown when the id to augment does not exist
+			//https://bugs.eclipse.org/bugs/show_bug.cgi?id=396219
+			handleBuildException(new BuildException(ise), AntEditorPreferenceConstants.PROBLEM_TASKS);
+		}
 		return false;
 	}