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:org.otalo.ao.client.model.BaseModel.java

License:Apache License

public Map<String, String> getFields() {
    Map<String, String> fieldMap = new HashMap<String, String>();

    if (data != null) {
        JsArrayString array = data.keys();

        for (int i = 0; i < array.length(); i++) {
            fieldMap.put(array.get(i), data.get(array.get(i)));
        }/*from  w  w  w .  ja  va  2s .com*/
    }
    return fieldMap;
}

From source file:org.otalo.ao.client.widget.chlist.gwt.ChosenListBox.java

License:Apache License

/**
 * Return the values of all selected options in an array.
 * Usefull to know which options are selected in case of multiple ChosenListBox
 * @return//from  w w  w . j a  v a 2  s .  c  om
 */
public String[] getValues() {
    if (!isMultipleSelect()) {
        return new String[] { getValue() };
    }

    JsArrayString values = JsArrayString.createArray().cast();
    NodeList<OptionElement> options = SelectElement.as(getElement()).getOptions();
    for (int i = 0; i < options.getLength(); i++) {
        OptionElement option = options.getItem(i);
        if (option.isSelected()) {
            values.push(option.getValue());
        }
    }

    String[] result = new String[values.length()];
    for (int i = 0; i < values.length(); i++) {
        result[i] = values.get(i);
    }

    return result;
}

From source file:org.pentaho.mantle.client.admin.PermissionsPanel.java

License:Open Source License

public void initializeActionBaseSecurityElements(String roleMappings) {
    JsLogicalRoleMap logicalRoleMap = (JsLogicalRoleMap) parseRoleMappings(
            JsonUtils.escapeJsonForEval(roleMappings));
    if (logicalRoles.size() == 0) {
        for (int i = 0; i < logicalRoleMap.getLogicalRoles().length(); i++) {

            CheckBox permCB = new CheckBox(logicalRoleMap.getLogicalRoles().get(i).getLocalizedName());
            permCB.addValueChangeHandler(
                    new RolesValueChangeListener(logicalRoleMap.getLogicalRoles().get(i).getRoleName()));
            add(permCB);/*www.  j av a  2s. c  o  m*/
            logicalRoles.put(logicalRoleMap.getLogicalRoles().get(i).getLocalizedName(),
                    new LogicalRoleInfo(logicalRoleMap.getLogicalRoles().get(i).getRoleName(), permCB));
        }
    }
    for (int j = 0; j < logicalRoleMap.getRoleAssignments().length(); j++) {
        String roleName = logicalRoleMap.getRoleAssignments().get(j).getRoleName();
        List<String> logicalRoles = new ArrayList<String>();
        JsArrayString jsLogicalRoles = logicalRoleMap.getRoleAssignments().get(j).getAssignedLogicalRoles();
        if (jsLogicalRoles != null) {
            for (int k = 0; k < jsLogicalRoles.length(); k++) {
                logicalRoles.add(jsLogicalRoles.get(k));
            }
        }
        masterRoleMap.put(roleName, logicalRoles);
        if (logicalRoleMap.getRoleAssignments().get(j).isImmutable()) {
            immutableRoles.add(roleName);
        }
    }
}

From source file:org.pentaho.mantle.client.commands.SaveCommand.java

License:Open Source License

