LinkCollector localCollector = new LinkCollector();
LinkCollector extCollector = new LinkCollector();
LinkCollector attCollector = new LinkCollector();
WikiContext context = new WikiContext( m_engine, page );
context.setVariable( WikiEngine.PROP_REFSTYLE, "absolute" );
m_engine.textToHTML( context,
pagedata,
localCollector,
extCollector,
attCollector );
Vector<Hashtable<String, String>> result = new Vector<Hashtable<String, String>>();
// FIXME: Contains far too much common with RPCHandler. Refactor!
//
// Add local links.
//
for( Iterator i = localCollector.getLinks().iterator(); i.hasNext(); )
{
String link = (String) i.next();
Hashtable<String, String> ht = new Hashtable<String, String>();
ht.put( "page", link );
ht.put( "type", LINK_LOCAL );
if( m_engine.pageExists(link) )
{
ht.put( "href", context.getViewURL(link) );
}
else
{
ht.put( "href", context.getURL(WikiContext.EDIT,link) );
}
result.add( ht );
}
//
// Add links to inline attachments
//
for( Iterator i = attCollector.getLinks().iterator(); i.hasNext(); )
{
String link = (String) i.next();
Hashtable<String, String> ht = new Hashtable<String, String>();
ht.put( "page", link );
ht.put( "type", LINK_LOCAL );
ht.put( "href", context.getURL(WikiContext.ATTACH,link) );
result.add( ht );
}
//