src/main/java/com/springsource/greenhouse/events/Event.java
return id;
	public void setId(Long id) {
	
	public Date getStartDate() {
		return startDate;
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	public Date getEndDate() {
		return endDate;
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	public String getDescription() {
		return this.description;
Long getId()
String description
src/main/java/com/springsource/greenhouse/events/Event.java
this.description = description;
void setDescription(String description)
Short code  String title  Date startTime  Date endTime  String description  EventSessionLeader leader
src/main/java/com/springsource/greenhouse/events/EventSession.java
this(code, title, startTime, endTime, description, Collections.singleton(leader));
		
	public EventSession(Short code, String title, Date startTime, Date endTime, String description, Set<EventSessionLeader> leaders) {
		this.code = code;
		this.description = description;

	public Short getCode() {
		return code;
	public String getTitle() {
		return title;
	public String getDescription() {
		return description;
	public Set<EventSessionLeader> getLeaders() {
		return leaders;
public EventSession(Short code, String title, Date startTime, Date endTime, String description, EventSessionLeader leader)
EventRepository eventRepository  TwitterOperations twitter
src/main/java/com/springsource/greenhouse/events/EventsController.java
this.eventRepository = eventRepository;
	// for web service (JSON) clients
	@RequestMapping(method=RequestMethod.GET, headers="Accept=application/json") 
	public @ResponseBody List<Event> upcomingEvents() {
		return eventRepository.findUpcomingEvents();
	@RequestMapping(value="/{id
public EventsController(EventRepository eventRepository, TwitterOperations twitter)
Model model
src/main/java/com/springsource/greenhouse/events/EventsController.java
model.addAttribute(eventRepository.findUpcomingEvents());
		return "events/list";
String upcomingEventsView(Model model)
String query  int page  int resultsPerPage
src/main/java/org/springframework/social/twitter/TwitterService.java
return search(null, query, page, resultsPerPage, 0, 0);
SearchResults search(String query, int page, int resultsPerPage)
src/main/java/com/springsource/greenhouse/events/Event.java
return this.id;
	public void setId(long id) {

	public String getDescription() {
		return this.description;
long getId()
String description
src/main/java/com/springsource/greenhouse/events/Event.java
this.description = description;
void setDescription(String description)
src/main/java/com/springsource/greenhouse/events/Event.java
return this.startTime;
Date getStartTime()
Date startTime
src/main/java/com/springsource/greenhouse/events/Event.java
this.startTime = startTime;
void setStartTime(Date startTime)
src/main/java/com/springsource/greenhouse/events/Event.java
return this.endTime;
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	public String getHashtag() {
		return this.hashtag;
	public void setHashtag(String hashtag) {
		this.hashtag = hashtag;
	public void setFriendlyId(String friendlyId) {
	    this.friendlyId = friendlyId;
Date getEndTime()
src/main/java/com/springsource/greenhouse/events/Event.java
return friendlyId;
String getFriendlyId()
String title  String summary  Date startTime 
			Date endTime  SessionLeader leader  String hashtag
src/main/java/com/springsource/greenhouse/events/EventSession.java
super();
		this.title = title;
		this.summary = summary;
		this.startTime = startTime;
		this.endTime = endTime;
		
		this.leaders = new ArrayList<SessionLeader>();
		this.leaders.add(leader);
		this.hashtag = hashtag;

	public EventSession(String title, String summary, Date startTime,
			Date endTime, List<SessionLeader> leaders, String hashtag) {
		super();
		this.summary = summary;
		this.hashtag = hashtag;
	
	public String getTitle() {
		return title;
	public String getSummary() {
		return summary;
	public List<SessionLeader> getLeaders() {
		return leaders;
	public String getHashtag() {
		return hashtag;
public EventSession(String title, String summary, Date startTime,
			Date endTime, SessionLeader leader, String hashtag)
EventsService eventsService  TwitterOperations twitter
src/main/java/com/springsource/greenhouse/events/EventsController.java
this.eventsService = eventsService;
	@RequestMapping(method=RequestMethod.GET, headers="Accept=application/json") 
	public @ResponseBody List<Event> eventsData() {
		return eventsService.findEventsAfter(new Date());
public EventsController(EventsService eventsService, TwitterOperations twitter)
Model model
src/main/java/com/springsource/greenhouse/events/EventsController.java
model.addAttribute(eventsService.findEventsAfter(new Date()));
		return "events/list";
	@RequestMapping(value="/{eventId
String listEvents(Model model)
@PathVariable long eventId
src/main/java/com/springsource/greenhouse/events/EventsController.java
return eventsService.findEventById(eventId);
	@RequestMapping(value="/{eventName
Event eventData(@PathVariable long eventId)
OAuthConsumerToken accessToken  @PathVariable String eventName  Model model
src/main/java/com/springsource/greenhouse/events/EventsController.java
Event event = eventsService.findEventByPublicId(eventName);
		model.addAttribute(event);
		model.addAttribute(twitter.search(accessToken, event.getHashtag(), 1, 10));
		return "events/view";
	
	@RequestMapping(value="/{eventId
String viewEvent(OAuthConsumerToken accessToken, @PathVariable String eventName, Model model)
OAuthConsumerToken accessToken  @RequestParam String status
src/main/java/com/springsource/greenhouse/events/EventsController.java
logger.info("twitter update: " + status);
		
		return "hello";
String postTweet(OAuthConsumerToken accessToken, @RequestParam String status)