Package er.movies.rest

Source Code of er.movies.rest.MoviesController

package er.movies.rest;

import webobjectsexamples.businesslogic.movies.common.Movie;

import com.webobjects.appserver.WOActionResults;
import com.webobjects.appserver.WORequest;

import er.extensions.eof.ERXKeyFilter;
import er.rest.ERXRestFetchSpecification;
import er.rest.format.ERXRestFormat;
import er.rest.routes.ERXDefaultRouteController;

public class MoviesController extends ERXDefaultRouteController {
 
  public MoviesController(WORequest request) {
    super(request);
  }

  @Override
  public WOActionResults createAction() throws Throwable {
    Movie movie = create(showFilter());
    editingContext().saveChanges();
    return response(movie, showFilter());
  }

  @Override
  public WOActionResults destroyAction() throws Throwable {
    Movie movie = routeObjectForKey("movie");
    editingContext().deleteObject(movie);
    editingContext().saveChanges();
    return response(movie, showFilter());
  }

  @Override
  public WOActionResults indexAction() throws Throwable {
    if (isSchemaRequest()) {
      return schemaResponse(showFilter());
    }
   
    ERXRestFetchSpecification<Movie> fetchSpec = new ERXRestFetchSpecification<Movie>(entityName(), null, null, showFilter(), null, 20);
    return response(fetchSpec, showFilter());
  }

  @Override
  public WOActionResults newAction() throws Throwable {
    // TODO Auto-generated method stub
    return null;
  }

  @Override
  public WOActionResults showAction() throws Throwable {
    return response(routeObjectForKey("movie"), showFilter());
  }
 
  @Override
  public WOActionResults updateAction() throws Throwable {
    Movie movie = routeObjectForKey("movie");
    update(movie, showFilter());
    editingContext().saveChanges();
    return response(movie, showFilter());
  }

  protected ERXKeyFilter showFilter() {
    ERXKeyFilter filter = ERXKeyFilter.filterWithNone();
    filter.include(Movie.TITLE);
    filter.include(Movie.RATED);
    filter.include(Movie.POSTER_NAME);
    filter.include(Movie.DATE_RELEASED);
    filter.include(Movie.CATEGORY);

    return filter;
  }

  @Override
  protected ERXRestFormat defaultFormat() {
    return ERXRestFormat.json();
  }
}
TOP

Related Classes of er.movies.rest.MoviesController

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.