1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
package calendar;
import ... ;
public boolean canProcessSubEvents() {public class TaskObserver implements Observer {
protected void onCreate(EventCreate event) {
Task newValue = (Task) event.getNewValue();
// create a new event
CalendarEventEntry myEntry = new CalendarEventEntry();
myEntry.setTitle(new PlainTextConstruct(newValue.getName()));
//myEntry.setContent(new PlainTextConstruct("Meet for a quick lesson."));
DateTime startTime = new DateTime(newValue.getTargetStartDate());
DateTime endTime = new DateTime(newValue.getTargetEndDate());
When eventTimes = new When();
eventTimes.setStartTime(startTime);
eventTimes.setEndTime(endTime);
myEntry.addTime(eventTimes);
CalendarService service = getCalendarService(newValue.getInChargeOf().getId());
try {
// CalendarEventEntry insertedEntry =
service.insert(getCalendarURL(service), myEntry);
// TODO
} catch (IOException ex) {
Logger.getLogger(TaskObserver.class.getName()).log(Level.SEVERE, null, ex);
} catch (ServiceException ex) {
Logger.getLogger(TaskObserver.class.getName()).log(Level.SEVERE, null, ex);
}
// TODO
}
/**
* Update tasks
*/
protected void onUpdate(EventUpdate event) {
Task oldValue = (Task) event.getOldValue();
Task newValue = (Task) event.getNewValue();
/** }
protected void onDelete(EventDelete event) {
Object deletedValue = event.getValue();
Task deletedTask = (Task) deletedValue;
}
protected void onCopy(EventCopy event) {
Task fromValue = (Task) event.getFromValue();
Task toValue = (Task) event.getFromValue();
// TODO
}
private CalendarService getCalendarService(long userId) {
//String onetimeUseToken = AuthSubUtil.getTokenFromReply(request.getQueryString());
com.nqi.platform.user.User currentUser = PlatformLocalServiceRegistry.getUserService().fetch(userId);
String sessionToken = currentUser.getString("googleToken");
if (sessionToken == null || sessionToken.equals("")) {
return null;
}
// Create a CalenderService and authenticate
CalendarService myService = new CalendarService("GoogleCalendarService");
//myService.setUserToken(sessionToken);
myService.setAuthSubToken(sessionToken);
return myService;
}
private URL getCalendarURL(CalendarService service) {
// Send the request and print the response
URL postUrl = null;
try {
// creation nouveau calendrier NQI
URL feedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full");
CalendarFeed resultFeed = service.getFeed(feedUrl, CalendarFeed.class);
CalendarEntry entry = resultFeed.getEntries().get(0);
System.out.println("\t" + entry.getTitle().getPlainText());
postUrl = new URL(entry.getLinks().get(0).getHref());
} catch (IOException ex) {
Logger.getLogger(TaskObserver.class.getName()).log(Level.SEVERE, null, ex);
} catch (ServiceException ex) {
Logger.getLogger(TaskObserver.class.getName()).log(Level.SEVERE, null, ex);
}
return postUrl;
}
} |
Partager