Bug 479040 - Avoid NPE when application name is empty

Change-Id: If7aa26ec5e0bb09bc834e47f1a58956678a6135c
Signed-off-by: Greg Watson <g.watson@computer.org>
diff --git a/core/org.eclipse.ptp.launch/src/org/eclipse/ptp/launch/ui/tabs/ApplicationTab.java b/core/org.eclipse.ptp.launch/src/org/eclipse/ptp/launch/ui/tabs/ApplicationTab.java
index c14d703..85a25ae 100644
--- a/core/org.eclipse.ptp.launch/src/org/eclipse/ptp/launch/ui/tabs/ApplicationTab.java
+++ b/core/org.eclipse.ptp.launch/src/org/eclipse/ptp/launch/ui/tabs/ApplicationTab.java
@@ -76,6 +76,7 @@
 public class ApplicationTab extends LaunchConfigurationTab {
 	protected class WidgetListener extends SelectionAdapter implements ModifyListener {
 
+		@Override
 		public void modifyText(ModifyEvent e) {
 			updateLaunchConfigurationDialog();
 		}
@@ -121,6 +122,7 @@
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse .swt.widgets.Composite)
 	 */
 
+	@Override
 	public void createControl(Composite parent) {
 		Composite comp = new Composite(parent, SWT.NONE);
 		setControl(comp);
@@ -207,6 +209,7 @@
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
 	 */
 
+	@Override
 	public String getName() {
 		return Messages.ApplicationTab_Application;
 	}
@@ -224,8 +227,8 @@
 		try {
 			projText.setText(configuration.getAttribute(IPTPLaunchConfigurationConstants.ATTR_PROJECT_NAME, EMPTY_STRING));
 			appText.setText(configuration.getAttribute(IPTPLaunchConfigurationConstants.ATTR_EXECUTABLE_PATH, EMPTY_STRING));
-			localAppText.setText(configuration.getAttribute(IPTPLaunchConfigurationConstants.ATTR_LOCAL_EXECUTABLE_PATH,
-					EMPTY_STRING));
+			localAppText
+					.setText(configuration.getAttribute(IPTPLaunchConfigurationConstants.ATTR_LOCAL_EXECUTABLE_PATH, EMPTY_STRING));
 			localAppButton.setSelection(configuration.getAttribute(IPTPLaunchConfigurationConstants.ATTR_COPY_EXECUTABLE, false));
 			consoleButton.setSelection(configuration.getAttribute(IPTPLaunchConfigurationConstants.ATTR_CONSOLE, false));
 		} catch (CoreException e) {
@@ -276,13 +279,14 @@
 			name = getFieldContent(localAppText.getText());
 			if (name == null) {
 				setErrorMessage(Messages.ApplicationTab_Local_file_not_specified);
-			}
-			File file = new File(name);
-			if (!file.isAbsolute()) {
-				setErrorMessage(Messages.ApplicationTab_Local_file_path_must_be_absolute);
-			}
-			if (!file.exists() || !file.isFile()) {
-				setErrorMessage(Messages.ApplicationTab_Local_file_must_exist);
+			} else {
+				File file = new File(name);
+				if (!file.isAbsolute()) {
+					setErrorMessage(Messages.ApplicationTab_Local_file_path_must_be_absolute);
+				}
+				if (!file.exists() || !file.isFile()) {
+					setErrorMessage(Messages.ApplicationTab_Local_file_must_exist);
+				}
 			}
 		}
 
@@ -295,6 +299,7 @@
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse .debug.core.ILaunchConfigurationWorkingCopy)
 	 */
 
+	@Override
 	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		configuration.setAttribute(IPTPLaunchConfigurationConstants.ATTR_PROJECT_NAME, getFieldContent(projText.getText()));
 		configuration.setAttribute(IPTPLaunchConfigurationConstants.ATTR_EXECUTABLE_PATH, getFieldContent(appText.getText()));
@@ -310,6 +315,7 @@
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse. debug.core.ILaunchConfigurationWorkingCopy)
 	 */
 
+	@Override
 	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
 		IProject project = getDefaultProject(configuration);
 		String projectName = null;
@@ -360,6 +366,7 @@
 		dialog.setInput(project);
 		dialog.setValidator(new ISelectionStatusValidator() {
 
+			@Override
 			public IStatus validate(Object[] selection) {
 				if (selection.length == 0 || !(selection[0] instanceof IFile)) {
 					return new Status(IStatus.ERROR, PTPLaunchPlugin.getUniqueIdentifier(), IStatus.INFO,
@@ -447,7 +454,7 @@
 			IEditorPart part = page.getActiveEditor();
 			if (part != null) {
 				IEditorInput input = part.getEditorInput();
-				IFile file = (IFile) input.getAdapter(IFile.class);
+				IFile file = input.getAdapter(IFile.class);
 				if (file != null) {
 					return file.getProject();
 				}
@@ -483,7 +490,7 @@
 						Messages.ApplicationTab_Enter_project);
 				return;
 			}
-			IRemoteResource remoteProject = (IRemoteResource) project.getAdapter(IRemoteResource.class);
+			IRemoteResource remoteProject = project.getAdapter(IRemoteResource.class);
 			if (remoteProject != null) {
 				URI location = remoteProject.getActiveLocationURI();
 				if (location != null) {