packagenet.shornepla.gsx.util;importjava.io.IOException;importjava.net.URL;importjava.util.Properties;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importcom.google.gdata.client.docs.DocsService;importcom.google.gdata.client.spreadsheet.SpreadsheetService;importcom.google.gdata.util.AuthenticationException;importcom.google.gdata.util.common.base.StringUtil;publicclassServiceUtil{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(ServiceUtil.class);privatestaticPropertiesconfig;static{config=newProperties();try{config.load(ClassLoader.getSystemResourceAsStream("credentials.properties"));}catch(IOExceptione){e.printStackTrace();}}publicstaticDocsServicegetDocsService(Stringapp){DocsServiceservice=newDocsService(app);try{service.setUserCredentials(getUsername(),getPassword());}catch(AuthenticationExceptione){logger.error("Failed to set uesr credentials",e);}returnservice;}publicstaticSpreadsheetServicegetSpreadsheetService(Stringapp){SpreadsheetServiceservice=newSpreadsheetService(app);try{service.setUserCredentials(getUsername(),getPassword());}catch(AuthenticationExceptione){logger.error("Failed to set uesr credentials",e);}returnservice;}publicstaticURLgetWorkSheetEntryURL(){URLwseUrl=null;try{Stringspreadsheet=getSpreadsheet();Stringworksheet=getWorksheet();if(StringUtil.isEmptyOrWhitespace(spreadsheet)){thrownewException("spreadsheet is preperty must be set in credentials.properties");}if(StringUtil.isEmptyOrWhitespace(worksheet)){thrownewException("worksheet is preperty must be set in credentials.properties");}wseUrl=newURL("http://spreadsheets.google.com/feeds/worksheets/"+spreadsheet+"/private/full/"+worksheet);}catch(Exceptione){logger.error("Failed to build worksheet entry URL",e);}returnwseUrl;}privatestaticStringgetUsername(){returnconfig.getProperty("username");}privatestaticStringgetPassword(){returnconfig.getProperty("password");}privatestaticStringgetSpreadsheet(){returnconfig.getProperty("spreadsheet");}privatestaticStringgetWorksheet(){returnconfig.getProperty("worksheet");}}