public CloudScriptObject eval(Context context) throws CloudScriptException { CloudScriptClass clazz = context.getCurrentClass(); for (Map.Entry<String, String> entry : data.entrySet()) { final String key = entry.getKey(); final String value = entry.getValue(); if (!clazz.hasMethod(key)) { clazz.addMethod( key, new Method() { public CloudScriptObject call( CloudScriptObject receiver, CloudScriptObject arguments[]) throws CloudScriptException { ValueObject content = new ValueObject(value); int numValue; try { numValue = Integer.parseInt(value); content = new ValueObject(numValue); } catch (NumberFormatException e) { } return content; } }); } } return new ValueObject(this.content); }
/** * Send Conference POST request to API endpoint which is used for allocating new conferences in * reservation system. * * @param ownerEmail email of new conference owner * @param mucRoomName full name of MUC room that is hosting the conference. * {room_name}@{muc.server.net} * @return <tt>ApiResult</tt> that contains system response. It will contain <tt>Conference</tt> * instance filled with data from the reservation system if everything goes OK. * @throws FaultTolerantRESTRequest.RetryExhaustedException When the number of retries to submit * the request for the conference data is reached * @throws UnsupportedEncodingException When the room data have the encoding that does not play * with UTF8 standard */ public ApiResult createNewConference(String ownerEmail, String mucRoomName) throws FaultTolerantRESTRequest.RetryExhaustedException, UnsupportedEncodingException { Conference conference = new Conference(mucRoomName, ownerEmail, new Date()); HttpPost post = new HttpPost(baseUrl + "/conference"); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); Map<String, Object> jsonMap = conference.createJSonMap(); for (Map.Entry<String, Object> entry : jsonMap.entrySet()) { nameValuePairs.add(new BasicNameValuePair(entry.getKey(), String.valueOf(entry.getValue()))); } post.setEntity(new UrlEncodedFormEntity(nameValuePairs, "UTF8")); logger.info("Sending post: " + jsonMap); CreateConferenceResponseParser conferenceResponseParser = new CreateConferenceResponseParser(conference); FaultTolerantRESTRequest faultTolerantRESTRequest = new FaultTolerantRESTRequest(post, conferenceResponseParser, retriesCreate, httpClient); return faultTolerantRESTRequest.submit(); }
public UrlNode(String location) { parser = new JSONParser(); try { try { URLConnection conn = new URL(location).openConnection(); InputStream response = conn.getInputStream(); // STUPID hack to convert an InputStream to a String in one line: InputStream input = conn.getInputStream(); try { this.content = new java.util.Scanner(input).useDelimiter("\\A").next(); ContainerFactory containerFactory = new ContainerFactory() { public List creatArrayContainer() { return new LinkedList(); } public Map createObjectContainer() { return new LinkedHashMap(); } }; try { Map json = (Map) parser.parse(content, containerFactory); Iterator iter = json.entrySet().iterator(); data = new HashMap<String, String>(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); data.put(entry.getKey().toString(), entry.getValue().toString()); } } catch (ParseException pe) { } } catch (java.util.NoSuchElementException e) { this.content = "{\"Error\": \"NO CONTENT\"}"; } } catch (MalformedURLException e) { } } catch (IOException e) { } }