diff options
author | David A. Madore <david+git@madore.org> | 2011-09-08 15:53:31 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2011-09-08 15:53:31 +0200 |
commit | c1aa7509008d3aaa4afa9ceb3c3e029b9542f75a (patch) | |
tree | 6356f72d817b91c92ad2fd6ad99ff7ce2c9fa21c /org/madore/damlengine/TodoWeblogSelectionElement.java | |
parent | 85ce46d8677b5bdb85394ccb49964913343a41c9 (diff) | |
download | damlengine-c1aa7509008d3aaa4afa9ceb3c3e029b9542f75a.tar.gz damlengine-c1aa7509008d3aaa4afa9ceb3c3e029b9542f75a.tar.bz2 damlengine-c1aa7509008d3aaa4afa9ceb3c3e029b9542f75a.zip |
Improve title of weblog pages.
Diffstat (limited to 'org/madore/damlengine/TodoWeblogSelectionElement.java')
-rw-r--r-- | org/madore/damlengine/TodoWeblogSelectionElement.java | 24 |
1 files changed, 24 insertions, 0 deletions
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<String,Map<String,String>> categoryNames; + + static { + categoryNames = new HashMap<String,Map<String,String>>(); + categoryNames.put("en", new HashMap<String,String>()); + categoryNames.put("fr", new HashMap<String,String>()); + 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"); } |