public void executeWorkItem(WorkItem workItem,
WorkItemManager workItemManager) {
try {
RequiredParameterValidator.validate(this.getClass(),
workItem);
Document content = (Document) workItem.getParameter("Content");
String description = (String) workItem.getParameter("Description");
String isPublicStr = (String) workItem.getParameter("IsPublic");
Map<String, Object> results = new HashMap<String, Object>();
GistService gistService = auth.getGistService(this.userName,
this.password);
Gist gist = new Gist();
gist.setPublic(Boolean.parseBoolean(isPublicStr));
gist.setDescription(description);
GistFile file = new GistFile();
file.setContent(new String(content.getContent(),
StandardCharsets.UTF_8));
file.setFilename(content.getName());
gist.setFiles(Collections.singletonMap(file.getFilename(),
file));
gist = gistService.createGist(gist);
results.put(RESULTS_VALUE,
gist.getHtmlUrl());
workItemManager.completeWorkItem(workItem.getId(),
results);
} catch (Exception e) {
handleException(e);
}
}