ceki 2005/01/12 07:08:27 Modified: src/java/org/apache/log4j/joran/action ConversionRuleAction.java LoggerAction.java AppenderRefAction.java AppenderAction.java PluginAction.java PropertyAction.java NestComponentIA.java NewRuleAction.java src/java/org/apache/log4j/joran JoranConfigurator.java Added: src/java/org/apache/log4j/helpers Option.java src/java/org/apache/log4j/joran/spi JoranDocument.java Removed: src/java/org/apache/log4j/joran/util JoranDocument.java src/java/org/apache/joran/helper Option.java Log: Moving around classes. Revision Changes Path 1.14 +1 -1 logging-log4j/src/java/org/apache/log4j/joran/action/ConversionRuleAction.java Index: ConversionRuleAction.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/action/ConversionRuleAction.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ConversionRuleAction.java 12 Jan 2005 15:04:18 -0000 1.13 +++ ConversionRuleAction.java 12 Jan 2005 15:08:26 -0000 1.14 @@ -19,10 +19,10 @@ import java.util.HashMap; import java.util.Map; -import org.apache.joran.helper.Option; import org.apache.log4j.Layout; import org.apache.log4j.PatternLayout; +import org.apache.log4j.helpers.Option; import org.apache.log4j.joran.spi.ExecutionContext; import org.apache.log4j.spi.ErrorItem; import org.apache.log4j.spi.LoggerRepository; 1.12 +1 -1 logging-log4j/src/java/org/apache/log4j/joran/action/LoggerAction.java Index: LoggerAction.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/action/LoggerAction.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- LoggerAction.java 12 Jan 2005 15:04:18 -0000 1.11 +++ LoggerAction.java 12 Jan 2005 15:08:26 -0000 1.12 @@ -16,10 +16,10 @@ package org.apache.log4j.joran.action; -import org.apache.joran.helper.Option; import org.apache.log4j.Logger; import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.Option; import org.apache.log4j.helpers.OptionConverter; import org.apache.log4j.joran.spi.ExecutionContext; import org.apache.log4j.spi.ErrorItem; 1.17 +1 -1 logging-log4j/src/java/org/apache/log4j/joran/action/AppenderRefAction.java Index: AppenderRefAction.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/action/AppenderRefAction.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- AppenderRefAction.java 12 Jan 2005 15:04:18 -0000 1.16 +++ AppenderRefAction.java 12 Jan 2005 15:08:26 -0000 1.17 @@ -16,11 +16,11 @@ package org.apache.log4j.joran.action; -import org.apache.joran.helper.Option; import org.apache.log4j.Appender; import org.apache.log4j.Logger; import org.apache.log4j.helpers.Constants; +import org.apache.log4j.helpers.Option; import org.apache.log4j.joran.spi.ExecutionContext; import org.apache.log4j.spi.AppenderAttachable; import org.apache.log4j.spi.ErrorItem; 1.18 +1 -1 logging-log4j/src/java/org/apache/log4j/joran/action/AppenderAction.java Index: AppenderAction.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/action/AppenderAction.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- AppenderAction.java 12 Jan 2005 15:04:18 -0000 1.17 +++ AppenderAction.java 12 Jan 2005 15:08:26 -0000 1.18 @@ -16,9 +16,9 @@ package org.apache.log4j.joran.action; -import org.apache.joran.helper.Option; import org.apache.log4j.Appender; +import org.apache.log4j.helpers.Option; import org.apache.log4j.helpers.OptionConverter; import org.apache.log4j.joran.spi.ExecutionContext; import org.apache.log4j.spi.ErrorItem; 1.10 +1 -1 logging-log4j/src/java/org/apache/log4j/joran/action/PluginAction.java Index: PluginAction.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/action/PluginAction.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- PluginAction.java 12 Jan 2005 15:04:18 -0000 1.9 +++ PluginAction.java 12 Jan 2005 15:08:26 -0000 1.10 @@ -15,8 +15,8 @@ */ package org.apache.log4j.joran.action; -import org.apache.joran.helper.Option; +import org.apache.log4j.helpers.Option; import org.apache.log4j.helpers.OptionConverter; import org.apache.log4j.joran.spi.ExecutionContext; import org.apache.log4j.plugins.Plugin; 1.10 +1 -1 logging-log4j/src/java/org/apache/log4j/joran/action/PropertyAction.java Index: PropertyAction.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/action/PropertyAction.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- PropertyAction.java 12 Jan 2005 15:04:18 -0000 1.9 +++ PropertyAction.java 12 Jan 2005 15:08:26 -0000 1.10 @@ -16,8 +16,8 @@ package org.apache.log4j.joran.action; -import org.apache.joran.helper.Option; +import org.apache.log4j.helpers.Option; import org.apache.log4j.helpers.OptionConverter; import org.apache.log4j.joran.spi.ExecutionContext; import org.apache.log4j.spi.ErrorItem; 1.2 +1 -1 logging-log4j/src/java/org/apache/log4j/joran/action/NestComponentIA.java Index: NestComponentIA.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/action/NestComponentIA.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- NestComponentIA.java 12 Jan 2005 15:04:18 -0000 1.1 +++ NestComponentIA.java 12 Jan 2005 15:08:26 -0000 1.2 @@ -16,10 +16,10 @@ package org.apache.log4j.joran.action; -import org.apache.joran.helper.Option; import org.apache.log4j.config.PropertySetter; import org.apache.log4j.helpers.Loader; +import org.apache.log4j.helpers.Option; import org.apache.log4j.joran.action.ImplicitAction; import org.apache.log4j.joran.spi.ExecutionContext; import org.apache.log4j.joran.spi.Pattern; 1.2 +1 -1 logging-log4j/src/java/org/apache/log4j/joran/action/NewRuleAction.java Index: NewRuleAction.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/action/NewRuleAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- NewRuleAction.java 12 Jan 2005 15:04:18 -0000 1.1 +++ NewRuleAction.java 12 Jan 2005 15:08:26 -0000 1.2 @@ -16,8 +16,8 @@ package org.apache.log4j.joran.action; -import org.apache.joran.helper.Option; +import org.apache.log4j.helpers.Option; import org.apache.log4j.joran.spi.ExecutionContext; import org.apache.log4j.joran.spi.Pattern; import org.apache.log4j.spi.ErrorItem; 1.1 logging-log4j/src/java/org/apache/log4j/helpers/Option.java Index: Option.java =================================================================== /* * Copyright 1999,2004 The Apache Software Foundation. * * 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. */ package org.apache.log4j.helpers; /** * * * @author Ceki Gülcü */ public class Option { static final String EMPTY_STR = ""; public static boolean isEmpty(String val) { return ((val == null) || EMPTY_STR.equals(val)); } } 1.1 logging-log4j/src/java/org/apache/log4j/joran/spi/JoranDocument.java Index: JoranDocument.java =================================================================== /* * Copyright 1999,2004 The Apache Software Foundation. * * 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. */ package org.apache.log4j.joran.spi; import org.apache.log4j.LogManager; import org.apache.log4j.helpers.Constants; import org.apache.log4j.spi.ErrorItem; import org.apache.log4j.spi.LoggerRepository; import org.apache.ugli.ULogger; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; import org.xml.sax.InputSource; import org.xml.sax.Locator; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.helpers.AttributesImpl; import org.xml.sax.helpers.DefaultHandler; import org.xml.sax.helpers.LocatorImpl; import java.io.ByteArrayInputStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * Collects all configuration significant elements from * an XML parse. * * @author Curt Arnold */ public final class JoranDocument extends DefaultHandler { public static final String LOG4J_NS = "http://jakarta.apache.org/log4j/"; public static final String LS_NS = "http://logging.apache.org/"; private final List errorList; private final List events = new ArrayList(20); private SAXParseException fatalError; private Locator location; private final LoggerRepository repository; public JoranDocument(final List errorList, LoggerRepository repository) { this.errorList = errorList; this.repository = repository; } public void error(final SAXParseException spe) { errorReport(spe); } public void fatalError(final SAXParseException spe) { if (fatalError == null) { fatalError = spe; } errorReport(spe); } public void warning(final SAXParseException spe) { errorReport(spe); } private void errorReport(final SAXParseException spe) { int line = spe.getLineNumber(); ErrorItem errorItem = new ErrorItem("Parsing warning", spe); errorItem.setLineNumber(line); errorItem.setColNumber(spe.getColumnNumber()); errorList.add(errorItem); } public void startElement( final String namespaceURI, final String localName, final String qName, final Attributes attributes) { if ( (namespaceURI == null) || (namespaceURI.length() == 0) || namespaceURI.equals(LOG4J_NS) || namespaceURI.equals(LS_NS)) { events.add(new StartElementEvent(localName, location, attributes)); } } public void endElement( final String namespaceURI, final String localName, final String qName) { if ( (namespaceURI == null) || (namespaceURI.length() == 0) || namespaceURI.equals(LOG4J_NS) || namespaceURI.equals(LS_NS)) { events.add(new EndElementEvent(localName, location)); } } public void replay(final ContentHandler handler) throws SAXException { if (fatalError != null) { throw fatalError; } LocatorImpl replayLocation = new LocatorImpl(); handler.setDocumentLocator(replayLocation); for (Iterator iter = events.iterator(); iter.hasNext();) { ElementEvent event = (ElementEvent) iter.next(); event.replay(handler, replayLocation); } } public InputSource resolveEntity( final String publicId, final String systemId) throws SAXException { // // if log4j.dtd is requested then // return an empty input source. // We aren't validating and do not need anything from // the dtd and do not want a failure if it isn't present. if ((systemId != null) && systemId.endsWith("log4j.dtd")) { getLogger().warn("The 'log4j.dtd' is no longer used nor needed."); getLogger().warn("See {}#log4j_dtd for more details.", Constants.CODES_HREF); return new InputSource(new ByteArrayInputStream(new byte[0])); } // If the systemId is not for us to handle, we delegate to our super // class, at leasts that's the basic idea. However, the code below // needs to be more complicated. // Due to inexplicable voodoo, the original resolveEntity method in // org.xml.sax.helpers.DefaultHandler declares throwing an IOException, // whereas the org.xml.sax.helpers.DefaultHandler class included in // JDK 1.4 masks this exception. In JDK 1.5, the IOException has been // put back... // In order to compile under JDK 1.4, we are forced to mask the IOException // as well. Since its signatures varies, we cannot call our super class' // resolveEntity method. We are forced to implement the default behavior // ourselves, which in this case, is just returning null. try { return super.resolveEntity(publicId, systemId); } catch (Exception e) { if (e instanceof SAXException) { throw (SAXException) e; } else if (e instanceof java.io.IOException) { // fall back to the default "implementation" getLogger().error("Default entity resolver threw an IOException", e); return null; } else { // This point should can never be reached. return null; } } } public void setDocumentLocator(Locator location) { this.location = location; } protected ULogger getLogger() { if (repository != null) { return repository.getLogger(this.getClass().getName()); } else { return LogManager.SIMPLE_LOGGER_FA.getLogger(this.getClass().getName()); } } private abstract static class ElementEvent { private String localName; private Locator location; ElementEvent(final String localName, final Locator location) { this.localName = localName; if (location != null) { this.location = new LocatorImpl(location); } } public final String getLocalName() { return localName; } public void replay( final ContentHandler handler, final LocatorImpl replayLocation) throws SAXException { if (location != null) { replayLocation.setPublicId(location.getPublicId()); replayLocation.setColumnNumber(location.getColumnNumber()); replayLocation.setLineNumber(location.getLineNumber()); replayLocation.setSystemId(location.getSystemId()); } } } private static class EndElementEvent extends ElementEvent { public EndElementEvent(final String localName, final Locator location) { super(localName, location); } public void replay( final ContentHandler handler, final LocatorImpl replayLocation) throws SAXException { super.replay(handler, replayLocation); handler.endElement( JoranDocument.LOG4J_NS, getLocalName(), getLocalName()); } } private static class StartElementEvent extends ElementEvent { private Attributes attributes; public StartElementEvent( final String localName, final Locator location, final Attributes attributes) { super(localName, location); this.attributes = new AttributesImpl(attributes); } public void replay( final ContentHandler handler, final LocatorImpl replayLocation) throws SAXException { super.replay(handler, replayLocation); handler.startElement( JoranDocument.LOG4J_NS, getLocalName(), getLocalName(), attributes); } } } 1.36 +1 -1 logging-log4j/src/java/org/apache/log4j/joran/JoranConfigurator.java Index: JoranConfigurator.java =================================================================== RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/joran/JoranConfigurator.java,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- JoranConfigurator.java 12 Jan 2005 15:04:21 -0000 1.35 +++ JoranConfigurator.java 12 Jan 2005 15:08:26 -0000 1.36 @@ -36,10 +36,10 @@ import org.apache.log4j.joran.action.SubstitutionPropertyAction; import org.apache.log4j.joran.spi.ExecutionContext; import org.apache.log4j.joran.spi.Interpreter; +import org.apache.log4j.joran.spi.JoranDocument; import org.apache.log4j.joran.spi.Pattern; import org.apache.log4j.joran.spi.RuleStore; import org.apache.log4j.joran.spi.SimpleRuleStore; -import org.apache.log4j.joran.util.JoranDocument; import org.apache.log4j.spi.ErrorItem; import org.apache.log4j.spi.LoggerRepository;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]