From f1e97d09281863325f61d54875b9c3ee1dc616d2 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Thu, 5 Mar 2015 15:39:05 -0500 Subject: [PATCH] Bug 461324 - Fix NPE in Remote Connections preference page Change-Id: I8cadb829916b0588849e797aa737b6c861598f8a Signed-off-by: Greg Watson --- .../core/RemoteConnectionWorkingCopy.java | 53 +++++++++---------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionWorkingCopy.java b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionWorkingCopy.java index efd94ac418f..a5cb0e311ca 100644 --- a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionWorkingCopy.java +++ b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionWorkingCopy.java @@ -33,7 +33,7 @@ import org.osgi.service.prefs.Preferences; public class RemoteConnectionWorkingCopy implements IRemoteConnectionWorkingCopy { private RemoteConnection original; - private RemoteConnectionType connectionType; + private final RemoteConnectionType connectionType; private String newName; private final Map newAttributes = new HashMap<>(); private final Map newSecureAttributes = new HashMap<>(); @@ -52,6 +52,7 @@ public class RemoteConnectionWorkingCopy implements IRemoteConnectionWorkingCopy */ public RemoteConnectionWorkingCopy(RemoteConnection original) { this.original = original; + this.connectionType = (RemoteConnectionType) original.getConnectionType(); } /* @@ -63,11 +64,13 @@ public class RemoteConnectionWorkingCopy implements IRemoteConnectionWorkingCopy public String getName() { if (newName != null) { return newName; - } else if (original != null) { - return original.getName(); - } else { - return null; } + + if (original != null) { + return original.getName(); + } + + return null; } /* @@ -77,7 +80,7 @@ public class RemoteConnectionWorkingCopy implements IRemoteConnectionWorkingCopy */ @Override public void setName(String name) { - // set if only if it's changed + // set it only if it's changed if (original == null || !name.equals(original.getName())) { newName = name; } @@ -224,11 +227,7 @@ public class RemoteConnectionWorkingCopy implements IRemoteConnectionWorkingCopy */ @Override public T getService(Class service) { - if (original != null) { - return original.getService(service); - } else { - return connectionType.getConnectionService(this, service); - } + return connectionType.getConnectionService(this, service); } /* @@ -373,15 +372,15 @@ public class RemoteConnectionWorkingCopy implements IRemoteConnectionWorkingCopy public boolean isOpen() { if (original != null) { return original.isOpen(); - } else { - IRemoteConnectionControlService controlService = connectionType.getConnectionService(this, - IRemoteConnectionControlService.class); - if (controlService != null) { - return controlService.isOpen(); - } else { - return true; - } } + + IRemoteConnectionControlService controlService = connectionType.getConnectionService(this, + IRemoteConnectionControlService.class); + if (controlService != null) { + return controlService.isOpen(); + } + + return true; } /* @@ -393,15 +392,15 @@ public class RemoteConnectionWorkingCopy implements IRemoteConnectionWorkingCopy public String getProperty(String key) { if (original != null) { return original.getProperty(key); - } else { - IRemoteConnectionPropertyService propertyService = connectionType.getConnectionService(this, - IRemoteConnectionPropertyService.class); - if (propertyService != null) { - return propertyService.getProperty(key); - } else { - return null; - } } + + IRemoteConnectionPropertyService propertyService = connectionType.getConnectionService(this, + IRemoteConnectionPropertyService.class); + if (propertyService != null) { + return propertyService.getProperty(key); + } + + return null; } }