List of usage examples for com.google.gwt.core.client JsonUtils escapeJsonForEval
public static native String escapeJsonForEval(String toEscape) ;
From source file:com.seanchenxi.gwt.storage.client.serializer.StorageSerializationStreamWriter.java
License:Apache License
@Override public String toString() { StringBuffer buffer = new StringBuffer(OPEN_BRACKET); writePayload(buffer);/*from ww w . jav a 2 s . c om*/ writeStringTable(buffer); writeHeader(buffer); return JsonUtils.escapeJsonForEval(buffer.append(CLOSE_BRACKET).toString()); }
From source file:next.celebs.api.JsonArrayReader.java
License:Apache License
@Override public void onSuccess(Response response) { String txt = response.getText(); Window.alert("1 succss '" + txt + "'"); String escapedJSON = JsonUtils.escapeJsonForEval(txt); Window.alert("2 succss '" + escapedJSON + "'"); JsArray<J> j = JsonUtils.safeEval(escapedJSON); Window.alert("3 succss '" + j + "'"); ArrayList<T> msgs = JsUtils.toArray(j); Window.alert("4 msgs '" + msgs + "'"); read(msgs, escapedJSON);// ww w .j a va 2 s . co m }
From source file:next.celebs.api.JsonArrayStringReader.java
License:Apache License
@Override public void onSuccess(Response response) { String txt = response.getText(); String escapedJSON = JsonUtils.escapeJsonForEval(txt); JsArrayString j = JsonUtils.safeEval(escapedJSON); ArrayList<String> msgs = JsUtils.toListString(j); read(msgs);// w w w . j a v a 2 s.c o m }
From source file:next.celebs.JsoUtils.java
License:Apache License
@SuppressWarnings("unchecked") public static <J extends JavaScriptObject> J toJSO(String json) { String escapedJSON = JsonUtils.escapeJsonForEval(json); JavaScriptObject j = JsonUtils.safeEval(escapedJSON); return (J) j; }
From source file:next.celebs.JsoUtils.java
License:Apache License
public static <J extends JavaScriptObject> JsArray<J> toJSOArray(String json) { String escapedJSON = JsonUtils.escapeJsonForEval(json); JsArray<J> j = JsonUtils.safeEval(escapedJSON); return j;// w w w. j a va 2 s . co m }
From source file:org.pentaho.mantle.client.admin.ContentCleanerPanel.java
License:Open Source License
public void activate() { clear();/* w w w.j a va 2 s . c o m*/ String moduleBaseURL = GWT.getModuleBaseURL(); String moduleName = GWT.getModuleName(); String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName)); RequestBuilder scheduleFileRequestBuilder = new RequestBuilder(RequestBuilder.GET, contextURL + "api/scheduler/getContentCleanerJob?cb=" + System.currentTimeMillis()); scheduleFileRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); scheduleFileRequestBuilder.setHeader("Content-Type", "application/json"); //$NON-NLS-1$//$NON-NLS-2$ scheduleFileRequestBuilder.setHeader("accept", "application/json"); //$NON-NLS-1$//$NON-NLS-2$ try { scheduleFileRequestBuilder.sendRequest("", new RequestCallback() { public void onError(Request request, Throwable exception) { } public void onResponseReceived(Request request, Response response) { final TextBox nowTextBox = new TextBox(); nowTextBox.setWidth("24px"); nowTextBox.getElement().getStyle().setPadding(5, Unit.PX); nowTextBox.getElement().getStyle().setMarginLeft(5, Unit.PX); nowTextBox.getElement().getStyle().setMarginRight(5, Unit.PX); final TextBox scheduleTextBox = new TextBox(); scheduleTextBox.setVisibleLength(4); JsJob tmpJsJob = parseJsonJob(JsonUtils.escapeJsonForEval(response.getText())); boolean fakeJob = false; if (tmpJsJob == null) { tmpJsJob = createJsJob(); fakeJob = true; } final JsJob jsJob = tmpJsJob; if (jsJob != null) { scheduleTextBox.setValue("" + (Long.parseLong(jsJob.getJobParamValue("age")) / 86400L)); } else { scheduleTextBox.setText("180"); } scheduleTextBox.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { if (jsJob != null) { JsArray<JsJobParam> params = jsJob.getJobParams(); for (int i = 0; i < params.length(); i++) { if (params.get(i).getName().equals("age")) { params.get(i).setValue( "" + (Long.parseLong(scheduleTextBox.getText()) * 86400L)); break; } } } } }); Label settingsLabel = new Label(Messages.getString("settings")); settingsLabel.setStyleName("pentaho-fieldgroup-major"); add(settingsLabel, DockPanel.NORTH); VerticalPanel nowPanelWrapper = new VerticalPanel(); Label deleteNowLabel = new Label(Messages.getString("deleteGeneratedFilesNow")); deleteNowLabel.getElement().getStyle().setPaddingTop(15, Unit.PX); deleteNowLabel.setStyleName("pentaho-fieldgroup-minor"); nowPanelWrapper.add(deleteNowLabel); HorizontalPanel nowLabelPanel = new HorizontalPanel(); nowLabelPanel.getElement().getStyle().setPaddingTop(10, Unit.PX); nowLabelPanel.getElement().getStyle().setPaddingBottom(10, Unit.PX); Label deleteGeneratedFilesOlderThan = new Label( Messages.getString("deleteGeneratedFilesOlderThan")); deleteGeneratedFilesOlderThan.getElement().getStyle().setPaddingTop(7, Unit.PX); nowLabelPanel.add(deleteGeneratedFilesOlderThan); nowLabelPanel.add(nowTextBox); nowTextBox.setText("180"); Label days = new Label(Messages.getString("daysDot")); days.getElement().getStyle().setPaddingTop(7, Unit.PX); nowLabelPanel.add(days); Button deleteNowButton = new Button(Messages.getString("deleteNow")); deleteNowButton.setStylePrimaryName("pentaho-button"); deleteNowButton.addStyleName("first"); deleteNowButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { MessageDialogBox warning = new MessageDialogBox(Messages.getString("deleteNow"), Messages.getString("confirmDeleteGeneratedContentNow"), false, false, true, Messages.getString("yes"), null, Messages.getString("no")); warning.setCallback(new IDialogCallback() { @Override public void okPressed() { deleteContentNow(Long.parseLong(nowTextBox.getValue()) * 86400L); } @Override public void cancelPressed() { } }); warning.center(); } }); nowPanelWrapper.add(nowLabelPanel); nowPanelWrapper.add(deleteNowButton); add(nowPanelWrapper, DockPanel.NORTH); // scheduled VerticalPanel scheduledPanel = new VerticalPanel(); Label deleteScheduleLabel = new Label(Messages.getString("scheduleDeletionOfGeneratedFiles")); deleteScheduleLabel.setStyleName("pentaho-fieldgroup-minor"); deleteScheduleLabel.getElement().getStyle().setPaddingTop(15, Unit.PX); scheduledPanel.add(deleteScheduleLabel); Label descLabel; if (!fakeJob) { String desc = jsJob.getJobTrigger().getDescription(); descLabel = new Label(desc); scheduledPanel.add(descLabel); } else { descLabel = new Label(Messages.getString("generatedFilesAreNotScheduledToBeDeleted")); scheduledPanel.add(descLabel); } descLabel.getElement().getStyle().setPaddingTop(10, Unit.PX); descLabel.getElement().getStyle().setPaddingBottom(10, Unit.PX); Button editScheduleButton = new Button(Messages.getString("edit")); if (fakeJob) { editScheduleButton.setText(Messages.getString("scheduleDeletion")); } Button deleteScheduleButton = new Button(Messages.getString("cancelSchedule")); deleteScheduleButton.setStylePrimaryName("pentaho-button"); deleteScheduleButton.addStyleName("last"); deleteScheduleButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { deleteContentCleaner(jsJob); } }); editScheduleButton.setStylePrimaryName("pentaho-button"); editScheduleButton.addStyleName("first"); editScheduleButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { IDialogCallback callback = new IDialogCallback() { public void okPressed() { deleteContentCleaner(jsJob); } public void cancelPressed() { } }; HorizontalPanel scheduleLabelPanel = new HorizontalPanel(); scheduleLabelPanel .add(new Label(Messages.getString("deleteGeneratedFilesOlderThan"), false)); scheduleLabelPanel.add(scheduleTextBox); scheduleLabelPanel .add(new Label(Messages.getString("daysUsingTheFollowingRules"), false)); ScheduleRecurrenceDialog editSchedule = new ScheduleRecurrenceDialog(null, jsJob, callback, false, false, AbstractWizardDialog.ScheduleDialogType.SCHEDULER); editSchedule.setShowSuccessDialog(false); editSchedule.addCustomPanel(scheduleLabelPanel, DockPanel.NORTH); editSchedule.center(); } }); HorizontalPanel scheduleButtonPanel = new HorizontalPanel(); scheduleButtonPanel.add(editScheduleButton); if (!fakeJob) { scheduleButtonPanel.add(deleteScheduleButton); } scheduledPanel.add(scheduleButtonPanel); add(scheduledPanel, DockPanel.NORTH); VerticalPanel fillPanel = new VerticalPanel(); add(fillPanel, DockPanel.NORTH); fillPanel.getElement().getParentElement().getStyle().setHeight(100, Unit.PCT); } }); } catch (RequestException re) { //ignored } }
From source file:org.pentaho.mantle.client.admin.JsEmailConfiguration.java
License:Open Source License
public static final JsEmailConfiguration parseJsonString(final String jsonString) { return (JsEmailConfiguration) parseEmailConfig(JsonUtils.escapeJsonForEval(jsonString)); }
From source file:org.pentaho.mantle.client.admin.PermissionsPanel.java
License:Open Source License
public void initializeActionBaseSecurityElements(String roleMappings) { JsLogicalRoleMap logicalRoleMap = (JsLogicalRoleMap) parseRoleMappings( JsonUtils.escapeJsonForEval(roleMappings)); if (logicalRoles.size() == 0) { for (int i = 0; i < logicalRoleMap.getLogicalRoles().length(); i++) { CheckBox permCB = new CheckBox(logicalRoleMap.getLogicalRoles().get(i).getLocalizedName()); permCB.addValueChangeHandler( new RolesValueChangeListener(logicalRoleMap.getLogicalRoles().get(i).getRoleName())); add(permCB);//w ww .j a va2s .c o m logicalRoles.put(logicalRoleMap.getLogicalRoles().get(i).getLocalizedName(), new LogicalRoleInfo(logicalRoleMap.getLogicalRoles().get(i).getRoleName(), permCB)); } } for (int j = 0; j < logicalRoleMap.getRoleAssignments().length(); j++) { String roleName = logicalRoleMap.getRoleAssignments().get(j).getRoleName(); List<String> logicalRoles = new ArrayList<String>(); JsArrayString jsLogicalRoles = logicalRoleMap.getRoleAssignments().get(j).getAssignedLogicalRoles(); if (jsLogicalRoles != null) { for (int k = 0; k < jsLogicalRoles.length(); k++) { logicalRoles.add(jsLogicalRoles.get(k)); } } masterRoleMap.put(roleName, logicalRoles); if (logicalRoleMap.getRoleAssignments().get(j).isImmutable()) { immutableRoles.add(roleName); } } }
From source file:org.pentaho.mantle.client.commands.NewDropdownCommand.java
License:Open Source License
protected void performOperation(boolean feedback) { final PopupPanel popup = new PopupPanel(true, false) { public void show() { // show glass pane super.show(); if (pageBackground == null) { pageBackground = new FocusPanel() { public void onBrowserEvent(Event event) { int type = event.getTypeInt(); switch (type) { case Event.ONKEYDOWN: { if ((char) event.getKeyCode() == KeyCodes.KEY_ESCAPE) { event.stopPropagation(); hide();/*from ww w. j av a 2 s .co m*/ } return; } } super.onBrowserEvent(event); }; }; pageBackground.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { hide(); pageBackground.setVisible(false); pageBackground.getElement().getStyle().setDisplay(Display.NONE); } }); RootPanel.get().add(pageBackground, 0, 0); } pageBackground.setSize("100%", Window.getClientHeight() + Window.getScrollTop() + "px"); //$NON-NLS-1$ //$NON-NLS-2$ pageBackground.setVisible(true); pageBackground.getElement().getStyle().setDisplay(Display.BLOCK); // hide <embeds> // TODO: migrate to GlassPane Listener FrameUtils.toggleEmbedVisibility(false); // Notify listeners that we're showing a dialog (hide PDFs, flash). GlassPane.getInstance().show(); } public void hide(boolean autoClosed) { super.hide(autoClosed); pageBackground.setVisible(false); GlassPane.getInstance().hide(); } protected void onPreviewNativeEvent(final NativePreviewEvent event) { // Switch on the event type int type = event.getTypeInt(); switch (type) { case Event.ONKEYDOWN: { Event nativeEvent = Event.as(event.getNativeEvent()); if ((char) nativeEvent.getKeyCode() == KeyCodes.KEY_ESCAPE) { event.cancel(); hide(); } return; } } }; }; if (popup.isShowing()) { popup.hide(); return; } String url = GWT.getHostPageBaseURL() + "api/plugin-manager/settings/new-toolbar-button"; //$NON-NLS-1$ RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url); rb.setHeader("Content-Type", "text/plain"); //$NON-NLS-1$//$NON-NLS-2$ rb.setHeader("accept", "application/json"); //$NON-NLS-1$//$NON-NLS-2$ rb.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); try { rb.sendRequest(null, new RequestCallback() { @Override public void onError(Request request, Throwable exception) { MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$ exception.getMessage(), //$NON-NLS-2$ false, false, true); dialogBox.center(); } @Override public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == 200) { JsArray<JsCreateNewConfig> jsarray = parseJson( JsonUtils.escapeJsonForEval(response.getText())); final ArrayList<JsCreateNewConfig> sorted = new ArrayList<JsCreateNewConfig>(); for (int i = 0; i < jsarray.length(); i++) { sorted.add(jsarray.get(i)); } Collections.sort(sorted, new JsCreateNewConfigComparator()); popup.setStyleName("newToolbarDropdown"); VerticalPanel buttonPanel = new VerticalPanel(); popup.add(buttonPanel); for (int i = 0; i < sorted.size(); i++) { final int finali = i; String enabledUrl = sorted.get(i).getEnabledUrl(); if (buttonEnabled(enabledUrl)) { Button button = new Button(Messages.getString(sorted.get(i).getLabel())); button.setStyleName("pentaho-button"); button.getElement().addClassName("newToolbarDropdownButton"); button.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (sorted.get(finali).getActionUrl().startsWith("javascript:")) { doEvalJS(sorted.get(finali).getActionUrl() .substring("javascript:".length())); } else { SolutionBrowserPanel.getInstance().getContentTabPanel().showNewURLTab( Messages.getString(sorted.get(finali).getTabName()), Messages.getString(sorted.get(finali).getTabName()), sorted.get(finali).getActionUrl(), false); } popup.hide(); } }); String name = sorted.get(i).getName(); if ("data-access".equals(name)) { buttonPanel.add(new HTML("<hr style='color: #a7a7a7' />")); } buttonPanel.add(button); } } popup.setPopupPosition(anchorWidget.getAbsoluteLeft(), anchorWidget.getAbsoluteTop() + anchorWidget.getOffsetHeight()); popup.show(); } else { MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$ Messages.getString("error"), //$NON-NLS-1$ false, false, true); dialogBox.center(); } } private boolean buttonEnabled(String enabledUrl) { if (enabledUrl == null || enabledUrl.isEmpty()) { return true; } else { Boolean enabled = false; try { enabled = Boolean.valueOf(sendRequest(enabledUrl)); } catch (Exception e) { } return enabled; } } }); } catch (RequestException e) { MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), e.getMessage(), //$NON-NLS-1$ //$NON-NLS-2$ false, false, true); dialogBox.center(); } }
From source file:org.pentaho.mantle.client.dialogs.scheduling.ScheduleRecurrenceDialog.java
License:Open Source License
/** * Before creating a new schedule, we want to check to see if the schedule that is being created is going to conflict * with any one of the blockout periods if one is provisioned. * * @param schedule/*from w w w.ja v a 2 s.com*/ * @param trigger */ protected void verifyBlockoutConflict(final JSONObject schedule, final JsJobTrigger trigger) { String url = ScheduleHelper.getFullyQualifiedURL() + "api/scheduler/blockout/blockstatus"; //$NON-NLS-1$ RequestBuilder blockoutConflictRequest = new RequestBuilder(RequestBuilder.POST, url); blockoutConflictRequest.setHeader("accept", "application/json"); //$NON-NLS-1$ //$NON-NLS-2$ blockoutConflictRequest.setHeader("Content-Type", "application/json"); //$NON-NLS-1$ //$NON-NLS-2$ blockoutConflictRequest.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); final JSONObject verifyBlockoutParams = schedule; verifyBlockoutParams.put("jobName", new JSONString(scheduleName)); //$NON-NLS-1$ try { blockoutConflictRequest.sendRequest(verifyBlockoutParams.toString(), new RequestCallback() { @Override public void onError(Request request, Throwable exception) { MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$ exception.toString(), false, false, true); dialogBox.center(); setDone(false); } @Override public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { JsBlockStatus statusResponse = (JsBlockStatus) parseJson( JsonUtils.escapeJsonForEval(response.getText())); // Determine if this schedule conflicts all the time or some of the time boolean partiallyBlocked = Boolean.parseBoolean(statusResponse.getPartiallyBlocked()); boolean totallyBlocked = Boolean.parseBoolean(statusResponse.getTotallyBlocked()); if (partiallyBlocked || totallyBlocked) { promptDueToBlockoutConflicts(totallyBlocked, partiallyBlocked, schedule, trigger); } else { // Continue with other panels in the wizard (params, email) handleWizardPanels(schedule, trigger); } } else { handleWizardPanels(schedule, trigger); } } }); } catch (RequestException e) { // ignored } super.nextClicked(); }