protected void performOperation(boolean feedback) {
    final SolutionBrowserPanel navigatorPerspective = SolutionBrowserPanel.getInstance();

    retrieveCachedValues(navigatorPerspective.getContentTabPanel().getCurrentFrame());
    boolean forceReload = false;
    if (FileChooserDialog.getIsDirty()) {
        forceReload = true;/*  ww  w  .ja va  2s. co m*/
        WaitPopup.getInstance().setVisibleById(true, spinnerId);
        FileChooserDialog.setIsDirty(Boolean.FALSE);
    }
    RepositoryFileTreeManager.getInstance().fetchRepositoryFileTree(new AsyncCallback<RepositoryFileTree>() {
        public void onFailure(Throwable caught) {
        }

        public void onSuccess(RepositoryFileTree tree) {

            retrieveCachedValues(navigatorPerspective.getContentTabPanel().getCurrentFrame());
            if (isSaveAs || name == null) {
                String fileDir = "";
                if (path != null && !StringUtils.isEmpty(path)) {
                    // If has extension
                    if (path.endsWith(name)) {
                        fileDir = path.substring(0, path.lastIndexOf("/"));
                    } else {
                        fileDir = path;
                    }

                }
                WaitPopup.getInstance().setVisibleById(false, spinnerId);
                final FileChooserDialog dialog = new FileChooserDialog(FileChooserMode.SAVE, fileDir, tree,
                        false, true, Messages.getString("save"), Messages.getString("save"), //$NON-NLS-1$//$NON-NLS-2$
                        navigatorPerspective.getSolutionTree().isShowHiddenFiles()); //$NON-NLS-3$
                dialog.setSubmitOnEnter(MantleApplication.submitOnEnter);
                if (isSaveAs) {
                    dialog.setTitle(Messages.getString("saveAs")); //$NON-NLS-1$
                    dialog.setText(Messages.getString("saveAs")); //$NON-NLS-1$
                } else {
                    dialog.setTitle(Messages.getString("save")); //$NON-NLS-1$
                    dialog.setText(Messages.getString("save")); //$NON-NLS-1$
                }
                // TODO Uncomment the line below and delete the line after that once gwtwidets have been branched
                dialog.addFileChooserListener(new FileChooserListener() {

                    public void dialogCanceled() {

                    }

                    @Override
                    public void fileSelected(final RepositoryFile file, String filePath, String fileName,
                            String title) {
                        SaveCommand.this.type = SolutionFileInfo.Type.XACTION;
                        SaveCommand.this.name = fileName;
                        SaveCommand.this.path = filePath;
                        tabName = name;
                        if (tabName.indexOf("analysisview.xaction") != -1) {
                            // trim off the analysisview.xaction from the localized-name
                            tabName = tabName.substring(0, tabName.indexOf("analysisview.xaction") - 1);
                        }

                        JsArrayString extensions = getPossibleExtensions(
                                navigatorPerspective.getContentTabPanel().getCurrentFrameElementId());
                        final String fileExtension = extensions.length() == 1 ? extensions.get(0) : null;

                        if (dialog.doesSelectedFileExist(fileExtension)) {
                            dialog.hide();
                            PromptDialogBox overWriteDialog = new PromptDialogBox(
                                    Messages.getString("question"), Messages.getString("yes"), //$NON-NLS-1$//$NON-NLS-2$
                                    Messages.getString("no"), //$NON-NLS-1$
                                    false, true);
                            overWriteDialog
                                    .setContent(new Label(Messages.getString("fileExistsOverwrite"), false)); //$NON-NLS-1$
                            overWriteDialog.setCallback(new IDialogCallback() {
                                public void okPressed() {
                                    if (fileExtension != null && tabName.endsWith(fileExtension)) {
                                        tabName = tabName.substring(0, tabName.lastIndexOf(fileExtension));
                                    }
                                    doSaveAs(navigatorPerspective.getContentTabPanel()
                                            .getCurrentFrameElementId(), name, path, type, true);
                                    Window.setTitle(Messages.getString("productName") + " - " + name); //$NON-NLS-1$ //$NON-NLS-2$
                                    FileChooserDialog.setIsDirty(Boolean.TRUE);
                                    persistFileInfoInFrame();
                                }

                                public void cancelPressed() {
                                    dialog.show();
                                }
                            });
                            overWriteDialog.center();
                        } else {

                            // [Fix for PIR-833]
                            if (file != null && !file.isFolder() && !fileName.equals(title)
                                    && filePath.endsWith(file.getName())) {
                                SaveCommand.this.path = filePath.substring(0,
                                        filePath.lastIndexOf("/" + file.getName()));
                            }

                            doSaveAs(navigatorPerspective.getContentTabPanel().getCurrentFrameElementId(), name,
                                    path, type, true);
                            Window.setTitle(Messages.getString("productName") + " - " + name); //$NON-NLS-1$ //$NON-NLS-2$
                            persistFileInfoInFrame();
                            // navigatorPerspective.addRecent(fullPathWithName, name);
                            clearValues();
                        }
                    }

                    @Override
                    public void fileSelectionChanged(RepositoryFile file, String filePath, String fileName,
                            String title) {
                        // TODO Auto-generated method stub

                    }

                });
                dialog.center();
            } else {
                doSaveAs(navigatorPerspective.getContentTabPanel().getCurrentFrameElementId(), name, path, type,
                        true);
                clearValues();
            }
            WaitPopup.getInstance().setVisibleById(false, spinnerId);
        }
    }, forceReload, null, null, SolutionBrowserPanel.getInstance().getSolutionTree().isShowHiddenFiles());
}

From source file:org.pentaho.mantle.client.solutionbrowser.filelist.FilesListPanel.java

License:Open Source License

public void populateFilesList(SolutionBrowserPanel perspective, SolutionTree solutionTree, TreeItem item,
        JsArrayString filters) {
    filesList.clear();// www  .ja va  2s  . co m
    List<RepositoryFile> files;

    if (item == solutionTree.getTrashItem()) { // If we're populating from the trash then
        files = solutionTree.getTrashItems();
    } else {
        files = new ArrayList<RepositoryFile>();
        // Get the user object.
        RepositoryFileTree tree = (RepositoryFileTree) item.getUserObject();
        // Since we are only listing the files here. Get to each item of the tree and get the file from it
        for (RepositoryFileTree treeItem : tree.getChildren()) {
            String fileName = treeItem.getFile().getName();
            if (filters != null) {
                for (int i = 0; i < filters.length(); i++) {
                    if (fileName.endsWith(filters.get(i))) {
                        files.add(treeItem.getFile());
                    }
                }
            }
        }
    }
    // let's sort this list based on localized name
    Collections.sort(files, new RepositoryFileComparator()); // BISERVER-9599 - Custom Sort

    if (files != null) {
        int rowCounter = 0;
        for (RepositoryFile file : files) {
            if ((item == solutionTree.getTrashItem())
                    || (!file.isFolder() && (isShowHiddenFiles() || !file.isHidden()))) {
                // TODO Currently Old solution repository stores url type files. New repository does not have that
                // concept. What do we need to do here
                //String url = fileElement.getAttribute("url"); //$NON-NLS-1$
                ContentTypePlugin plugin = PluginOptionsHelper.getContentTypePlugin(file.getName());
                String icon = null;
                if (plugin != null) {
                    icon = plugin.getFileIcon();
                }
                if (item == solutionTree.getTrashItem() && file.isFolder()) {
                    icon = "mantle/images/folderIcon.png"; //$NON-NLS-1$
                }

                final FileItem fileLabel = new FileItem(file, this,
                        PluginOptionsHelper.getEnabledOptions(file.getName()), true, icon);
                // BISERVER-2317: Request for more IDs for Mantle UI elements
                // set element id as the filename
                fileLabel.getElement().setId(file.getPath()); //$NON-NLS-1$
                fileLabel.addFileSelectionChangedListener(toolbar);
                fileLabel.setWidth("100%"); //$NON-NLS-1$
                try {
                    perspective.getDragController().makeDraggable(fileLabel);
                } catch (Throwable e) {
                    Throwable throwable = e;
                    String text = "Uncaught exception: ";
                    while (throwable != null) {
                        StackTraceElement[] stackTraceElements = throwable.getStackTrace();
                        text += throwable.toString() + "\n";
                        for (int ii = 0; ii < stackTraceElements.length; ii++) {
                            text += "    at " + stackTraceElements[ii] + "\n";
                        }
                        throwable = throwable.getCause();
                        if (throwable != null) {
                            text += "Caused by: ";
                        }
                    }
                    DialogBox dialogBox = new DialogBox(true);
                    DOM.setStyleAttribute(dialogBox.getElement(), "backgroundColor", "#ABCDEF");
                    System.err.print(text);
                    text = text.replaceAll(" ", "&nbsp;");
                    dialogBox.setHTML("<pre>" + text + "</pre>");
                    dialogBox.center();
                }

                fileLabel.setRepositoryFile(file);
                filesList.setWidget(rowCounter++, 0, fileLabel);

                if (selectedFileItems != null && selectedFileItems.size() > 0) {
                    for (FileItem fileItem : selectedFileItems) {
                        if (fileItem.getRepositoryFile().equals(fileLabel.getRepositoryFile())) {
                            if (file.isHidden()) {
                                fileLabel.setStyleName("hiddenFileLabelSelected");
                            } else {
                                fileLabel.setStyleName("fileLabelSelected"); //$NON-NLS-1$  
                            }
                            selectedFileItems.add(fileLabel);
                            // if we do not break this loop, it will go forever! (we added an item)
                            break;
                        }
                    }
                } else {
                    if (file.isHidden()) {
                        fileLabel.setStyleName("hiddenFileLabel"); //$NON-NLS-1$
                    } else {
                        fileLabel.setStyleName("fileLabel"); //$NON-NLS-1$  
                    }
                }
            }
        }
    }
}

From source file:org.pentaho.mantle.client.solutionbrowser.fileproperties.SelectUserOrRoleDialog.java

License:Open Source License

