List of usage examples for com.google.gwt.http.client RequestBuilder setCallback
public void setCallback(RequestCallback callback)
From source file:org.spiffyui.client.rest.RESTility.java
License:Apache License
/** * <p>//from ww w. j a v a 2 s . c om * Make an HTTP call and get the results as a JSON object. This method handles * cases like login, error parsing, and configuration requests. * </p> * * @param options the options for the REST request */ public static void callREST(RESTOptions options) { if (hasPotentialXss(options.getDataString())) { options.getCallback().onError(new RESTException(RESTException.XSS_ERROR, "", STRINGS.noServerContact(), new HashMap<String, String>(), -1, options.getURL())); return; } RESTILITY.m_restCalls.put(options.getCallback(), new RESTCallStruct(options.getURL(), options.getDataString(), options.getMethod(), options.shouldReplay(), options.getEtag())); RequestBuilder builder = new RESTRequestBuilder(options.getMethod().getMethod(), options.getURL()); /* Set our headers */ builder.setHeader("Accept", "application/json"); builder.setHeader("Accept-Charset", "UTF-8"); if (options.getHeaders() != null) { for (String k : options.getHeaders().keySet()) { builder.setHeader(k, options.getHeaders().get(k)); } } if (RESTILITY.m_bestLocale != null) { /* * The REST end points use the Accept-Language header to determine * the locale to use for the contents of the REST request. Normally * the browser will fill this in with the browser locale and that * doesn't always match the preferred locale from the Identity Vault * so we need to set this value with the correct preferred locale. */ builder.setHeader("Accept-Language", RESTILITY.m_bestLocale); } if (getUserToken() != null && getTokenServerUrl() != null) { builder.setHeader("Authorization", getFullAuthToken()); builder.setHeader("TS-URL", getTokenServerUrl()); } if (options.getEtag() != null) { builder.setHeader("If-Match", options.getEtag()); } if (options.getDataString() != null) { /* Set our request data */ builder.setRequestData(options.getDataString()); //b/c jaxb/jersey chokes when there is no data when content-type is json builder.setHeader("Content-Type", options.getContentType()); } builder.setCallback(RESTILITY.new RESTRequestCallback(options.getCallback())); try { /* If we are in the process of logging in then all other requests will just return with a 401 until the login is finished. We want to delay those requests until the login is complete when we will replay all of them. */ if (options.isLoginRequest() || !g_inLoginProcess) { builder.send(); } } catch (RequestException e) { MessageUtil.showFatalError(e.getMessage()); } }
From source file:org.swellrt.api.CustomJsoSearchBuilderImpl.java
License:Apache License
@Override public Request search(final Callback callback) { Preconditions.checkArgument(searchRequest != null, "call SearchBuilder.newSearch method to construct a new query"); Preconditions.checkArgument(searchRequest.getQuery() != null, "new query should be set"); String url = getUrl(searchRequest); LOG.trace().log("Performing a search query: [Query: ", searchRequest.getQuery(), ", Index: ", searchRequest.getIndex(), ", NumResults: ", searchRequest.getNumResults(), "]"); RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, host + url); requestBuilder.setCallback(new RequestCallback() { @Override/*from ww w.j a va2 s. co m*/ public void onResponseReceived(Request request, Response response) { LOG.trace().log("Search response received: ", response.getText()); if (response.getStatusCode() != Response.SC_OK) { callback.onFailure("Got back status code " + response.getStatusCode()); } else if (!response.getHeader("Content-Type").startsWith("application/json")) { callback.onFailure("Search service did not return json"); } else { SearchResponseJsoImpl searchResponse; try { searchResponse = JsonMessage.parse(response.getText()); } catch (JsonException e) { callback.onFailure(e.getMessage()); return; } List<DigestSnapshot> digestSnapshots = SearchBuilderUtils .deserializeSearchResponse(searchResponse); callback.onSuccess(searchResponse.getTotalResults(), digestSnapshots); } } @Override public void onError(Request request, Throwable exception) { LOG.error().log("Search error: ", exception); callback.onFailure(exception.getMessage()); } }); try { requestBuilder.setIncludeCredentials(true); return requestBuilder.send(); } catch (RequestException e) { callback.onFailure(e.getMessage()); return null; } }
From source file:org.t3as.snomedct.gwt.client.gwt.AnalyseHandler.java
License:Open Source License
private void sendTextToServer() { statusLabel.setText(""); conceptList.clear();// w w w . ja v a 2 s . c om // don't do anything if we have no text final String text = mainTextArea.getText(); if (text.length() < 1) { statusLabel.setText(messages.pleaseEnterTextLabel()); return; } // disable interaction while we wait for the response glassPanel.setPositionAndShow(); // build up the AnalysisRequest JSON object // start with any options final JSONArray options = new JSONArray(); setSemanticTypesOption(types, options); // defaults options.set(options.size(), new JSONString("word_sense_disambiguation")); options.set(options.size(), new JSONString("composite_phrases 8")); options.set(options.size(), new JSONString("no_derivational_variants")); options.set(options.size(), new JSONString("strict_model")); options.set(options.size(), new JSONString("ignore_word_order")); options.set(options.size(), new JSONString("allow_large_n")); options.set(options.size(), new JSONString("restrict_to_sources SNOMEDCT_US")); final JSONObject analysisRequest = new JSONObject(); analysisRequest.put("text", new JSONString(text)); analysisRequest.put("options", options); // send the input to the server final RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, webserviceUrl); builder.setHeader("Content-Type", MediaType.APPLICATION_JSON); builder.setRequestData(analysisRequest.toString()); // create the async callback builder.setCallback(new SnomedRequestCallback(conceptList, statusLabel, glassPanel, typeCodeToDescription)); // send the request try { builder.send(); } catch (final RequestException e) { statusLabel.setText(messages.problemPerformingAnalysisLabel()); GWT.log("There was a problem performing the analysis: " + e.getMessage(), e); glassPanel.hide(); } }
From source file:org.talend.mdm.webapp.browserecords.client.widget.inputfield.PictureSelector.java
License:Open Source License
public PictureSelector(final Window parentWindow, final PictureField targetField) { RpcProxy<BasePagingLoadResult<org.talend.mdm.webapp.base.client.model.Image>> proxy = new RpcProxy<BasePagingLoadResult<org.talend.mdm.webapp.base.client.model.Image>>() { @Override/*from w w w . jav a 2s . c om*/ protected void load(Object loadConfig, AsyncCallback<BasePagingLoadResult<org.talend.mdm.webapp.base.client.model.Image>> callback) { PagingLoadConfig pagingLoadConfig = (PagingLoadConfig) loadConfig; List<org.talend.mdm.webapp.base.client.model.Image> pagingList = new LinkedList<org.talend.mdm.webapp.base.client.model.Image>(); int start = pagingLoadConfig.getOffset(); int limit = result.size(); if (pagingBar.getPageSize() > 0) { limit = (start + pagingBar.getPageSize() < limit ? start + pagingBar.getPageSize() : limit); } for (int i = pagingLoadConfig.getOffset(); i < limit; i++) { pagingList.add(result.get(i)); } callback.onSuccess(new BasePagingLoadResult<org.talend.mdm.webapp.base.client.model.Image>( pagingList, ((PagingLoadConfig) loadConfig).getOffset(), result.size())); } }; final PagingLoader<PagingLoadResult<ItemBaseModel>> loader = new BasePagingLoader<PagingLoadResult<ItemBaseModel>>( proxy); final ListStore<ItemBaseModel> store = new ListStore<ItemBaseModel>(loader); LayoutContainer container = new LayoutContainer(); BorderLayoutData northData = new BorderLayoutData(LayoutRegion.NORTH, 200, 100, 300); HorizontalPanel searchPanel = new HorizontalPanel(); searchFiled.setWidth(240); searchFiled.addKeyListener(new KeyListener() { @Override public void componentKeyUp(ComponentEvent event) { if (event.getKeyCode() == KeyCodes.KEY_ENTER) { // When user press Enter key, perform the search. doSearch(loader); } } }); Button searchButton = new Button(MessagesFactory.getMessages().search_btn()); searchButton.addSelectionListener(new SelectionListener<ButtonEvent>() { @Override public void componentSelected(ButtonEvent ce) { doSearch(loader); } }); searchPanel.add(searchFiled); searchPanel.add(searchButton); searchPanel.setSpacing(10); searchPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); container.add(searchPanel, northData); BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER, 200, 100, 300); ListView<ItemBaseModel> view = new ListView<ItemBaseModel>() { @Override protected ItemBaseModel prepareData(ItemBaseModel model) { org.talend.mdm.webapp.base.client.model.Image image = (org.talend.mdm.webapp.base.client.model.Image) model; model.set("shortName", Format.ellipse(image.getName(), 15)); //$NON-NLS-1$ model.set("url", image.getUri() + "?width=80&height=60&randomNum=" + Math.random()); //$NON-NLS-1$ //$NON-NLS-2$ return model; } }; view.setId("img-chooser-view"); //$NON-NLS-1$ view.setTemplate(getTemplate()); view.setBorders(false); view.setStore(store); view.setItemSelector("div.thumb-wrap"); //$NON-NLS-1$ view.setStateful(true); view.addListener(Events.OnDoubleClick, new Listener<ListViewEvent<ModelData>>() { public void handleEvent(ListViewEvent<ModelData> be) { org.talend.mdm.webapp.base.client.model.Image image = (org.talend.mdm.webapp.base.client.model.Image) be .getModel(); targetField.setValue(image.getUri().replace(ImageUtil.IMAGE_PATH, "")); //$NON-NLS-1$ parentWindow.hide(); } }); setHeaderVisible(false); new ListViewDragSource(view); container.add(view, centerData); add(container); pagingBar.bind(loader); this.setBottomComponent(pagingBar); setBorders(false); setLayout(new FitLayout()); setScrollMode(Scroll.AUTOY); RpcProxy<List<org.talend.mdm.webapp.base.client.model.Image>> imageProxy = new RpcProxy<List<org.talend.mdm.webapp.base.client.model.Image>>() { @Override protected void load(Object loadConfig, final AsyncCallback<List<org.talend.mdm.webapp.base.client.model.Image>> callback) { RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, Location.getPath() + "/../" + ImageUtil.IMAGE_SERVER_PATH); requestBuilder.setCallback(new RequestCallback() { public void onResponseReceived(Request request, Response response) { try { List<org.talend.mdm.webapp.base.client.model.Image> images = ImageUtil .getImages(response.getText()); result = all = images; loader.load(); } catch (Exception e) { MessageBox.alert(MessagesFactory.getMessages().error_title(), e.getMessage(), null); } } public void onError(Request request, Throwable exception) { MessageBox.alert(MessagesFactory.getMessages().error_title(), exception.getMessage(), null); } }); try { requestBuilder.send(); } catch (RequestException e) { MessageBox.alert("RequestException", e.getMessage(), null); //$NON-NLS-1$ } } }; imageloader = new BaseListLoader<ListLoadResult<BeanModel>>(imageProxy, new BeanModelReader()); }
From source file:org.talend.mdm.webapp.recyclebin.client.MainFramePanel.java
License:Open Source License
private void initGrid() { List<ColumnConfig> ccList = new ArrayList<ColumnConfig>(); CheckBoxSelectionModel<ItemsTrashItem> sm = new CheckBoxSelectionModel<ItemsTrashItem>(); sm.setSelectionMode(SelectionMode.MULTI); ccList.add(sm.getColumn());/*from w ww . j av a 2 s . c om*/ ColumnConfig colPK = new ColumnConfig(); colPK.setId("dataClusterName");//$NON-NLS-1$ colPK.setWidth(COLUMN_WIDTH); colPK.setHeader(MessagesFactory.getMessages().dataClusterName()); ccList.add(colPK); ColumnConfig colDataModelName = new ColumnConfig(); colDataModelName.setId("dataModelName");//$NON-NLS-1$ colDataModelName.setWidth(COLUMN_WIDTH); colDataModelName.setHeader(MessagesFactory.getMessages().dataModelName()); ccList.add(colDataModelName); ColumnConfig colConceptName = new ColumnConfig(); colConceptName.setId("conceptName");//$NON-NLS-1$ colConceptName.setWidth(COLUMN_WIDTH); colConceptName.setHeader(MessagesFactory.getMessages().conceptName()); ccList.add(colConceptName); ColumnConfig colIds = new ColumnConfig(); colIds.setId("ids");//$NON-NLS-1$ colIds.setWidth(COLUMN_WIDTH); colIds.setHeader(MessagesFactory.getMessages().Ids()); ccList.add(colIds); ColumnConfig colItemName = new ColumnConfig(); colItemName.setId("itemName");//$NON-NLS-1$ colItemName.setWidth(COLUMN_WIDTH); colItemName.setHeader(MessagesFactory.getMessages().name()); ccList.add(colItemName); ColumnConfig colUserName = new ColumnConfig(); colUserName.setId("insertionUserName");//$NON-NLS-1$ colUserName.setWidth(COLUMN_WIDTH); colUserName.setHeader(MessagesFactory.getMessages().UserName()); ccList.add(colUserName); ColumnConfig colDate = new ColumnConfig(); colDate.setId("insertionTime");//$NON-NLS-1$ colDate.setWidth(COLUMN_WIDTH); colDate.setHeader(MessagesFactory.getMessages().Date()); ccList.add(colDate); ColumnConfig colProjection = new ColumnConfig("projection", "projection", 0);//$NON-NLS-1$ //$NON-NLS-2$ colProjection.setHidden(true); ccList.add(colProjection); ColumnConfig colDelete = new ColumnConfig(); colDelete.setId("delete");//$NON-NLS-1$ colDelete.setWidth(50); colDelete.setHeader(MessagesFactory.getMessages().delete()); colDelete.setRenderer(new GridCellRenderer<ItemsTrashItem>() { @Override public Object render(final ItemsTrashItem model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ItemsTrashItem> store, final Grid<ItemsTrashItem> modelGrid) { Image image = new Image(); image.setResource(Icons.INSTANCE.delete()); image.addStyleName("clickable"); //$NON-NLS-1$ image.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { service.isEntityPhysicalDeletable(model.getConceptName(), new SessionAwareAsyncCallback<Boolean>() { @Override protected void doOnFailure(Throwable caught) { String errorMsg = caught.getLocalizedMessage(); if (errorMsg == null || "".equals(errorMsg)) { //$NON-NLS-1$ if (Log.isDebugEnabled()) { errorMsg = caught.toString(); // for debugging purpose } else { errorMsg = BaseMessagesFactory.getMessages().unknown_error(); } } // FIXME exception handling seems weird if (caught instanceof NoPermissionException) { MessageBox.alert(BaseMessagesFactory.getMessages().error_title(), MessagesFactory.getMessages().restore_no_permissions(), null); } else { MessageBox.alert(BaseMessagesFactory.getMessages().error_title(), MessagesFactory.getMessages().delete_no_permissions(), null); } } @Override public void onSuccess(Boolean result) { MessageBox.confirm(BaseMessagesFactory.getMessages().confirm_title(), MessagesFactory.getMessages().delete_confirm(), new Listener<MessageBoxEvent>() { @Override public void handleEvent(MessageBoxEvent be) { if (be.getButtonClicked().getItemId().equals(Dialog.YES)) { String projection = model.getProjection(); if (projection != null && !projection.isEmpty()) { String[] picArray = projection .split("/imageserver/");//$NON-NLS-1$ for (int i = 1; i < picArray.length; i++) { String array = picArray[i]; if (!array.isEmpty()) { String uri = array.substring(0, array.indexOf("?"));//$NON-NLS-1$ RequestBuilder builder = new RequestBuilder( RequestBuilder.POST, "/imageserver/secure/ImageDeleteServlet?uri=" //$NON-NLS-1$ + uri); builder.setCallback(new RequestCallback() { @Override public void onResponseReceived( Request request, Response response) { // TODO result } @Override public void onError(Request request, Throwable e) { MessageBox.alert( BaseMessagesFactory .getMessages() .error_title(), e.getMessage(), null); } }); try { builder.send(); } catch (RequestException e) { MessageBox.alert(BaseMessagesFactory .getMessages().error_title(), e.getMessage(), null); } } } } deleteItem(model); } } }); } }); } }); return image; } }); ccList.add(colDelete); ColumnConfig colRestore = new ColumnConfig(); colRestore.setId("restore");//$NON-NLS-1$ colRestore.setWidth(50); colRestore.setHeader(MessagesFactory.getMessages().restore()); colRestore.setRenderer(new GridCellRenderer<ItemsTrashItem>() { @Override public Object render(final ItemsTrashItem model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ItemsTrashItem> store, final Grid<ItemsTrashItem> modelGrid) { Image image = new Image(); image.setResource(Icons.INSTANCE.restore()); image.addStyleName("clickable"); //$NON-NLS-1$ image.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { MessageBox.confirm(BaseMessagesFactory.getMessages().confirm_title(), MessagesFactory.getMessages().restore_confirm(), new Listener<MessageBoxEvent>() { @Override public void handleEvent(MessageBoxEvent be) { if (be.getButtonClicked().getItemId().equals(Dialog.YES)) { service.checkConflict(model.getDataClusterName(), model.getConceptName(), model.getIds(), new SessionAwareAsyncCallback<Boolean>() { @Override public void onSuccess(Boolean result) { if (result) { MessageBox.confirm( BaseMessagesFactory.getMessages() .confirm_title(), MessagesFactory.getMessages() .overwrite_confirm(), new Listener<MessageBoxEvent>() { @Override public void handleEvent( MessageBoxEvent be1) { if (be1.getButtonClicked() .getItemId() .equals(Dialog.YES)) { recoverDroppedItem(model, modelGrid); } } }); } else { recoverDroppedItem(model, modelGrid); } } }); } } }); } }); return image; } }); ccList.add(colRestore); ColumnModel cm = new ColumnModel(ccList); RpcProxy<PagingLoadResult<ItemsTrashItem>> proxy = new RpcProxy<PagingLoadResult<ItemsTrashItem>>() { @Override protected void load(Object loadConfig, final AsyncCallback<PagingLoadResult<ItemsTrashItem>> callback) { BasePagingLoadConfigImpl baseConfig = BasePagingLoadConfigImpl .copyPagingLoad((PagingLoadConfig) loadConfig); baseConfig.set("language", UrlUtil.getLanguage()); //$NON-NLS-1$ service.getTrashItems(text.getValue() == null ? "*" : text.getValue(), baseConfig, //$NON-NLS-1$ new SessionAwareAsyncCallback<ItemBasePageLoadResult<ItemsTrashItem>>() { @Override public void onSuccess(ItemBasePageLoadResult<ItemsTrashItem> result) { callback.onSuccess(new BasePagingLoadResult<ItemsTrashItem>(result.getData(), result.getOffset(), result.getTotalLength())); } @Override protected void doOnFailure(Throwable caught) { super.doOnFailure(caught); callback.onSuccess(new BasePagingLoadResult<ItemsTrashItem>( new ArrayList<ItemsTrashItem>(), 0, 0)); } }); } }; // loader final PagingLoader<PagingLoadResult<ItemsTrashItem>> loader = new BasePagingLoader<PagingLoadResult<ItemsTrashItem>>( proxy); final ListStore<ItemsTrashItem> store = new ListStore<ItemsTrashItem>(loader); grid = new ColumnAlignGrid<ItemsTrashItem>(store, cm); grid.getView().setAutoFill(true); grid.getView().setForceFit(true); // grid.setSize(350, 600); int usePageSize = PAGE_SIZE; if (StateManager.get().get("trashgrid") != null) { //$NON-NLS-1$ usePageSize = Integer .valueOf(((Map<?, ?>) StateManager.get().get("trashgrid")).get("limit").toString()); //$NON-NLS-1$ //$NON-NLS-2$ } pagetoolBar = new PagingToolBarEx(usePageSize); pagetoolBar.bind(loader); grid.setLoadMask(true); grid.setStateId("trashgrid");//$NON-NLS-1$ grid.setStateful(true); grid.addListener(Events.Attach, new Listener<GridEvent<ItemsTrashItem>>() { @Override public void handleEvent(GridEvent<ItemsTrashItem> be) { PagingLoadConfig config = new BasePagingLoadConfig(); config.setOffset(0); int pageSize = pagetoolBar.getPageSize(); config.setLimit(pageSize); loader.load(config); } }); grid.setSelectionModel(sm); grid.addPlugin(sm); this.setBottomComponent(pagetoolBar); add(grid); }
From source file:org.talend.mdm.webapp.recyclebin.client.MainFramePanel.java
License:Open Source License
public void deleteSelected(List<ItemsTrashItem> selectedRecords) { if (selectedRecords == null || selectedRecords.size() == 0) { return;//w w w . j a va 2 s . c o m } deleteMessages.clear(); for (final ItemsTrashItem r : selectedRecords) { ++outstandingDeleteCallCount; service.isEntityPhysicalDeletable(r.getConceptName(), new SessionAwareAsyncCallback<Boolean>() { @Override protected void doOnFailure(Throwable caught) { deleteSelectedCheckFinished(r, false, ERROR_KEYWORD, caught.getMessage(), false); } @Override public void onSuccess(Boolean result) { String projection = r.getProjection(); if (projection != null && !projection.isEmpty()) { String[] picArray = projection.split("/imageserver/");//$NON-NLS-1$ for (int i = 1; i < picArray.length; i++) { String array = picArray[i]; if (!array.isEmpty()) { String uri = array.substring(0, array.indexOf("?"));//$NON-NLS-1$ RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, "/imageserver/secure/ImageDeleteServlet?uri=" + uri);//$NON-NLS-1$ builder.setCallback(new RequestCallback() { @Override public void onResponseReceived(Request request, Response response) { // do nothing } @Override public void onError(Request request, Throwable e) { MessageBox.alert(BaseMessagesFactory.getMessages().error_title(), e.getMessage(), null); } }); try { builder.send(); } catch (RequestException e) { if (Log.isErrorEnabled()) { Log.error(e.toString()); } } } } } service.removeDroppedItem(r.getDataClusterName(), r.getDataModelName(), r.getConceptName(), r.getIds(), UrlUtil.getLanguage(), new SessionAwareAsyncCallback<String>() { @Override public void onSuccess(String msg) { deleteSelectedCheckFinished(r, true, SUCCESS_KEYWORD, msg, false); } @Override protected void doOnFailure(Throwable caught) { String errorMsg = caught.getLocalizedMessage(); if (caught instanceof DroppedItemBeforeDeletingException) { DroppedItemBeforeDeletingException e = (DroppedItemBeforeDeletingException) caught; deleteSelectedCheckFinished(r, false, e.getMessageType(), e.getMessage(), true); } else { if (errorMsg == null) { if (Log.isDebugEnabled()) { errorMsg = caught.toString(); // for debugging // purpose } else { errorMsg = BaseMessagesFactory.getMessages().unknown_error(); } } deleteSelectedCheckFinished(r, false, ERROR_KEYWORD, errorMsg, false); } } }); } }); } }
From source file:org.vectomatic.dom.svg.utils.HttpRequestXmlLoader.java
License:Open Source License
@Override public void loadResource(final String resourceUrl, final AsyncXmlLoaderCallback callback) { String currentResourceUrl = resourceUrl + ((resourceUrl.indexOf("?") == -1) ? ("?ts=" + System.currentTimeMillis()) : ("&ts=" + +System.currentTimeMillis())); RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, currentResourceUrl); requestBuilder.setCallback(new RequestCallback() { public void onError(Request request, Throwable exception) { callback.onError(resourceUrl, exception); }// ww w .j a v a 2 s . co m private void onSuccess(Request request, Response response) { SVGParserImpl impl = GWT.create(SVGParserImpl.class); Element root = impl.parse(response.getText()); callback.onSuccess(resourceUrl, root); } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { onSuccess(request, response); } else { onError(request, null); } } }); try { requestBuilder.send(); } catch (RequestException e) { GWT.log("Cannot fetch " + resourceUrl, e); } }
From source file:org.vectomatic.svg.edit.client.load.RSSReader.java
License:Open Source License
public void load() { final String url = "http://www.openclipart.org/rss/new.xml"; String resourceUrl = FetchUtils.getFetchUrl(url, "text/xml"); RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, resourceUrl); requestBuilder.setCallback(new RequestCallback() { public void onError(Request request, Throwable e) { GWT.log("Cannot fetch " + url, e); SvgrealApp.getApp().info(AppConstants.INSTANCE.openRssFeedMenuItem(), AppMessages.INSTANCE.loadErrorMessage(url, e.getMessage())); }// ww w .ja v a2s. c o m private void onSuccess(Request request, Response response) { // Create a store of BeanModel of RSSEntry SVGParserImpl impl = GWT.create(SVGParserImpl.class); Document doc = impl.parseFromString(response.getText(), "text/xml").cast(); OMElement root = OMNode.convert(doc.getDocumentElement()); Iterator<OMAttr> iterator = DOMHelper.evaluateXPath(root, "//rss/channel/item/enclosure/@url", null); while (iterator.hasNext()) { RSSEntry rssEntry = new RSSEntry(); rssEntry.setSvgPath(iterator.next().getValue()); store.add(beanFactory.createModel(rssEntry)); } iterator = DOMHelper.evaluateXPath(root, "//rss/channel/item/media:thumbnail/@url", new XPathPrefixResolver() { @Override public String resolvePrefix(String prefix) { if ("media".equals(prefix)) { return "http://search.yahoo.com/mrss/"; } return null; } }); int index = 0; while (iterator.hasNext()) { BeanModel beanModel = store.getAt(index++); RSSEntry rssEntry = (RSSEntry) beanModel.getBean(); rssEntry.setPngPath(iterator.next().getValue()); store.update(beanModel); } } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { onSuccess(request, response); } else { onError(request, new IOException( AppMessages.INSTANCE.httpErrorMessage(Integer.toString(response.getStatusCode())))); } } }); try { requestBuilder.send(); } catch (RequestException e) { GWT.log("Cannot fetch " + url, e); SvgrealApp.getApp().info(AppConstants.INSTANCE.openRssFeedMenuItem(), AppMessages.INSTANCE.loadErrorMessage(url, e.getMessage())); } }
From source file:org.vectomatic.svg.edit.client.load.UrlLoadRequest.java
License:Open Source License
@Override public void load() { final SvgrealApp app = SvgrealApp.getApp(); final String resourceUrl = FetchUtils.getFetchUrl(url, "text/xml"); RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, resourceUrl); requestBuilder.setCallback(new RequestCallback() { public void onError(Request request, Throwable e) { GWT.log("Cannot fetch " + url, e); app.info(AppConstants.INSTANCE.openUrlMenuItem(), AppMessages.INSTANCE.loadErrorMessage(url, e.getMessage())); }// ww w . j ava 2s . c o m private void onSuccess(Request request, Response response) { try { app.addWindow(OMSVGParser.parse(response.getText()), UrlLoadRequest.this); } catch (ParserException e) { app.info(AppConstants.INSTANCE.openLocalMenuItem(), AppMessages.INSTANCE.loadErrorMessage(resourceUrl, e.getMessage())); } } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { onSuccess(request, response); } else { onError(request, new IOException( AppMessages.INSTANCE.httpErrorMessage(Integer.toString(response.getStatusCode())))); } } }); try { requestBuilder.send(); } catch (RequestException e) { GWT.log("Cannot fetch " + url, e); app.info(AppConstants.INSTANCE.openUrlMenuItem(), AppMessages.INSTANCE.loadErrorMessage(url, e.getMessage())); } }
From source file:org.vectomatic.svg.edit.client.RSSReader.java
License:Open Source License
public void load() { final String url = "http://www.openclipart.org/rss/new.xml"; String resourceUrl = GWT.getHostPageBaseURL() + "fetch?url=" + url + "&type=text/xml"; RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, resourceUrl); requestBuilder.setCallback(new RequestCallback() { public void onError(Request request, Throwable e) { GWT.log("Cannot fetch " + url, e); VectomaticApp2.APP.info(AppConstants.INSTANCE.openRssFeedMenuItem(), AppMessages.INSTANCE.loadErrorMessage(url, e.getMessage())); }/*from w w w . j av a 2 s.co m*/ private void onSuccess(Request request, Response response) { // Create a store of BeanModel of RSSEntry SVGParserImpl impl = GWT.create(SVGParserImpl.class); Document doc = impl.parseFromString(response.getText(), "text/xml").cast(); OMElement root = OMNode.convert(doc.getDocumentElement()); Iterator<OMAttr> iterator = DOMHelper.evaluateXPath(root, "//rss/channel/item/enclosure/@url", null); while (iterator.hasNext()) { RSSEntry rssEntry = new RSSEntry(); rssEntry.setSvgPath(iterator.next().getValue()); store.add(beanFactory.createModel(rssEntry)); } iterator = DOMHelper.evaluateXPath(root, "//rss/channel/item/media:thumbnail/@url", new XPathPrefixResolver() { @Override public String resolvePrefix(String prefix) { if ("media".equals(prefix)) { return "http://search.yahoo.com/mrss/"; } return null; } }); int index = 0; while (iterator.hasNext()) { BeanModel beanModel = store.getAt(index++); RSSEntry rssEntry = (RSSEntry) beanModel.getBean(); rssEntry.setPngPath(iterator.next().getValue()); store.update(beanModel); } } public void onResponseReceived(Request request, Response response) { if (response.getStatusCode() == Response.SC_OK) { onSuccess(request, response); } else { onError(request, new IOException( AppMessages.INSTANCE.httpErrorMessage(Integer.toString(response.getStatusCode())))); } } }); try { requestBuilder.send(); } catch (RequestException e) { GWT.log("Cannot fetch " + url, e); VectomaticApp2.APP.info(AppConstants.INSTANCE.openRssFeedMenuItem(), AppMessages.INSTANCE.loadErrorMessage(url, e.getMessage())); } }