/* * 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.client.OicGender; import com.oic.net.WebSocketListener; import com.oic.utils.DatabaseConnection; import com.oic.utils.Tools; import com.oic.utils.Validators; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import org.json.simple.JSONObject; /** * プロフィール情報を取得する * @author morimoto */ public class GetProfile implements ActionEventImpl{ @Override public void ActionEvent(JSONObject json, WebSocketListener webSocket) { JSONObject responseJSON = new JSONObject(); if(!validation(json)){ responseJSON.put("status", "1"); webSocket.sendJson(responseJSON); return; } Connection con = null; PreparedStatement ps = null; ResultSet rs = null; try{ String sql = "SELECT user.userid, name, avatarid, grade, sex, birth, comment, privategrade, privatesex, privatebirth FROM user JOIN setting ON (user.userid = setting.userid) WHERE user.userid = ?;"; con = DatabaseConnection.getConnection(); ps = con.prepareStatement(sql); ps.setLong(1, Long.parseLong(json.get("userid").toString())); rs = ps.executeQuery(); if(rs.next()){ responseJSON.put("userid", rs.getLong("userid")); responseJSON.put("username", rs.getString("name")); responseJSON.put("avatarid", rs.getInt("avatarid")); if(rs.getString("privategrade").equals("public")){ responseJSON.put("grade", rs.getInt("grade")); } if(rs.getString("privatesex").equals("public")){ responseJSON.put("gender", OicGender.getGender(rs.getString("sex")).toString()); } if(rs.getString("privatebirth").equals("public")){ responseJSON.put("birthday", Tools.convertData(rs.getDate("birth"))); } responseJSON.put("comment", rs.getString("comment")); responseJSON.put("status", 0); }else{ responseJSON.put("status", 1); } }catch(SQLException se){ responseJSON.put("status", 1); se.printStackTrace(); }finally{ try{ rs.close(); }catch(Exception e1){} try{ ps.close(); }catch(Exception e1){} } webSocket.sendJson(responseJSON); } private boolean validation(JSONObject json){ Validators v = new Validators(json); v.add("userid", v.required()); return v.validate(); } }