Return-Path: Delivered-To: apmail-ws-woden-dev-archive@www.apache.org Received: (qmail 29949 invoked from network); 25 Oct 2005 13:27:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 25 Oct 2005 13:27:07 -0000 Received: (qmail 76311 invoked by uid 500); 25 Oct 2005 13:26:49 -0000 Delivered-To: apmail-ws-woden-dev-archive@ws.apache.org Received: (qmail 76249 invoked by uid 500); 25 Oct 2005 13:26:49 -0000 Mailing-List: contact woden-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: woden-dev@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list woden-dev@ws.apache.org Received: (qmail 76199 invoked by uid 500); 25 Oct 2005 13:26:48 -0000 Delivered-To: apmail-incubator-woden-cvs@incubator.apache.org Received: (qmail 76185 invoked by uid 99); 25 Oct 2005 13:26:48 -0000 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 25 Oct 2005 06:26:48 -0700 Received: (qmail 29392 invoked by uid 65534); 25 Oct 2005 13:26:09 -0000 Message-ID: <20051025132609.29389.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r328356 - in /incubator/woden/java/src/org/apache/woden: ErrorReporter.java internal/BaseWSDLReader.java internal/DOMWSDLReader.java internal/ErrorReporter.java internal/ErrorReporterImpl.java Date: Tue, 25 Oct 2005 13:26:08 -0000 To: woden-cvs@incubator.apache.org From: jkaputin@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: jkaputin Date: Tue Oct 25 06:25:55 2005 New Revision: 328356 URL: http://svn.apache.org/viewcvs?rev=328356&view=rev Log: Exported ErrorReporter to the API, extracting the interface and changing the class suffix to 'Impl'. Added: incubator/woden/java/src/org/apache/woden/ErrorReporter.java - copied, changed from r307289, incubator/woden/java/src/org/apache/woden/internal/ErrorReporter.java incubator/woden/java/src/org/apache/woden/internal/ErrorReporterImpl.java - copied, changed from r307289, incubator/woden/java/src/org/apache/woden/internal/ErrorReporter.java Removed: incubator/woden/java/src/org/apache/woden/internal/ErrorReporter.java Modified: incubator/woden/java/src/org/apache/woden/internal/BaseWSDLReader.java incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java Copied: incubator/woden/java/src/org/apache/woden/ErrorReporter.java (from r307289, incubator/woden/java/src/org/apache/woden/internal/ErrorReporter.java) URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/ErrorReporter.java?p2=incubator/woden/java/src/org/apache/woden/ErrorReporter.java&p1=incubator/woden/java/src/org/apache/woden/internal/ErrorReporter.java&r1=307289&r2=328356&rev=328356&view=diff ============================================================================== --- incubator/woden/java/src/org/apache/woden/internal/ErrorReporter.java (original) +++ incubator/woden/java/src/org/apache/woden/ErrorReporter.java Tue Oct 25 06:25:55 2005 @@ -1,53 +1,21 @@ -/** - * Copyright 2005 Apache Software Foundation +/* + * Created on 25-Oct-2005 * - * 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 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * TODO To change the template for this generated file go to + * Window - Preferences - Java - Code Style - Code Templates */ -package org.apache.woden.internal; +package org.apache.woden; import java.util.Locale; -import org.apache.woden.ErrorHandler; -import org.apache.woden.ErrorInfo; -import org.apache.woden.WSDLException; -import org.apache.woden.internal.ErrorInfoImpl; -import org.apache.woden.internal.MessageFormatter; -import org.apache.woden.internal.util.PropertyUtils; /** - * This class reports errors that occur while parsing, validating or - * manipulating WSDL descriptions, such as XML parser errors or violations - * of the rules defined in the WSDL specification. That is, errors that - * relate specifically to the WSDL. It does not report system runtime - * or configuration errors, which are instead treated as exceptions. - * - * TODO for now we will treat any error returned by the XML parser as a - * fatal error, but we may need to rethink this later. - *

- * An error originates with an error key, a set of message arguments and - * a severity (warning, error or fatal error). A formatted message is - * produced and the error is then handled according to the severity. - *

