/*
* 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.oic.event;
import com.oic.net.WebSocketListener;
import com.oic.utils.DatabaseConnection;
import com.oic.utils.Validators;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.json.simple.JSONObject;
/**
* 重複確認
* @author morimoto
*/
public class CheckDuplication implements ActionEventImpl{
@Override
public void ActionEvent(JSONObject json, WebSocketListener webSocket) {
JSONObject responseJSON = new JSONObject();
responseJSON.put("method", "duplication");
Validators v = new Validators(json);
v.add("username", v.required(), v.maxLength(24));
if(!v.validate()){
responseJSON.put("result", 2);
return;
}else{
//重複確認
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try{
String sql = "SELECT name FROM user WHERE name = ?";
con = DatabaseConnection.getConnection();
ps = con.prepareStatement(sql);
ps.setString(1, json.get("username").toString());
rs = ps.executeQuery();
if(rs.next()){//重複
responseJSON.put("result", 1);
}else{//未登録
webSocket.userRegister();//登録開始
responseJSON.put("result", 0);
}
}catch(Exception e){
responseJSON.put("result", 2);
e.printStackTrace();
}finally{
try{ rs.close(); }catch(Exception e1){}
try{ ps.close(); }catch(Exception e1){}
}
}
webSocket.sendJson(responseJSON);
}
}