diff options
Diffstat (limited to 'org/madore/damlengine/TodoComments.java')
| -rw-r--r-- | org/madore/damlengine/TodoComments.java | 57 | 
1 files changed, 57 insertions, 0 deletions
| diff --git a/org/madore/damlengine/TodoComments.java b/org/madore/damlengine/TodoComments.java new file mode 100644 index 0000000..e1dd027 --- /dev/null +++ b/org/madore/damlengine/TodoComments.java @@ -0,0 +1,57 @@ +package org.madore.damlengine; + +import java.util.Map; +import java.util.HashMap; +import org.w3c.dom.*; + +public final class TodoComments extends TodoElement { + +    public TodoComments(Element node, +			Context ctx, +			TodoItem caller) { +	super(node, ctx, caller); +    } + +    protected final static Map<String,String> linkNameTable; + +    static { +	linkNameTable = new HashMap<String,String>(); +	linkNameTable.put("en", "Comments"); +	linkNameTable.put("fr", "Commentaires"); +	linkNameTable.put("de", "Kommentare"); +	linkNameTable.put("ia", "Commentos"); +    } + +    @Override +    public void handle() { +	Element p = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "p"); +	String lang = LangHelper.getLangRec(node); +	String explicitLang = LangHelper.getLangNorec(node); +	if ( lang == null || linkNameTable.get(lang) == null ) { +	    System.err.println("warning: will use English comments link"); +	    lang = "en"; +	    explicitLang = "en"; +	} +	if ( explicitLang != null ) +	    LangHelper.setLangNorec(p, explicitLang); +	p.setAttributeNS(null, "class", "talkback-link"); +	node.getParentNode().replaceChild(p, node); +	Element a = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "a"); +	if ( ctx.entryCtx == null ) +	    throw new IllegalStateException("entry context not defined in comments element"); +	String commentURL = "http://www.madore.org/cgi-bin/comment.pl/" +	    + "showcomments?href=http%3a%2f%2fwww.madore.org%2f" +	    + "%7edavid%2fweblog%2f" +	    + ctx.entryCtx.yandm + ".html%23d." + ctx.entryCtx.date +	    + "." + ctx.entryCtx.number; +	a.setAttributeNS(null, "href", commentURL); +	p.appendChild(a); +	a.appendChild(ctx.doc.createTextNode(linkNameTable.get(lang))); +	Element span = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "span"); +	span.setAttributeNS(null, "id", +			    "d." + ctx.entryCtx.date + "." +			    + ctx.entryCtx.number + ".numcomments"); +	p.appendChild(span); +	span.appendChild(ctx.doc.createComment(" EMPTY ")); +    } +} | 
