Example usage for com.google.gwt.http.client RequestBuilder send

List of usage examples for com.google.gwt.http.client RequestBuilder send

Introduction

In this page you can find the example usage for com.google.gwt.http.client RequestBuilder send.

Prototype

public Request send() throws RequestException 

Source Link

Document

Sends an HTTP request based on the current builder configuration.

Usage

From source file:org.t3as.snomedct.gwt.client.gwt.AnalyseHandler.java

License:Open Source License

private void sendTextToServer() {
    statusLabel.setText("");
    conceptList.clear();//from  w w w . j ava  2  s  .com

    // 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 www.j a  va 2s  .  co  m*/
        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 w w  .j a  v  a  2s .co m*/
    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;//from   w w w.ja  va 2s  .  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);
        }/*from ww w  .j  ava  2 s. c o 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()));
        }/*from w  w  w.j a v 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);
        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()));
        }/* w  ww.  j  a v  a2  s .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  a2 s  .  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);
        VectomaticApp2.APP.info(AppConstants.INSTANCE.openRssFeedMenuItem(),
                AppMessages.INSTANCE.loadErrorMessage(url, e.getMessage()));
    }
}

From source file:org.vectomatic.svg.edit.client.VectomaticApp2.java

License:Open Source License

public void load(final String url) {
    OMSVGSVGElement svg = null;//from w  w w .ja va 2  s . c o m
    if ("fish.svg".equals(url)) {
        svg = AppBundle.INSTANCE.fish().getSvg();
        addWindow(svg, url);
    } else if ("fries.svg".equals(url)) {
        svg = AppBundle.INSTANCE.fries().getSvg();
        addWindow(svg, url);
    } else {
        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);
                info(AppConstants.INSTANCE.openUrlMenuItem(),
                        AppMessages.INSTANCE.loadErrorMessage(url, e.getMessage()));
            }

            private void onSuccess(Request request, Response response) {
                OMSVGSVGElement svg = OMSVGParser.parse(response.getText());
                addWindow(svg, url);
            }

            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);
            info(AppConstants.INSTANCE.openUrlMenuItem(),
                    AppMessages.INSTANCE.loadErrorMessage(url, e.getMessage()));
        }
    }
}

From source file:org.vectomatic.svg.edu.client.commons.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);
        }/*from w  ww  .  j  a  v  a2 s . c  o m*/

        private void onSuccess(Request request, Response response) {
            SVGParserImpl impl = GWT.create(SVGParserImpl.class);
            Element root = impl.parseFromString(response.getText(), "text/xml").getDocumentElement();
            Element localRoot = DOMHelper.importNode(DOMHelper.getCurrentDocument(), root, true).cast();
            callback.onSuccess(resourceUrl, localRoot);
        }

        public void onResponseReceived(Request request, Response response) {
            if (response.getStatusCode() == Response.SC_OK) {
                onSuccess(request, response);
            } else {
                onError(request, null);
            }
        }
    });
    // Send the picture request
    try {
        requestBuilder.send();
    } catch (RequestException e) {
        GWT.log("Cannot fetch " + resourceUrl, e);
    }
}