gmazza      2004/08/07 06:01:17

  Modified:    src/java/org/apache/fop/fo FONode.java
               src/java/org/apache/fop/fo/flow BasicLink.java
                        BidiOverride.java Block.java
                        InstreamForeignObject.java ListItem.java
               src/java/org/apache/fop/fo/pagination Declarations.java
                        Flow.java LayoutMasterSet.java PageSequence.java
                        PageSequenceMaster.java
                        RepeatablePageMasterAlternatives.java Root.java
                        StaticContent.java
               src/java/org/apache/fop/layoutmgr AddLMVisitor.java
                        BidiLayoutManager.java
               src/java/org/apache/fop/layoutmgr/list
                        ListItemLayoutManager.java
  Added:       src/java/org/apache/fop/layoutmgr
                        BasicLinkLayoutManager.java
  Log:
  1.  new FONode.invalidChildError method added that will takes a "ruleViolated" 
string for more detailed error messages.
  
  2.  FO_URI added to FONode to decrease the number of imports of FOElementMapping 
within the FONode subclasses.
  
  3.  Layout logic moved from fo.flow.BasicLink to a new BasicLinkLayoutManager class.
  
  4.  BidiLayoutManager constructor modified, now needs the flow.BidiOverride object.
  
  5.  ListItemLayoutManager setup moved from AddLMManager to flow.Listitem and 
