Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.unilever.audit.services2; import com.unilever.audit.entities.Merchandisers; import com.unilever.audit.services.MerchandisersFacadeREST; import java.io.IOException; import java.math.BigDecimal; import java.sql.SQLIntegrityConstraintViolationException; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Resource; import javax.ejb.Stateless; import javax.ws.rs.core.Context; import javax.ws.rs.core.UriInfo; import javax.ws.rs.PathParam; import javax.ws.rs.Consumes; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.GET; import javax.ws.rs.Produces; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.persistence.EntityExistsException; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.TransactionRequiredException; import javax.transaction.UserTransaction; import javax.ws.rs.POST; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; /** * REST Web Service * * @author Trust */ @Path("NewUser") @Stateless public class NewUser { @PersistenceContext(unitName = "com.unilever_audit_war_1.0-SNAPSHOTPU") private EntityManager em; @Resource private UserTransaction utx; @Context private UriInfo context; @Inject private MerchandisersFacadeREST merchandisersFacadeREST; public NewUser() { } @POST @Path("AddUser") @Produces("application/json") @Consumes("text/plain") public String NewUser(String json) throws IOException { boolean status = true; String error = null; Map<String, Object> hm = new HashMap<String, Object>(); JSONObject result = new JSONObject(); Merchandisers merchandiser; try { JSONObject user = (JSONObject) new JSONParser().parse(json); ////////////check if this user already exist bec w cant check it from internal exception hm.put("email", (String) user.get("email")); merchandiser = (Merchandisers) merchandisersFacadeREST.findOneByQuery("Merchandisers.checkMerchandiser", hm); //////////if dont exist if (merchandiser == null) { merchandiser = (Merchandisers) merchandisersFacadeREST.findOneByQuery("Merchandisers.findByEmail", hm); if (merchandiser != null) { merchandiser.setActive("Y"); merchandiser.setPassword((String) user.get("password")); try { merchandisersFacadeREST.edit(merchandiser); status = true; error = "User registered successfully, Congrats :)"; } catch (TransactionRequiredException ex) { status = false; error = "Can't add merchandiser problem with server"; } catch (IllegalArgumentException ex) { status = false; error = "Wrong data Please try again"; } } else { status = false; error = "Your email is not registered in our system, Please contact the system admin."; } } else { status = true; error = "You are already active please login directly."; } } catch (Exception e) { Logger.getLogger(NewUser.class.getName()).log(Level.SEVERE, null, e); } result.put("status", status); result.put("error", error); System.out.println("----------------" + result.toString()); return result.toString(); } }