Use switch over strings where possible

Change cascades of ifs which can be converted to switch over Strings.
A switch statement might be faster than an if-then-else chain. And it
improves clarity.
The problem with the if..else chain is that I have to look into all the
if conditions to understand what the program is doing. And the variable
might change in the chain processing.

Change-Id: Ia7003e12ff240ea8c7ad63a382123c00786110a7
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
diff --git a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java
index 2d35b8b..62a1503 100644
--- a/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java
+++ b/bundles/org.eclipse.compare/compare/org/eclipse/compare/contentmergeviewer/TextMergeViewer.java
@@ -3604,14 +3604,17 @@
 	private boolean isNavigationButtonEnabled(boolean down, boolean deep) {
 		String value = fPreferenceStore
 				.getString(ICompareUIConstants.PREF_NAVIGATION_END_ACTION);
-		if (value.equals(ICompareUIConstants.PREF_VALUE_DO_NOTHING)) {
+		switch (value) {
+		case ICompareUIConstants.PREF_VALUE_DO_NOTHING:
 			return getNextVisibleDiff(down, deep) != null;
-		} else if (value.equals(ICompareUIConstants.PREF_VALUE_LOOP)) {
+		case ICompareUIConstants.PREF_VALUE_LOOP:
 			return isNavigationPossible();
-		} else if (value.equals(ICompareUIConstants.PREF_VALUE_NEXT)) {
+		case ICompareUIConstants.PREF_VALUE_NEXT:
 			return getNextVisibleDiff(down, deep) != null || hasNextElement(down);
-		} else if (value.equals(ICompareUIConstants.PREF_VALUE_PROMPT)) {
+		case ICompareUIConstants.PREF_VALUE_PROMPT:
 			return isNavigationPossible() || hasNextElement(true);
+		default:
+			break;
 		}
 		Assert.isTrue(false);
 		return false;
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxySelector.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxySelector.java
index 10b60c7..0f6b7ad 100644
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxySelector.java
+++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxySelector.java
@@ -46,12 +46,17 @@
 	}
 
 	public static String localizeProvider(String name) {
-		if (DIRECT_PROVIDER.equals(name)) {
-			return Messages.ProxySelector_0;
-		} else if (ECLIPSE_PROVIDER.equals(name)) {
-			return Messages.ProxySelector_1;
-		} else if (NATIVE_PROVIDER.equals(name)) {
-			return Messages.ProxySelector_2;
+		if (name != null) {
+			switch (name) {
+			case DIRECT_PROVIDER:
+				return Messages.ProxySelector_0;
+			case ECLIPSE_PROVIDER:
+				return Messages.ProxySelector_1;
+			case NATIVE_PROVIDER:
+				return Messages.ProxySelector_2;
+			default:
+				break;
+			}
 		}
 		Assert.isTrue(false);
 		return null;
@@ -70,30 +75,36 @@
 
 	public static void setActiveProvider(String provider) {
 		IProxyService service = ProxyManager.getProxyManager();
-		if (provider.equals(DIRECT_PROVIDER)) {
+		switch (provider) {
+		case DIRECT_PROVIDER:
 			service.setProxiesEnabled(false);
 			service.setSystemProxiesEnabled(false);
-		} else if (provider.equals(ECLIPSE_PROVIDER)) {
+			break;
+		case ECLIPSE_PROVIDER:
 			service.setProxiesEnabled(true);
 			service.setSystemProxiesEnabled(false);
-		} else if (provider.equals(NATIVE_PROVIDER)) {
+			break;
+		case NATIVE_PROVIDER:
 			service.setProxiesEnabled(true);
 			service.setSystemProxiesEnabled(true);
-		} else {
+			break;
+		default:
 			throw new IllegalArgumentException("Provider not supported"); //$NON-NLS-1$
 		}
 	}
 
 	public static ProxyData[] getProxyData(String provider) {
 		ProxyManager manager = (ProxyManager) ProxyManager.getProxyManager();
-		if (provider.equals(DIRECT_PROVIDER)) {
+		switch (provider) {
+		case DIRECT_PROVIDER:
 			return new ProxyData[0];
-		} else if (provider.equals(ECLIPSE_PROVIDER)) {
+		case ECLIPSE_PROVIDER:
 			return castArray(manager.getProxyData());
-		} else if (provider.equals(NATIVE_PROVIDER)) {
+		case NATIVE_PROVIDER:
 			return castArray(manager.getNativeProxyData());
+		default:
+			throw new IllegalArgumentException("Provider not supported"); //$NON-NLS-1$
 		}
-		throw new IllegalArgumentException("Provider not supported"); //$NON-NLS-1$
 	}
 
 	private static ProxyData[] castArray(IProxyData data[]) {
@@ -127,14 +138,16 @@
 
 	public static String[] getBypassHosts(String provider) {
 		ProxyManager manager = (ProxyManager) ProxyManager.getProxyManager();
-		if (provider.equals(DIRECT_PROVIDER)) {
+		switch (provider) {
+		case DIRECT_PROVIDER:
 			return new String[0];
-		} else if (provider.equals(ECLIPSE_PROVIDER)) {
+		case ECLIPSE_PROVIDER:
 			return manager.getNonProxiedHosts();
-		} else if (provider.equals(NATIVE_PROVIDER)) {
+		case NATIVE_PROVIDER:
 			return manager.getNativeNonProxiedHosts();
+		default:
+			throw new IllegalArgumentException("Provider not supported"); //$NON-NLS-1$
 		}
-		throw new IllegalArgumentException("Provider not supported"); //$NON-NLS-1$
 	}
 
 	public static void setBypassHosts(String provider, String hosts[]) {
diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java
index 6137334..606d9e1 100644
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java
+++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyType.java
@@ -70,12 +70,16 @@
 		String value = System.getProperty(PROP_SOCKS_SYSTEM_PROPERTY_HANDLING);
 		if (value == null) {
 			socksSystemPropertySetting = ONLY_SET_FOR_1_5_OR_LATER;
-		} else if (value.equals("always")) { //$NON-NLS-1$
+		} else switch (value) {
+		case "always": //$NON-NLS-1$
 			socksSystemPropertySetting = ALWAYS_SET;
-		} else if (value.equals("never")) { //$NON-NLS-1$
+			break;
+		case "never": //$NON-NLS-1$
 			socksSystemPropertySetting = NEVER_SET;
-		} else {
+			break;
+		default:
 			socksSystemPropertySetting = ONLY_SET_FOR_1_5_OR_LATER;
+			break;
 		}
 	}
 
@@ -218,12 +222,18 @@
 
 	/* package */void updateSystemProperties(IProxyData proxyData) {
 		try {
-			if (proxyData.getType().equals(IProxyData.HTTP_PROXY_TYPE)) {
+			switch (proxyData.getType()) {
+			case IProxyData.HTTP_PROXY_TYPE:
 				updateHttpSystemProperties();
-			} else if (proxyData.getType().equals(IProxyData.HTTPS_PROXY_TYPE)) {
+				break;
+			case IProxyData.HTTPS_PROXY_TYPE:
 				updateHttpsSystemProperties();
-			} else if (proxyData.getType().equals(IProxyData.SOCKS_PROXY_TYPE)) {
+				break;
+			case IProxyData.SOCKS_PROXY_TYPE:
 				updateSocksSystemProperties();
+				break;
+			default:
+				break;
 			}
 		} catch (SecurityException e) {
 			Activator.logError("A security exception occurred while trying to put the proxy data into the system properties", e); //$NON-NLS-1$
@@ -233,12 +243,15 @@
 	private boolean verifyDataMatchesSystemProperties(ProxyData proxyData) {
 		try {
 			boolean proxiesEnabled = ProxyManager.getProxyManager().isProxiesEnabled();
-			if (proxyData.getType().equals(IProxyData.HTTP_PROXY_TYPE)) {
+			switch (proxyData.getType()) {
+			case IProxyData.HTTP_PROXY_TYPE:
 				return verifyDataMatchesHttpSystemProperties(proxyData, proxiesEnabled);
-			} else if (proxyData.getType().equals(IProxyData.HTTPS_PROXY_TYPE)) {
+			case IProxyData.HTTPS_PROXY_TYPE:
 				return verifyDataMatchesHttpsSystemProperties(proxyData, proxiesEnabled);
-			} else if (proxyData.getType().equals(IProxyData.SOCKS_PROXY_TYPE)) {
+			case IProxyData.SOCKS_PROXY_TYPE:
 				return verifyDataMatchesSocksSystemProperties(proxyData, proxiesEnabled);
+			default:
+				break;
 			}
 
 		} catch (SecurityException e) {
@@ -333,12 +346,15 @@
 
 	private boolean verifySystemPropertiesEmpty(String proxyType) {
 		try {
-			if (proxyType.equals(IProxyData.HTTP_PROXY_TYPE)) {
+			switch (proxyType) {
+			case IProxyData.HTTP_PROXY_TYPE:
 				return verifyHttpSystemPropertiesEmpty();
-			} else if (proxyType.equals(IProxyData.HTTPS_PROXY_TYPE)) {
+			case IProxyData.HTTPS_PROXY_TYPE:
 				return verifyHttpsSystemPropertiesEmpty();
-			} else if (proxyType.equals(IProxyData.SOCKS_PROXY_TYPE)) {
+			case IProxyData.SOCKS_PROXY_TYPE:
 				return verifySocksSystemPropertiesEmpty();
+			default:
+				break;
 			}
 		} catch (SecurityException e) {
 			// Just ignore this here since it will be surfaced elsewhere
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java
index 5d78afc..e0df6c7 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java
@@ -247,12 +247,16 @@
 				byte [] diBytes = ResourcesPlugin.getWorkspace().getSynchronizer().getSyncInfo(FOLDER_DIRTY_STATE_KEY, container);
 				if(diBytes != null && !CVSProviderPlugin.getPlugin().crashOnLastRun()) {
 					di = new String(diBytes);
-					if(di.equals(NOT_DIRTY_INDICATOR)) {
+					switch (di) {
+					case NOT_DIRTY_INDICATOR:
 						di = NOT_DIRTY_INDICATOR;
-					} else if(di.equals(IS_DIRTY_INDICATOR)) {
+						break;
+					case IS_DIRTY_INDICATOR:
 						di = IS_DIRTY_INDICATOR;
-					} else {
+						break;
+					default:
 						di = RECOMPUTE_INDICATOR;
+						break;
 					}
 				} else {
 					di = RECOMPUTE_INDICATOR;
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/console/CVSOutputConsole.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/console/CVSOutputConsole.java
index e1e3e1f..bbfa27c 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/console/CVSOutputConsole.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/console/CVSOutputConsole.java
@@ -344,37 +344,56 @@
 		String property = event.getProperty();
 		// colors
 		if (visible) {
-			if (property.equals(ICVSUIConstants.PREF_CONSOLE_COMMAND_COLOR)) {
-				Color newColor = createColor(CVSUIPlugin.getStandardDisplay(), ICVSUIConstants.PREF_CONSOLE_COMMAND_COLOR);
+			switch (property) {
+			case ICVSUIConstants.PREF_CONSOLE_COMMAND_COLOR: {
+				Color newColor = createColor(CVSUIPlugin.getStandardDisplay(),
+						ICVSUIConstants.PREF_CONSOLE_COMMAND_COLOR);
 				commandStream.setColor(newColor);
 				commandColor.dispose();
 				commandColor = newColor;
-			} else if (property.equals(ICVSUIConstants.PREF_CONSOLE_MESSAGE_COLOR)) {
-				Color newColor = createColor(CVSUIPlugin.getStandardDisplay(), ICVSUIConstants.PREF_CONSOLE_MESSAGE_COLOR);
+				return;
+			}
+			case ICVSUIConstants.PREF_CONSOLE_MESSAGE_COLOR: {
+				Color newColor = createColor(CVSUIPlugin.getStandardDisplay(),
+						ICVSUIConstants.PREF_CONSOLE_MESSAGE_COLOR);
 				messageStream.setColor(newColor);
 				messageColor.dispose();
 				messageColor = newColor;
-			} else if (property.equals(ICVSUIConstants.PREF_CONSOLE_ERROR_COLOR)) {
-				Color newColor = createColor(CVSUIPlugin.getStandardDisplay(), ICVSUIConstants.PREF_CONSOLE_ERROR_COLOR);
+				return;
+			}
+			case ICVSUIConstants.PREF_CONSOLE_ERROR_COLOR: {
+				Color newColor = createColor(CVSUIPlugin.getStandardDisplay(),
+						ICVSUIConstants.PREF_CONSOLE_ERROR_COLOR);
 				errorStream.setColor(newColor);
 				errorColor.dispose();
 				errorColor = newColor;
 				// font
-			} else if (property.equals(ICVSUIConstants.PREF_CONSOLE_FONT)) {
+				return;
+			}
+			case ICVSUIConstants.PREF_CONSOLE_FONT:
 				setFont(((FontRegistry) event.getSource()).get(ICVSUIConstants.PREF_CONSOLE_FONT));
+				return;
+			default:
+				break;
 			}
 		}
-		if (property.equals(ICVSUIConstants.PREF_CONSOLE_SHOW_ON_MESSAGE)) {
+		switch (property) {
+		case ICVSUIConstants.PREF_CONSOLE_SHOW_ON_MESSAGE:
 			Object value = event.getNewValue();
 			if (value instanceof String) {
 				showOnMessage = Boolean.valueOf((String) value).booleanValue();
 			} else {
 				showOnMessage = ((Boolean) value).booleanValue();
 			}
-		} else if(property.equals(ICVSUIConstants.PREF_CONSOLE_LIMIT_OUTPUT)) {
+			break;
+		case ICVSUIConstants.PREF_CONSOLE_LIMIT_OUTPUT:
 			initLimitOutput();
-		} else if(property.equals(ICVSUIConstants.PREF_CONSOLE_WRAP)) {
+			break;
+		case ICVSUIConstants.PREF_CONSOLE_WRAP:
 			initWrapSetting();
+			break;
+		default:
+			break;
 		}
 	}
 	
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesViewContentHandler.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesViewContentHandler.java
index 145c053..46e07df 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesViewContentHandler.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoriesViewContentHandler.java
@@ -79,29 +79,35 @@
 			throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_unmatchedTag, new String[] { elementName })); 
 		}
 		
-		if (elementName.equals(REPOSITORIES_VIEW_TAG)) {
+		switch (elementName) {
+		case REPOSITORIES_VIEW_TAG:
 			// all done
-		} else if (elementName.equals(REPOSITORY_TAG)) {
+			break;
+		case REPOSITORY_TAG:
 			if (!ignoreElements) {
 				manager.add(currentRepositoryRoot);
 			}
 			currentRepositoryRoot = null;
-		} else if (elementName.equals(WORKING_SET_TAG)) {
+			break;
+		case WORKING_SET_TAG:
 			// This tag is no longer used
 			ignoreElements = false;
-		} else if (elementName.equals(CURRENT_WORKING_SET_TAG)) {
+			break;
+		case CURRENT_WORKING_SET_TAG:
 			// This tag is no longer used
 			ignoreElements = false;
-		} else if (elementName.equals(MODULE_TAG)) {
+			break;
+		case MODULE_TAG:
 			if (! ignoreElements && currentRepositoryRoot != null) {
-				currentRepositoryRoot.addTags(currentRemotePath, 
-					(CVSTag[]) tags.toArray(new CVSTag[tags.size()]));
+				currentRepositoryRoot.addTags(currentRemotePath,
+						(CVSTag[]) tags.toArray(new CVSTag[tags.size()]));
 				if (lastAccessTime > 0)
 					currentRepositoryRoot.setLastAccessedTime(currentRemotePath, lastAccessTime);
 				currentRepositoryRoot.setAutoRefreshFiles(currentRemotePath,
-					(String[]) autoRefreshFiles.toArray(new String[autoRefreshFiles.size()]));
+						(String[]) autoRefreshFiles.toArray(new String[autoRefreshFiles.size()]));
 			}
-		}else if(elementName.equals(DATE_TAG_TAG)){
+			break;
+		case DATE_TAG_TAG:
 			if (! ignoreElements && currentRepositoryRoot != null) {
 				Iterator iter = dateTags.iterator();
 				while(iter.hasNext()){
@@ -109,6 +115,9 @@
 					currentRepositoryRoot.addDateTag(tag);
 				}
 			}
+			break;
+		default:
+			break;
 		}
 		tagStack.pop();
 	}
@@ -122,12 +131,15 @@
 			throws SAXException {
 		
 		String elementName = getElementName(namespaceURI, localName, qName);
-		if (elementName.equals(REPOSITORIES_VIEW_TAG)) {
+		switch (elementName) {
+		case REPOSITORIES_VIEW_TAG:
 			// just started
-		} else if (elementName.equals(REPOSITORY_TAG)) {
+			break;
+		case REPOSITORY_TAG: {
 			String id = atts.getValue(ID_ATTRIBUTE);
 			if (id == null) {
-				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute, new String[] { REPOSITORY_TAG, ID_ATTRIBUTE })); 
+				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute,
+						new String[] { REPOSITORY_TAG, ID_ATTRIBUTE }));
 			}
 			ICVSRepositoryLocation root;
 			try {
@@ -136,33 +148,45 @@
 					KnownRepositories.getInstance().addRepository(root, false);
 				}
 			} catch (CVSException e) {
-				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_errorCreatingRoot, new String[] { id }), e); 
+				throw new SAXException(
+						NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_errorCreatingRoot, new String[] { id }),
+						e);
 			}
 			currentRepositoryRoot = new RepositoryRoot(root);
 			String name = atts.getValue(NAME_ATTRIBUTE);
 			if (name != null) {
 				currentRepositoryRoot.setName(name);
 			}
-		} else if(elementName.equals(DATE_TAGS_TAG)){
+			break;
+		}
+		case DATE_TAGS_TAG:
 			//prepare to collect date tag
 			dateTags = new ArrayList();
-		} else if (elementName.equals(DATE_TAG_TAG)){
+			break;
+		case DATE_TAG_TAG: {
 			String name = atts.getValue(NAME_ATTRIBUTE);
 			if (name == null) {
-				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute, new String[] { DATE_TAGS_TAG, NAME_ATTRIBUTE })); 
+				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute,
+						new String[] { DATE_TAGS_TAG, NAME_ATTRIBUTE }));
 			}
 			dateTags.add(new CVSTag(name, CVSTag.DATE));
-		}else if (elementName.equals(WORKING_SET_TAG)) {
+			break;
+		}
+		case WORKING_SET_TAG: {
 			String name = atts.getValue(NAME_ATTRIBUTE);
 			if (name == null) {
-				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute, new String[] { WORKING_SET_TAG, NAME_ATTRIBUTE })); 
+				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute,
+						new String[] { WORKING_SET_TAG, NAME_ATTRIBUTE }));
 			}
 			// Ignore any elements until the corresponding end tag is reached
 			ignoreElements = true;
-		}  else if (elementName.equals(MODULE_TAG)) {
+			break;
+		}
+		case MODULE_TAG: {
 			String path = atts.getValue(PATH_ATTRIBUTE);
 			if (path == null) {
-				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute, new String[] { MODULE_TAG, PATH_ATTRIBUTE })); 
+				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute,
+						new String[] { MODULE_TAG, PATH_ATTRIBUTE }));
 			}
 			String type = atts.getValue(TYPE_ATTRIBUTE);
 			if (type != null && type.equals(DEFINED_MODULE_TYPE)) {
@@ -179,23 +203,29 @@
 				}
 			}
 			startModule(path, cachedTime);
