Back to project page Joetz-Android-V2.
The source code is released under:
GNU General Public License
If you think the Android project Joetz-Android-V2 listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.example.jens.myapplication.apimanager.manager; //from ww w .j a va 2s. c o m import com.example.jens.myapplication.apimanager.ApiConnection; import com.example.jens.myapplication.apimanager.CancellableTask; import com.example.jens.myapplication.apimanager.JSONParsingTask; import com.example.jens.myapplication.apimanager.PostRequestTask; import com.example.jens.myapplication.apimanager.RequestParams; import com.example.jens.myapplication.apimanager.SimpleRequestTask; import com.example.jens.myapplication.apimanager.filter.PersonFilter; import com.example.jens.myapplication.domain.Person; import com.example.jens.myapplication.domain.User; import com.example.jens.myapplication.sam.JoetzApplication; import com.example.jens.myapplication.util.AESEncryption; import com.example.jens.myapplication.util.JsonUtils; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonUnwrapped; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; /** * Manager to manage the registration requests */ public class RegisterManager { private static final String ACTION_REGISTER = "api/users/register"; private static final String FILTER_REGISTER_PERSON = "regFilter"; /** * LoginManager will be automatically logged in if the registration succeeded. * @param user The user to be registered * @param postTask The task to be executed when the request is finished * @return the task */ public static CancellableTask registerUser(final User user, final SimpleRequestTask postTask){ String rawBody; try { RegisterUserModel model = new RegisterUserModel(); model.password = user.getPassword(); // model.password = AESEncryption.encrypt(user.getPassword()); model.subscribe = user.isSubscribedToNewsletter(); model.person = user.getPerson(); ObjectMapper mapper = new ObjectMapper(); mapper.setFilters(JsonUtils.createSimpleFilter( FILTER_REGISTER_PERSON, PersonFilter.REGISTER_PERSON.fields())); rawBody = mapper.writeValueAsString(model); } catch (IOException e) { e.printStackTrace(); return null; } RequestParams rp = new RequestParams(); rp.setRawBody(rawBody); JSONParsingTask<User> jsonTask = new JSONParsingTask<User>() { @Override public User handleJSON(String json) throws IOException { return new ObjectMapper().readValue(json, User.class); } }; PostRequestTask<User> userTask = new PostRequestTask<User>() { @Override public void doTask(User u, int statusCode) { if(u != null){ JoetzApplication.getContext().getLoginManager().setLoggedInUser(u, user.getPassword()); } postTask.doTask(statusCode); } }; return ApiConnection.post(ACTION_REGISTER, jsonTask, userTask, rp); } private static class RegisterUserModel{ @JsonProperty("Password") String password; @JsonProperty("SubscribeToNewsletter") boolean subscribe; @JsonProperty @JsonUnwrapped @JsonFilter(FILTER_REGISTER_PERSON) Person person; } }