One library mentioned on http://oauth.net/code looks interesting (I m excluding the OAuth for Spring Security and OAuth Signpost which are not what you re looking for):
A Java library and examples were
contributed by John Kristian, Praveen
Alavilli and Dirk Balfanz.
OAuth for Spring Security is also
available, contributed by Ryan Heaton.
This project is not hosted in the
OAuth repository.
OAuth Signpost offers simple OAuth
message signing for Java and Apache
HttpComponents (Google Android
ready!). Contributed by Matthias
Kaeppler.
I ve checked the Java library a bit further and I think that its providing everything required for client-side and server-side code. The following blog post has actually a full example and I m pasting the server code below (a JSP):
<%@ page import="net.oauth.server.*"%>
<%@ page import="net.oauth.*"%>
<%
//Presumably this should actually be looked up for a given key.
String consumerSecret="uynAeXiWTisflWX99KU1D2q5";
//Presumably the key is sent by the client. This is part of the URL, after all.
String consumerKey="orkut.com:623061448914";
//Construct the message object. Use null for the URL and let the code construct it.
OAuthMessage message=OAuthServlet.getMessage(request,null);
//Construct an accessor and a consumer
OAuthConsumer consumer=new OAuthConsumer(null, consumerKey, consumerSecret, null);
OAuthAccessor accessor=new OAuthAccessor(consumer);
//Now validate. Weirdly, validator has a void return type. It throws exceptions
//if there are problems.
SimpleOAuthValidator validator=new SimpleOAuthValidator();
validator.validateMessage(message,accessor);
//Now what? Generate some JSON here for example.
System.out.println("It must have worked"); %>
This looks close to what you want.