package carpool.resources.dianmingResource; import java.util.ArrayList; import java.util.Calendar; import org.restlet.engine.header.Header; import org.restlet.ext.json.JsonRepresentation; import org.restlet.representation.Representation; import org.restlet.representation.StringRepresentation; import org.restlet.resource.*; import org.restlet.util.Series; import org.restlet.data.*; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import carpool.dbservice.*; import carpool.exception.PseudoException; import carpool.factory.JSONFactory; import carpool.model.*; import carpool.resources.PseudoResource; public class DMAutoMatchResource extends PseudoResource{ @Get /** * @return a list of messages that are auto-matched to the target message */ public Representation getMessageAutoMatching() { int curMsgId = -1; int curUserId = -1; JSONArray response = new JSONArray(); try { curMsgId = Integer.parseInt(this.getReqAttr("id")); curUserId = Integer.parseInt(this.getQueryVal("userId")); this.validateAuthentication(curUserId); ArrayList<Message> matchingMessages = MessageDaoService.autoMatching(curMsgId, curUserId); if (matchingMessages != null){ response = JSONFactory.toJSON(matchingMessages); } else{ setStatus(Status.CLIENT_ERROR_CONFLICT); } } catch (PseudoException e){ this.addCORSHeader(); return this.doPseudoException(e); } catch (Exception e) { return this.doException(e); } Representation result = new JsonRepresentation(response); this.addCORSHeader(); return result; } }