Sign in or 

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; public class UserGenContentTag extends TagSupport { private String developerKey; private String contentNamespace; private String cellId; public UserGenContentTag(){} public int doStartTag() throws JspException { return super.doStartTag(); } public int doEndTag() throws JspException { try { super.pageContext.getOut().write( getContent() ); } catch (IOException e) { //log exception } return super.doEndTag(); } private String getContent() { StringBuilder htmlBuilder = new StringBuilder(); try { // Construct url String urlString = "http://wapi.wetpaint.com/CellService/" + "getCell.do?key=" + developerKey + "&ns=" + contentNamespace + "&cell.cellId=" + cellId; // Send data URL url = new URL( urlString ); URLConnection conn = url.openConnection(); conn.setDoOutput( false ); // Get the response BufferedReader rd = new BufferedReader( new InputStreamReader( conn.getInputStream() ) ); String line; while ( ( line = rd.readLine() ) != null) { htmlBuilder.append( line ); } rd.close(); } catch ( Exception e ) { //log exception } return htmlBuilder.toString(); } public String getDeveloperKey() { return developerKey; } //Insert getters and setters for properties} |
private static String getTicket( String serverUrl, PartnerCommand command ){ String ticket = null; StringBuilder htmlBuilder = new StringBuilder(); try {long ts = Calendar.getInstance().getTime().getTime() / 1000L;String sigString = command.getKey() + command.getUserId() + ts;SecretKeySpec signingKey = new SecretKeySpec( "secret".getBytes( "UTF-8" ), "HmacSHA1" );String sigHashString = null;try {Mac mac = Mac.getInstance( "HmacSHA1" );mac.init( signingKey );byte[] hash = mac.doFinal( sigString.getBytes( "UTF-8" ) );sigHashString = new String( Hex.encodeHex( hash ) );} catch ( NoSuchAlgorithmException e ) {//throw custom exception} catch ( InvalidKeyException e ) {//throw custom exception}StringBuilder sbUrl = new StringBuilder();sbUrl.append( serverUrl ).append( "/UserService/login.do" );StringBuilder sbData = new StringBuilder();sbData.append("key=" ).append( command.getKey() ) .append( "&ns=" ) .append( command.getNs() ) .append( "&cred.ts=" ) .append( ts ) .append( "&cred.sig=" ) .append( sigHashString ) .append( "&user.email=" ) .append( command.getUserId() ) .append( "@wetpaint.com") .append( "&user.userId=" ) .append( command.getUserId() ) .append( "&user.emailOptIn=false" ) .append( "&user.displayName=" ) .append( command.getDisplayName() ) .append( "&output=api" );URL url = new URL( sbUrl.toString() ); URLConnection conn = url.openConnection(); conn.setDoOutput( true );OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); String data = sbData.toString(); wr.write( data ); wr.flush();BufferedReader rd = new BufferedReader( new InputStreamReader( conn.getInputStream() ) ); String line; while ( ( line = rd.readLine() ) != null) { htmlBuilder.append( line ); } rd.close(); ticket = htmlBuilder.toString().split( "<ticket>" )[1].split( "</ticket>" )[0]; } catch ( Exception e ) {}// noop} return ticket; |
|
dnielsen |
Latest page update: made by dnielsen
, Aug 5 2008, 8:14 AM EDT
(about this update
About This Update
view changes - complete history) |
|
Keyword tags:
None
More Info: links to this page
|