List of usage examples for com.google.gwt.core.client JsonUtils safeEval
public static native <T extends JavaScriptObject> T safeEval(String json) ;
From source file:cc.kune.embed.client.panels.EmbedPresenter.java
License:GNU Affero Public License
private void getContentFromHistoryHash(final String stateTokenS) { Log.info("Opening statetoken: " + stateTokenS); final boolean isGroupToken = TokenMatcher.isGroupToken(stateTokenS); final boolean isWaveToken = TokenMatcher.isWaveToken(stateTokenS); final String suffix = isGroupToken ? "" : isWaveToken ? "ByWaveRef" : ""; if (isGroupToken || isWaveToken) { // Ok is a token like group.tool.number final String getContentUrl = EmbedHelper.getServerWithPath() + "cors/ContentCORSService/getContent" + suffix + "?" + new UrlParam(JSONConstants.TOKEN_PARAM, URL.encodeQueryString(stateTokenS)); // FIXME Exception if is not public? EmbedHelper.processRequest(getContentUrl, new Callback<Response, Void>() { @Override/*from w ww . j a v a 2 s.c o m*/ public void onFailure(final Void reason) { notFound(); } @Override public void onSuccess(final Response response) { // final StateToken currentToken = new StateToken(currentHash); NotifyUser.hideProgress(); final StateAbstractDTOJs state = JsonUtils.safeEval(response.getText()); final StateTokenJs stateTokenJs = (StateTokenJs) state.getStateToken(); // getContent returns the default content if doesn't finds the content if ((isGroupToken && stateTokenS.equals(stateTokenJs.getEncoded())) || (isWaveToken && stateTokenS.equals(state.getWaveRef()))) { onGetContentSuccessful(session, EmbedHelper.parse(state)); } else { // getContent returns def content if content not found notFound(); } } }); } else { // Do something notFound(); } }
From source file:cc.kune.embed.client.panels.EmbedPresenter.java
License:GNU Affero Public License
private void onAppStarted() { // We set the prefix for avatars url with the server url final String serverUrl = EmbedConfiguration.get().getServerUrl(); clientDownUtils.setPrefix(serverUrl); final String serverNoSlash = serverUrl.replaceAll("/$", ""); KuneWaveProfileManager.urlPrefix = serverNoSlash; AtmosphereConnectionImpl.urlPrefix = serverNoSlash; final String userHash = session.getUserHash(); Log.info("Started embed presenter with user hash: " + userHash); final String initUrl = EmbedHelper.getServerWithPath() + "cors/SiteCORSService/getInitData"; EmbedHelper.processRequest(initUrl, new Callback<Response, Void>() { @Override/*from w w w.ja va 2 s . c o m*/ public void onFailure(final Void reason) { // Do nothing Log.info("Failed to get init data"); } @Override public void onSuccess(final Response response) { final InitDataDTOJs initData = JsonUtils.safeEval(response.getText()); session.setInitData(EmbedHelper.parse(initData)); final UserInfoDTOJs userInfo = (UserInfoDTOJs) initData.getUserInfo(); if (userInfo != null) { session.setUserHash(userInfo.getUserHash()); session.setCurrentUserInfo(EmbedHelper.parse(userInfo), null); } else { if (session.getUserHash() != null) { // Probably the session expired session.signOut(); } } final String currentHash = getCurrentHistoryHash(); final boolean isValid = isCurrentHistoryHashValid(currentHash); if (stateTokenToOpen != null) { // The open event already received, so open the content Log.info("Opening token from JSNI open call"); getContentFromHistoryHash(stateTokenToOpen); } else if (isValid) { // We start the embed from the url #hash Log.info("Opening token from history token"); stateTokenToOpen = currentHash; getContentFromHistoryHash(currentHash); } else { // We embed the document via JSNI, so, we wait for the open event } // We configure sign-out session.onUserSignOut(false, new UserSignOutHandler() { @Override public void onUserSignOut(final UserSignOutEvent event) { Log.info("On user sign out"); if (stateTokenToOpen != null) { getContentFromHistoryHash(stateTokenToOpen); } } }); } }); }
From source file:cc.kune.wave.client.kspecific.WaveClientManager.java
License:GNU Affero Public License
@Inject public WaveClientManager(final Session session, final EventBus eventBus, final HasWaveContainer panel, final KuneWaveProfileManager profiles, final WaveClientProvider webclientView) { eventBus.addHandler(WaveSessionAvailableEvent.getType(), new WaveSessionAvailableHandler() { @Override/* ww w. j a va2s. c om*/ public void onWaveSessionAvailable(final WaveSessionAvailableEvent event) { final UserInfoDTO result = event.getUserInfo(); setSessionJSON(JsonUtils.safeEval(result.getSessionJSON())); setClientFlags(JsonUtils.safeEval(result.getClientFlags())); setWebsocketAddress(result.getWebsocketAddress()); Log.info("Wave client session: " + result.getSessionJSON()); Log.info("Wave websocket address: " + result.getWebsocketAddress()); ready = true; Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { final ForIsWidget waveContainer = panel.getForIsWidget(); if (webClient == null) { if (waveContainer.getWidgetCount() > 0) { waveContainer.remove(0); } webClient = webclientView.get(); waveContainer.add(webClient); } else { // this is done with the first webclient creation above webClient.login(); webClient.asWidget().setVisible(true); } } }); } }); session.onUserSignOut(true, new UserSignOutHandler() { @Override public void onUserSignOut(final UserSignOutEvent event) { ready = false; if (webClient != null) { webClient.asWidget().setVisible(false); webClient.logout(); } setSessionJSON(JsonUtils.safeEval("{}")); setClientFlags(JsonUtils.safeEval("{}")); } }); }
From source file:cl.uai.client.data.SubmissionGradeData.java
License:Open Source License
/** * Loads the configuration for a submission * @param values//w w w .j av a 2 s . c o m * @throws Exception */ public static SubmissionGradeData createFromConfiguration(Map<String, String> values) { SubmissionGradeData submissionData = new SubmissionGradeData(); try { submissionData.setId(Integer.parseInt(values.get("id"))); submissionData.setGrademin(Float.parseFloat(values.get("grademin"))); submissionData.setGrademax(Float.parseFloat(values.get("grademax"))); submissionData.setCourseid(Integer.parseInt(values.get("courseid"))); submissionData.setCoursename(values.get("coursename")); submissionData.setCourseshort(values.get("courseshort")); submissionData.setMarkeremail(values.get("markeremail")); submissionData.setMarkerfirstname(values.get("markerfirstname")); submissionData.setMarkerlastname(values.get("markerlastname")); submissionData.setMarkerid(Integer.parseInt(values.get("markerid"))); submissionData.setActivityname(values.get("activityname")); submissionData.setFeedback(values.get("feedback")); submissionData.setChangelog(values.get("changelog")); submissionData.setCustommarks(values.get("custommarks")); submissionData.setQualitycontrol(values.get("qualitycontrol").equals("1")); submissionData.setCoursemoduleid(Integer.parseInt(values.get("coursemodule"))); submissionData.setDatecreated(Long.parseLong(values.get("timecreated"))); submissionData.setRegraderestrictdates(values.get("regraderestrictdates").equals("1")); submissionData.setRegradeopendate(new Date(Long.parseLong(values.get("regradesopendate")) * 1000)); submissionData.setRegradeclosedate(new Date(Long.parseLong(values.get("regradesclosedate")) * 1000)); submissionData.setFinalgrade(Float.parseFloat(values.get("finalgrade"))); submissionData.setDatemodified(Long.parseLong(values.get("timemodified"))); String drafts = values.get("drafts"); if (drafts != null) { List<Integer> draftIds = new ArrayList<Integer>(); for (String did : drafts.split(",")) { int id = Integer.parseInt(did); draftIds.add(id); } submissionData.setDrafts(draftIds); } JSONObject rubricobj = new JSONObject(JsonUtils.safeEval(values.get("rubric"))); List<Map<String, String>> rubric = AjaxRequest.getValuesFromResult(rubricobj); SortedMap<Integer, Criterion> definition = new TreeMap<Integer, Criterion>(); for (Map<String, String> criterion : rubric) { int criterionId = Integer.parseInt(criterion.get("id")); int criterionSortOrder = Integer.parseInt(criterion.get("sortorder")); float maxscore = Float.parseFloat(criterion.get("maxscore")); String criterionDescription = criterion.get("description").toString(); submissionData.setRubricname(criterion.get("rubricname").toString()); int regradeid = Integer.parseInt(criterion.get("regradeid")); int regradeaccepted = Integer.parseInt(criterion.get("regradeaccepted")); int regrademotive = Integer.parseInt(criterion.get("motive")); boolean markerIsAssigned = Integer.parseInt(criterion.get("markerassigned")) == 1; String regradecomment = criterion.get("regradecomment").toString(); String regrademarkercomment = criterion.get("regrademarkercomment").toString(); JSONObject obj = new JSONObject(JsonUtils.safeEval(criterion.get("levels"))); List<Map<String, String>> levels = AjaxRequest.getValuesFromResult(obj); SortedMap<Integer, Level> levelsdata = new TreeMap<Integer, Level>(); Criterion criteriondata = new Criterion(criterionId, criterionDescription, maxscore, regradeid, regradeaccepted, levelsdata, criterionSortOrder); criteriondata.setMarkerIsAssigned(markerIsAssigned); criteriondata.setRegradeComment(regradecomment); criteriondata.setRegradeMarkerComment(regrademarkercomment); criteriondata.setRegrademotive(regrademotive); for (Map<String, String> level : levels) { Level levelData = new Level(criteriondata, Integer.parseInt(level.get("id").toString()), level.get("description").toString(), // SafeHtmlUtils.htmlEscape(level.get("description").toString()), Float.parseFloat(level.get("score").toString())); float bonus = Float.parseFloat(criterion.get("bonus").toString()); int commentpage = Integer.parseInt(level.get("commentpage").toString()); int markid = Integer.parseInt(level.get("commentid").toString()); levelData.setBonus(bonus); levelData.setPage(commentpage); levelData.setMarkId(markid); levelsdata.put(levelData.getId(), levelData); if (markid > 0) { criteriondata.setSelectedLevel(levelData.getId()); } } criteriondata.setHueColor(definition.size()); definition.put(criteriondata.getId(), criteriondata); } submissionData.setRubricDefinition(definition); JSONObject answerkeysjson = new JSONObject(JsonUtils.safeEval(values.get("answerkeys"))); List<Map<String, String>> answerkeyslist = AjaxRequest.getValuesFromResult(answerkeysjson); SortedMap<Integer, Submission> answerkeys = new TreeMap<Integer, Submission>(); boolean thisIsAnswerKey = false; for (Map<String, String> answerkey : answerkeyslist) { Submission sub = new Submission(answerkey); answerkeys.put(sub.getId(), sub); if (sub.getId() == submissionData.getId()) { thisIsAnswerKey = true; } } submissionData.answerKeys = answerkeys; submissionData.answerkey = thisIsAnswerKey; } catch (Exception e) { logger.severe(e.getLocalizedMessage()); return null; } return submissionData; }
From source file:com.bramosystems.oss.player.playlist.client.PlaylistFactory.java
License:Apache License
/** * Parses playlist data in JSPF format to SPFPlaylist object * //from w w w. j av a2s . c o m * @param jspf playlist data in JSPF format * * @return SPFPlaylist object * @throws ParseException if an error occurs during parsing */ public static SPFPlaylist parseJspfPlaylist(String jspf) throws ParseException { try { return ((JSPFPlaylist) JsonUtils.safeEval(jspf)).getPlaylist(); } catch (Exception e) { throw new ParseException("Parse Error", e); } }
From source file:com.dawg6.web.dhcalc.client.GearPanel.java
License:Open Source License
@SuppressWarnings("unchecked") public GearPanel() { HorizontalPanel panel = new HorizontalPanel(); initWidget(panel);/*w w w . j a va 2 s.co m*/ VerticalPanel verticalPanel_1 = new VerticalPanel(); panel.add(verticalPanel_1); CaptionPanel captionPanel = new CaptionPanel("Current Items"); verticalPanel_1.add(captionPanel); FlexTable table = new FlexTable(); captionPanel.add(table); CaptionPanel cptnpnlNewPanel = new CaptionPanel("Saved Items"); panel.add(cptnpnlNewPanel); VerticalPanel verticalPanel = new VerticalPanel(); cptnpnlNewPanel.setContentWidget(verticalPanel); verticalPanel.setSize("5cm", "3cm"); savedItems = new ListBox(); verticalPanel.add(savedItems); savedItems.setVisibleItemCount(20); savedItems.setWidth("100%"); HorizontalPanel horizontalPanel = new HorizontalPanel(); horizontalPanel.setSpacing(5); verticalPanel.add(horizontalPanel); Button btnNewButton = new Button("New button"); btnNewButton.setText("Rename..."); horizontalPanel.add(btnNewButton); btnNewButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { renameItem(); } }); Button btnNewButton_1 = new Button("New button"); btnNewButton_1.setText("Delete"); horizontalPanel.add(btnNewButton_1); btnNewButton_1.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { deleteItem(); } }); int row = 0; for (Slot slot : Slot.values()) if (!slot.isCube()) { final Slot thisSlot = slot; Label label = new Label(slot.name()); label.addStyleName("boldText"); table.setWidget(row, 0, label); Anchor status = new Anchor("unloaded"); status.setTarget("_blank"); status.setHref("javascript:void(0);"); table.setWidget(row, 1, status); labels.put(slot, status); status.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { event.preventDefault(); clickItem(thisSlot); } }); Button saveButton = new Button("save"); table.setWidget(row, 2, saveButton); saveButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { saveSlot(thisSlot); } }); Button replaceButton = new Button("replace"); table.setWidget(row, 3, replaceButton); replaceButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { replaceSlot(thisSlot); } }); Button clearButton = new Button("clear"); table.setWidget(row, 4, clearButton); clearButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { clearSlot(thisSlot); } }); row++; } Storage storage = getStorage(); if (storage != null) { String data = storage.getItem(SAVED_ITEMS); JsoArray<Entry> list = null; if (data != null) { list = JsonUtils.safeEval(data); } else { list = (JsoArray<Entry>) JavaScriptObject.createArray(); } for (int i = 0; i < list.length(); i++) { Entry e = list.get(i); savedItems.addItem(e.getName(), e.getItem()); } } setVisible(false); }
From source file:com.dawg6.web.dhcalc.client.GearPanel.java
License:Open Source License
@SuppressWarnings("unchecked") private JsoArray<Entry> getSavedItems() { Storage storage = getStorage();/*from w w w. java 2s . c o m*/ if (storage != null) { String data = storage.getItem(SAVED_ITEMS); JsoArray<Entry> list = null; if (data != null) { list = JsonUtils.safeEval(data); } else { list = (JsoArray<Entry>) JavaScriptObject.createArray(); } return list; } else { return (JsoArray<Entry>) JavaScriptObject.createArray(); } }
From source file:com.github.nmorel.gwtjackson.client.stream.impl.DefaultJsonReader.java
License:Apache License
@Override public JavaScriptObject nextJavaScriptObject(boolean useSafeEval) { int p = peeked; if (p == PEEKED_NONE) { p = doPeek();// ww w . j a v a 2 s . c o m } switch (p) { case PEEKED_BEGIN_OBJECT: case PEEKED_BEGIN_ARRAY: JavaScriptObject result; int peekStack = stack.get(stackSize - 1); if (peekStack == JsonScope.NONEMPTY_DOCUMENT) { // start of the document String toEval = in.getInput(); result = useSafeEval ? JsonUtils.safeEval(toEval) : JsonUtils.unsafeEval(toEval); // we read everything, we move the pointer to the end of the document pos = toEval.length(); limit = toEval.length(); peeked = PEEKED_NONE; } else { String toEval = nextValue(); result = useSafeEval ? JsonUtils.safeEval(toEval) : JsonUtils.unsafeEval(toEval); } return result; default: throw new IllegalStateException("Expected an array or object to evaluate a JavaScriptObject but was " + peek() + " at line " + getLineNumber() + " column " + getColumnNumber()); } }
From source file:com.github.nmorel.gwtjackson.client.stream.impl.NonBufferedJsonReader.java
License:Apache License
@Override public JavaScriptObject nextJavaScriptObject(boolean useSafeEval) { int p = peeked; if (p == PEEKED_NONE) { p = doPeek();//ww w .ja v a2 s. c o m } switch (p) { case PEEKED_BEGIN_OBJECT: case PEEKED_BEGIN_ARRAY: JavaScriptObject result; int peekStack = stack.get(stackSize - 1); if (peekStack == JsonScope.NONEMPTY_DOCUMENT) { // start of the document String toEval = in; result = useSafeEval ? JsonUtils.safeEval(toEval) : JsonUtils.unsafeEval(toEval); // we read everything, we move the pointer to the end of the document pos = toEval.length(); peeked = PEEKED_NONE; } else { String toEval = nextValue(); result = useSafeEval ? JsonUtils.safeEval(toEval) : JsonUtils.unsafeEval(toEval); } return result; default: throw new IllegalStateException("Expected an array or object to evaluate a JavaScriptObject but was " + peek() + " at line " + getLineNumber() + " column " + getColumnNumber()); } }
From source file:com.google.api.explorer.client.history.EmbeddedHistoryItemView.java
License:Apache License
private static ErrorCase getErrorMessage(ApiResponse response) { // This requires a try-catch because there is no way to proactively check // that the JSON is both present and valid without just trying to parse it. try {//from ww w. ja va 2 s .c om DynamicJso jso = JsonUtils.safeEval(response.getBodyAsString()); if (jso.get("error") != null) { return ErrorCase.forJsonString(response.getBodyAsString()); } } catch (IllegalArgumentException e) { // Not valid json, definitely not an error payload. } return null; }