diff options
author | David A. Madore <david+git@madore.org> | 2014-10-09 17:27:58 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2014-10-09 17:27:58 +0200 |
commit | 8ed1ac19770dca2b5c37c529fe4420068e107f77 (patch) | |
tree | 09d3e8397c4751b197c5e44260838f4480099806 /org/madore/damlengine/TodoWeblogSelectionElement.java | |
parent | 240a3c4d99aba9aca244033425569ce56f7dc0c8 (diff) | |
download | damlengine-8ed1ac19770dca2b5c37c529fe4420068e107f77.tar.gz damlengine-8ed1ac19770dca2b5c37c529fe4420068e107f77.tar.bz2 damlengine-8ed1ac19770dca2b5c37c529fe4420068e107f77.zip |
Allow substitution of literal or numeric month in weblog month selection.
Diffstat (limited to 'org/madore/damlengine/TodoWeblogSelectionElement.java')
-rw-r--r-- | org/madore/damlengine/TodoWeblogSelectionElement.java | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/org/madore/damlengine/TodoWeblogSelectionElement.java b/org/madore/damlengine/TodoWeblogSelectionElement.java index c9088eb..637bc85 100644 --- a/org/madore/damlengine/TodoWeblogSelectionElement.java +++ b/org/madore/damlengine/TodoWeblogSelectionElement.java @@ -12,8 +12,8 @@ public final class TodoWeblogSelectionElement extends TodoDefaultElement { public enum Type { RECENT_COUNT, - MONTH_YEAR, - MONTH_MONTH, + MONTH_NUMERIC, + MONTH_LITERAL, CATEGORY_NAME, CATEGORY_CODE, SINGLE_NUMBER, @@ -114,19 +114,26 @@ public final class TodoWeblogSelectionElement extends TodoDefaultElement { newNode = ctx.doc.createTextNode(str); node.getParentNode().replaceChild(newNode, node); break; - case MONTH_YEAR: + case MONTH_NUMERIC: if ( ! ( ctx.wsc instanceof Context.WeblogMonthSelectionContext ) ) - throw new IllegalStateException("weblog-selection-month-year element encountered while not in weblog month selection state"); - str = ((Context.WeblogMonthSelectionContext)(ctx.wsc)).year; + throw new IllegalStateException("weblog-selection-month-numeric element encountered while not in weblog month selection state"); + str = ((Context.WeblogMonthSelectionContext)(ctx.wsc)).year + "-" + + ((Context.WeblogMonthSelectionContext)(ctx.wsc)).month; newNode = ctx.doc.createTextNode(str); node.getParentNode().replaceChild(newNode, node); break; - case MONTH_MONTH: + case MONTH_LITERAL: if ( ! ( ctx.wsc instanceof Context.WeblogMonthSelectionContext ) ) - throw new IllegalStateException("weblog-selection-month-month element encountered while not in weblog month selection state"); - str = ((Context.WeblogMonthSelectionContext)(ctx.wsc)).month; + throw new IllegalStateException("weblog-selection-month-literal element encountered while not in weblog month selection state"); + int mnum = Integer.parseInt(((Context.WeblogMonthSelectionContext)(ctx.wsc)).month); + String lang = LangHelper.getLangRec(node); + String[] mnames = TodoWeblogMonthsCalendar.monthNames.get(lang); + if ( mnames == null ) + mnames = TodoWeblogMonthsCalendar.monthNamesEn; + str = mnames[mnum] + " " + ((Context.WeblogMonthSelectionContext)(ctx.wsc)).year; newNode = ctx.doc.createTextNode(str); node.getParentNode().replaceChild(newNode, node); + LangHelper.setLangRec(node, lang); break; case CATEGORY_CODE: if ( ! ( ctx.wsc instanceof Context.WeblogCategorySelectionContext ) ) |