From d6b9db7926af4dc6d7df5af55d261731bd623c23 Mon Sep 17 00:00:00 2001 From: "David A. Madore" Date: Fri, 10 Oct 2014 21:21:14 +0200 Subject: Introduce a WeblogLink class to refactor a lot of code on how links are written. --- .../damlengine/TodoWeblogIndexSelectElement.java | 30 ++++++++++------------ 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'org/madore/damlengine/TodoWeblogIndexSelectElement.java') 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(entlist.size()*2); Context ctx2 = ctx.clone(); ctx2.killA = true; for ( Iterator 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; -- cgit v1.2.3