/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************************/ package org.ebayopensource.turmeric.runtime.tests.service1.sample.services.message; import java.util.List; import org.ebayopensource.turmeric.common.v1.types.CommonErrorData; import org.ebayopensource.turmeric.runtime.common.exceptions.ServiceExceptionInterface; import org.ebayopensource.turmeric.runtime.tests.service1.errors.ErrorDesc; import org.ebayopensource.turmeric.runtime.tests.service1.errors.LocalizableErrorData; import org.ebayopensource.turmeric.runtime.tests.service1.errors.LocalizableErrorMessage; import org.ebayopensource.turmeric.runtime.tests.service1.sample.errors.ErrorType; import org.ebayopensource.turmeric.runtime.tests.service1.sample.types1.CustomErrorMessage; import org.ebayopensource.turmeric.runtime.tests.service1.sample.types1.MyMessage; import org.ebayopensource.turmeric.runtime.tests.service1.sample.util.TestUtils; import org.ebayopensource.turmeric.common.v1.types.ErrorData; import org.ebayopensource.turmeric.common.v1.types.ErrorMessage; /** * @author ichernyshev */ public class Test1ServiceException extends Exception implements ServiceExceptionInterface { private static final long serialVersionUID = 835486766282112209L; private final ErrorMessage m_errorMessage; public Test1ServiceException(ErrorDesc errorDesc) { this(errorDesc, null, null); } public Test1ServiceException(ErrorDesc errorDesc, Object[] params) { this(errorDesc, params, null); } public Test1ServiceException(ErrorDesc errorDesc, Object[] params, Throwable cause) { this(new LocalizableErrorData(errorDesc, params), cause); } public Test1ServiceException(CommonErrorData errorData) { this(errorData, null); } public Test1ServiceException(CommonErrorData errorData, Throwable cause) { this(new LocalizableErrorMessage(errorData), cause); } public Test1ServiceException(List<CommonErrorData> errorData, Throwable cause) { this(new LocalizableErrorMessage(errorData), cause); } public Test1ServiceException(ErrorMessage errorMessage) { this(errorMessage, null); } public Test1ServiceException(ErrorMessage errorMessage, Throwable cause) { super(LocalizableErrorMessage.getDefaultMessage(errorMessage, null), cause); m_errorMessage = errorMessage; } public Test1ServiceException(CustomErrorMessage errorMessage) { this(errorMessage.getError()); } public Test1ServiceException(MyMessage errorMessage) { this(errorMessage.getError()); } private Test1ServiceException(List<ErrorType> errorTypes) { this(TestUtils.errorTypeListToErrorMessage(errorTypes)); } public final ErrorMessage getErrorMessage() { return m_errorMessage; } public final void localizeMessage(String locale) { if (m_errorMessage instanceof LocalizableErrorMessage) { ((LocalizableErrorMessage)m_errorMessage).localizeMessages(locale); } } }