diff options
author | David A. Madore <david+git@madore.org> | 2014-10-10 21:21:14 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2014-10-10 21:21:14 +0200 |
commit | d6b9db7926af4dc6d7df5af55d261731bd623c23 (patch) | |
tree | d8f289bdfb30202a92404d4be7608a0230c19242 /org/madore/damlengine/TodoWeblogIndexSelectElement.java | |
parent | 5b15f489d9793afdfe5dde2a2934c975b61567bd (diff) | |
download | damlengine-d6b9db7926af4dc6d7df5af55d261731bd623c23.tar.gz damlengine-d6b9db7926af4dc6d7df5af55d261731bd623c23.tar.bz2 damlengine-d6b9db7926af4dc6d7df5af55d261731bd623c23.zip |
Introduce a WeblogLink class to refactor a lot of code on how links are written.
Diffstat (limited to 'org/madore/damlengine/TodoWeblogIndexSelectElement.java')
-rw-r--r-- | org/madore/damlengine/TodoWeblogIndexSelectElement.java | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/org/madore/damlengine/TodoWeblogIndexSelectElement.java b/org/madore/damlengine/TodoWeblogIndexSelectElement.java index 004e330..0323078 100644 --- a/org/madore/damlengine/TodoWeblogIndexSelectElement.java +++ b/org/madore/damlengine/TodoWeblogIndexSelectElement.java @@ -45,28 +45,24 @@ public final class TodoWeblogIndexSelectElement extends TodoDefaultElement { = new ArrayList<TodoElement>(entlist.size()*2); Context ctx2 = ctx.clone(); ctx2.killA = true; for ( Iterator<Integer> iter=entlist.descendingIterator() ; iter.hasNext() ; ) { - WeblogSummary.EntrySummary ent = wsum.entries.get(iter.next()); - Matcher matcher = Pattern.compile("^(\\d{4})-(\\d{2})-(\\d{2})$").matcher(ent.date); + final WeblogSummary.EntrySummary ent = wsum.entries.get(iter.next()); + final Matcher matcher = Pattern.compile("^(\\d{4})-(\\d{2})-(\\d{2})$").matcher(ent.date); if ( ! matcher.matches() ) throw new IllegalArgumentException("entry "+ent.id+" has badly formed date"); - String yearStr = matcher.group(1); - String monthStr = matcher.group(2); - String dayStr = matcher.group(3); - String numberStr = String.format("%04d",ent.id); - String targetFile = ""; - if ( ent.doSinglePage == null ) - targetFile = ((ctx.gc.uriToTop==null)?"":(ctx.gc.uriToTop+"weblog/")) - + yearStr + "-" + monthStr + ".html"; - else - targetFile = ((ctx.gc.uriToTop==null)?"":(ctx.gc.uriToTop+"weblog/")) - + ent.date + "-" + ent.doSinglePage + ".html"; - String targetFragment = "d." + yearStr + "-" + monthStr - + "-" + dayStr + "." + numberStr; - String target = targetFile + "#" + targetFragment; + final String yearStr = matcher.group(1); + final String monthStr = matcher.group(2); + final String dayStr = matcher.group(3); + final String numberStr = String.format("%04d",ent.id); + final String baseDir = ((ctx.gc.uriToTop==null)?"":(ctx.gc.uriToTop+"weblog/")); + final WeblogLink lk = new WeblogLink(yearStr, monthStr, dayStr, + numberStr, "", + ent.doSinglePage); + lk.setTypeStandard(); + String target = lk.getTarget(baseDir); Element li = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "li"); ul.appendChild(li); ul.appendChild(ctx.doc.createTextNode("\n")); - li.setAttributeNS(null, "id", targetFragment); + li.setAttributeNS(null, "id", lk.getFragment()); li.setAttributeNS(null, "class", "weblog-index-entry"); LangHelper.setLangRec(li, ent.lang); Element link; |