Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.makeandbuild.rest;
  
  import java.net.URI;
  import java.util.List;
  import java.util.Map;
  
  import  javax.ws.rs.DefaultValue;
  import  javax.ws.rs.PathParam;
 import  javax.ws.rs.QueryParam;
 import  javax.ws.rs.core.Context;
 import  javax.ws.rs.core.MultivaluedMap;
 import  javax.ws.rs.core.Response;
 import  javax.ws.rs.core.UriInfo;
 
 
User: telrod Date: 3/4/14
 
 @SuppressWarnings({"unchecked""rawtypes"})
 public abstract class ResourceSerializedBaseBare<T, ID> extends ResourceBase {
 
     @Context
     protected UriInfo uriInfo;
     @Autowired
 
     
     protected abstract BaseDao<T, ID> getDao();
     protected Class resourceClass;
 
     public ResourceSerializedBaseBare(Class resourceClass) {
         super();
         this. = resourceClass;
     }
 
     private BaseDao<T,ID> validationDao;
 
     protected BaseDao<T, ID> getValidationDao() {
         if ( == null)
              = (BaseDao<T,ID>).newBeanValidatorProxy(getDao(), "data");
         return ;
     }
     protected BaseDao<T, ID> getDao(boolean validate){
         if (validate){
             return getValidationDao();
         } else {
             return getDao();
         }
     }
 
 
     public Response getOne(@PathParam("id"final ID id) {
         try{
             T model = getDao().find(id);
             return Response.ok().entity(getObjectMapper().writeValueAsString(model)).build();
         }catch(Throwable e){
             return handleException(e"resource with id "+id+" not found");
         }
     }
     public Response getList(@Context UriInfo ui) {
         try {
             MultivaluedMap<StringStringqueryParams = ui.getQueryParameters();
             List<Criteriacriterias = getCriterias(queryParams);
             List<SortBysortBys = getSortBys(queryParams);
             AbstractPagedRequest request = getAbstractPagedRequest(queryParams);
             PagedResponse<T> response = getDao().find(requestcriteriassortBys);
             return Response.ok().entity(getObjectMapper().writeValueAsString(response)).build();
         }catch(Throwable e){
             .warn("error gettting list"e);
             return handleException(e"error getting list");
         }
     }
     public Response create(String json, @QueryParam("validate") @DefaultValue("true"final boolean validate) {
         try{
             T model = (T) getObjectMapper().readValue(json);
             model = getDao(validate).create(model);
             
             ID id = getDao().getId(model);
 
             URI location = .getAbsolutePathBuilder().path(id.toString()).build();
             return Response.created(location).entity(getObjectMapper().writeValueAsString(model)).build();
         }catch(Throwable e){
             .warn("could not create resource with payload "+jsone);
             return handleException(e"error creating object");
         }
     }
 
    public Response update(String json, @QueryParam("validate") @DefaultValue("true"final boolean validate) {
        try{
            T model = (T) getObjectMapper().readValue(json);
            model = getDao(validate).update(model);
            return Response.ok().entity(getObjectMapper().writeValueAsString(model)).build();
        }catch(Throwable e){
            .warn("could not update resource with payload "+jsone);
            return handleException(e"error updating object");
        }
    }
    public Response delete(@PathParam("id"final ID id) {
        try{
            getDao().deleteById(id);
            return Response.ok().build();
        }catch(Throwable e){
            .warn("could not delete resource with id "+ide);
            return handleException(e"error deleting object");
        }
    }
New to GrepCode? Check out our FAQ X