-		} else if (elementName.equals(TAG_TAG)) {
+			break;
+		}
+		case TAG_TAG: {
 			String type = atts.getValue(TYPE_ATTRIBUTE);
 			if (type == null) {
 				type = DEFAULT_TAG_TYPE;
 			}
 			String name = atts.getValue(NAME_ATTRIBUTE);
 			if (name == null) {
-				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute, new String[] { TAG_TAG, NAME_ATTRIBUTE })); 
+				throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute,
+						new String[] { TAG_TAG, NAME_ATTRIBUTE }));
 			}
 			tags.add(new CVSTag(name, getCVSTagType(type)));
-		} else if (elementName.equals(AUTO_REFRESH_FILE_TAG)) {
+			break;
+		}
+		case AUTO_REFRESH_FILE_TAG: {
 			String path = atts.getValue(FULL_PATH_ATTRIBUTE);
 			if (path == null) {
 				// get the old path attribute format which was relative to the module
 				path = atts.getValue(PATH_ATTRIBUTE);
 				if (path == null) {
-					throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute, new String[] { AUTO_REFRESH_FILE_TAG, FULL_PATH_ATTRIBUTE })); 
+					throw new SAXException(NLS.bind(CVSUIMessages.RepositoriesViewContentHandler_missingAttribute,
+							new String[] { AUTO_REFRESH_FILE_TAG, FULL_PATH_ATTRIBUTE }));
 				}
 				if (RepositoryRoot.isDefinedModuleName(currentRemotePath)) {
 					path = null;
@@ -203,10 +233,17 @@
 					path = new Path(null, currentRemotePath).append(path).toString();
 				}
 			}
