Package com.codecademy.eventhub.web.commands

Source Code of com.codecademy.eventhub.web.commands.TrackEvent

package com.codecademy.eventhub.web.commands;

import com.codecademy.eventhub.EventHub;
import com.codecademy.eventhub.base.DateHelper;
import com.codecademy.eventhub.model.Event;

import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Path("/events/track")
public class TrackEvent extends Command {
  private final DateHelper dateHelper;
  private final EventHub eventHub;

  @Inject
  public TrackEvent(DateHelper dateHelper, EventHub eventHub) {
    this.dateHelper = dateHelper;
    this.eventHub = eventHub;
  }

  @Override
  public synchronized void execute(final HttpServletRequest request,
      final HttpServletResponse response) throws IOException {
    String date = request.getParameter("date");
    if (date == null) {
      date = dateHelper.getDate();
    }
    Event event = new Event.Builder(
        request.getParameter("event_type"),
        request.getParameter("external_user_id"),
        date,
        toProperties(request)).build();
    response.getWriter().println(eventHub.addEvent(event));
  }
}
TOP

Related Classes of com.codecademy.eventhub.web.commands.TrackEvent

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.