From c1aa7509008d3aaa4afa9ceb3c3e029b9542f75a Mon Sep 17 00:00:00 2001 From: "David A. Madore" Date: Thu, 8 Sep 2011 15:53:31 +0200 Subject: Improve title of weblog pages. --- .../damlengine/TodoWeblogSelectionElement.java | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'org/madore/damlengine/TodoWeblogSelectionElement.java') diff --git a/org/madore/damlengine/TodoWeblogSelectionElement.java b/org/madore/damlengine/TodoWeblogSelectionElement.java index 23c88ec..e33f2c0 100644 --- a/org/madore/damlengine/TodoWeblogSelectionElement.java +++ b/org/madore/damlengine/TodoWeblogSelectionElement.java @@ -1,5 +1,7 @@ package org.madore.damlengine; +import java.util.Map; +import java.util.HashMap; import org.w3c.dom.*; public final class TodoWeblogSelectionElement extends TodoDefaultElement { @@ -8,6 +10,7 @@ public final class TodoWeblogSelectionElement extends TodoDefaultElement { RECENT_COUNT, MONTH_YEAR, MONTH_MONTH, + CATEGORY_NAME, CATEGORY_CODE; } @@ -35,6 +38,22 @@ public final class TodoWeblogSelectionElement extends TodoDefaultElement { this.t = t; } + protected final static Map> categoryNames; + + static { + categoryNames = new HashMap>(); + categoryNames.put("en", new HashMap()); + categoryNames.put("fr", new HashMap()); + categoryNames.get("en").put("glf", "Gratuitous Literary Fragments"); + categoryNames.get("fr").put("glf", "Fragments lit\u00e9raires gratuits"); + } + + public String categoryName(String code, String lang) { + if ( categoryNames.get(lang) == null ) + return code; + return categoryNames.get(lang).get(code); + } + @Override public void handleNodeOnly() { if ( ctx.wsc == null ) @@ -62,6 +81,11 @@ public final class TodoWeblogSelectionElement extends TodoDefaultElement { throw new IllegalStateException("weblog-selection-recent-count element encountered while not in weblog category selection state"); str = ((Context.WeblogCategorySelectionContext)(ctx.wsc)).code; break; + case CATEGORY_NAME: + if ( ! ( ctx.wsc instanceof Context.WeblogCategorySelectionContext ) ) + throw new IllegalStateException("weblog-selection-recent-count element encountered while not in weblog category selection state"); + str = categoryName(((Context.WeblogCategorySelectionContext)(ctx.wsc)).code, LangHelper.getLangRec(node)); + break; default: throw new AssertionError("unknown type"); } -- cgit v1.2.3