jeremias 2005/02/08 01:17:50 Modified: src/java/org/apache/fop/layoutmgr AbstractLayoutManager.java Log: moving retrieve-marker replacement into separate method to make preLoadList easier to read and understand. Revision Changes Path 1.37 +27 -12 xml-fop/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java Index: AbstractLayoutManager.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/AbstractLayoutManager.java,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- AbstractLayoutManager.java 7 Feb 2005 11:01:36 -0000 1.36 +++ AbstractLayoutManager.java 8 Feb 2005 09:17:50 -0000 1.37 @@ -394,6 +394,29 @@ } /** + * Handles retrieve-marker nodes as they occur. + * @param foNode FO node to check + * @return the original foNode or in case of a retrieve-marker the replaced + * FO node. null if the the replacement results in no nodes to be + * processed. + */ + private FONode handleRetrieveMarker(FONode foNode) { + if (foNode instanceof RetrieveMarker) { + RetrieveMarker rm = (RetrieveMarker) foNode; + Marker marker = retrieveMarker(rm.getRetrieveClassName(), + rm.getRetrievePosition(), + rm.getRetrieveBoundary()); + if (marker == null) { + return null; + } + rm.bindMarker(marker); + return rm; + } else { + return foNode; + } + } + + /** * Convenience method: preload a number of child LMs * @param size the requested number of child LMs * @return the list with the preloaded child LMs @@ -407,19 +430,11 @@ Object theobj = fobjIter.next(); if (theobj instanceof FONode) { FONode foNode = (FONode) theobj; - if (foNode instanceof RetrieveMarker) { - RetrieveMarker rm = (RetrieveMarker) foNode; - Marker marker = retrieveMarker(rm.getRetrieveClassName(), - rm.getRetrievePosition(), - rm.getRetrieveBoundary()); - if (marker == null) { - continue; - } - rm.bindMarker(marker); - foNode = rm; + foNode = handleRetrieveMarker(foNode); + if (foNode != null) { + getAreaTreeHandler().getLayoutManagerMaker(). + makeLayoutManagers(foNode, newLMs); } - getAreaTreeHandler().getLayoutManagerMaker(). - makeLayoutManagers(foNode, newLMs); } } return newLMs;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]