gmazza 2004/08/21 12:48:00
Modified: src/java/org/apache/fop/fo/flow Character.java
ExternalGraphic.java MultiCase.java
MultiProperties.java PageNumberCitation.java
RetrieveMarker.java
src/java/org/apache/fop/fo/pagination PageSequence.java
PageSequenceMaster.java
RepeatablePageMasterReference.java
src/java/org/apache/fop/layoutmgr
ExternalGraphicLayoutManager.java
src/java/org/apache/fop/render/mif MIFHandler.java
Log:
1.) validateChildNode() implemented for fo:multi-properties.
2.) fo:multi-properties disconnected from ToBeImplementedElement.
3.) increased usage of FObj.getPropString() throughout application.
Revision Changes Path
1.18 +1 -1 xml-fop/src/java/org/apache/fop/fo/flow/Character.java
Index: Character.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Character.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- Character.java 13 Aug 2004 12:29:51 -0000 1.17
+++ Character.java 21 Aug 2004 19:47:59 -0000 1.18
@@ -83,7 +83,7 @@
* @see org.apache.fop.fo.FObj#addLayoutManager(List)
*/
public void addLayoutManager(List list) {
- String str = getProperty(PR_CHARACTER).getString();
+ String str = getPropString(PR_CHARACTER);
if (str.length() == 1) {
CharacterLayoutManager lm = new CharacterLayoutManager(this);
list.add(lm);
1.40 +1 -7 xml-fop/src/java/org/apache/fop/fo/flow/ExternalGraphic.java
Index: ExternalGraphic.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/ExternalGraphic.java,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- ExternalGraphic.java 18 Aug 2004 03:26:36 -0000 1.39
+++ ExternalGraphic.java 21 Aug 2004 19:47:59 -0000 1.40
@@ -37,7 +37,6 @@
* inline area that can be added to the area tree.
*/
public class ExternalGraphic extends FObj {
- private String url;
/**
* Create a new External graphic node.
@@ -63,19 +62,14 @@
*/
protected void addProperties(Attributes attlist) throws SAXParseException {
super.addProperties(attlist);
- url = this.propertyList.get(PR_SRC).getString();
getFOInputHandler().image(this);
}
- public String getURL() {
- return url;
- }
-
/**
* @see org.apache.fop.fo.FObj#addLayoutManager(List)
*/
public void addLayoutManager(List list) {
- if (getURL() != null) {
+ if (getPropString(PR_SRC) != null) {
ExternalGraphicLayoutManager lm = new
ExternalGraphicLayoutManager(this);
list.add(lm);
}
1.13 +3 -0 xml-fop/src/java/org/apache/fop/fo/flow/MultiCase.java
Index: MultiCase.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/MultiCase.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- MultiCase.java 11 Aug 2004 04:15:25 -0000 1.12
+++ MultiCase.java 21 Aug 2004 19:48:00 -0000 1.13
@@ -35,6 +35,9 @@
super(parent);
}
+ /**
+ * @see org.apache.fop.fo.FObj#getName()
+ */
public String getName() {
return "fo:multi-case";
}
1.12 +55 -2 xml-fop/src/java/org/apache/fop/fo/flow/MultiProperties.java
Index: MultiProperties.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/MultiProperties.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- MultiProperties.java 11 Aug 2004 04:15:25 -0000 1.11
+++ MultiProperties.java 21 Aug 2004 19:48:00 -0000 1.12
@@ -18,23 +18,76 @@
package org.apache.fop.fo.flow;
+// XML
+import org.xml.sax.Attributes;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXParseException;
+
// FOP
import org.apache.fop.fo.FONode;
-import org.apache.fop.fo.ToBeImplementedElement;
+import org.apache.fop.fo.FObj;
/**
* Class modelling the fo:multi-properties object. See Sec. 6.9.6 of the XSL-FO
* Standard.
*/
-public class MultiProperties extends ToBeImplementedElement {
+public class MultiProperties extends FObj {
+
+ static boolean notImplementedWarningGiven = false;
+
+ // used for input FO validation
+ boolean hasMultiPropertySet = false;
+ boolean hasWrapper = false;
/**
* @param parent FONode that is the parent of this object
*/
public MultiProperties(FONode parent) {
super(parent);
+
+ if (!notImplementedWarningGiven) {
+ getLogger().warn("fo:multi-properties is not yet implemented.");
+ notImplementedWarningGiven = true;
+ }
+ }
+
+ /**
+ * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
+ * XSL Content Model: (multi-property-set+, wrapper)
+ */
+ protected void validateChildNode(Locator loc, String nsURI, String localName)
+ throws SAXParseException {
+ if (nsURI == FO_URI && localName.equals("multi-property-set")) {
+ if (hasWrapper) {
+ nodesOutOfOrderError(loc, "fo:multi-property-set",
"fo:wrapper");
+ } else {
+ hasMultiPropertySet = true;
+ }
+ } else if (nsURI == FO_URI && localName.equals("wrapper")) {
+ if (hasWrapper) {
+ tooManyNodesError(loc, "fo:wrapper");
+ } else {
+ hasWrapper = true;
+ }
+ } else {
+ invalidChildError(loc, nsURI, localName);
+ }
}
+ /**
+ * Make sure content model satisfied, if so then tell the
+ * FOInputHandler that we are at the end of the flow.
+ * @see org.apache.fop.fo.FONode#end
+ */
+ protected void endOfNode() throws SAXParseException {
+ if (!hasMultiPropertySet || !hasWrapper) {
+ missingChildElementError("(multi-property-set+, wrapper)");
+ }
+ }
+
+ /**
+ * @see org.apache.fop.fo.FObj#getName()
+ */
public String getName() {
return "fo:multi-properties";
}
1.33 +1 -1 xml-fop/src/java/org/apache/fop/fo/flow/PageNumberCitation.java
Index: PageNumberCitation.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/PageNumberCitation.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- PageNumberCitation.java 11 Aug 2004 04:15:26 -0000 1.32
+++ PageNumberCitation.java 21 Aug 2004 19:48:00 -0000 1.33
@@ -81,7 +81,7 @@
this.blue = c.getBlue();
this.wrapOption = this.propertyList.get(PR_WRAP_OPTION).getEnum();
- this.refId = this.propertyList.get(PR_REF_ID).getString();
+ this.refId = getPropString(PR_REF_ID);
if (this.refId.equals("")) {
//throw new FOPException("page-number-citation must contain
\"ref-id\"");
1.16 +1 -2 xml-fop/src/java/org/apache/fop/fo/flow/RetrieveMarker.java
Index: RetrieveMarker.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/RetrieveMarker.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- RetrieveMarker.java 10 Aug 2004 05:33:15 -0000 1.15
+++ RetrieveMarker.java 21 Aug 2004 19:48:00 -0000 1.16
@@ -57,8 +57,7 @@
*/
protected void addProperties(Attributes attlist) throws SAXParseException {
super.addProperties(attlist);
- this.retrieveClassName =
- this.propertyList.get(PR_RETRIEVE_CLASS_NAME).getString();
+ this.retrieveClassName = getPropString(PR_RETRIEVE_CLASS_NAME);
this.retrievePosition =
this.propertyList.get(PR_RETRIEVE_POSITION).getEnum();
this.retrieveBoundary =
1.38 +2 -2 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.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- PageSequence.java 11 Aug 2004 04:15:28 -0000 1.37
+++ PageSequence.java 21 Aug 2004 19:48:00 -0000 1.38
@@ -242,7 +242,7 @@
// we are now on the first page of the page sequence
thisIsFirstPage = true;
- ipnValue = this.propertyList.get(PR_INITIAL_PAGE_NUMBER).getString();
+ ipnValue = getPropString(PR_INITIAL_PAGE_NUMBER);
if (ipnValue.equals("auto")) {
pageNumberType = AUTO;
@@ -261,7 +261,7 @@
}
}
- String masterName = this.propertyList.get(PR_MASTER_REFERENCE).getString();
+ String masterName = getPropString(PR_MASTER_REFERENCE);
this.simplePageMaster =
this.layoutMasterSet.getSimplePageMaster(masterName);
if (this.simplePageMaster == null) {
1.19 +1 -1
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.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- PageSequenceMaster.java 8 Aug 2004 18:39:25 -0000 1.18
+++ PageSequenceMaster.java 21 Aug 2004 19:48:00 -0000 1.19
@@ -95,7 +95,7 @@
subSequenceSpecifiers = new java.util.ArrayList();
if (parent.getName().equals("fo:layout-master-set")) {
this.layoutMasterSet = (LayoutMasterSet)parent;
- masterName =
this.propertyList.get(Constants.PR_MASTER_NAME).getString();
+ masterName = getPropString(PR_MASTER_NAME);
if (masterName == null) {
getLogger().warn("page-sequence-master does not have "
+ "a master-name and so is being ignored");
1.15 +1 -1
xml-fop/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterReference.java
Index: RepeatablePageMasterReference.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RepeatablePageMasterReference.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- RepeatablePageMasterReference.java 8 Aug 2004 18:39:25 -0000 1.14
+++ RepeatablePageMasterReference.java 21 Aug 2004 19:48:00 -0000 1.15
@@ -62,7 +62,7 @@
*/
protected void addProperties(Attributes attlist) throws SAXParseException {
super.addProperties(attlist);
- String mr = getProperty(PR_MAXIMUM_REPEATS).getString();
+ String mr = getPropString(PR_MAXIMUM_REPEATS);
if (mr.equals("no-limit")) {
this.maximumRepeats = INFINITE;
} else {
1.3 +3 -3
xml-fop/src/java/org/apache/fop/layoutmgr/ExternalGraphicLayoutManager.java
Index: ExternalGraphicLayoutManager.java
===================================================================
RCS file:
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/ExternalGraphicLayoutManager.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ExternalGraphicLayoutManager.java 13 Aug 2004 00:03:49 -0000 1.2
+++ ExternalGraphicLayoutManager.java 21 Aug 2004 19:48:00 -0000 1.3
@@ -74,7 +74,7 @@
* @todo see if can simplify property handling logic
*/
private void setup() {
- url = ImageFactory.getURL(graphic.getURL());
+ url = ImageFactory.getURL(graphic.getPropString(PR_SRC));
// assume lr-tb for now and just use the .optimum value of the range
Length ipd = graphic.getPropertyList().get(PR_INLINE_PROGRESSION_DIMENSION).
@@ -215,7 +215,7 @@
* @return the viewport containing the image area
*/
public InlineArea getExternalGraphicInlineArea() {
- Image imArea = new Image(graphic.getURL());
+ Image imArea = new Image(graphic.getPropString(PR_SRC));
Viewport vp = new Viewport(imArea);
vp.setWidth(viewWidth);
vp.setHeight(viewHeight);
1.11 +2 -2 xml-fop/src/java/org/apache/fop/render/mif/MIFHandler.java
Index: MIFHandler.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/mif/MIFHandler.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- MIFHandler.java 19 Jun 2004 13:35:33 -0000 1.10
+++ MIFHandler.java 21 Aug 2004 19:48:00 -0000 1.11
@@ -115,7 +115,7 @@
public void startPageSequence(PageSequence pageSeq) {
// get the layout master set
// setup the pages for this sequence
- String name =
pageSeq.getProperty(Constants.PR_MASTER_REFERENCE).getString();
+ String name = pageSeq.getPropString(Constants.PR_MASTER_REFERENCE);
SimplePageMaster spm =
pageSeq.getLayoutMasterSet().getSimplePageMaster(name);
if (spm == null) {
PageSequenceMaster psm =
pageSeq.getLayoutMasterSet().getPageSequenceMaster(name);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]