package angularBeans.demoApp.ngbeans; import java.io.Serializable; import java.util.Set; import javax.inject.Inject; import angularBeans.api.AngularBean; import angularBeans.api.NGPostConstruct; import angularBeans.api.http.Get; import angularBeans.api.http.Post; import angularBeans.context.NGSessionScoped; import angularBeans.demoApp.domain.ClassRoom; import angularBeans.demoApp.domain.User; import angularBeans.demoApp.service.VirtualClassService; import angularBeans.realtime.RealTimeClient; import angularBeans.util.ModelQuery; @NGSessionScoped @AngularBean public class SingleClassRoomService implements Serializable { @Inject ModelQuery modelQuery; @Inject @AngularBean ClassRoomsService classRoomsService; @Inject VirtualClassService virtualClassService; @Inject RealTimeClient client; @Inject @AngularBean AuthenticationService authenticationService; // private ClassRoom actualClassRoom; @NGPostConstruct public void init() { // ModelQuery scope = // modelQueryFactory.get(SingleClassRoomService.class); // scope.setProperty("users", classRoomsCtrl.getUsers(actualClassRoom)); // scope.setProperty("actualClassRoom", getActualClassRoom()); } @Get public Set<User> getUsers(String classRoomName) { ClassRoom room = new ClassRoom(); room.setName(classRoomName); return classRoomsService.getUsers(room); } @Post public String busy(ClassRoom classRoom) { User user = authenticationService.getConnectedUser(); ModelQuery query = modelQuery.removeFrom("users", user); client.broadcast(query, false); virtualClassService.getClassRoomsMap().get(classRoom).remove(user); return "/listClassRooms"; } // public ClassRoom getActualClassRoom() { // return actualClassRoom; // } // // public void setActualClassRoom(ClassRoom actualClassRoom) { // this.actualClassRoom = actualClassRoom; // } }