package org.mconf.web; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpException; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MconfWebImpl implements MconfWebItf { private static final Logger log = LoggerFactory.getLogger(MconfWebImpl.class); private MconfWebServiceItf ws = new MconfWebServiceImpl(); @Override public List<Room> getRooms(Authentication auth) throws HttpException, IOException, JSONException { List<Room> list = new ArrayList<Room>(); parseRooms(list, ws.getRooms(auth)); for (Room room : list) log.debug(room.toString()); return list; } public static void parseRooms(List<Room> list, String rooms) throws JSONException { JSONArray arrayRooms = new JSONArray(rooms); for (int i = 0; i < arrayRooms.length(); ++i) { JSONObject objectRoom = arrayRooms.getJSONObject(i).getJSONObject("bigbluebutton_room"); Room room = new Room(); room.setName(objectRoom.getString("name")); room.setPath(objectRoom.getString("join_path")); JSONObject objectOwner = objectRoom.getJSONObject("owner"); String type = objectOwner.getString("type"); Owner owner = null; if (type.equals(Owner.TYPE_USER)) owner = new User(); else if (type.equals(Owner.TYPE_SPACE)) { owner = new Space(); ((Space) owner).setName(objectOwner.getString("name")); ((Space) owner).setPublic(objectOwner.getBoolean("public")); ((Space) owner).setMember(objectOwner.getBoolean("member")); } owner.setId(objectOwner.getInt("id")); room.setOwner(owner); list.add(room); } } @Override public String getJoinUrl(Authentication auth, String joinUrl) throws HttpException, IOException { return ws.getJoinUrl(auth, joinUrl); } }