Subversion Repositories bacoAlunos

Rev

Rev 1617 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.web.controllers.widgetmodel;

import jomm.dao.impl.AbstractDao;
import org.apache.struts.action.ActionForm;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.domain.SigesUser;
import pt.estgp.estgweb.domain.Student;
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.web.controllers.utils.AbstractWidgetAjaxController;
import pt.estgp.estgweb.web.form.widgetmodel.WidgetModelForm;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * Created by jorgemachado on 06/01/17.
 */

public class ModelWidgetController extends AbstractWidgetAjaxController
{

    public JSONObject findUser(ActionForm form,HttpServletRequest request, HttpServletResponse response) throws JSONException {

        WidgetModelForm frm = (WidgetModelForm) form;
        1.5.0/docs/api/java/lang/String.html">String query = frm.getQ();

        JSONObject result = new JSONObject();
        JSONArray usersArray = new JSONArray();
        result.put("results",usersArray);

        if(query==null || query.trim().length() == 0)
            return result;

        AbstractDao.getCurrentSession().beginTransaction();

        result.put("results",usersArray);
        List<User> users = DaoFactory.getUserDaoImpl().findUsers(query);
        for(User u: users)
        {
            JSONObject user = new JSONObject();
            user.put("id",u.getId());
            user.put("username",u.getUsername());
            user.put("name",u.getName());
            if(u instanceof SigesUser)
            {
                user.put("sigesCode",((SigesUser)u).getSigesCode());
            }
            if(u instanceof Teacher)
            {
                user.put("type","teacher");
            }
            if(u instanceof Student)
            {
                user.put("type","student");
            }
            usersArray.put(user);
        }
        AbstractDao.getCurrentSession().getTransaction().commit();
        return result;
    }
}