guide/blueprints/java/gist_generator/GistGeneratorImpl.java (37 lines of code) (raw):

package com.acme; import java.io.IOException; import java.util.Collections; import org.apache.brooklyn.core.entity.AbstractEntity; import org.apache.brooklyn.util.text.Strings; import org.eclipse.egit.github.core.Gist; import org.eclipse.egit.github.core.GistFile; import org.eclipse.egit.github.core.service.GistService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.collect.Iterables; public class GistGeneratorImpl extends AbstractEntity implements GistGenerator { private static final Logger LOG = LoggerFactory.getLogger(GistGeneratorImpl.class); @Override public String createGist(String gistName, String fileName, String gistContents, String oathToken) throws IOException { if (Strings.isBlank(oathToken)) oathToken = config().get(OAUTH_KEY); GistFile file = new GistFile(); file.setContent(gistContents); Gist gist = new Gist(); gist.setDescription(gistName); gist.setFiles(Collections.singletonMap(fileName, file)); gist.setPublic(true); GistService service = new GistService(); service.getClient().setOAuth2Token(oathToken); LOG.info("Creating Gist: " + gistName); Gist result = service.createGist(gist); return result.getId(); } @Override public String getGist(String id, String oathToken) throws IOException { if (Strings.isBlank(oathToken)) oathToken = config().get(OAUTH_KEY); GistService service = new GistService(); service.getClient().setOAuth2Token(oathToken); Gist gist = service.getGist(id); return Iterables.getOnlyElement(gist.getFiles().values()).getContent(); } }