\n");
+ bw.write(" The following tag libraries and tags are provided by this plugin.
\n");
+ bw.write(" \n");
+ for (Iterator taglibIter = taglibs.iterator(); taglibIter.hasNext();)
+ {
+ Map taglib = (Map) taglibIter.next();
+ String title = taglib.get("uri") + " Tag Library";
+ String linkStart = "";
+ bw.write(" - " + linkStart + taglib.get("uri") + "
\n");
+ bw.write(" \n");
+ List tagNames = (List)taglib.get("tagNames");
+ for (Iterator tagIter = tagNames.iterator(); tagIter.hasNext();)
+ {
+ String name = (String) tagIter.next();
+ bw.write(" - " + name + "
\n");
+ }
+ bw.write("
\n");
+ bw.write(" \n");
+ }
+ bw.write("
\n");
+ bw.write(" \n");
+ }
+
+ /**
+ * @return a list of tag libraries. Each element in the list
+ * is a {@link Map}. Each map contains an entry for "uri" (as a String)
+ * and one for tagNames (as a List).
+ *
+ * @throws IOException reading files
+ * @throws JDOMException on xml
+ */
+ public List getTaglibs() throws JDOMException, IOException
+ {
+ SAXBuilder builder = new SAXBuilder();
+ Document doc = builder.build(new File(getPluginScript()));
+ XPath xpath = XPath.newInstance("/project/define:taglib");
+ List taglibElements = xpath.selectNodes(doc);
+ List taglibs = new LinkedList();
+ for (Iterator iter = taglibElements.iterator(); iter.hasNext();)
+ {
+ Element element = (Element) iter.next();
+ Map taglib = new HashMap();
+ taglib.put("uri", element.getAttributeValue("uri"));
+ taglib.put("tagNames", new LinkedList());
+ XPath tagsXp = XPath.newInstance("define:tag|define:jellybean");
+ List tagsElements = tagsXp.selectNodes(element);
+ for (Iterator tagsIter = tagsElements.iterator(); tagsIter.hasNext();)
+ {
+ Element tagsElement = (Element) tagsIter.next();
+ ((List) taglib.get("tagNames")).add(tagsElement.getAttributeValue("name"));
+ }
+ taglibs.add(taglib);
+ }
+ return taglibs;
+ }
+
+}
\ No newline at end of file
diff --git a/plugin/src/plugin-test/maven.xml b/plugin/src/plugin-test/maven.xml
index 06ff0961..a6166eae 100644
--- a/plugin/src/plugin-test/maven.xml
+++ b/plugin/src/plugin-test/maven.xml
@@ -28,7 +28,7 @@