Copyright (c) 2005, 2006 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2005, 2006 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.core.internal.registry; import java.util.ResourceBundle; import org.eclipse.core.runtime.IStatus;
Simple implementation if the registry support functionality. The logging output is done onto System.out (for both specific and generic logs) in the following format: [Error|Warning|Log]: Main error message [Error|Warning|Log]: Child error message 1 ... [Error|Warning|Log]: Child error message N The translation routine assumes that keys are prefixed with '%'. If no resource bundle is present, the key itself (without leading '%') is returned. There is no decoding for the leading '%%'.
/** * Simple implementation if the registry support functionality. * The logging output is done onto System.out (for both specific and generic logs) * in the following format: * * [Error|Warning|Log]: Main error message * [Error|Warning|Log]: Child error message 1 * ... * [Error|Warning|Log]: Child error message N * * The translation routine assumes that keys are prefixed with '%'. If no resource * bundle is present, the key itself (without leading '%') is returned. There is * no decoding for the leading '%%'. */
public class RegistrySupport { static public String translate(String key, ResourceBundle resources) { if (key == null) return null; if (resources == null) return key; String trimmedKey = key.trim(); if (trimmedKey.length() == 0) return key; if (trimmedKey.charAt(0) != '%') return key; return resources.getString(trimmedKey.substring(1)); } static public void log(IStatus status, String prefix) { String message = status.getMessage(); int severity = status.getSeverity(); String statusMsg; switch (severity) { case IStatus.ERROR : statusMsg = RegistryMessages.log_error; break; case IStatus.WARNING : statusMsg = RegistryMessages.log_warning; break; default : statusMsg = RegistryMessages.log_log; break; } statusMsg += message; if (prefix != null) statusMsg = prefix + statusMsg; System.out.println(statusMsg); // print out children as well IStatus[] children = status.getChildren(); if (children.length != 0) { String newPrefix; if (prefix == null) newPrefix = "\t"; //$NON-NLS-1$ else newPrefix = prefix + "\t"; //$NON-NLS-1$ for (IStatus child : children) { log(child, newPrefix); } } } }