Update of
/var/cvs/contributions/CMSContainer_Modules/glossary/src/java/com/finalist/cmsc/module/glossary
In directory
james.mmbase.org:/tmp/cvs-serv1824/glossary/src/java/com/finalist/cmsc/module/glossary
Modified Files:
Tag: b1_5
Glossary.java GlossaryFactory.java
Added Files:
Tag: b1_5
GlossaryEventListener.java
Log Message:
CMSC-1304 Glossary needed update
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/glossary/src/java/com/finalist/cmsc/module/glossary
See also: http://www.mmbase.org/jira/browse/CMSC-1304
GlossaryEventListener.java is new
Index: Glossary.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Modules/glossary/src/java/com/finalist/cmsc/module/glossary/Glossary.java,v
retrieving revision 1.8
retrieving revision 1.8.2.1
diff -u -b -r1.8 -r1.8.2.1
--- Glossary.java 12 Apr 2008 14:26:33 -0000 1.8
+++ Glossary.java 20 Feb 2009 14:24:13 -0000 1.8.2.1
@@ -1,35 +1,40 @@
package com.finalist.cmsc.module.glossary;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Glossary {
- public static final String LINKPATTERN = "<a href=\"#\" title=\"%s\"
id=\"_glossary_%s\" onclick=\"return false;\">%s</a>";
+ public static final String LINKPATTERN = "<span class=\"glossaryWord\"
title=\"%s\" id=\"_glossary_%s\">%s</span>";
public static final String GLOSSARY = "glossary";
- private final Map<String, String> TERMS = new HashMap<String, String>();
+ private final Map<String, String> terms = new HashMap<String, String>();
private static Glossary glossary = null;
+ public void addTerm(String term, String description) {
+ terms.put(term, description);
+ }
- void addTerm(String term, String description) {
- TERMS.put(term, description);
+ public void removeTerm(String term) {
+ terms.remove(term);
}
public String mark(String material) {
- Set<String> keyWords = TERMS.keySet();
+ Set<String> keyWords = terms.keySet();
for (String word : keyWords) {
- Pattern pattern = Pattern.compile(String.format("\\b%s\\b", word));
+ Pattern pattern = Pattern.compile(String.format("\\b[%s%s]%s\\b",
word.substring(0,1).toLowerCase(), word.substring(0, 1).toUpperCase(),
word.substring(1)));
Matcher matcher = pattern.matcher(material);
while (matcher.find()) {
int start = matcher.start();
int end = matcher.end();
-
+ String found = material.substring(start, end);
if (!isInFormatedFragment(material, word, start)) {
- String highlight = String.format(LINKPATTERN, TERMS.get(word),
word, word);
+ String highlight = String.format(LINKPATTERN, terms.get(word),
found, found);
material = (new StringBuilder()).append(material.substring(0,
start)).append(highlight).append(
material.substring(end, material.length())).toString();
break;
@@ -65,7 +70,6 @@
public Map<String, String> getTerms() {
- return TERMS;
+ return terms;
}
-
}
Index: GlossaryFactory.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Modules/glossary/src/java/com/finalist/cmsc/module/glossary/GlossaryFactory.java,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -b -r1.6 -r1.6.2.1
--- GlossaryFactory.java 12 Apr 2008 14:26:33 -0000 1.6
+++ GlossaryFactory.java 20 Feb 2009 14:24:13 -0000 1.6.2.1
@@ -5,6 +5,7 @@
import org.mmbase.bridge.Node;
import org.mmbase.bridge.NodeList;
import org.mmbase.bridge.NodeManager;
+import org.mmbase.module.core.MMBase;
import java.util.Iterator;
@@ -14,9 +15,12 @@
public class GlossaryFactory {
+ @SuppressWarnings("unchecked")
public static Glossary getGlossary() {
Glossary glossary = Glossary.instance();
+ MMBase.getMMBase().addNodeRelatedEventsListener("glossary", new
GlossaryEventListener(glossary));
+
if (glossary.getTerms().size() > 0)
return glossary;
@@ -25,7 +29,7 @@
NodeManager manager = cloud.getNodeManager("glossary");
NodeList list = manager.createQuery().getList();
- Iterator<Node> nodeListIterator = list.iterator();
+ Iterator<Node> nodeListIterator = (Iterator<Node>)list.iterator();
while (nodeListIterator.hasNext()) {
Node node = nodeListIterator.next();
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs