package fr.gael.dhus.server.http.webapp.stub.controller; import java.io.IOException; import fr.gael.dhus.service.exception.UserAlreadyExistingException; import org.springframework.http.ResponseEntity; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import fr.gael.dhus.database.object.User; import fr.gael.dhus.server.http.webapp.stub.controller.stub_share.UserData; import fr.gael.dhus.server.http.webapp.stub.controller.stub_share.exceptions.UserServiceException; import fr.gael.dhus.server.http.webapp.stub.controller.stub_share.exceptions.UserServiceMailingException; import fr.gael.dhus.service.exception.EmailNotSentException; import fr.gael.dhus.spring.context.ApplicationContextProvider; @RestController public class StubAuthenticationController { @RequestMapping (value = "/signup", method= RequestMethod.POST) public ResponseEntity<?> user (@RequestBody UserData userData) throws IOException, UserServiceMailingException, UserServiceException { fr.gael.dhus.service.UserService userService = ApplicationContextProvider .getBean (fr.gael.dhus.service.UserService.class); User user = new User (); try { user.setUsername (userData.getUsername ()); user.setFirstname (userData.getFirstname ()); user.setLastname (userData.getLastname ()); user.setAddress (userData.getAddress ()); user.setEmail (userData.getEmail ()); user.setPhone (userData.getPhone ()); user.setPassword (userData.getPassword ()); user.setCountry (userService.getCountry (Long.parseLong (userData.getCountry ())).getName ()); user.setUsage (userData.getUsage ()); user.setSubUsage (userData.getSubUsage ()); user.setDomain (userData.getDomain ()); user.setSubDomain (userData.getSubDomain ()); userService.createTmpUser (user); } catch (EmailNotSentException e){ throw new UserServiceMailingException(e.getMessage ()); } catch (UserAlreadyExistingException ex){ return new ResponseEntity<String>("{\"code\":\"user_already_present\"}",HttpStatus.BAD_REQUEST); } catch (Exception e) { e.printStackTrace (); throw new UserServiceException(e.getMessage ()); } return new ResponseEntity<String>("{\"code\":\"OK\"}",HttpStatus.OK); } @RequestMapping (value = "/signup", method= RequestMethod.GET) public String signupValidate () { return "hello from unauthorized webservice"; } }