You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by gm...@apache.org on 2003/09/14 00:55:16 UTC

cvs commit: xml-fop/src/java/org/apache/fop/fo/extensions/svg BatikExtensionElementMapping.java

gmazza      2003/09/13 15:55:16

  Modified:    src/java/org/apache/fop/fo FOTreeBuilder.java
  Added:       src/java/org/apache/fop/fo/extensions/svg
                        BatikExtensionElementMapping.java
  Log:
  New element mapping created to handle Batik extension elements.
  
  Revision  Changes    Path
  1.18      +1 -0      xml-fop/src/java/org/apache/fop/fo/FOTreeBuilder.java
  
  Index: FOTreeBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOTreeBuilder.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- FOTreeBuilder.java	2 Sep 2003 13:56:40 -0000	1.17
  +++ FOTreeBuilder.java	13 Sep 2003 22:55:16 -0000	1.18
  @@ -163,6 +163,7 @@
       private void setupDefaultMappings() {
           addElementMapping("org.apache.fop.fo.FOElementMapping");
           addElementMapping("org.apache.fop.fo.extensions.svg.SVGElementMapping");
  +        addElementMapping("org.apache.fop.fo.extensions.svg.BatikExtensionElementMapping");
           addElementMapping("org.apache.fop.fo.extensions.ExtensionElementMapping");
   
           // add mappings from available services
  
  
  
  1.1                  xml-fop/src/java/org/apache/fop/fo/extensions/svg/BatikExtensionElementMapping.java
  
  Index: BatikExtensionElementMapping.java
  ===================================================================
  /*
   * $Id: BatikExtensionElementMapping.java,v 1.1 2003/09/13 22:55:16 gmazza Exp $
   * ============================================================================
   *                    The Apache Software License, Version 1.1
   * ============================================================================
   *
   * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without modifica-
   * tion, are permitted provided that the following conditions are met:
   *
   * 1. Redistributions of source code must retain the above copyright notice,
   *    this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright notice,
   *    this list of conditions and the following disclaimer in the documentation
   *    and/or other materials provided with the distribution.
   *
   * 3. The end-user documentation included with the redistribution, if any, must
   *    include the following acknowledgment: "This product includes software
   *    developed by the Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself, if
   *    and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "FOP" and "Apache Software Foundation" must not be used to
   *    endorse or promote products derived from this software without prior
   *    written permission. For written permission, please contact
   *    apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache", nor may
   *    "Apache" appear in their name, without prior written permission of the
   *    Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
   * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU-
   * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
   * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
   * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   * ============================================================================
   *
   * This software consists of voluntary contributions made by many individuals
   * on behalf of the Apache Software Foundation and was originally created by
   * James Tauber <jt...@jtauber.com>. For more information on the Apache
   * Software Foundation, please see <http://www.apache.org/>.
   */
  package org.apache.fop.fo.extensions.svg;
  
  import java.util.HashMap;
  
  import org.apache.fop.fo.FONode;
  import org.apache.fop.fo.ElementMapping;
  import org.apache.fop.apps.FOFileHandler;
  
  import org.apache.batik.util.XMLResourceDescriptor;
  import org.apache.batik.dom.svg.ExtensibleSVGDOMImplementation;
  
  /**
   * This Element Mapping is for Batik SVG Extension elements
   * of the http://xml.apache.org/batik/ext namespace.
   */
  public class BatikExtensionElementMapping extends ElementMapping {
      private boolean batikAvail = true;
  
      public BatikExtensionElementMapping() {
          namespaceURI = "http://xml.apache.org/batik/ext";
      }
  
      protected void initialize() {
          if (foObjs == null && batikAvail == true) {
              // this sets the parser that will be used
              // by default (SVGBrokenLinkProvider)
              // normally the user agent value is used
              try {
                  XMLResourceDescriptor.setXMLParserClassName(
                    FOFileHandler.getParserClassName());
  
                  foObjs = new HashMap();
                  foObjs.put("batik", new SE());
                  foObjs.put(DEFAULT, new SVGMaker());
              } catch (Throwable t) {
                  // if the classes are not available
                  // the DISPLAY is not checked
                  batikAvail = false;
              }
          }
      }
  
      static class SVGMaker extends ElementMapping.Maker {
          public FONode make(FONode parent) {
              return new SVGObj(parent);
          }
      }
  
      static class SE extends ElementMapping.Maker {
          public FONode make(FONode parent) {
              return new SVGElement(parent);
          }
      }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org