Sha256: efb816a712cd87d69a4f480c5974a41efc979a714a8ed760f2b22021d29a37d6

Contents?: true

Size: 1.54 KB

Versions: 3

Compression:

Stored size: 1.54 KB

Contents

package <%=@package%>.controller;

<%=@licence%>

import <%=@package%>.exception.NotCreatedException;
import <%=@package%>.model.BaseEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.rest.webmvc.ResourceNotFoundException;
import org.springframework.hateoas.EntityLinks;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;

/**
* A basecontroller for shared functionality.
*
* @author <%=@user_name%>
*/
@Component
public abstract class BaseController {

  @Autowired
  EntityLinks entityLinks;
  /**
  * A conviniencemethod for creating new Entities.
  *
  * @param newEntity The entity that should be created
  * @param <T>       Type of the entity that should get created
  * @return The formal Response for the childcontroller.
  */
  public <T extends BaseEntity> ResponseEntity<?> createEntity(T newEntity) {

    return ResponseEntity
        .created(entityLinks.linkForSingleResource(newEntity).toUri()).build();
  }


  @ExceptionHandler(ResourceNotFoundException.class)
  @ResponseStatus(HttpStatus.NOT_FOUND)
  public String handleNotFound(ResourceNotFoundException ex) {
   return ex.toString();
  }



  @ExceptionHandler(NotCreatedException.class)
  @ResponseStatus(HttpStatus.NOT_ACCEPTABLE)
  public String handleNotCreated(NotCreatedException ex) {
    return "couldn't create resource";
  }
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spring-gen-0.2.2 lib/templates/src/main/java/controller/BaseController.java.erb
spring-gen-0.2.1 lib/templates/resource/controller/BaseController.java.erb
spring-gen-0.2.0 lib/templates/resource/controller/BaseController.java.erb