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;
}
}