-			if (path != null) autoRefreshFiles.add(path);
-		} else if (elementName.equals(CURRENT_WORKING_SET_TAG)) {
+			if (path != null) {
+				autoRefreshFiles.add(path);
+			}
+			break;
+		}
+		case CURRENT_WORKING_SET_TAG:
 			// Ignore any elements until the corresponding end tag is reached
 			ignoreElements = true;
+			break;
+		default:
+			break;
 		}
 		// empty buffer
 		buffer = new StringBuffer();
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelElement.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelElement.java
index 9b94b40..6a89b6e 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelElement.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizeModelElement.java
@@ -177,14 +177,21 @@
 	}
 
 	private int getFlag(String propertyName) {
-		if (propertyName == BUSY_PROPERTY) {
+		if (propertyName == null) {
+			return 0;
+		}
+
+		switch (propertyName) {
+		case BUSY_PROPERTY:
 			return BUSY_FLAG;
-		} else if (propertyName == PROPAGATED_CONFLICT_PROPERTY) {
+		case PROPAGATED_CONFLICT_PROPERTY:
 			return PROPAGATED_CONFLICT_FLAG;
-		} else if(propertyName == PROPAGATED_ERROR_MARKER_PROPERTY) {
+		case PROPAGATED_ERROR_MARKER_PROPERTY:
 			return PROPAGATED_ERROR_FLAG;
-		} else if(propertyName == PROPAGATED_WARNING_MARKER_PROPERTY) {
+		case PROPAGATED_WARNING_MARKER_PROPERTY:
 			return PROPAGATED_WARNING_FLAG;
+		default:
+			break;
 		}
 		return 0;
 	}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizePageConfiguration.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizePageConfiguration.java
index 1013d8c..fbeffcc 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizePageConfiguration.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/SynchronizePageConfiguration.java
@@ -440,13 +440,14 @@
 	}
 
 	protected String[] getDefault(String menuPropertyId) {
-		if (menuPropertyId.equals(P_CONTEXT_MENU)) {
+		switch (menuPropertyId) {
+		case P_CONTEXT_MENU:
 			return DEFAULT_CONTEXT_MENU;
-		} else if (menuPropertyId.equals(P_VIEW_MENU)) {
+		case P_VIEW_MENU:
 			return DEFAULT_VIEW_MENU;
-		} else if (menuPropertyId.equals(P_TOOLBAR_MENU)) {
+		case P_TOOLBAR_MENU:
 			return DEFAULT_TOOLBAR_MENU;
-		} else {
+		default:
 			return new String[0];
 		}
 	}
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ModelSynchronizeParticipantActionGroup.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ModelSynchronizeParticipantActionGroup.java
index 0c8c023..0541b0e 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ModelSynchronizeParticipantActionGroup.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/ui/synchronize/ModelSynchronizeParticipantActionGroup.java
@@ -221,22 +221,33 @@
 	 * @param action the action for the given id
 	 */
 	protected void configureMergeAction(String mergeActionId, Action action) {
-		if (mergeActionId == SynchronizationActionProvider.MERGE_ACTION_ID) {
+		if (mergeActionId == null) {
+			return;
+		}
+
+		switch (mergeActionId) {
+		case SynchronizationActionProvider.MERGE_ACTION_ID:
 			Utils.initAction(action, "action.merge."); //$NON-NLS-1$
-		} else if (mergeActionId == SynchronizationActionProvider.OVERWRITE_ACTION_ID) {
+			break;
+		case SynchronizationActionProvider.OVERWRITE_ACTION_ID:
 			if (isTwoWayMerge()) {
 				Utils.initAction(action, "action.replace."); //$NON-NLS-1$
 			} else {
 				Utils.initAction(action, "action.overwrite."); //$NON-NLS-1$
 			}
-		} else if (mergeActionId == SynchronizationActionProvider.MARK_AS_MERGE_ACTION_ID) {
+			break;
+		case SynchronizationActionProvider.MARK_AS_MERGE_ACTION_ID:
 			Utils.initAction(action, "action.markAsMerged."); //$NON-NLS-1$
-		} else if (mergeActionId == MERGE_ALL_ACTION_ID) {
+			break;
+		case MERGE_ALL_ACTION_ID:
 			if (isTwoWayMerge()) {
 				Utils.initAction(action, "action.replaceAll."); //$NON-NLS-1$
 			} else {
 				Utils.initAction(action, "action.mergeAll."); //$NON-NLS-1$
 			}
+			break;
+		default:
+			break;
 		}
 	}
 
@@ -262,18 +273,26 @@
 	 * @param manager the context menu manager
 	 */
 	protected void addToContextMenu(String mergeActionId, Action action, IMenuManager manager) {
-		IContributionItem group = null;;
-		if (mergeActionId == SynchronizationActionProvider.MERGE_ACTION_ID) {
-			group = manager.find(MERGE_ACTION_GROUP);
-		} else if (mergeActionId == SynchronizationActionProvider.OVERWRITE_ACTION_ID) {
-			group = manager.find(MERGE_ACTION_GROUP);
-		} else if (mergeActionId == SynchronizationActionProvider.MARK_AS_MERGE_ACTION_ID) {
-			group = manager.find(OTHER_ACTION_GROUP);
-		}
-		if (group != null) {
-			manager.appendToGroup(group.getId(), action);
-		} else {
-			manager.add(action);
+		IContributionItem group = null;
+		if (mergeActionId != null) {
+			switch (mergeActionId) {
+			case SynchronizationActionProvider.MERGE_ACTION_ID:
+				group = manager.find(MERGE_ACTION_GROUP);
+				break;
+			case SynchronizationActionProvider.OVERWRITE_ACTION_ID:
+				group = manager.find(MERGE_ACTION_GROUP);
+				break;
+			case SynchronizationActionProvider.MARK_AS_MERGE_ACTION_ID:
+				group = manager.find(OTHER_ACTION_GROUP);
+				break;
+			default:
+				break;
+			}
+			if (group != null) {
+				manager.appendToGroup(group.getId(), action);
+			} else {
+				manager.add(action);
+			}
 		}
 	}
 
diff --git a/tests/org.eclipse.compare.tests/src/org/eclipse/compare/tests/PatchTest.java b/tests/org.eclipse.compare.tests/src/org/eclipse/compare/tests/PatchTest.java
index a943041..fc835b6 100644
--- a/tests/org.eclipse.compare.tests/src/org/eclipse/compare/tests/PatchTest.java
+++ b/tests/org.eclipse.compare.tests/src/org/eclipse/compare/tests/PatchTest.java
@@ -224,12 +224,16 @@
 		patchdataUrl = FileLocator.resolve(patchdataUrl);
 
 		Map<String, PatchTestConfiguration> map = null;
-		if (patchdataUrl.getProtocol().equals("file")) {
+		switch (patchdataUrl.getProtocol()) {
+		case "file":
 			map = extractNamesForFileProtocol(patchdataUrl);
-		} else if (patchdataUrl.getProtocol().equals("jar")) {
+			break;
+		case "jar":
 			map = extractNamesForJarProtocol(patchdataUrl);
-		} else {
+			break;
+		default:
 			fail("Unknown protocol");
+			break;
 		}
 		assertNotNull(map);