package net.whydah.admin.createlogon; import net.whydah.admin.AuthenticationFailedException; import net.whydah.admin.user.uib.UserAggregate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; /** * @author <a href="mailto:bard.lind@gmail.com">Bard Lind</a> */ @Path("/{applicationtokenid}/") @Component public class CreateLogonUserController { private static final Logger log = LoggerFactory.getLogger(CreateLogonUserController.class); private final UibCreateLogonConnection uibConnection; @Autowired public CreateLogonUserController(UibCreateLogonConnection uibConnection) { this.uibConnection = uibConnection; } /* @Path("/authenticateee/user/createandlogon") public Response tempCreateAndLogonUser(@PathParam("applicationtokenid") String applicationtokenid, String fbUserXml) { return createAndLogonUser(applicationtokenid, fbUserXml); } */ /** * * @param applicationtokenid * @param fbUserXml lookinc simmilar to this * <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <user> <params> <fbAccessToken>accessMe1234567</fbAccessToken> <userId>null</userId> <firstName>null</firstName> <lastName>null</lastName> <username>null</username> <gender>null</gender> <email>null</email> <birthday>null</birthday> <hometown>null</hometown> </params> </user> * @return */ @POST @Path("/create_logon_facebook_user") @Consumes({MediaType.APPLICATION_XML}) @Produces({MediaType.APPLICATION_XML}) public Response createAndLogonUser(@PathParam("applicationtokenid") String applicationtokenid, @PathParam("usertokenid") String userTokenId, String fbUserXml ) { log.trace("Try to create user from facebookUserXml {}", fbUserXml); Response response = null; String userCreatedXml = null; try { userCreatedXml = uibConnection.createUser(applicationtokenid, fbUserXml); response = Response.ok(userCreatedXml).build(); } catch (AuthenticationFailedException e) { log.trace("Failed to create user with applicationtokenid {}, facebookUserXml: {}", applicationtokenid, fbUserXml); response = Response.serverError().build(); } return response; } protected String buildUserXml(UserAggregate userAggregate) { String userXml = null; if (userAggregate != null) { userXml = userAggregate.toXML(); } return userXml; } }