package net.autosauler.ballance.client.model; import java.util.ArrayList; import java.util.List; import net.autosauler.ballance.client.Services; import net.autosauler.ballance.client.gui.AlertDialog; import net.autosauler.ballance.client.gui.MainPanel; import net.autosauler.ballance.shared.User; import net.autosauler.ballance.shared.UserList; import com.extjs.gxt.ui.client.data.BaseModelData; import com.extjs.gxt.ui.client.store.ListStore; import com.google.gwt.user.client.rpc.AsyncCallback; public class UsersModel extends BaseModelData { private static final long serialVersionUID = -6755204091778520551L; public static void load(boolean fromtrash, final ListStore<UsersModel> store) { final List<UsersModel> users = new ArrayList<UsersModel>(); MainPanel.setCommInfo(true); if (fromtrash) { Services.users.getTrashedUsers(new AsyncCallback<UserList>() { @Override public void onFailure(Throwable caught) { MainPanel.setCommInfo(false); store.add(users); new AlertDialog(caught).show(); } @Override public void onSuccess(UserList result) { MainPanel.setCommInfo(false); List<User> lst = result.getList(); for (User user : lst) { users.add(new UsersModel(user)); } store.add(users); } }); } else { Services.users.getUsers(new AsyncCallback<UserList>() { @Override public void onFailure(Throwable caught) { MainPanel.setCommInfo(false); store.add(users); new AlertDialog(caught).show(); } @Override public void onSuccess(UserList result) { MainPanel.setCommInfo(false); List<User> lst = result.getList(); for (User user : lst) { users.add(new UsersModel(user)); } store.add(users); } }); } } public UsersModel() { } public UsersModel(User user) { set("id", user.getId()); set("username", user.getUsername()); set("roles", user.getUserrole()); set("createdate", user.getCreatedate()); set("active", user.isActive()); } }