/******************************************************************************* * Copyright (c) 2016 Pivotal, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Pivotal, Inc. - initial API and implementation *******************************************************************************/ package org.springframework.ide.eclipse.boot.dash.cloudfoundry.client; import org.cloudfoundry.client.lib.CloudFoundryException; import org.springsource.ide.eclipse.commons.livexp.util.ExceptionUtil; /** * Static methods to recognize specific types of exceptions CF client * may throw. * * @author Kris De Volder */ public class CFExceptions { public static boolean isAuthFailure(Exception e) { if (e instanceof CloudFoundryException) { //for v1 return e.getMessage().contains("403"); } //TODO: what about v2, how does it signal auth failure exactly? (This doesn't matter now, // because we hit it in V1, but it may matter once we completely get rid of V1. We will // then likely hit a similar exception in V2 at a later time, but it probably won't // be recognized as such. return false; } public static boolean isSSLCertificateFailure(Exception e) { Throwable cause = ExceptionUtil.getDeepestCause(e); return cause.getClass().getName().equals("sun.security.provider.certpath.SunCertPathBuilderException"); } }