Tuesday, 29 May 2007
MarkdownJ
MarkdownJ is the pure Java port of Markdown (a text-to-html conversion tool written by John Gruber.)
There's already a patch to convert our markdown plugin to use MarkdownJ instead of calling out to the Perl script.
MarkdownJ is the pure Java port of Markdown (a text-to-html conversion tool written by John Gruber.)
There's already a patch to convert our markdown plugin to use MarkdownJ instead of calling out to the Perl script.
Simpy is a social bookmarking service. With Simpy, you can save, tag and search your own bookmarks and notes or browse and search other users' links and tags. You can be open and share your links with others, or keep them private.
Simpy also helps you find like-minded people, discover new and interesting sites, publish your bookmarks, detect and eliminate link-rot, etc.
The Simpy-Java API is part of the larger SimpyTools project that includes libraries in various programming languages, for using the REST API of simpy.com, but also a FF extension and more.
Changelog.
Download.
Javadocs.
From a delicious-java bug 1718567:
Every api call actually does two requests (via httpclient due to http-auth). You can cut this down by prememptively authenticating.
client.getParams().setAuthenticationPreemptive(true);
Good to know!
Technorati Tags: del.icio.us delicious-java preemptive authentication
Upgrading Confluence from 2.2.9 to 2.4.2 caused some minor pain in that Confluence didn't seem to want to create some BANDANAS table. So, I had to upgrade 2.2.9 to 2.3.3 to 2.4.2. Pffft ... whatev.
Gwen Stefani (almost) said it best.
The shit is bandanas, B-A-N-D-A-N-A-S!
Hallelujah holla back!
Technorati Tags: confluence
delicious-java is a Java API for interacting with the del.icio.us social bookmarks service.
Changelog.
Download.
Javadocs.
Technorati Tags: del.icio.us java
Simpy is a social bookmarking service. With Simpy, you can save, tag and search your own bookmarks and notes or browse and search other users' links and tags. You can be open and share your links with others, or keep them private.
Simpy also helps you find like-minded people, discover new and interesting sites, publish your bookmarks, detect and eliminate link-rot, etc.
The Simpy-Java API is part of the larger SimpyTools project that includes libraries in various programming languages, for using the REST API of simpy.com, but also a FF extension and more.
Changelog.
Download.
Javadocs.
Automattic Kismet (Akismet for short) is a collaborative effort to make comment and trackback spam a non-issue and restore innocence to blogging, so you never have to worry about spam again. Akismet Java is an API for interacting with Akismet.
Changelog.
Download.
Javadocs.
delicious-java is a Java API for interacting with the del.icio.us social bookmarks service.
Changelog.
Download.
Javadocs.
Technorati Tags: del.icio.us java
The del.icio.us API now has a security blanket. And so, I updated the delicious-java API to use the new secure API endpoint.
Technorati Tags: del.icio.us java
Apparently I missed the announcement of delicious-java 1.10, which is odd. But, no matter, version 1.11 is available.
TypeKey4J 1.1 is available. Download. Javadocs. BSD license.
Fixed an issue with signature verification. Thanks to Ian Young for spotting it and providing a very simple fix.
For the blojsom 3.0 import functionality, I'm using the ROME library. I've been augmenting the syndication feeds to allow for blojsom-specific tags on items to specify things like author, whether or not comments/trackbacks/pingbacks were allowed on the original entry, etc...
All of this took about 10 minutes. There's a good tutorial on writing sample modules for parsing or generation. Works as advertised!
I'll also be making available a template for people to use to import all of their existing entries from their blosjom 2.x install to their blojsom 3.x install. It'll have all the tags all done up right proper.
TextileMe is simple gui swing based application to write textile files. This application implements all known textile processors written in java (Textile4J, JTextile).
It's good to know people are still benefiting from Textile4J.
Let's say I've got the following in web.xml.
...
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/foo-applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
...
And let's say I've got a servlet with the following in its init method.
public void init(ServletConfig servletConfig) throws ServletException {
super.init(servletConfig);
WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
_logger.debug(servletConfig.getInitParameter("foo"));
}
That call to getInitParameter works just fine here. But, what if I need access to the ServletConfig object from beans managed by Spring?
For some reason I'm not making the connection on how to make the connection and get the ServletConfig into the beans.
Scratching my head on what's probably a simple solution. Thanks in advance.
Update: It looks like the following Apache class from Jetspeed 2 does the trick.
import javax.servlet.ServletConfig;
import org.springframework.beans.factory.config.AbstractFactoryBean;
/**
* <p/>
* PreSetInstanceFactoryBean
* </p>
* <p/>
* <p/>
* </p>
*
* @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
* @version $Id$
*/
public class ServletConfigFactoryBean extends AbstractFactoryBean {
private static ServletConfig servletConfig;
/**
* <p/>
* createInstance
* </p>
*
* @return
* @throws Exception
* @see org.springframework.beans.factory.config.AbstractFactoryBean#createInstance()
*/
protected final Object createInstance() throws Exception {
verifyState();
return servletConfig;
}
/**
* <p/>
* getObjectType
* </p>
*
* @return
* @see org.springframework.beans.factory.FactoryBean#getObjectType()
*/
public final Class getObjectType() {
return ServletConfig.class;
}
public final static void setServletConfig(ServletConfig servletConfig) {
ServletConfigFactoryBean.servletConfig = servletConfig;
}
protected final void verifyState() throws IllegalStateException {
if (servletConfig == null) {
throw new IllegalStateException("You invoke the ServletConfigFactoryBean.setServletConfig() " +
"method prior to attempting to get the ServletConfig.");
}
}
}
And then add the following in the Servlet.init method.
ServletConfigFactoryBean.setServletConfig(servletConfig);
That about does it.
Technorati Tags: spring servletconfig
Automattic Kismet (Akismet for short) is a collaborative effort to make comment and trackback spam a non-issue and restore innocence to blogging, so you never have to worry about spam again. Akismet Java is an API for interacting with Akismet.
Changelog.
Download.
Javadocs.
Very minor changes in this release. I guess a few of the 1.0 download files had been corrupted. So, it was a good a time as any to update the release.