package kr.ac.kaist.resl.lilliput.rest; import java.net.UnknownHostException; import org.json.JSONException; import org.json.JSONObject; import org.restlet.ext.json.JsonRepresentation; import org.restlet.resource.Get; import org.restlet.resource.ServerResource; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.MongoException; public class Login extends ServerResource { @Get("json") public JsonRepresentation toJson() throws JSONException { String epc = (String)getRequest().getAttributes().get("uid"); String password = (String)getRequest().getAttributes().get("password"); String result = logIn(epc, password); JSONObject returnJSON = new JSONObject(); returnJSON.put("message", result); JsonRepresentation representation = new JsonRepresentation(returnJSON); return representation; } //1: login 1/login/pw public String logIn(String epc, String password) { try { Mongo m = new Mongo("143.248.106.26", 27017); System.out.println("connect db"); DB db = m.getDB("Lilliput"); System.out.println("getting db"); DBCollection collection = db.getCollection("EPCStorage"); System.out.println("getting collection"); DBObject query = new BasicDBObject(); query.put("epc", epc); DBObject queriedObject = collection.findOne(query); if( !((String)queriedObject.get("password")).equals(password) ) {//password�� Ʋ���� m.close(); return "login failed : invalid password"; } else { m.close(); return "success"; } } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MongoException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } }