Example usage for com.google.gwt.core.client JsArrayString length

List of usage examples for com.google.gwt.core.client JsArrayString length

Introduction

In this page you can find the example usage for com.google.gwt.core.client JsArrayString length.

Prototype

public final native int length() ;

Source Link

Document

Gets the length of the array.

Usage

From source file:com.vaadin.client.ValueMap.java

License:Apache License

public Set<String> getKeySet() {
    final HashSet<String> attrs = new HashSet<String>();
    JsArrayString attributeNamesArray = getKeyArray();
    for (int i = 0; i < attributeNamesArray.length(); i++) {
        attrs.add(attributeNamesArray.get(i));
    }/*from   w  w  w .j  av a2  s.c  o m*/
    return attrs;
}

From source file:com.vaadin.client.ValueMap.java

License:Apache License

public String[] getStringArray(final String name) {
    JsArrayString stringArrayAttribute = getJSStringArray(name);
    final String[] s = new String[stringArrayAttribute.length()];
    for (int i = 0; i < stringArrayAttribute.length(); i++) {
        s[i] = stringArrayAttribute.get(i);
    }//from  ww w . j  a va  2s.  c om
    return s;
}

From source file:com.vaadin.client.ValueMap.java

License:Apache License

public int[] getIntArray(final String name) {
    JsArrayString stringArrayAttribute = getJSStringArray(name);
    final int[] s = new int[stringArrayAttribute.length()];
    for (int i = 0; i < stringArrayAttribute.length(); i++) {
        s[i] = Integer.parseInt(stringArrayAttribute.get(i));
    }/*www . j  a v a  2  s .  c  om*/
    return s;
}

From source file:com.vaadin.terminal.gwt.client.ApplicationConfiguration.java

License:Open Source License

public void addComponentMappings(ValueMap valueMap, WidgetSet widgetSet) {
    JsArrayString keyArray = valueMap.getKeyArray();
    for (int i = 0; i < keyArray.length(); i++) {
        String key = keyArray.get(i).intern();
        int value = valueMap.getInt(key);
        classes[value] = widgetSet.getImplementationByClassName(key);
        if (classes[value] == VUnknownComponent.class) {
            if (unknownComponents == null) {
                unknownComponents = new HashMap<String, String>();
            }//from w  w w  .ja va  2s  . com
            unknownComponents.put("" + value, key);
        } else if (key == "com.vaadin.ui.Root") {
            windowId = "" + value;
        }
    }
}

From source file:com.vaadin.terminal.gwt.client.ApplicationConnection.java

License:Open Source License

protected void handleUIDLMessage(final Date start, final String jsonText, final ValueMap json) {
    // Handle redirect
    if (json.containsKey("redirect")) {
        String url = json.getValueMap("redirect").getString("url");
        VConsole.log("redirecting to " + url);
        redirect(url);/*from   w  ww. ja  va  2 s . c  o m*/
        return;
    }

    // Get security key
    if (json.containsKey(UIDL_SECURITY_TOKEN_ID)) {
        uidlSecurityKey = json.getString(UIDL_SECURITY_TOKEN_ID);
    }

    if (json.containsKey("resources")) {
        ValueMap resources = json.getValueMap("resources");
        JsArrayString keyArray = resources.getKeyArray();
        int l = keyArray.length();
        for (int i = 0; i < l; i++) {
            String key = keyArray.get(i);
            resourcesMap.put(key, resources.getAsString(key));
        }
    }

    if (json.containsKey("typeMappings")) {
        configuration.addComponentMappings(json.getValueMap("typeMappings"), widgetSet);
    }

    Command c = new Command() {
        public void execute() {
            VConsole.dirUIDL(json, configuration);

            if (json.containsKey("locales")) {
                // Store locale data
                JsArray<ValueMap> valueMapArray = json.getJSValueMapArray("locales");
                LocaleService.addLocales(valueMapArray);
            }

            boolean repaintAll = false;
            ValueMap meta = null;
            if (json.containsKey("meta")) {
                meta = json.getValueMap("meta");
                if (meta.containsKey("repaintAll")) {
                    repaintAll = true;
                    view.clear();
                    idToPaintableDetail.clear();
                    if (meta.containsKey("invalidLayouts")) {
                        validatingLayouts = true;
                        zeroWidthComponents = new HashSet<Paintable>();
                        zeroHeightComponents = new HashSet<Paintable>();
                    }
                }
                if (meta.containsKey("timedRedirect")) {
                    final ValueMap timedRedirect = meta.getValueMap("timedRedirect");
                    redirectTimer = new Timer() {
                        @Override
                        public void run() {
                            redirect(timedRedirect.getString("url"));
                        }
                    };
                    sessionExpirationInterval = timedRedirect.getInt("interval");
                }
            }

            if (redirectTimer != null) {
                redirectTimer.schedule(1000 * sessionExpirationInterval);
            }

            // Process changes
            JsArray<ValueMap> changes = json.getJSValueMapArray("changes");

            ArrayList<Paintable> updatedWidgets = new ArrayList<Paintable>();
            relativeSizeChanges.clear();
            componentCaptionSizeChanges.clear();

            int length = changes.length();
            for (int i = 0; i < length; i++) {
                try {
                    final UIDL change = changes.get(i).cast();
                    final UIDL uidl = change.getChildUIDL(0);
                    // TODO optimize
                    final Paintable paintable = getPaintable(uidl.getId());
                    if (paintable != null) {
                        paintable.updateFromUIDL(uidl, ApplicationConnection.this);
                        // paintable may have changed during render to
                        // another
                        // implementation, use the new one for updated
                        // widgets map
                        updatedWidgets.add(idToPaintableDetail.get(uidl.getId()).getComponent());
                    } else {
                        if (!uidl.getTag().equals(configuration.getEncodedWindowTag())) {
                            VConsole.error("Received update for " + uidl.getTag()
                                    + ", but there is no such paintable (" + uidl.getId() + ") rendered.");
                        } else {
                            String pid = uidl.getId();
                            if (!idToPaintableDetail.containsKey(pid)) {
                                registerPaintable(pid, view);
                            }
                            // VView does not call updateComponent so we
                            // register any event listeners here
                            ComponentDetail cd = idToPaintableDetail.get(pid);
                            cd.registerEventListenersFromUIDL(uidl);

                            // Finally allow VView to update itself
                            view.updateFromUIDL(uidl, ApplicationConnection.this);
                        }
                    }
                } catch (final Throwable e) {
                    VConsole.error(e);
                }
            }

            if (json.containsKey("dd")) {
                // response contains data for drag and drop service
                VDragAndDropManager.get().handleServerResponse(json.getValueMap("dd"));
            }

            // Check which widgets' size has been updated
            Set<Paintable> sizeUpdatedWidgets = new HashSet<Paintable>();

            updatedWidgets.addAll(relativeSizeChanges);
            sizeUpdatedWidgets.addAll(componentCaptionSizeChanges);

            for (Paintable paintable : updatedWidgets) {
                ComponentDetail detail = idToPaintableDetail.get(getPid(paintable));
                Widget widget = (Widget) paintable;
                Size oldSize = detail.getOffsetSize();
                Size newSize = new Size(widget.getOffsetWidth(), widget.getOffsetHeight());

                if (oldSize == null || !oldSize.equals(newSize)) {
                    sizeUpdatedWidgets.add(paintable);
                    detail.setOffsetSize(newSize);
                }

            }

            Util.componentSizeUpdated(sizeUpdatedWidgets);

            if (meta != null) {
                if (meta.containsKey("appError")) {
                    ValueMap error = meta.getValueMap("appError");
                    String html = "";
                    if (error.containsKey("caption") && error.getString("caption") != null) {
                        html += "<h1>" + error.getAsString("caption") + "</h1>";
                    }
                    if (error.containsKey("message") && error.getString("message") != null) {
                        html += "<p>" + error.getAsString("message") + "</p>";
                    }
                    String url = null;
                    if (error.containsKey("url")) {
                        url = error.getString("url");
                    }

                    if (html.length() != 0) {
                        /* 45 min */
                        VNotification n = VNotification.createNotification(1000 * 60 * 45);
                        n.addEventListener(new NotificationRedirect(url));
                        n.show(html, VNotification.CENTERED_TOP, VNotification.STYLE_SYSTEM);
                    } else {
                        redirect(url);
                    }
                    applicationRunning = false;
                }
                if (validatingLayouts) {
                    VConsole.printLayoutProblems(meta, ApplicationConnection.this, zeroHeightComponents,
                            zeroWidthComponents);
                    zeroHeightComponents = null;
                    zeroWidthComponents = null;
                    validatingLayouts = false;

                }
            }

            if (repaintAll) {
                /*
                 * idToPaintableDetail is already cleanded at the start of
                 * the changeset handling, bypass cleanup.
                 */
                unregistryBag.clear();
            } else {
                purgeUnregistryBag();
            }

            // TODO build profiling for widget impl loading time

            final long prosessingTime = (new Date().getTime()) - start.getTime();
            VConsole.log(" Processing time was " + String.valueOf(prosessingTime) + "ms for "
                    + jsonText.length() + " characters of JSON");
            VConsole.log("Referenced paintables: " + idToPaintableDetail.size());

            endRequest();

        }
    };
    ApplicationConfiguration.runWhenWidgetsLoaded(c);
}

From source file:com.vaadin.terminal.gwt.client.ui.VDragAndDropWrapper.java

License:Open Source License

public boolean html5DragDrop(VHtml5DragEvent event) {
    if (dropHandler == null || !currentlyValid) {
        return true;
    }/*from w ww .  j  a  v  a 2s  .c o m*/
    try {

        VTransferable transferable = vaadinDragEvent.getTransferable();

        JsArrayString types = event.getTypes();
        for (int i = 0; i < types.length(); i++) {
            String type = types.get(i);
            if (isAcceptedType(type)) {
                String data = event.getDataAsText(type);
                if (data != null) {
                    transferable.setData(type, data);
                }
            }
        }

        int fileCount = event.getFileCount();
        if (fileCount > 0) {
            transferable.setData("filecount", fileCount);
            for (int i = 0; i < fileCount; i++) {
                final int fileId = filecounter++;
                final VHtml5File file = event.getFile(i);
                transferable.setData("fi" + i, "" + fileId);
                transferable.setData("fn" + i, file.getName());
                transferable.setData("ft" + i, file.getType());
                transferable.setData("fs" + i, file.getSize());
                queueFilePost(fileId, file);
            }

        }

        VDragAndDropManager.get().endDrag();
        vaadinDragEvent = null;
        try {
            event.preventDefault();
            event.stopPropagation();
        } catch (Exception e) {
            // VConsole.log("IE9 fails");
        }
        return false;
    } catch (Exception e) {
        GWT.getUncaughtExceptionHandler().onUncaughtException(e);
        return true;
    }

}

From source file:com.vaadin.terminal.gwt.client.ui.VOrderedLayout.java

License:Open Source License

private double getExpandRatio(String pid) {
    if (expandRatioSum < 0) {
        expandRatioSum = 0;/*from  ww  w . j a  v  a  2 s  .  c om*/
        JsArrayString keyArray = expandRatios.getKeyArray();
        int length = keyArray.length();
        for (int i = 0; i < length; i++) {
            expandRatioSum += expandRatios.getRawNumber(keyArray.get(i));
        }
        if (expandRatioSum == 0) {
            // by default split equally among components
            defaultExpandRatio = 1.0 / widgetToComponentContainer.size();
        } else {
            defaultExpandRatio = 0;
        }
    }
    if (expandRatios.containsKey(pid)) {
        return expandRatios.getRawNumber(pid) / expandRatioSum;
    } else {
        return defaultExpandRatio;
    }
}

From source file:com.vaadin.v7.client.connectors.JavaScriptRendererConnector.java

License:Apache License

@Override
protected Renderer<Object> createRenderer() {
    helper.ensureJavascriptInited();//from   ww w . j  a  v  a2s .  com

    if (!hasFunction("render")) {
        throw new RuntimeException(
                "JavaScriptRenderer " + helper.getInitFunctionName() + " must have a function named 'render'");
    }

    final boolean hasInit = hasFunction("init");
    final boolean hasDestroy = hasFunction("destroy");
    final boolean hasOnActivate = hasFunction("onActivate");
    final boolean hasGetConsumedEvents = hasFunction("getConsumedEvents");
    final boolean hasOnBrowserEvent = hasFunction("onBrowserEvent");

    return new ComplexRenderer<Object>() {
        @Override
        public void render(RendererCellReference cell, Object data) {
            if (data instanceof JsonValue) {
                data = Util.json2jso((JsonValue) data);
            }
            render(helper.getConnectorWrapper(), getJsCell(cell), data);
        }

        private JavaScriptObject getJsCell(CellReference<?> cell) {
            updateCellReference(cellReferenceWrapper, cell);
            return cellReferenceWrapper;
        }

        public native void render(JavaScriptObject wrapper, JavaScriptObject cell, Object data)
        /*-{
        wrapper.render(cell, data);
        }-*/;

        @Override
        public void init(RendererCellReference cell) {
            if (hasInit) {
                init(helper.getConnectorWrapper(), getJsCell(cell));
            }
        }

        private native void init(JavaScriptObject wrapper, JavaScriptObject cell)
        /*-{
        wrapper.init(cell);
        }-*/;

        private native void updateCellReference(JavaScriptObject cellWrapper, CellReference<?> target)
        /*-{
        cellWrapper.target = target;
        }-*/;

        @Override
        public void destroy(RendererCellReference cell) {
            if (hasDestroy) {
                destory(helper.getConnectorWrapper(), getJsCell(cell));
            } else {
                super.destroy(cell);
            }
        }

        private native void destory(JavaScriptObject wrapper, JavaScriptObject cell)
        /*-{
        wrapper.destory(cell);
        }-*/;

        @Override
        public boolean onActivate(CellReference<?> cell) {
            if (hasOnActivate) {
                return onActivate(helper.getConnectorWrapper(), getJsCell(cell));
            } else {
                return super.onActivate(cell);
            }
        }

        private native boolean onActivate(JavaScriptObject wrapper, JavaScriptObject cell)
        /*-{
        return !!wrapper.onActivate(cell);
        }-*/;

        @Override
        public Collection<String> getConsumedEvents() {
            if (hasGetConsumedEvents) {
                JsArrayString events = getConsumedEvents(helper.getConnectorWrapper());

                ArrayList<String> list = new ArrayList<String>(events.length());
                for (int i = 0; i < events.length(); i++) {
                    list.add(events.get(i));
                }
                return list;
            } else {
                return super.getConsumedEvents();
            }
        }

        private native JsArrayString getConsumedEvents(JavaScriptObject wrapper)
        /*-{
        var rawEvents = wrapper.getConsumedEvents();
        var events = [];
        for(var i = 0; i < rawEvents.length; i++) {
          events[i] = ""+rawEvents[i];
        }
        return events;
        }-*/;

        @Override
        public boolean onBrowserEvent(CellReference<?> cell, NativeEvent event) {
            if (hasOnBrowserEvent) {
                return onBrowserEvent(helper.getConnectorWrapper(), getJsCell(cell), event);
            } else {
                return super.onBrowserEvent(cell, event);
            }
        }

        private native boolean onBrowserEvent(JavaScriptObject wrapper, JavaScriptObject cell,
                NativeEvent event)
        /*-{
        return !!wrapper.onBrowserEvent(cell, event);
        }-*/;
    };
}

From source file:com.xpn.xwiki.wysiwyg.client.plugin.link.LinkConfig.java

License:Open Source License

/**
 * Fills this object with data from the passed JSON representation.
 * /*from   w  w w.  ja v  a 2 s . c o  m*/
 * @param json the JSON representation of this image config object.
 */
public void fromJSON(String json) {
    JavaScriptObject jsObj = JavaScriptObject.fromJson(json);
    setReference((String) jsObj.get("reference"));
    setUrl((String) jsObj.get("url"));
    setLabel((String) jsObj.get("label"));
    setLabelText((String) jsObj.get("labeltext"));
    setReadOnlyLabel(
            jsObj.get("readonlylabel") != null ? Boolean.parseBoolean((String) jsObj.get("readonlylabel"))
                    : false);
    setType(jsObj.get("type") != null ? LinkType.valueOf((String) jsObj.get("type")) : null);
    // load the link parameters from the remaining parameters
    List<String> processedKeys = Arrays.asList("reference", "url", "label", "labeltext", "readonlylabel",
            "type");
    JsArrayString keys = jsObj.getKeys();
    for (int i = 0; i < keys.length(); i++) {
        if (!processedKeys.contains(keys.get(i))) {
            // add it to the parameters
            parameters.put(keys.get(i).substring(2), jsObj.get(keys.get(i)).toString());
        }
    }
}

From source file:edu.caltech.ipac.firefly.visualize.WebPlotResultParser.java

public static WebPlotResult convertItem(PlotResultOverlay res) {
    WebPlotResult retval;//w ww.  j a  va 2 s .c o  m
    if (res.isSuccess()) {
        retval = new WebPlotResult();
        String stateStr = res.getResult(WebPlotResult.PLOT_STATE);
        if (stateStr != null) {
            PlotState state = PlotState.parse(stateStr);
            retval.putResult(WebPlotResult.PLOT_STATE, state);
        }
        String imagesStr = res.getResult(WebPlotResult.PLOT_IMAGES);
        if (imagesStr != null) {
            PlotImages images = PlotImages.parse(imagesStr);
            retval.putResult(WebPlotResult.PLOT_IMAGES, images);
        }

        String wpInitStr = res.getResult(WebPlotResult.INSERT_BAND_INIT);
        if (wpInitStr != null) {
            InsertBandInitializer ibInit = InsertBandInitializer.parse(wpInitStr);
            retval.putResult(WebPlotResult.INSERT_BAND_INIT, ibInit);
        }

        JsArrayString creatorAry = res.getStringArrayResult(WebPlotResult.PLOT_CREATE);
        //            String wpCreateStr= res.getResult(WebPlotResult.PLOT_CREATE);
        if (creatorAry != null) {
            String ary[] = new String[creatorAry.length()];
            for (int i = 0; (i < ary.length); i++)
                ary[i] = creatorAry.get(i);
            List<WebPlotInitializer> wpInitList = new ArrayList<WebPlotInitializer>(ary.length);
            for (String s : ary) {
                WebPlotInitializer wpInit = WebPlotInitializer.parse(s);
                if (wpInit != null)
                    wpInitList.add(wpInit);
            }
            CreatorResults cr = new CreatorResults(
                    wpInitList.toArray(new WebPlotInitializer[wpInitList.size()]));
            retval.putResult(WebPlotResult.PLOT_CREATE, cr);
        }

        checkForStringResult(WebPlotResult.STRING, retval, res);
        checkForStringResult(WebPlotResult.DATA_HIST_IMAGE_URL, retval, res);
        checkForStringResult(WebPlotResult.CBAR_IMAGE_URL, retval, res);
        checkForStringResult(WebPlotResult.IMAGE_FILE_NAME, retval, res);
        checkForStringResult(WebPlotResult.REGION_FILE_NAME, retval, res);
        checkForStringResult(WebPlotResult.REGION_DATA, retval, res);
        checkForStringResult(WebPlotResult.REGION_ERRORS, retval, res);
        checkForStringResult(WebPlotResult.TITLE, retval, res);
        checkForIntAryResult(WebPlotResult.DATA_HISTOGRAM, retval, res);
        checkForDoubleAryResult(WebPlotResult.DATA_BIN_MEAN_ARRAY, retval, res);

        String biStr = res.getResult(WebPlotResult.BAND_INFO);
        if (biStr != null) {
            BandInfo bi = BandInfo.parse(biStr);
            retval.putResult(WebPlotResult.BAND_INFO, bi);
        }
    } else {
        retval = WebPlotResult.makeFail(res.getBriefFailReason(), res.getUserFailReason(),
                res.getDetailFailReason(), res.getProgressKey(), null);

    }
    return retval;
}