Author: ltheussl
Date: Sat Sep 1 21:54:10 2007
New Revision: 571924
URL: http://svn.apache.org/viewvc?rev=571924&view=rev
Log:
Write out default head and body to make it usable stand-alone. Add a simpler
constructor to the sink, the renderingContext shouldn't be required. Add the
identity test.
Added:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
(with props)
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java?rev=571924&r1=571923&r2=571924&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/main/java/org/apache/maven/doxia/module/xhtml/XhtmlSink.java
Sat Sep 1 21:54:10 2007
@@ -64,8 +64,6 @@
private PrintWriter writer;
- //private StringsMap directives;
-
private RenderingContext renderingContext;
private int[] cellJustif;
@@ -76,8 +74,28 @@
/**
* @param writer
+ */
+ public XhtmlSink( Writer writer )
+ {
+ this( writer, null );
+ }
+
+ /**
+ * @param writer
+ * @param renderingContext
+ */
+ public XhtmlSink( Writer writer, RenderingContext renderingContext )
+ {
+ this.writer = new PrintWriter( writer );
+
+ this.renderingContext = renderingContext;
+ }
+
+ /**
+ * @param writer
* @param renderingContext
* @param directives
+ * @todo directives Map is not used
*/
public XhtmlSink( Writer writer, RenderingContext renderingContext, Map
directives )
{
@@ -129,12 +147,14 @@
/** [EMAIL PROTECTED] */
public void head()
{
- // Not used overridden in site renderer
- // directive( "head()" );
-
resetState();
headFlag = true;
+
+ write( "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0
Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" );
+ write( "<html xmlns=\"http://www.w3.org/1999/xhtml\">" );
+
+ writeStartTag( Tag.HEAD );
}
/** [EMAIL PROTECTED] */
@@ -142,8 +162,7 @@
{
headFlag = false;
- // Not used overridden in site renderer
- //directive( "head_()" );
+ writeEndTag( Tag.HEAD );
}
/**
@@ -207,18 +226,14 @@
/** [EMAIL PROTECTED] */
public void body()
{
- // Not used overridden in site renderer
- //String body = directiveValue( "body()" );
- //write( body );
+ writeStartTag( Tag.BODY );
}
/** [EMAIL PROTECTED] */
public void body_()
{
- // Not used overridden in site renderer
- //String body = directiveValue( "body_()" );
- //write( body );
- //resetState();
+ writeEndTag( Tag.BODY );
+ writeEndTag( Tag.HTML );
}
// ----------------------------------------------------------------------
@@ -1190,15 +1205,19 @@
/** [EMAIL PROTECTED] */
protected void write( String text )
{
- String relativePathToBasedir = renderingContext.getRelativePath();
-
- if ( relativePathToBasedir != null )
+ // TODO: this doesn't belong here
+ if ( renderingContext != null )
{
- text = StringUtils.replace( text, "$relativePath",
relativePathToBasedir );
- }
- else
- {
- text = StringUtils.replace( text, "$relativePath", "." );
+ String relativePathToBasedir = renderingContext.getRelativePath();
+
+ if ( relativePathToBasedir == null )
+ {
+ text = StringUtils.replace( text, "$relativePath", "." );
+ }
+ else
+ {
+ text = StringUtils.replace( text, "$relativePath",
relativePathToBasedir );
+ }
}
writer.write( text );
Added:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java?rev=571924&view=auto
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
(added)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
Sat Sep 1 21:54:10 2007
@@ -0,0 +1,51 @@
+package org.apache.maven.doxia.module.xhtml;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+import java.io.File;
+import java.io.Writer;
+
+import java.util.HashMap;
+
+import org.apache.maven.doxia.module.AbstractIdentityTest;
+import org.apache.maven.doxia.module.xhtml.decoration.render.RenderingContext;
+import org.apache.maven.doxia.parser.Parser;
+import org.apache.maven.doxia.sink.Sink;
+
+
+/**
+ * Check that piping a full model through an XhtmlParser and an XhtmlSink
+ * leaves the model unchanged.
+ */
+public class XhtmlIdentityTest extends AbstractIdentityTest
+{
+ /** [EMAIL PROTECTED] */
+ protected Sink createSink( Writer writer )
+ {
+ return new XhtmlSink( writer );
+ }
+
+ /** [EMAIL PROTECTED] */
+ protected Parser createParser()
+ {
+ return new XhtmlParser();
+ }
+
+}
Propchange:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlIdentityTest.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
URL:
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java?rev=571924&r1=571923&r2=571924&view=diff
==============================================================================
---
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
(original)
+++
maven/doxia/doxia/trunk/doxia-modules/doxia-module-xhtml/src/test/java/org/apache/maven/doxia/module/xhtml/XhtmlSinkTest.java
Sat Sep 1 21:54:10 2007
@@ -44,15 +44,7 @@
/** [EMAIL PROTECTED] */
protected Sink createSink( Writer writer )
{
- String apt = "test.apt";
-
- RenderingContext renderingContext =
- new RenderingContext( getBasedirFile(), new File(
getBasedirFile(), apt ).getPath(), "apt" );
-
- //PLXAPI: This horrible fake map is being used because someone
neutered the directives approach in the
- // site renderer so that it half worked. Put it back and make it work
properly.
-
- return new XhtmlSink( writer, renderingContext, new FakeMap() );
+ return new XhtmlSink( writer );
}
public void testLinks()
@@ -92,13 +84,13 @@
/** [EMAIL PROTECTED] */
protected String getHeadBlock()
{
- return "";
+ return "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0
Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html
xmlns=\"http://www.w3.org/1999/xhtml\"><head></head>";
}
/** [EMAIL PROTECTED] */
protected String getBodyBlock()
{
- return "";
+ return "<body></body></html>";
}
/** [EMAIL PROTECTED] */
@@ -247,14 +239,4 @@
return text;
}
-
- class FakeMap
- extends HashMap
- {
- /** [EMAIL PROTECTED] */
- public Object get( Object key )
- {
- return "fake";
- }
- }
}