- * The error reporter supports the 'en' (English) locale by default - * and has a default error handler (i.e. a default implementation of - * ErrorHandler). However, a different locale may be configured - * via setLocale and a custom error handler implementation - * may be configured as a system property. - * - * @author jkaputin@apache.org + * @author kaputin + * + * TODO To change the template for this generated type comment go to + * Window - Preferences - Java - Code Style - Code Templates */ -public class ErrorReporter { - +public interface ErrorReporter { //TODO: add further behaviour as requirements emerge - e.g. //using a xml locator object to report line/col numbers. @@ -58,144 +26,6 @@ public static final short SEVERITY_ERROR = 2; public static final short SEVERITY_FATAL_ERROR = 3; - - //the ISO-639 language code for the required locale - protected static final String LOCALE_LANGUAGE = - "org.apache.woden.locale-language"; - - //the class name of a custom error handler - protected static final String ERROR_HANDLER_NAME = - "org.apache.woden.error-handler-name"; - - //"true" or "false" to continue parsing after a fatal error - protected static final String CONTINUE_AFTER_FATAL_ERROR = - "org.apache.woden.continue-after-fatal-error"; - - - //Used for localization of error messages. - private Locale fLocale; - - //Combines parameterized message text with message parameters - private MessageFormatter fMessageFormatter; - - //Used only if no custom error handler has been specified - private ErrorHandler fDefaultErrorHandler; - - //Custom error handler to use instead of the default error handler - private ErrorHandler fErrorHandler; - - /* - * TODO fContinueAfterFatalError and related code has been commented out for - * the time being. If we cannot identify a use case for it, it will be removed. - * - //Flag to continue parsing for further errors after a fatal error has occurred. - private boolean fContinueAfterFatalError; - */ - - /** - * The default constructor sets the instance variables. It uses default - * implementations for fMessageFormatter and - * fDefaultErrorHandler. It checks for optional properties that - * specify the settings for the remaining variables. - * For fLocale, property org.apache.woden.locale can be used to - * specify the ISO-639 language code for the required locale. If it is omitted - * it will default to "en" for English. There is also a setter method which will - * override any value set by this constructor. - * For fErrorHandler, property org.apache.woden.error-handler-name - * can be used to specify the class name of the custom error handler or if - * omitted, it is set to null. There is also a setter method which will - * override any value set by this constructor. - *

- * Their are several alternatives for specifying these properties, so the property lookup - * mechanism is encapsulated in a separate PropertyUtils class. - *

- * TODO fContinueAfterFatalError and related code has been commented out for - * the time being. If we cannot identify a use case for it, it will be removed. - *

- * For fContinueAfterFatalError, - * org.apache.woden.continue-after-fatal-error can be used to specify - * "true" or "false". If this property is omitted or contains any other value, - * default to "true". - - * @throws WSDLException wraps exceptions that may occur while creating - * objects from Class names specified as properties (e.g. - * ClassNotFoundException, InstantiationException and IllegalAccessException). - * - */ - public ErrorReporter() throws WSDLException - { - fMessageFormatter = new MessageFormatter(); - fDefaultErrorHandler = new ErrorHandlerImpl(); - - //Set the locale using the language code property if specified. - - String localeLanguage = PropertyUtils.findProperty(LOCALE_LANGUAGE); - - if (localeLanguage != null) { - fLocale = new Locale(localeLanguage);; - } - - //TODO handle an unsupported locale lang code (e.g. use system locale and - //log a warning message?) - - - //Set the custom error handler from the error handler property if specified. - - String errorHandlerName = PropertyUtils.findProperty(ERROR_HANDLER_NAME); - - if (errorHandlerName != null) - { - try - { - Class cl = Class.forName(errorHandlerName); - - fErrorHandler = (ErrorHandler)cl.newInstance(); - } - catch (Exception e) - { - /* - Catches: - ClassNotFoundException - InstantiationException - IllegalAccessException - */ - - throw new WSDLException(WSDLException.CONFIGURATION_ERROR, - "Problem instantiating the customer error handler.", - e); - } - } else { - fErrorHandler = null; - } - - /* - * TODO fContinueAfterFatalError and related code has been commented out for - * the time being. If we cannot identify a use case for it, it will be removed. - * - //Indicate whether to continue parsing after a fatal error has occurred. - //Flag defaults to true if the property is omitted or invalid. - - String continueString = - PropertyUtils.findProperty(CONTINUE_AFTER_FATAL_ERROR); - - if(continueString != null) { - if(continueString.equalsIgnoreCase("false")) { - fContinueAfterFatalError = false; - } - else if(continueString.equalsIgnoreCase("true")){ - fContinueAfterFatalError = true; - } - else { - fContinueAfterFatalError = true; - //TODO: warning msg about invalid value defaulting to true? - } - } - else { - fContinueAfterFatalError = true; - } - */ - - } /** * Invoke the message formatter to convert the key and arguments into a @@ -210,12 +40,8 @@ * @param severity a short indicating warning, error or fatal error. * */ - public void reportError(String key, Object[] arguments, short severity) - throws WSDLException { - - reportError(key, arguments, severity, null); - } - + public void reportError(String key, Object[] arguments, short severity) + throws WSDLException; /** * Invoke the message formatter to convert the key and arguments into a @@ -233,64 +59,9 @@ * @param severity a short indicating warning, error or fatal error. * */ - public void reportError(String key, Object[] arguments, short severity, - Throwable targetException) throws WSDLException { - - String message = fMessageFormatter.formatMessage(fLocale, key, arguments); - - //TODO need to properly initialize ErrorInfo - ErrorInfo errorInfo = - new ErrorInfoImpl(null, null, 0, 0, key, message, targetException); - - ErrorHandler eh = - (fErrorHandler != null) ? fErrorHandler : fDefaultErrorHandler; - - - if(severity == SEVERITY_WARNING) { - eh.warning(errorInfo); - } - else if(severity == SEVERITY_ERROR) { - eh.error(errorInfo); - } - else if(severity == SEVERITY_FATAL_ERROR) { - eh.fatalError(errorInfo); - - //For our purposes, we consider it impossible or inappropriate to - //continue processing after a fatal error, so we throw an exception. - - //TODO check later to see if any use cases emerge that would require - //processing to continue after a fatal error and hence, the use of the - //fContinueAfterFatalError flag. - - if(targetException == null) { - throw new WSDLException(WSDLException.INVALID_WSDL, - "Fatal WSDL error:\n" + errorInfo.toString()); - } - else if(targetException instanceof WSDLException) { - throw (WSDLException)targetException; - } - else { - throw new WSDLException(WSDLException.OTHER_ERROR, - "Fatal error.", - targetException); - } - - /* - * TODO fContinueAfterFatalError and related code has been commented out for - * the time being. If we cannot identify a use case for it, it will be removed. - * - if(!fContinueAfterFatalError) { - throw new WSDLException(WSDLException.WSDL_ERROR, - "Stopping after a fatal error."); - } - */ - } - else { - //TODO externalize these messages for localization - throw new IllegalArgumentException("Invalid severity: " + severity); - } - } - + public void reportError(String key, Object[] arguments, short severity, + Throwable targetException) throws WSDLException; + /** * Set a custom error handler on this error reporter to replace the * default error handler. @@ -303,19 +74,15 @@ * @param errorHandler the custom error handler * */ - public void setErrorHandler(ErrorHandler errorHandler) { - fErrorHandler = errorHandler; - } - + public void setErrorHandler(ErrorHandler errorHandler); + /** * Return the custom error handler if one has been set, * otherwise return the default error handler. * * @return the ErrorHandler used by this error reporter */ - public ErrorHandler getErrorHandler() { - return (fErrorHandler != null) ? fErrorHandler : fDefaultErrorHandler; - } + public ErrorHandler getErrorHandler(); /** * Set the Locale used for localization of error messages. @@ -328,16 +95,12 @@ * @param locale the required locale * */ - public void setLocale(Locale locale) { - fLocale = locale; - } + public void setLocale(Locale locale); /** * @return the Locale used for localization of error messages. */ - public Locale getLocale() { - return fLocale; - } + public Locale getLocale(); /** * Returns a formatted message string for the specified message key and arguments. @@ -350,10 +113,5 @@ * @param arugments an Object array of message parameters * @return the formatted message string */ - public String getFormattedMessage(String key, Object[] arguments) - { - String message = fMessageFormatter.formatMessage(fLocale, key, arguments); - return message; - } - -} + public String getFormattedMessage(String key, Object[] arguments); +} \ No newline at end of file Modified: incubator/woden/java/src/org/apache/woden/internal/BaseWSDLReader.java URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/BaseWSDLReader.java?rev=328356&r1=328355&r2=328356&view=diff ============================================================================== --- incubator/woden/java/src/org/apache/woden/internal/BaseWSDLReader.java (original) +++ incubator/woden/java/src/org/apache/woden/internal/BaseWSDLReader.java Tue Oct 25 06:25:55 2005 @@ -17,6 +17,7 @@ import java.util.Locale; import org.apache.woden.ErrorHandler; +import org.apache.woden.ErrorReporter; import org.apache.woden.WSDLException; import org.apache.woden.WSDLFactory; import org.apache.woden.WSDLReader; @@ -44,7 +45,7 @@ protected ReaderFeatures features; protected BaseWSDLReader() throws WSDLException { - fErrorReporter= new ErrorReporter(); + fErrorReporter= new ErrorReporterImpl(); features = new ReaderFeatures(); } Modified: incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=328356&r1=328355&r2=328356&view=diff ============================================================================== --- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java (original) +++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java Tue Oct 25 06:25:55 2005 @@ -28,6 +28,7 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import org.apache.woden.ErrorReporter; import org.apache.woden.WSDLException; import org.apache.woden.internal.schema.SchemaConstants; import org.apache.woden.internal.schema.SchemaImpl; Copied: incubator/woden/java/src/org/apache/woden/internal/ErrorReporterImpl.java (from r307289, incubator/woden/java/src/org/apache/woden/internal/ErrorReporter.java) URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/ErrorReporterImpl.java?p2=incubator/woden/java/src/org/apache/woden/internal/ErrorReporterImpl.java&p1=incubator/woden/java/src/org/apache/woden/internal/ErrorReporter.java&r1=307289&r2=328356&rev=328356&view=diff ============================================================================== --- incubator/woden/java/src/org/apache/woden/internal/ErrorReporter.java (original) +++ incubator/woden/java/src/org/apache/woden/internal/ErrorReporterImpl.java Tue Oct 25 06:25:55 2005 @@ -18,6 +18,7 @@ import java.util.Locale; import org.apache.woden.ErrorHandler; import org.apache.woden.ErrorInfo; +import org.apache.woden.ErrorReporter; import org.apache.woden.WSDLException; import org.apache.woden.internal.ErrorInfoImpl; import org.apache.woden.internal.MessageFormatter; @@ -46,19 +47,11 @@ * * @author jkaputin@apache.org */ -public class ErrorReporter { +public class ErrorReporterImpl implements ErrorReporter { //TODO: add further behaviour as requirements emerge - e.g. //using a xml locator object to report line/col numbers. - //TODO: move these to a constants class so callers can use these constants - //independently of this class? - public static final short SEVERITY_WARNING = 1; - - public static final short SEVERITY_ERROR = 2; - - public static final short SEVERITY_FATAL_ERROR = 3; - //the ISO-639 language code for the required locale protected static final String LOCALE_LANGUAGE = "org.apache.woden.locale-language"; @@ -122,7 +115,7 @@ * ClassNotFoundException, InstantiationException and IllegalAccessException). * */ - public ErrorReporter() throws WSDLException + public ErrorReporterImpl() throws WSDLException { fMessageFormatter = new MessageFormatter(); fDefaultErrorHandler = new ErrorHandlerImpl(); --------------------------------------------------------------------- To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org For additional commands, e-mail: woden-dev-help@ws.apache.org