[154033] NPE Run XDoclet action
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/action/RunXDocletAction.java b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/action/RunXDocletAction.java
index a20d2eb..3e3633f 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/action/RunXDocletAction.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/action/RunXDocletAction.java
@@ -12,6 +12,7 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.XDocletAntProjectBuilder;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 
@@ -26,5 +27,11 @@
 			builder.buildUsingAnt(sourceFile, new NullProgressMonitor());
 		}
 	}
+	
+	public void selectionChanged(IAction action, ISelection selection) {
+		super.selectionChanged(action, selection);
+		IFile sourceFile = getFirstSourceFile();
+		action.setEnabled( sourceFile != null);
+	}
 
 }