Skip to content

Instantly share code, notes, and snippets.

@dustingetz
Created October 21, 2010 00:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dustingetz/637620 to your computer and use it in GitHub Desktop.
Save dustingetz/637620 to your computer and use it in GitHub Desktop.
public class Component extends RawComponent
{
public void render(IComponentRequest request, IComponentResponse response) throws Exception
{
JSONObjectBuilder responseBuilder = new JSONObjectBuilder();
JSONObjectBuilder ticketBuilder = new JSONObjectBuilder();
{
boolean needTicket = Boolean.parseBoolean(request.getParameterValue("needTicket"));
if (needTicket)
{
String systemIdStr = request.getParameterValue("sSystemID");
DocWaySystemID systemID = DocWaySystemID.parseSystemID(systemIdStr);
String[] docbases = new String[] {systemID.getDocbase()};
CredentialsCollection creds = UIRuntime.getRuntime().getCredentialsBuilder().getCredentials(request);
DWCredentials[] docbaseCreds = creds.getCredentialsAsArray(docbases);
DWCredentialsWithErrors ticketsWithErrors = UIRuntime.getRuntime().getDocWayClient().getTickets(docbaseCreds);
ticketsWithErrors.throwExceptions();
DWCredentials ticket = ticketsWithErrors.getCredentials()[0]; //only one
ticketBuilder.append("sUsername", ticket.getUsername());
ticketBuilder.append("sPassword", ticket.getPassword());
ticketBuilder.append("sDomain", ticket.getDomain());
ticketBuilder.append("sDocbase", ticket.getDocbase());
ticketBuilder.append("sDynamicGroup", ticket.getDynamicGroup());
ticketBuilder.append("sImpersonateUser", ticket.getImpersonateUser());
ticketBuilder.append("aApplicationCodes", ticket.getApplicationCodes());
ticketBuilder.append("sLocale", ticket.getLocale());
ticketBuilder.append("sUserArg1", ticket.getUserArg1());
//TODO: extract transferUrl to different json object
ticketBuilder.append("sTransferUrl", TransferControlHtmlBlock.getTransferURL(request, ticket.getDocbase()));
}
responseBuilder.append("oTicket", new RawJavaScript(ticketBuilder.toJSON()));
}
JSONObjectBuilder operationBuilder = new JSONObjectBuilder();
{
String cmd = request.getParameterValue("sCmd");
if (!StringUtils.isBlank(cmd))
{
String objectID = request.getParameterValue("sObjectID");
String format = request.getParameterValue("sFormat");
int page = Integer.parseInt(request.getParameterValue("nPage"));
String pageModifier = request.getParameterValue("sPageModifier");
//mangle these values or something to turn it into a rendition
operationBuilder.append("sCmd", cmd);
operationBuilder.append("sObjectID", objectID);
operationBuilder.append("sFormat", format);
operationBuilder.append("nPage", page);
operationBuilder.append("sPageModifier", pageModifier);
}
responseBuilder.append("oActualOperation", new RawJavaScript(operationBuilder.toJSON()));
}
//errors
{
responseBuilder.append("errors", new RawJavaScript("null"));
}
response.getGenerator().writeln(responseBuilder.toJSON());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment