diff --git a/src/main/java/org/ntlab/citrusserver/resources/PublicBooksRest.java b/src/main/java/org/ntlab/citrusserver/resources/PublicBooksRest.java index 71ce363..8f5aac4 100644 --- a/src/main/java/org/ntlab/citrusserver/resources/PublicBooksRest.java +++ b/src/main/java/org/ntlab/citrusserver/resources/PublicBooksRest.java @@ -6,7 +6,6 @@ import org.ntlab.citrusserver.repositories.PublicBookManager; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Repository; import java.util.ArrayList; @@ -27,52 +26,34 @@ return publicBookManager.getAllPublicBooks(); } -// //検索条件を指定して本を検索(タイトル) -// @Path("/search") -// @GET -// @Produces(MediaType.APPLICATION_JSON) -// public ArrayList searchBooksByTitle(@QueryParam("search_title") String search_title) { -// return publicBookManager.searchBooksByTitle(search_title); -// } -// //検索条件を指定して本を検索(タイトル ソート可能) -// @Path("/search") -// @GET -// @Produces(MediaType.APPLICATION_JSON) -// public ArrayList searchBooksByTitle(@QueryParam("search_title") String search_title, @QueryParam("sort_by") Integer sort_by) { -// return publicBookManager.searchBooksByTitle(search_title, sort_by); -// } -// -// //検索条件を指定して本を検索(アカウント) -// @Path("/search") -// @GET -// @Produces(MediaType.APPLICATION_JSON) -// public ArrayList searchBooksByAccount(@QueryParam("search_account_id") String search_account_id) { -// return publicBookManager.searchBooksByAccount(search_account_id); -// } -// -// //検索条件を指定して本を検索(アカウント ソート可能) -// @Path("/search") -// @GET -// @Produces(MediaType.APPLICATION_JSON) -// public ArrayList searchBooksByAccount(@QueryParam("search_account_id") String search_account_id, @QueryParam("sort_by") int sort_by) { -// return publicBookManager.searchBooksByAccount(search_account_id, sort_by); -// } - - //検索条件を指定して本を検索(アカウントとタイトル) + //検索条件を指定して本を検索(アカウントかタイトルか両方) @Path("/search") @GET @Produces(MediaType.APPLICATION_JSON) - public ArrayList searchBooksByTitleAndAccount(@QueryParam("search_title") String search_title, @QueryParam("search_account_id") String search_account_id) { - if(search_title != null && search_account_id != null) { - return publicBookManager.searchBooksByTitleAndAccount(search_title, search_account_id); - } else if(search_title!= null) { - return publicBookManager.searchBooksByTitle(search_title); - } else if(search_account_id != null) { - return publicBookManager.searchBooksByAccount(search_account_id); + public ArrayList searchBooksByTitleAndAccount(@QueryParam("search_title") String search_title, @QueryParam("search_account_id") String search_account_id, + @QueryParam("sort_by") Integer sort_by) { + if(sort_by == null) { + if (search_title != null && search_account_id != null) { + return publicBookManager.searchBooksByTitleAndAccount(search_title, search_account_id); + } else if (search_title != null) { + return publicBookManager.searchBooksByTitle(search_title); + } else if (search_account_id != null) { + return publicBookManager.searchBooksByAccount(search_account_id); + } else { + return publicBookManager.getAllPublicBooks(); + } } else { - return publicBookManager.getAllPublicBooks(); + if(search_title != null && search_account_id != null) { + return publicBookManager.searchBooksByTitleAndAccount(search_title, search_account_id, sort_by); + } else if(search_title != null) { + return publicBookManager.searchBooksByTitle(search_title, sort_by); + } else if(search_account_id != null) { + return publicBookManager.searchBooksByAccount(search_account_id, sort_by); + } else { + return publicBookManager.getAllPublicBooks(); + } + } } - } }