List of usage examples for com.google.gwt.core.client JsonUtils escapeJsonForEval
public static native String escapeJsonForEval(String toEscape) ;
From source file:org.pentaho.mantle.client.solutionbrowser.fileproperties.SelectUserOrRoleDialog.java
License:Open Source License
public void fetchAllRoles(final ArrayList<String> existing, final Document fileInfo) { try {/* w ww. j a v a 2s . c o m*/ final String url = GWT.getHostPageBaseURL() + "api/userrolelist/permission-roles"; //$NON-NLS-1$ RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url); // This header is required to force Internet Explorer to not cache values from the GET response. requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); requestBuilder.setHeader("accept", "application/json"); requestBuilder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable caught) { MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$ Messages.getString("couldNotGetRoles"), false, false, true); //$NON-NLS-1$ dialogBox.center(); } public void onResponseReceived(Request request, Response response) { JsArrayString roles = parseRolesJson(JsonUtils.escapeJsonForEval(response.getText())); // filter out existing rolesListBox.clear(); PermissionsPanel permPanel = new PermissionsPanel(null); for (int i = 0; i < roles.length(); i++) { String role = roles.get(i); if (!existing.contains(role)) { rolesListBox.addItem(role); } else { if (!permPanel.getNames(fileInfo, 1).contains(role) && permPanel.getNames(fileInfo, 0).contains(role)) { //we have equal user/role pair(s) and user already in existing list rolesListBox.addItem(role); } } } } }); } catch (RequestException e) { Window.alert(e.getMessage()); } }
From source file:org.pentaho.mantle.client.solutionbrowser.fileproperties.SelectUserOrRoleDialog.java
License:Open Source License
public void fetchAllUsers(final ArrayList<String> existing, final Document fileInfo) { try {/*from ww w . j av a 2s . c o m*/ final String url = GWT.getHostPageBaseURL() + "api/userrolelist/permission-users"; //$NON-NLS-1$ RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url); // This header is required to force Internet Explorer to not cache values from the GET response. requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); requestBuilder.setHeader("accept", "application/json"); requestBuilder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable caught) { MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$ Messages.getString("couldNotGetUsers"), false, false, true); //$NON-NLS-1$ dialogBox.center(); } public void onResponseReceived(Request request, Response response) { JsArrayString users = parseUsersJson(JsonUtils.escapeJsonForEval(response.getText())); // filter out existing usersListBox.clear(); PermissionsPanel permPanel = new PermissionsPanel(null); for (int i = 0; i < users.length(); i++) { String user = users.get(i); if (!existing.contains(user)) { usersListBox.addItem(user); } else { if (!permPanel.getNames(fileInfo, 0).contains(user) && permPanel.getNames(fileInfo, 1).contains(user)) { //we have equal user/role pair(s) and role already in existing list usersListBox.addItem(user); } } } } }); } catch (RequestException e) { Window.alert(e.getMessage()); } }
From source file:org.pentaho.mantle.client.ui.PerspectiveManager.java
License:Open Source License
private PerspectiveManager() { getElement().setId("mantle-perspective-switcher"); setStyleName("mantle-perspective-switcher"); final String url = GWT.getHostPageBaseURL() + "api/plugin-manager/perspectives?ts=" //$NON-NLS-1$ + System.currentTimeMillis(); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); builder.setHeader("Content-Type", "application/json"); //$NON-NLS-1$//$NON-NLS-2$ builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); try {// ww w.ja va 2 s . c o m builder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable exception) { Window.alert("getPluginPerpectives fail: " + exception.getMessage()); } public void onResponseReceived(Request request, Response response) { JsArray<JsPerspective> jsperspectives = JsPerspective .parseJson(JsonUtils.escapeJsonForEval(response.getText())); ArrayList<IPluginPerspective> perspectives = new ArrayList<IPluginPerspective>(); for (int i = 0; i < jsperspectives.length(); i++) { JsPerspective jsperspective = jsperspectives.get(i); DefaultPluginPerspective perspective = new DefaultPluginPerspective(); perspective.setContentUrl(jsperspective.getContentUrl()); perspective.setId(jsperspective.getId()); perspective.setLayoutPriority(Integer.parseInt(jsperspective.getLayoutPriority())); ArrayList<String> requiredSecurityActions = new ArrayList<String>(); if (jsperspective.getRequiredSecurityActions() != null) { for (int j = 0; j < jsperspective.getRequiredSecurityActions().length(); j++) { requiredSecurityActions.add(jsperspective.getRequiredSecurityActions().get(j)); } } // will need to iterate over jsoverlays and convert to MantleXulOverlay ArrayList<XulOverlay> overlays = new ArrayList<XulOverlay>(); if (jsperspective.getOverlays() != null) { for (int j = 0; j < jsperspective.getOverlays().length(); j++) { JsXulOverlay o = jsperspective.getOverlays().get(j); MantleXulOverlay overlay = new MantleXulOverlay(o.getId(), o.getOverlayUri(), o.getSource(), o.getResourceBundleUri()); overlays.add(overlay); } } perspective.setOverlays(overlays); perspective.setRequiredSecurityActions(requiredSecurityActions); perspective.setResourceBundleUri(jsperspective.getResourceBundleUri()); perspective.setTitle(jsperspective.getTitle()); perspectives.add(perspective); } setPluginPerspectives(perspectives); } }); } catch (RequestException e) { // showError(e); } registerFunctions(this); }
From source file:org.pentaho.mantle.client.ui.xul.MantleController.java
License:Open Source License
/** * Called when the Xul Dom is ready, grab all Xul references here. */// w ww .ja v a 2 s.c o m @Bindable public void init() { openBtn = (XulToolbarbutton) document.getElementById("openButton"); //$NON-NLS-1$ newBtn = (XulToolbarbutton) document.getElementById("newButton"); //$NON-NLS-1$ saveBtn = (XulToolbarbutton) document.getElementById("saveButton"); //$NON-NLS-1$ saveAsBtn = (XulToolbarbutton) document.getElementById("saveAsButton"); //$NON-NLS-1$ printBtn = (XulToolbarbutton) document.getElementById("printButton"); contentEditBtn = (XulToolbarbutton) document.getElementById("editContentButton"); //$NON-NLS-1$ bf = new GwtBindingFactory(document); bf.createBinding(model, "saveEnabled", saveBtn, "visible"); //$NON-NLS-1$ //$NON-NLS-2$ bf.createBinding(model, "saveAsEnabled", saveAsBtn, "visible"); //$NON-NLS-1$ //$NON-NLS-2$ bf.createBinding(model, "contentEditEnabled", contentEditBtn, "visible"); //$NON-NLS-1$ //$NON-NLS-2$ bf.createBinding(model, "contentEditSelected", this, "editContentSelected"); //$NON-NLS-1$ //$NON-NLS-2$ bf.createBinding(model, "printVisible", printBtn, "visible"); saveMenuItem = (XulMenuitem) document.getElementById("saveMenuItem"); //$NON-NLS-1$ saveAsMenuItem = (XulMenuitem) document.getElementById("saveAsMenuItem"); //$NON-NLS-1$ useDescriptionsMenuItem = (XulMenuitem) document.getElementById("useDescriptionsMenuItem"); //$NON-NLS-1$ showHiddenFilesMenuItem = (XulMenuitem) document.getElementById("showHiddenFilesMenuItem"); //$NON-NLS-1$ languageMenu = (XulMenubar) document.getElementById("languagemenu"); //$NON-NLS-1$ themesMenu = (XulMenubar) document.getElementById("themesmenu"); //$NON-NLS-1$ toolsMenu = (XulMenubar) document.getElementById("toolsmenu"); //$NON-NLS-1$ recentMenu = (XulMenubar) document.getElementById("recentmenu"); //$NON-NLS-1$ favoriteMenu = (XulMenubar) document.getElementById("favoritesmenu"); //$NON-NLS-1$ if (PerspectiveManager.getInstance().isLoaded()) { PerspectiveManager.getInstance().enablePerspective(PerspectiveManager.OPENED_PERSPECTIVE, false); } else { EventBusUtil.EVENT_BUS.addHandler(PerspectivesLoadedEvent.TYPE, new PerspectivesLoadedEventHandler() { public void onPerspectivesLoaded(PerspectivesLoadedEvent event) { PerspectiveManager.getInstance().enablePerspective(PerspectiveManager.OPENED_PERSPECTIVE, false); } }); } // install language sub-menus Map<String, String> supportedLanguages = Messages.getResourceBundle().getSupportedLanguages(); if (supportedLanguages != null && supportedLanguages.keySet() != null && !supportedLanguages.isEmpty()) { MenuBar langMenu = (MenuBar) languageMenu.getManagedObject(); langMenu.insertSeparator(0); for (String lang : supportedLanguages.keySet()) { MenuItem langMenuItem = new MenuItem(supportedLanguages.get(lang), new SwitchLocaleCommand(lang)); langMenuItem.getElement().setId(supportedLanguages.get(lang) + "_menu_item"); //$NON-NLS-1$ langMenu.insertItem(langMenuItem, 0); } } buildFavoritesAndRecent(false); UserSettingsManager.getInstance().getUserSettings(new AsyncCallback<JsArray<JsSetting>>() { public void onSuccess(JsArray<JsSetting> settings) { processSettings(settings); } public void onFailure(Throwable caught) { } }, false); EventBusUtil.EVENT_BUS.addHandler(UserSettingsLoadedEvent.TYPE, new UserSettingsLoadedEventHandler() { public void onUserSettingsLoaded(UserSettingsLoadedEvent event) { processSettings(event.getSettings()); } }); // install themes RequestBuilder getActiveThemeRequestBuilder = new RequestBuilder(RequestBuilder.GET, GWT.getHostPageBaseURL() + "api/theme/active"); //$NON-NLS-1$ try { getActiveThemeRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); getActiveThemeRequestBuilder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable exception) { // showError(exception); } public void onResponseReceived(Request request, Response response) { final String activeTheme = response.getText(); RequestBuilder getThemesRequestBuilder = new RequestBuilder(RequestBuilder.GET, GWT.getHostPageBaseURL() + "api/theme/list"); //$NON-NLS-1$ getThemesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); getThemesRequestBuilder.setHeader("accept", "application/json"); //$NON-NLS-1$ //$NON-NLS-2$ try { getThemesRequestBuilder.sendRequest(null, new RequestCallback() { public void onError(Request arg0, Throwable arg1) { } public void onResponseReceived(Request request, Response response) { try { final String url = GWT.getHostPageBaseURL() + "api/repo/files/canAdminister"; //$NON-NLS-1$ RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url); requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); requestBuilder.setHeader("accept", "text/plain"); //$NON-NLS-1$ //$NON-NLS-2$ requestBuilder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable caught) { } public void onResponseReceived(Request request, Response response) { toolsMenu.setVisible("true".equalsIgnoreCase(response.getText())); //$NON-NLS-1$ showHiddenFilesMenuItem .setVisible("true".equalsIgnoreCase(response.getText())); //$NON-NLS-1$ } }); } catch (RequestException e) { Window.alert(e.getMessage()); } JsArray<JsTheme> themes = JsTheme .getThemes(JsonUtils.escapeJsonForEval(response.getText())); for (int i = 0; i < themes.length(); i++) { JsTheme theme = themes.get(i); PentahoMenuItem themeMenuItem = new PentahoMenuItem(theme.getName(), new SwitchThemeCommand(theme.getId())); themeMenuItem.getElement().setId(theme.getId() + "_menu_item"); //$NON-NLS-1$ themeMenuItem.setChecked(theme.getId().equals(activeTheme)); ((MenuBar) themesMenu.getManagedObject()).addItem(themeMenuItem); } bf.createBinding(model, "saveEnabled", saveMenuItem, "visible"); //$NON-NLS-1$ //$NON-NLS-2$ bf.createBinding(model, "saveAsEnabled", saveAsMenuItem, "visible"); //$NON-NLS-1$ //$NON-NLS-2$ if (PerspectiveManager.getInstance().isLoaded()) { executeAdminContent(); } else { EventBusUtil.EVENT_BUS.addHandler(PerspectivesLoadedEvent.TYPE, new PerspectivesLoadedEventHandler() { public void onPerspectivesLoaded(PerspectivesLoadedEvent event) { executeAdminContent(); } }); } setupNativeHooks(MantleController.this); } }); } catch (RequestException e) { // showError(e); } } }); } catch (RequestException e) { Window.alert(e.getMessage()); // showError(e); } }
From source file:org.pentaho.mantle.client.ui.xul.MantleXul.java
License:Open Source License
private void fetchPluginOverlays() { AbstractCommand cmd = new AbstractCommand() { protected void performOperation(boolean feedback) { performOperation();//from w w w. ja v a2s . co m } protected void performOperation() { final String url = GWT.getHostPageBaseURL() + "api/plugin-manager/overlays"; //$NON-NLS-1$ RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); builder.setHeader("accept", "application/json"); try { builder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable exception) { Window.alert(exception.getMessage()); } public void onResponseReceived(Request request, Response response) { JsArray<JsXulOverlay> jsoverlays = JsXulOverlay .parseJson(JsonUtils.escapeJsonForEval(response.getText())); ArrayList<XulOverlay> overlays = new ArrayList<XulOverlay>(); for (int i = 0; i < jsoverlays.length(); i++) { JsXulOverlay o = jsoverlays.get(i); MantleXulOverlay overlay; overlay = new MantleXulOverlay(o.getId(), o.getOverlayUri(), o.getSource(), o.getResourceBundleUri(), Integer.parseInt(o.getPriority())); overlays.add(overlay); } MantleXul.this.addOverlays(overlays); final String url = GWT.getHostPageBaseURL() + "plugin/data-access/api/permissions/hasDataAccess"; //$NON-NLS-1$ RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); builder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); builder.setHeader("accept", "application/json"); try { builder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable exception) { Window.alert(exception.getMessage()); } public void onResponseReceived(Request request, Response response) { if (response.getText().equals("true")) { controller.loadOverlay("dataaccess"); } } }); } catch (RequestException e) { // showError(e); } } }); } catch (RequestException e) { // showError(e); } } }; cmd.execute(); }
From source file:org.pentaho.mantle.client.workspace.BlockoutPanel.java
License:Open Source License
public void refresh() { makeServiceCall("blockout/blockoutjobs", RequestBuilder.GET, null, "application/json", new RequestCallback() { public void onError(Request request, Throwable exception) { // todo: do something }//w ww . jav a 2 s .com public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { if ("null".equals(response.getText())) { showData(null); } else { showData(parseJson(JsonUtils.escapeJsonForEval(response.getText()))); } } } }); }
From source file:org.pentaho.mantle.client.workspace.SchedulesPanel.java
License:Open Source License
public void refresh() { String moduleBaseURL = GWT.getModuleBaseURL(); String moduleName = GWT.getModuleName(); String contextURL = moduleBaseURL.substring(0, moduleBaseURL.lastIndexOf(moduleName)); final String url = contextURL + "api/scheduler/jobs"; //$NON-NLS-1$ RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.GET, url); executableTypesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); executableTypesRequestBuilder.setHeader("accept", "application/json"); try {/*from w w w . j av a 2 s.c o m*/ executableTypesRequestBuilder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable exception) { // showError(exception); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { allJobs = parseJson(JsonUtils.escapeJsonForEval(response.getText())); filterAndShowData(); } } }); } catch (RequestException e) { // showError(e); } }
From source file:org.pentaho.mantle.client.workspace.SchedulesPanel.java
License:Open Source License
private void editJob(JsJob editJob) { final String url = GWT.getHostPageBaseURL() + "api/scheduler/jobinfo?jobId=" + URL.encodeQueryString(editJob.getJobId()); RequestBuilder executableTypesRequestBuilder = new RequestBuilder(RequestBuilder.GET, url); executableTypesRequestBuilder.setHeader("accept", "application/json"); executableTypesRequestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); try {/* ww w .j ava2s . c o m*/ executableTypesRequestBuilder.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable exception) { // showError(exception); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { final JsJob jsJob = parseJsonJob(JsonUtils.escapeJsonForEval(response.getText())); // check email is setup RequestBuilder emailValidRequest = new RequestBuilder(RequestBuilder.GET, GWT.getHostPageBaseURL() + "api/emailconfig/isValid"); emailValidRequest.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT"); emailValidRequest.setHeader("accept", "text/plain"); try { emailValidRequest.sendRequest(null, new RequestCallback() { public void onError(Request request, Throwable exception) { MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$ exception.toString(), false, false, true); dialogBox.center(); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { final boolean isEmailConfValid = Boolean.parseBoolean(response.getText()); final NewScheduleDialog schedDialog = new NewScheduleDialog(jsJob, scheduleDialogCallback, isEmailConfValid); schedDialog.center(); } } }); } catch (RequestException e) { // showError(e); } } else { MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$ Messages.getString("serverErrorColon") + " " + response.getStatusCode(), false, //$NON-NLS-1$//$NON-NLS-2$ false, true); dialogBox.center(); } } }); } catch (RequestException e) { // showError(e); } }