diff options
author | David A. Madore <david+git@madore.org> | 2014-10-10 21:54:23 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2014-10-10 21:54:23 +0200 |
commit | eaa29f26c5aa1ff9cfc306dc23c6bcfae0c0c68d (patch) | |
tree | b4acc2289987a57685eac4db0fb51e2b1d550f92 /org/madore/damlengine/TodoEntryElement.java | |
parent | 01ad55efbfb3b0056efaa0f9a7d7c48765d7db81 (diff) | |
parent | d6b9db7926af4dc6d7df5af55d261731bd623c23 (diff) | |
download | damlengine-eaa29f26c5aa1ff9cfc306dc23c6bcfae0c0c68d.tar.gz damlengine-eaa29f26c5aa1ff9cfc306dc23c6bcfae0c0c68d.tar.bz2 damlengine-eaa29f26c5aa1ff9cfc306dc23c6bcfae0c0c68d.zip |
Merge branch 'master' into servlet
Conflicts:
org/madore/damlengine/TodoWrefAttr.java
Diffstat (limited to 'org/madore/damlengine/TodoEntryElement.java')
-rw-r--r-- | org/madore/damlengine/TodoEntryElement.java | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/org/madore/damlengine/TodoEntryElement.java b/org/madore/damlengine/TodoEntryElement.java index 6ba7c5d..7a8c272 100644 --- a/org/madore/damlengine/TodoEntryElement.java +++ b/org/madore/damlengine/TodoEntryElement.java @@ -35,16 +35,16 @@ public final class TodoEntryElement extends TodoDefaultElement { LangHelper.setLangNorec(article, explicitLang); node.getParentNode().replaceChild(article, node); - String entryNumberStr = node.getAttributeNS(null, "number"); + final String entryNumberStr = node.getAttributeNS(null, "number"); if ( ! Pattern.matches("^\\d{4}$", entryNumberStr) ) throw new IllegalArgumentException("entry number attribute must be of the form NNNN"); - String entryDateStr = node.getAttributeNS(null, "date"); - Matcher entryDateMatcher = Pattern.compile("^(\\d{4})-(\\d{2})-(\\d{2})$").matcher(entryDateStr); + final String entryDateStr = node.getAttributeNS(null, "date"); + final Matcher entryDateMatcher = Pattern.compile("^(\\d{4})-(\\d{2})-(\\d{2})$").matcher(entryDateStr); if ( ! entryDateMatcher.matches() ) throw new IllegalArgumentException("entry date attribute must be of the form YYYY-MM-DD"); - String entryYearStr = entryDateMatcher.group(1); - String entryMonthStr = entryDateMatcher.group(2); - String entryDayStr = entryDateMatcher.group(3); + final String entryYearStr = entryDateMatcher.group(1); + final String entryMonthStr = entryDateMatcher.group(2); + final String entryDayStr = entryDateMatcher.group(3); String entryDowStr = node.getAttributeNS(null, "day-of-week"); { final int entryYear = Integer.parseInt(entryYearStr); @@ -61,10 +61,12 @@ public final class TodoEntryElement extends TodoDefaultElement { } } } - String entryCatStr = node.getAttributeNS(null, "cat"); - String entryDoSinglePageStr = node.getAttributeNS(null, "single-page"); - String entryCdateStr = node.getAttributeNS(null, "cdate"); - ArrayList<String> entryCatList; + final String entryCatStr = node.getAttributeNS(null, "cat"); + final String entryDoSinglePageStr + = node.hasAttributeNS(null, "single-page") + ? node.getAttributeNS(null, "single-page") : null; + final String entryCdateStr = node.getAttributeNS(null, "cdate"); + final ArrayList<String> entryCatList; if ( entryCatStr.equals("") ) { entryCatList = new ArrayList<String>(0); } else { @@ -76,7 +78,11 @@ public final class TodoEntryElement extends TodoDefaultElement { } } - String entryIdStr = "d."+entryDateStr+"."+entryNumberStr; + final WeblogLink lk = new WeblogLink(entryYearStr, entryMonthStr, + entryDayStr, entryNumberStr, "", + entryDoSinglePageStr); + lk.setTypeStandard(); + String entryIdStr = lk.getFragment(); article.setAttributeNS(null, "id", entryIdStr); { String classAtt = node.getAttributeNS(null, "class"); @@ -102,16 +108,7 @@ public final class TodoEntryElement extends TodoDefaultElement { header.appendChild(ctx.doc.createTextNode("\n")); Element permalink = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "a"); - if ( entryDoSinglePageStr.equals("") ) - permalink.setAttributeNS(null, "href", - entryYearStr+"-"+entryMonthStr+".html" - +"#"+entryIdStr); - else - permalink.setAttributeNS(null, "href", - entryYearStr+"-"+entryMonthStr - +"-"+entryDayStr+"-"+entryDoSinglePageStr - +".html" - +"#"+entryIdStr); + permalink.setAttributeNS(null, "href", lk.getTarget("")); permalink.setAttributeNS(null, "rel", "bookmark"); Element time = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "time"); permalink.appendChild(time); |