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]

Reply via email to