layoutmgr.list.ListItemLayoutManager.
  
  Revision  Changes    Path
  1.38      +19 -2     xml-fop/src/java/org/apache/fop/fo/FONode.java
  
  Index: FONode.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FONode.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- FONode.java       6 Aug 2004 04:22:14 -0000       1.37
  +++ FONode.java       7 Aug 2004 13:01:15 -0000       1.38
  @@ -40,6 +40,8 @@
    */
   public abstract class FONode {
   
  +    protected static String FO_URI = FOElementMapping.URI;
  +
       /** Parent FO node */
       protected FONode parent;
   
  @@ -277,10 +279,25 @@
        */
       protected void invalidChildError(Locator loc, String nsURI, String lName) 
           throws SAXParseException {
  -        throw new SAXParseException (errorText(loc) + getNodeString(nsURI, lName) + 
  -            " is not a valid child element of " + getName() + ".", loc);
  +        invalidChildError(loc, nsURI, lName, null);
       }
       
  +    /**
  +     * Helper function to return "invalid child" exceptions with more
  +     * complex validation rules (i.e., needing more explanation of the problem)
  +     * @param loc org.xml.sax.Locator object of the error (*not* parent node)
  +     * @param nsURI namespace URI of incoming invalid node
  +     * @param lName local name (i.e., no prefix) of incoming node
  +     * @param ruleViolated text explanation of problem
  +     */
  +    protected void invalidChildError(Locator loc, String nsURI, String lName,
  +        String ruleViolated)
  +        throws SAXParseException {
  +        throw new SAXParseException (errorText(loc) + getNodeString(nsURI, lName) + 
  +            " is not a valid child element of " + getName() 
  +            + ((ruleViolated != null) ? ": " + ruleViolated : "."), loc);
  +    }
  +
       /**
        * Helper function to return missing child element errors
        * (e.g., fo:layout-master-set not having any page-master child element)
  
  
  
  1.23      +46 -63    xml-fop/src/java/org/apache/fop/fo/flow/BasicLink.java
  
  Index: BasicLink.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/BasicLink.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- BasicLink.java    6 Aug 2004 15:41:10 -0000       1.22
  +++ BasicLink.java    7 Aug 2004 13:01:15 -0000       1.23
  @@ -27,33 +27,25 @@
   import org.xml.sax.SAXParseException;
   
   // FOP
  -import org.apache.fop.area.inline.InlineArea;
  -import org.apache.fop.area.inline.InlineParent;
  -import org.apache.fop.area.LinkResolver;
  -import org.apache.fop.area.PageViewport;
  -import org.apache.fop.area.Trait;
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FONode;
  -import org.apache.fop.layoutmgr.LayoutManager;
  -import org.apache.fop.layoutmgr.LMiter;
  -import org.apache.fop.layoutmgr.InlineStackingLayoutManager;
  -import org.apache.fop.fo.properties.CommonAccessibility;
  -import org.apache.fop.fo.properties.CommonAural;
  -import org.apache.fop.fo.properties.CommonBorderAndPadding;
  -import org.apache.fop.fo.properties.CommonBackground;
  -import org.apache.fop.fo.properties.CommonMarginInline;
  -import org.apache.fop.fo.properties.CommonRelativePosition;
  +import org.apache.fop.layoutmgr.BasicLinkLayoutManager;
   
   /**
  - * The basic link.
  - * This sets the basic link trait on the inline parent areas
  - * that are created by the fo element.
  + * The fo:basic-link formatting object.
  + *
  + * This class contains the logic to determine the link represented by this FO,
  + * and whether that link is external (uses a URI) or internal (an id 
  + * reference).
    */
   public class BasicLink extends Inline {
  +
  +    // link represented by this FO
       private String link = null;
  -    private boolean external = false;
  +    
  +    // indicator of whether link is internal or external
  +    private boolean isExternalLink = false;
   
  -    // used for FO validation
  +    // used only for FO validation
       private boolean blockOrInlineItemFound = false;
   
       /**
  @@ -68,17 +60,18 @@
        */
       protected void addProperties(Attributes attlist) throws SAXParseException {
           super.addProperties(attlist);
  -
           setupID();
  +        
  +        // This logic is for determining the link represented by this FO.
           String ext =  propertyList.get(PR_EXTERNAL_DESTINATION).getString();
           String internal = propertyList.get(PR_INTERNAL_DESTINATION).getString();
   
  -        // per spec, internal takes precedence if both specified
  -        if (internal.length() > 0) {
  +        // per spec, internal takes precedence if both specified        
  +        if (internal.length() > 0) { 
               link = internal;
           } else if (ext.length() > 0) {
               link = ext;
  -            external = true;
  +            isExternalLink = true;
           } else {
               // slightly stronger than spec "should be specified"
               attributeError("Missing attribute:  Either external-destination or " +
  @@ -94,7 +87,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (nsURI == FOElementMapping.URI && localName.equals("marker")) {
  +        if (nsURI == FO_URI && localName.equals("marker")) {
               if (blockOrInlineItemFound) {
                  nodesOutOfOrderError(loc, "fo:marker", "(#PCDATA|%inline;|%block;)");
               }
  @@ -114,49 +107,39 @@
       }
   
       /**
  -     * @return true (BasicLink can contain Markers)
  -    */
  -    protected boolean containsMarkers() {
  -        return true;
  -    }
  -
  -    /**
        * @see org.apache.fop.fo.FObj#addLayoutManager(List)
  -     * @todo create a subclass for InlineStackingLayoutManager, moving the 
formatting
  -     *  logic to the layoutmgr package
  -    */
  +     */
       public void addLayoutManager(List list) {         
  -        InlineStackingLayoutManager lm;
  -        lm = new InlineStackingLayoutManager(this) {
  -            protected InlineParent createArea() {
  -                InlineParent area = super.createArea();
  -                setupBasicLinkArea(parentLM, area);
  -                return area;
  -            }
  -        };
  -        lm.setLMiter(new LMiter(lm, getChildNodes()));
  +        BasicLinkLayoutManager lm = new BasicLinkLayoutManager(this);
           list.add(lm);
       }
  -     
  -    protected void setupBasicLinkArea(LayoutManager parentLM,
  -                                      InlineParent area) {
  -         if (link == null) {
  -             return;
  -         }
  -         if (external) {
  -             area.addTrait(Trait.EXTERNAL_LINK, link);
  -         } else {
  -             PageViewport page = parentLM.resolveRefID(link);
  -             if (page != null) {
  -                 area.addTrait(Trait.INTERNAL_LINK, page.getKey());
  -             } else {
  -                 LinkResolver res = new LinkResolver(link, area);
  -                 parentLM.addUnresolvedArea(link, res);
  -             }
  -         }
  -     }
  -     
  +
  +    /**
  +     * @return link represented by this fo:basic-link
  +     */
  +    public String getLink() {
  +        return link;
  +    }
  + 
  +    /**
  +     * @return true if link is external, false if internal
  +     */
  +    public boolean isExternalLink() {
  +        return isExternalLink;
  +    }
  +
  +    /**
  +     * @see org.apache.fop.fo.FObj#getName()
  +     */
       public String getName() {
           return "fo:basic-link";
  +    }
  +    
  +    /**
  +     * @return true (BasicLink can contain Markers)
  +     * @todo see if can remove in favor of a BitSet for all FO's
  +     */
  +    protected boolean containsMarkers() {
  +        return true;
       }
   }
  
  
  
  1.14      +25 -20    xml-fop/src/java/org/apache/fop/fo/flow/BidiOverride.java
  
  Index: BidiOverride.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/BidiOverride.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- BidiOverride.java 6 Aug 2004 15:41:10 -0000       1.13
  +++ BidiOverride.java 7 Aug 2004 13:01:15 -0000       1.14
  @@ -28,15 +28,11 @@
   import org.xml.sax.SAXParseException;
   
   // FOP
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObjMixed;
   import org.apache.fop.layoutmgr.BidiLayoutManager;
   import org.apache.fop.layoutmgr.InlineStackingLayoutManager;
   import org.apache.fop.layoutmgr.LayoutManager;
  -import org.apache.fop.fo.properties.CommonAural;
  -import org.apache.fop.fo.properties.CommonRelativePosition;
  -
   
   /**
    * fo:bidi-override element.
  @@ -77,6 +73,8 @@
   
       /**
        * @see org.apache.fop.fo.FObj#addProperties
  +     * @todo see if can use a BitSet to determine if an FO should
  +     * have its ID setup; then move setupID() instances to FObj.
        */
       protected void addProperties(Attributes attlist) throws SAXParseException {
           super.addProperties(attlist);
  @@ -93,7 +91,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (nsURI == FOElementMapping.URI && localName.equals("marker")) {
  +        if (nsURI == FO_URI && localName.equals("marker")) {
               if (blockOrInlineItemFound) {
                  nodesOutOfOrderError(loc, "fo:marker", 
                       "(#PCDATA|%inline;|%block;)");
  @@ -101,25 +99,20 @@
           } else if (!isBlockOrInlineItem(nsURI, localName)) {
               invalidChildError(loc, nsURI, localName);
           } else if (!canHaveBlockLevelChildren && isBlockItem(nsURI, localName)) {
  -            invalidChildError(loc, nsURI, localName);
  +            String ruleViolated = "An fo:bidi-override" +
  +                " that is a descendant of an fo:leader or of the fo:inline child" +
  +                " of an fo:footnote may not have block-level children, unless it" +
  +                " has a nearer ancestor that is an fo:inline-container.";
  +            invalidChildError(loc, nsURI, localName, ruleViolated);
           } else {
               blockOrInlineItemFound = true;
           }
       }
       
  -    public String getName() {
  -        return "fo:bidi-override";
  -    }
  -
  -    /**
  -     * @return true (BidiOverride can contain Markers)
  -     */
  -    protected boolean containsMarkers() {
  -        return true;
  -    }
  -
       /**
        * @see org.apache.fop.fo.FObj#addLayoutManager(List)
  +     * @todo see if can/should move the child iteration logic 
  +     *      to BidiLayoutManager
        */
       public void addLayoutManager(List list) {         
           if (false) {
  @@ -130,8 +123,8 @@
               for (int count = childList.size() - 1; count >= 0; count--) {
                   LayoutManager lm = (LayoutManager) childList.get(count);
                   if (lm.generatesInlineAreas()) {
  -                    LayoutManager blm = new 
BidiLayoutManager((InlineStackingLayoutManager) lm);
  -                    blm.setFObj(this);
  +                    LayoutManager blm = new BidiLayoutManager(this,
  +                        (InlineStackingLayoutManager) lm);
                       list.add(blm);
                   } else {
                       list.add(lm);
  @@ -140,5 +133,17 @@
           }
       }
   
  -    
  +    /**
  +     * @see org.apache.fop.fo.FObj#getName()
  +     */
  +    public String getName() {
  +        return "fo:bidi-override";
  +    }
  +
  +    /**
  +     * @return true (BidiOverride can contain Markers)
  +     */
  +    protected boolean containsMarkers() {
  +        return true;
  +    }
   }
  
  
  
  1.29      +7 -8      xml-fop/src/java/org/apache/fop/fo/flow/Block.java
  
  Index: Block.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Block.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- Block.java        6 Aug 2004 15:41:10 -0000       1.28
  +++ Block.java        7 Aug 2004 13:01:15 -0000       1.29
  @@ -142,13 +142,6 @@
       }
   
       /**
  -     * @return true (Block can contain Markers)
  -     */
  -    protected boolean containsMarkers() {
  -        return true;
  -    }
  -
  -    /**
        * @return span for this Block, in millipoints (??)
        */
       public int getSpan() {
  @@ -347,8 +340,14 @@
           list.add(blm);
       }
        
  -   public String getName() {
  +    public String getName() {
           return "fo:block";
       }
   
  +    /**
  +     * @return true (Block can contain Markers)
  +     */
  +    protected boolean containsMarkers() {
  +        return true;
  +    }
   }
  
  
  
  1.18      +1 -2      
xml-fop/src/java/org/apache/fop/fo/flow/InstreamForeignObject.java
  
  Index: InstreamForeignObject.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/InstreamForeignObject.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- InstreamForeignObject.java        6 Aug 2004 04:22:16 -0000       1.17
  +++ InstreamForeignObject.java        7 Aug 2004 13:01:15 -0000       1.18
  @@ -26,7 +26,6 @@
   // FOP
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.LMVisited;
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.layoutmgr.AddLMVisitor;
   import org.apache.fop.fo.FObj;
   
  @@ -54,7 +53,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (nsURI == FOElementMapping.URI) {
  +        if (nsURI == FO_URI) {
               invalidChildError(loc, nsURI, localName);
           } else if (hasNonXSLNamespaceElement) {
               tooManyNodesError(loc, "child element");
  
  
  
  1.22      +18 -39    xml-fop/src/java/org/apache/fop/fo/flow/ListItem.java
  
  Index: ListItem.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/ListItem.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- ListItem.java     6 Aug 2004 04:22:16 -0000       1.21
  +++ ListItem.java     7 Aug 2004 13:01:15 -0000       1.22
  @@ -18,28 +18,23 @@
   
   package org.apache.fop.fo.flow;
   
  +// Java
  +import java.util.List;
  +
   // XML
   import org.xml.sax.Attributes;
   import org.xml.sax.SAXParseException;
   
   // FOP
  -import org.apache.fop.apps.FOPException;
   import org.apache.fop.fo.FONode;
  -import org.apache.fop.layoutmgr.AddLMVisitor;
   import org.apache.fop.fo.FObj;
  -import org.apache.fop.fo.properties.CommonAccessibility;
  -import org.apache.fop.fo.properties.CommonAural;
  -import org.apache.fop.fo.properties.CommonBackground;
  -import org.apache.fop.fo.properties.CommonBorderAndPadding;
  -import org.apache.fop.fo.properties.CommonMarginBlock;
  -import org.apache.fop.fo.properties.CommonRelativePosition;
  -import org.apache.fop.fo.LMVisited;
  +import org.apache.fop.layoutmgr.list.ListItemLayoutManager;
   
   /**
    * Class modelling the fo:list-item object. See Sec. 6.8.3 of the XSL-FO
    * Standard.
    */
  -public class ListItem extends FObj implements LMVisited {
  +public class ListItem extends FObj {
   
       private ListItemLabel label = null;
       private ListItemBody body = null;
  @@ -70,31 +65,7 @@
       }
   
       private void setup() {
  -
  -        // Common Accessibility Properties
  -        CommonAccessibility mAccProps = propMgr.getAccessibilityProps();
  -
  -        // Common Aural Properties
  -        CommonAural mAurProps = propMgr.getAuralProps();
  -
  -        // Common Border, Padding, and Background Properties
  -        CommonBorderAndPadding bap = propMgr.getBorderAndPadding();
  -        CommonBackground bProps = propMgr.getBackgroundProps();
  -
  -        // Common Margin Properties-Block
  -        CommonMarginBlock mProps = propMgr.getMarginProps();
  -
  -        // Common Relative Position Properties
  -        CommonRelativePosition mRelProps = propMgr.getRelativePositionProps();
  -
  -        // this.propertyList.get("break-after");
  -        // this.propertyList.get("break-before");
           setupID();
  -        // this.propertyList.get("keep-together");
  -        // this.propertyList.get("keep-with-next");
  -        // this.propertyList.get("keep-with-previous");
  -        // this.propertyList.get("relative-align");
  -
           this.align = this.propertyList.get(PR_TEXT_ALIGN).getEnum();
           this.alignLast = this.propertyList.get(PR_TEXT_ALIGN_LAST).getEnum();
           this.lineHeight =
  @@ -103,7 +74,6 @@
               this.propertyList.get(PR_SPACE_BEFORE | 
CP_OPTIMUM).getLength().getValue();
           this.spaceAfter =
               this.propertyList.get(PR_SPACE_AFTER | 
CP_OPTIMUM).getLength().getValue();
  -
       }
   
       /**
  @@ -135,16 +105,25 @@
           return true;
       }
   
  +    /**
  +     * @see org.apache.fop.fo.FObj#addLayoutManager(List)
  +     * @todo remove checks for non-nulls after validateChildNode() added
  +     */
  +    public void addLayoutManager(List list) {         
  +        if (label != null && body != null) {
  +            ListItemLayoutManager blm = new ListItemLayoutManager(this);
  +            list.add(blm);
  +        } else {
  +            getLogger().error("list-item requires list-item-label and 
list-item-body");
  +        }
  +    }
  +
       public ListItemLabel getLabel() {
           return label;
       }
   
       public ListItemBody getBody() {
           return body;
  -    }
  -
  -    public void acceptVisitor(AddLMVisitor aLMV) {
  -        aLMV.serveListItem(this);
       }
   
       protected void endOfNode() throws SAXParseException {
  
  
  
  1.16      +2 -3      xml-fop/src/java/org/apache/fop/fo/pagination/Declarations.java
  
  Index: Declarations.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Declarations.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- Declarations.java 4 Aug 2004 22:50:58 -0000       1.15
  +++ Declarations.java 7 Aug 2004 13:01:16 -0000       1.16
  @@ -29,7 +29,6 @@
   import org.xml.sax.SAXParseException;
   
   // FOP
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
   import org.apache.fop.fo.XMLObj;
  @@ -62,7 +61,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (nsURI == FOElementMapping.URI) {
  +        if (nsURI == FO_URI) {
               if (!localName.equals("color-profile")) {   
                   invalidChildError(loc, nsURI, localName);
               }
  
  
  
  1.25      +2 -3      xml-fop/src/java/org/apache/fop/fo/pagination/Flow.java
  
  Index: Flow.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Flow.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- Flow.java 6 Aug 2004 15:41:12 -0000       1.24
  +++ Flow.java 7 Aug 2004 13:01:16 -0000       1.25
  @@ -30,7 +30,6 @@
   // FOP
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.layoutmgr.FlowLayoutManager;
   
   /**
  @@ -74,7 +73,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (nsURI == FOElementMapping.URI && localName.equals("marker")) {
  +        if (nsURI == FO_URI && localName.equals("marker")) {
               if (blockItemFound) {
                  nodesOutOfOrderError(loc, "fo:marker", "(%block;)");
               }
  
  
  
  1.20      +1 -2      
xml-fop/src/java/org/apache/fop/fo/pagination/LayoutMasterSet.java
  
  Index: LayoutMasterSet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/LayoutMasterSet.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- LayoutMasterSet.java      4 Aug 2004 22:50:58 -0000       1.19
  +++ LayoutMasterSet.java      7 Aug 2004 13:01:16 -0000       1.20
  @@ -30,7 +30,6 @@
   // FOP
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.apps.FOPException;
   
   /**
  @@ -60,7 +59,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (nsURI == FOElementMapping.URI) {
  +        if (nsURI == FO_URI) {
               if (!localName.equals("simple-page-master") 
                   && !localName.equals("page-sequence-master")) {   
                       invalidChildError(loc, nsURI, localName);
  
  
  
  1.35      +1 -3      xml-fop/src/java/org/apache/fop/fo/pagination/PageSequence.java
  
  Index: PageSequence.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/PageSequence.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- PageSequence.java 4 Aug 2004 22:50:58 -0000       1.34
  +++ PageSequence.java 7 Aug 2004 13:01:16 -0000       1.35
  @@ -30,8 +30,6 @@
   import org.apache.fop.apps.FOPException;
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
  -import org.apache.fop.fo.FOElementMapping;
  -import org.apache.fop.apps.FOPException;
   
   /**
    * This provides pagination of flows onto pages. Much of the
  @@ -139,7 +137,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (nsURI == FOElementMapping.URI) {
  +        if (nsURI == FO_URI) {
               if (localName.equals("title")) {
                   if (titleFO != null) {
                       tooManyNodesError(loc, "fo:title");
  
  
  
  1.17      +1 -2      
xml-fop/src/java/org/apache/fop/fo/pagination/PageSequenceMaster.java
  
  Index: PageSequenceMaster.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/PageSequenceMaster.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- PageSequenceMaster.java   4 Aug 2004 22:50:58 -0000       1.16
  +++ PageSequenceMaster.java   7 Aug 2004 13:01:16 -0000       1.17
  @@ -30,7 +30,6 @@
   import org.apache.fop.fo.Constants;
   import org.apache.fop.fo.FObj;
   import org.apache.fop.fo.FONode;
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.apps.FOPException;
   
   /**
  @@ -69,7 +68,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (nsURI == FOElementMapping.URI) {
  +        if (nsURI == FO_URI) {
               if (!localName.equals("single-page-master-reference") 
                   && !localName.equals("repeatable-page-master-reference")
                   && !localName.equals("repeatable-page-master-alternatives")) {   
  
  
  
  1.15      +1 -2      
xml-fop/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterAlternatives.java
  
  Index: RepeatablePageMasterAlternatives.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterAlternatives.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- RepeatablePageMasterAlternatives.java     4 Aug 2004 22:50:58 -0000       1.14
  +++ RepeatablePageMasterAlternatives.java     7 Aug 2004 13:01:16 -0000       1.15
  @@ -27,7 +27,6 @@
   import org.xml.sax.SAXParseException;
   
   // FOP
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
   
  @@ -64,7 +63,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (!(nsURI == FOElementMapping.URI &&
  +        if (!(nsURI == FO_URI &&
               localName.equals("conditional-page-master-reference"))) {
                   invalidChildError(loc, nsURI, localName);
           }
  
  
  
  1.21      +1 -2      xml-fop/src/java/org/apache/fop/fo/pagination/Root.java
  
  Index: Root.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Root.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- Root.java 4 Aug 2004 22:50:58 -0000       1.20
  +++ Root.java 7 Aug 2004 13:01:16 -0000       1.21
  @@ -28,7 +28,6 @@
   // FOP
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.extensions.ExtensionElementMapping;
   import org.apache.fop.fo.extensions.Bookmarks;
   import org.apache.fop.fo.FOInputHandler;
  @@ -75,7 +74,7 @@
        */
       protected void validateChildNode(Locator loc, String nsURI, String localName) 
           throws SAXParseException {
  -        if (nsURI == FOElementMapping.URI) {
  +        if (nsURI == FO_URI) {
               if (localName.equals("layout-master-set")) {   
                   if (layoutMasterSet != null) {
                       tooManyNodesError(loc, "fo:layout-master-set");
  
  
  
  1.19      +1 -2      xml-fop/src/java/org/apache/fop/fo/pagination/StaticContent.java
  
  Index: StaticContent.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/StaticContent.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- StaticContent.java        6 Aug 2004 04:22:18 -0000       1.18
  +++ StaticContent.java        7 Aug 2004 13:01:16 -0000       1.19
  @@ -24,7 +24,6 @@
   import org.xml.sax.SAXParseException;
   
   // FOP
  -import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FONode;
   
   /**
  
  
  
  1.50      +1 -33     xml-fop/src/java/org/apache/fop/layoutmgr/AddLMVisitor.java
  
  Index: AddLMVisitor.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/AddLMVisitor.java,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- AddLMVisitor.java 6 Aug 2004 15:41:12 -0000       1.49
  +++ AddLMVisitor.java 7 Aug 2004 13:01:17 -0000       1.50
  @@ -45,9 +45,6 @@
   import org.apache.fop.fo.flow.Inline;
   import org.apache.fop.fo.flow.InstreamForeignObject;
   import org.apache.fop.fo.flow.Leader;
  -import org.apache.fop.fo.flow.ListItem;
  -import org.apache.fop.fo.flow.ListItemBody;
  -import org.apache.fop.fo.flow.ListItemLabel;
   import org.apache.fop.fo.flow.PageNumber;
   import org.apache.fop.fo.flow.RetrieveMarker;
   import org.apache.fop.fo.flow.Table;
  @@ -62,8 +59,6 @@
   import org.apache.fop.fo.pagination.Title;
   import org.apache.fop.fo.properties.CommonBackground;
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
  -import org.apache.fop.layoutmgr.list.Item;
  -import org.apache.fop.layoutmgr.list.ListItemLayoutManager;
   import org.apache.fop.layoutmgr.table.Body;
   import org.apache.fop.layoutmgr.table.Column;
   import org.apache.fop.layoutmgr.table.TableLayoutManager;
  @@ -420,33 +415,6 @@
            areaCurrent.setOffset(0);
   
            return areaCurrent;
  -     }
  -
  -     public void serveListItem(ListItem node) {
  -         if (node.getLabel() != null && node.getBody() != null) {
  -             ListItemLayoutManager blm = new ListItemLayoutManager(node);
  -             blm.setLabel(getListItemLabelLayoutManager(node.getLabel()));
  -             blm.setBody(getListItemBodyLayoutManager(node.getBody()));
  -             currentLMList.add(blm);
  -         } else {
  -             node.getLogger().error("list-item requires list-item-label and 
list-item-body");
  -         }
  -     }
  -
  -     /**
  -      * @return this object's Item layout manager
  -      */
  -     public Item getListItemLabelLayoutManager(ListItemLabel node) {
  -         Item itemLabel = new Item(node);
  -         return itemLabel;
  -     }
  -
  -     /**
  -      * @return Item layout manager
  -      */
  -     public Item getListItemBodyLayoutManager(ListItemBody node) {
  -         Item item = new Item(node);
  -         return item;
        }
   
        /**
  
  
  
  1.6       +4 -2      xml-fop/src/java/org/apache/fop/layoutmgr/BidiLayoutManager.java
  
  Index: BidiLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/BidiLayoutManager.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- BidiLayoutManager.java    6 Aug 2004 04:22:18 -0000       1.5
  +++ BidiLayoutManager.java    7 Aug 2004 13:01:17 -0000       1.6
  @@ -22,6 +22,7 @@
   import java.util.List;
   
   import org.apache.fop.area.inline.InlineArea;
  +import org.apache.fop.fo.flow.BidiOverride;
   
   
   /**
  @@ -33,8 +34,9 @@
   
       private List children;
   
  -    public BidiLayoutManager(InlineStackingLayoutManager cLM) {
  +    public BidiLayoutManager(BidiOverride node, InlineStackingLayoutManager cLM) {
           children = new ArrayList();
  +        setFObj(node);
   /*
           for (int count = cLM.size() - 1; count >= 0; count--) {
               InlineArea ia = cLM.get(count);
  
  
  
  1.1                  
xml-fop/src/java/org/apache/fop/layoutmgr/BasicLinkLayoutManager.java
  
  Index: BasicLinkLayoutManager.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.
   */
  
  /* $Id: BasicLinkLayoutManager.java,v 1.1 2004/08/07 13:01:17 gmazza Exp $ */
  
  package org.apache.fop.layoutmgr;
  
  import org.apache.fop.fo.flow.BasicLink;
  import org.apache.fop.area.inline.InlineParent;
  import org.apache.fop.area.Trait;
  import org.apache.fop.area.LinkResolver;
  import org.apache.fop.area.PageViewport;
  
  /**
   * LayoutManager for the fo:basic-link formatting object
   */
  public class BasicLinkLayoutManager extends InlineStackingLayoutManager {
  
      private String link;
      private boolean isExternalLink = false;
      
      /**
       * Create an fo:basic-link layout manager.
       *
       * @param node the formatting object that creates the area
       */
      public BasicLinkLayoutManager(BasicLink node) {
          super(node);
          setLMiter(new LMiter(this, node.getChildNodes()));
          link = node.getLink();
          isExternalLink = node.isExternalLink();
      }
  
      protected InlineParent createArea() {
          InlineParent area = super.createArea();
          setupBasicLinkArea(parentLM, area);
          return area;
      }
      
      private void setupBasicLinkArea(LayoutManager parentLM,
                                        InlineParent area) {
           if (isExternalLink) {
               area.addTrait(Trait.EXTERNAL_LINK, link);
           } else {
               PageViewport page = parentLM.resolveRefID(link);
               if (page != null) {
                   area.addTrait(Trait.INTERNAL_LINK, page.getKey());
               } else {
                   LinkResolver res = new LinkResolver(link, area);
                   parentLM.addUnresolvedArea(link, res);
               }
           }
       }
  }
  
  
  
  
  1.12      +14 -9     
xml-fop/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java
  
  Index: ListItemLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/list/ListItemLayoutManager.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- ListItemLayoutManager.java        12 Jun 2004 18:03:47 -0000      1.11
  +++ ListItemLayoutManager.java        7 Aug 2004 13:01:17 -0000       1.12
  @@ -19,6 +19,9 @@
   package org.apache.fop.layoutmgr.list;
   
   import org.apache.fop.fo.FObj;
  +import org.apache.fop.fo.flow.ListItem;
  +import org.apache.fop.fo.flow.ListItemBody;
  +import org.apache.fop.fo.flow.ListItemLabel;
   import org.apache.fop.fo.PropertyManager;
   import org.apache.fop.layoutmgr.BlockStackingLayoutManager;
   import org.apache.fop.layoutmgr.LayoutManager;
  @@ -65,8 +68,10 @@
        * Create a new list item layout manager.
        *
        */
  -    public ListItemLayoutManager(FObj node) {
  +    public ListItemLayoutManager(ListItem node) {
           super(node);
  +        setLabel(node.getLabel());
  +        setBody(node.getBody());
       }
   
       /**
  @@ -79,20 +84,20 @@
       }
   
       /**
  -     * Sets the label of the list item
  -     * @param item the label item
  +     * Create a LM for the fo:list-item-label object
  +     * @param node the fo:list-item-label FO
        */
  -    public void setLabel(Item item) {
  -        label = item;
  +    public void setLabel(ListItemLabel node) {
  +        label = new Item(node);
           label.setParent(this);
       }
   
       /**
  -     * Sets the body of the list item
  -     * @param item the body item
  +     * Create a LM for the fo:list-item-body object
  +     * @param node the fo:list-item-body FO
        */
  -    public void setBody(Item item) {
  -        body = item;
  +    public void setBody(ListItemBody node) {
  +        body = new Item(node); 
           body.setParent(this);
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to