diff --git a/src/main/java/org/hbp/mip/controllers/AppsApi.java b/src/main/java/org/hbp/mip/controllers/AppsApi.java index a1f644a93243b362ece5568e3528193c37e68355..2134a908758c6c41b1e9a6f1b2f35ea265c21008 100644 --- a/src/main/java/org/hbp/mip/controllers/AppsApi.java +++ b/src/main/java/org/hbp/mip/controllers/AppsApi.java @@ -8,7 +8,10 @@ import io.swagger.annotations.*; import org.apache.log4j.Logger; import org.hbp.mip.MIPApplication; import org.hbp.mip.model.App; +import org.hbp.mip.model.User; +import org.hbp.mip.model.Vote; import org.hbp.mip.repositories.AppRepository; +import org.hbp.mip.repositories.VoteRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -32,6 +35,9 @@ public class AppsApi { @Autowired AppRepository appRepository; + @Autowired + VoteRepository voteRepository; + @ApiOperation(value = "Get apps", response = App.class, responseContainer = "List") @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") }) @RequestMapping(method = RequestMethod.GET) @@ -48,23 +54,14 @@ public class AppsApi { @ApiParam(value = "value", required = true) @PathVariable("value") Integer value ) { - /*User user = mipApplication.getUser(); + User user = mipApplication.getUser(); + App app = appRepository.findOne(id); - Vote vote = (Vote) session.createQuery("" + - "SELECT v FROM Vote v, User u, App a " + - "WHERE u=v.user " + - "AND a=v.app " + - "AND u.username= :username " + - "AND a.id= :app_id") - .setString("username", user.getUsername()) - .setLong("app_id", id) - .uniqueResult(); - App app = (App) session.createQuery("FROM App where id= :id").setLong("id", id).uniqueResult(); + Vote vote = voteRepository.find(user, app).iterator().next(); if (vote != null) { vote.setValue(value); - - session.update(vote); + voteRepository.save(vote); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } else @@ -73,13 +70,9 @@ public class AppsApi { vote.setUser(user); vote.setValue(value); vote.setApp(app); - - session.save(vote); - session.getTransaction().commit(); + voteRepository.save(vote); return new ResponseEntity<>(HttpStatus.CREATED); - }*/ - - return new ResponseEntity<>(HttpStatus.CREATED); + } } } diff --git a/src/main/java/org/hbp/mip/repositories/AppRepository.java b/src/main/java/org/hbp/mip/repositories/AppRepository.java index 27fb1d26dacf833c3606ea823b3302766ee4028b..ba00367afe2b6419d61f1a810b5f21acfb7596f6 100644 --- a/src/main/java/org/hbp/mip/repositories/AppRepository.java +++ b/src/main/java/org/hbp/mip/repositories/AppRepository.java @@ -7,5 +7,5 @@ import org.springframework.data.repository.CrudRepository; * Created by mirco on 11.07.16. */ -public interface AppRepository extends CrudRepository<App, String> { +public interface AppRepository extends CrudRepository<App, Integer> { } diff --git a/src/main/java/org/hbp/mip/repositories/VoteRepository.java b/src/main/java/org/hbp/mip/repositories/VoteRepository.java index d96a563691a6eaaee27ec25e9e37a4e399bf6069..45e44fa1cb0cab3f159e3390240155d7b6e4ee52 100644 --- a/src/main/java/org/hbp/mip/repositories/VoteRepository.java +++ b/src/main/java/org/hbp/mip/repositories/VoteRepository.java @@ -1,5 +1,7 @@ package org.hbp.mip.repositories; +import org.hbp.mip.model.App; +import org.hbp.mip.model.User; import org.hbp.mip.model.Vote; import org.springframework.data.repository.CrudRepository; @@ -8,4 +10,5 @@ import org.springframework.data.repository.CrudRepository; */ public interface VoteRepository extends CrudRepository<Vote, Long> { + Iterable<Vote> find(User user, App app); }