public void fetchAllRoles(final ArrayList<String> existing, final Document fileInfo) {

    try {/*from w w w . j a  v a2  s.  co m*/
        final String url = GWT.getHostPageBaseURL() + "api/userrolelist/permission-roles"; //$NON-NLS-1$
        RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
        // This header is required to force Internet Explorer to not cache values from the GET response.
        requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
        requestBuilder.setHeader("accept", "application/json");
        requestBuilder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable caught) {
                MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
                        Messages.getString("couldNotGetRoles"), false, false, true); //$NON-NLS-1$
                dialogBox.center();
            }

            public void onResponseReceived(Request request, Response response) {
                JsArrayString roles = parseRolesJson(JsonUtils.escapeJsonForEval(response.getText()));
                // filter out existing
                rolesListBox.clear();
                PermissionsPanel permPanel = new PermissionsPanel(null);
                for (int i = 0; i < roles.length(); i++) {
                    String role = roles.get(i);
                    if (!existing.contains(role)) {
                        rolesListBox.addItem(role);
                    } else {
                        if (!permPanel.getNames(fileInfo, 1).contains(role)
                                && permPanel.getNames(fileInfo, 0).contains(role)) {
                            //we have equal user/role pair(s) and user already in existing list
                            rolesListBox.addItem(role);
                        }
                    }
                }

            }

        });
    } catch (RequestException e) {
        Window.alert(e.getMessage());
    }
}

From source file:org.pentaho.mantle.client.solutionbrowser.fileproperties.SelectUserOrRoleDialog.java

License:Open Source License

public void fetchAllUsers(final ArrayList<String> existing, final Document fileInfo) {
    try {//from   ww  w  .j  a  v a  2 s .c  om
        final String url = GWT.getHostPageBaseURL() + "api/userrolelist/permission-users"; //$NON-NLS-1$
        RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET, url);
        // This header is required to force Internet Explorer to not cache values from the GET response.
        requestBuilder.setHeader("If-Modified-Since", "01 Jan 1970 00:00:00 GMT");
        requestBuilder.setHeader("accept", "application/json");
        requestBuilder.sendRequest(null, new RequestCallback() {

            public void onError(Request request, Throwable caught) {
                MessageDialogBox dialogBox = new MessageDialogBox(Messages.getString("error"), //$NON-NLS-1$
                        Messages.getString("couldNotGetUsers"), false, false, true); //$NON-NLS-1$
                dialogBox.center();
            }

            public void onResponseReceived(Request request, Response response) {
                JsArrayString users = parseUsersJson(JsonUtils.escapeJsonForEval(response.getText()));
                // filter out existing
                usersListBox.clear();
                PermissionsPanel permPanel = new PermissionsPanel(null);
                for (int i = 0; i < users.length(); i++) {
                    String user = users.get(i);
                    if (!existing.contains(user)) {
                        usersListBox.addItem(user);
                    } else {
                        if (!permPanel.getNames(fileInfo, 0).contains(user)
                                && permPanel.getNames(fileInfo, 1).contains(user)) {
                            //we have equal user/role pair(s) and role already in existing list
                            usersListBox.addItem(user);
                        }
                    }
                }
            }

        });
    } catch (RequestException e) {
        Window.alert(e.getMessage());
    }
}

From source file:org.pentaho.mantle.client.workspace.JsJobTrigger.java

License:Open Source License

/**
 * Converts javascript integer arrays that were stored as quoted numbers in the JSON as an int[] array.
 * /*from   w  ww.j a  v  a 2 s .  c om*/
 * @param jsArrayString
 *          = Json Array with the integer elements quoted
 * @return int array
 */
public final int[] convertJsArrayStringToIntArray(JsArrayString jsArrayString) {
    if (jsArrayString == null) {
        return null;
    } else {
        int[] intArray = new int[jsArrayString.length()];
        StringTokenizer tokenizer = new StringTokenizer(jsArrayString.toString(), ",");
        for (int i = 0; i < tokenizer.countTokens(); i++) {
            try {
                String value = tokenizer.tokenAt(i);
                intArray[i] = Integer.parseInt(value);
            } catch (Throwable t) {
                Window.alert(t.getMessage());
            }
        }
        return intArray;
    }
}

From source file:org.rstudio.core.client.Functional.java

License:Open Source License

public static String find(JsArrayString array, Predicate<String> predicate) {
    for (int i = 0, n = array.length(); i < n; i++)
        if (predicate.test(array.get(i)))
            return array.get(i);
    return null;//from w w  w.  j a v a  2 s.c om
}

From source file:org.rstudio.core.client.js.JsUtil.java

License:Open Source License

public static Iterable<String> asIterable(final JsArrayString array) {
    return new Iterable<String>() {
        @Override//from  www  . j av  a 2 s  . com
        public Iterator<String> iterator() {
            return new Iterator<String>() {
                int i = 0;

                @Override
                public boolean hasNext() {
                    return array.length() > i;
                }

                @Override
                public String next() {
                    return array.get(i++);
                }

                @Override
                public void remove() {
                    throw new UnsupportedOperationException();
                }
            };
        }
    };
}