From 3b1023c45a919f25ef38c080f2ac2c0dc5d5e7ca Mon Sep 17 00:00:00 2001 From: "David A. Madore" Date: Sun, 28 Aug 2011 19:52:02 +0200 Subject: (Preliminary) handling of weblog entry selection and summary. --- org/madore/damlengine/TodoWrefAttr.java | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'org/madore/damlengine/TodoWrefAttr.java') diff --git a/org/madore/damlengine/TodoWrefAttr.java b/org/madore/damlengine/TodoWrefAttr.java index 60fec1d..df30d99 100644 --- a/org/madore/damlengine/TodoWrefAttr.java +++ b/org/madore/damlengine/TodoWrefAttr.java @@ -33,10 +33,8 @@ public class TodoWrefAttr extends TodoAttr { String wrefNumberStr = wrefMatcher.group(4); String wrefSupplementStr = wrefMatcher.group(5); String targetFile = ""; - if ( ctx.wsc != null - && ctx.wsc instanceof Context.WeblogMonthSelectionContext - && wrefYearStr.equals(((Context.WeblogMonthSelectionContext)ctx.wsc).year) - && wrefMonthStr.equals(((Context.WeblogMonthSelectionContext)ctx.wsc).month) ) + if ( ctx.wsc != null && ctx.wsc.sel != null + && ctx.wsc.sel.contains(new Integer(wrefNumberStr)) ) targetFile = ""; else targetFile = ((ctx.gc.uriToTop==null)?"":(ctx.gc.uriToTop+"weblog/")) @@ -48,6 +46,21 @@ public class TodoWrefAttr extends TodoAttr { this.owner.setAttributeNS(null, "href", target); if ( ! this.owner.hasAttributeNS(null, "class") ) this.owner.setAttributeNS(null, "class", "weblog-internal-link"); + if ( wrefSupplementStr.equals("") + && ! this.owner.hasAttributeNS(null, "title") ) { + WeblogSummary wsum = WeblogSummary.getSummary(); + if ( wsum != null && wsum.entries != null ) { + WeblogSummary.EntrySummary esum + = wsum.entries.get(new Integer(wrefNumberStr)); + if ( esum != null ) { + if ( ! ((wrefYearStr+"-"+wrefMonthStr+"-"+wrefDayStr) + .equals(esum.date)) ) + System.err.println("warning: date mismatch for reference to entry "+wrefNumberStr); + if ( esum.title != null ) + this.owner.setAttributeNS(null, "title", esum.title); + } + } + } } } -- cgit v1.2.3