/******************************************************************************* * 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.eclipse.registry.consumer.utils; import org.apache.commons.lang.StringUtils; import org.ebayopensource.turmeric.eclipse.registry.consumer.Activator; import org.ebayopensource.turmeric.eclipse.registry.intf.AssertionStatus; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.MultiStatus; import org.eclipse.core.runtime.Status; /** * SOA Message Utils. * * @author ramurthy */ public class SOAMessageUtils { /** The Constant UNKNOWN_ERROR. */ public static final String UNKNOWN_ERROR = "Unknown error"; /** * Creates the multi status. * * @param pluginID the plugin id * @param code the code * @param children the children * @param description the description * @param throwable the throwable * @return the i status */ public static IStatus createMultiStatus(String pluginID, int code, IStatus[] children, String description, Throwable throwable) { if (description == null) { description = (throwable == null) || StringUtils.isNotBlank(throwable.getLocalizedMessage()) ? UNKNOWN_ERROR : throwable.getLocalizedMessage(); } if (pluginID == null) pluginID = Activator.PLUGIN_ID; if (children == null || children.length == 0) { return new MultiStatus(pluginID, code, description, throwable); } else { return new MultiStatus(pluginID, code, children, description, throwable); } } /** * Creates the may assertion status. * * @param message the message * @param exception the exception * @return the status */ public static Status createMayAssertionStatus(String message, Throwable exception) { return new AssertionStatus(message, null); } /** * Creates the status. * * @param severity the severity * @param pluginID the plugin id * @param code the code * @param message the message * @param exception the exception * @param lineNumber the line number * @return the assertion status */ public static AssertionStatus createStatus(int severity, String pluginID, int code, String message, Throwable exception, int lineNumber) { if (lineNumber <= 0) { //set line number to 1 if not line number lineNumber = 1; } return new AssertionStatus(severity, pluginID, code, message, exception, lineNumber); } }