Example usage for org.apache.commons.lang StringUtils lastIndexOf

List of usage examples for org.apache.commons.lang StringUtils lastIndexOf

Introduction

In this page you can find the example usage for org.apache.commons.lang StringUtils lastIndexOf.

Prototype

public static int lastIndexOf(String str, String searchStr) 

Source Link

Document

Finds the last index within a String, handling null.

Usage

From source file:org.kuali.rice.krad.uif.widget.RichTable.java

/**
 * Builds column options for sorting/*from   w w  w  .  j a  v a  2s.  c  o m*/
 *
 * @param collectionGroup
 */
protected void buildTableOptions(CollectionGroup collectionGroup) {
    checkMutable(false);

    LayoutManager layoutManager = collectionGroup.getLayoutManager();
    final boolean useServerPaging = collectionGroup.isUseServerPaging();

    if (templateOptions.isEmpty()) {
        setTemplateOptions(new HashMap<String, String>());
    }

    // if sub collection exists, don't allow the table sortable
    if (!collectionGroup.getSubCollections().isEmpty()) {
        setDisableTableSort(true);
    }

    if (!isDisableTableSort()) {
        // if rendering add line, skip that row from col sorting
        if (collectionGroup.isRenderAddLine() && !Boolean.TRUE.equals(collectionGroup.getReadOnly())
                && !((layoutManager instanceof TableLayoutManager)
                        && ((TableLayoutManager) layoutManager).isSeparateAddLine())) {

            templateOptions.put(UifConstants.TableToolsKeys.SORT_SKIP_ROWS,
                    "[" + UifConstants.TableToolsValues.ADD_ROW_DEFAULT_INDEX + "]");
        }

        StringBuilder tableColumnOptions = new StringBuilder("[");

        int colIndex = 0;
        int actionIndex = UifConstants.TableLayoutValues.ACTIONS_COLUMN_RIGHT_INDEX;
        boolean actionFieldVisible = collectionGroup.isRenderLineActions()
                && !Boolean.TRUE.equals(collectionGroup.getReadOnly());

        if (layoutManager instanceof TableLayoutManager) {
            actionIndex = ((TableLayoutManager) layoutManager).getActionColumnIndex();
        }

        if (actionIndex == UifConstants.TableLayoutValues.ACTIONS_COLUMN_LEFT_INDEX && actionFieldVisible) {
            String options = constructTableColumnOptions(colIndex, false, useServerPaging, null, null);
            tableColumnOptions.append(options + ",");
            colIndex++;
        }

        // handle sequence field
        if (layoutManager instanceof TableLayoutManager
                && ((TableLayoutManager) layoutManager).isRenderSequenceField()) {
            Class<?> dataTypeClass = Number.class;

            if (((TableLayoutManager) layoutManager).getSequenceFieldPrototype() instanceof DataField) {
                DataField dataField = (DataField) ((TableLayoutManager) layoutManager)
                        .getSequenceFieldPrototype();
                dataTypeClass = ObjectPropertyUtils.getPropertyType(collectionGroup.getCollectionObjectClass(),
                        dataField.getPropertyName());
                // check to see if field has custom sort type
                if (dataField.getSortAs() != null && dataField.getSortAs().length() > 0) {
                    if (dataField.getSortAs().equals(UifConstants.TableToolsValues.DATE)) {
                        dataTypeClass = java.sql.Date.class;
                    } else if (dataField.getSortAs().equals(UifConstants.TableToolsValues.NUMERIC)) {
                        dataTypeClass = Number.class;
                    } else if (dataField.getSortAs().equals(UifConstants.TableToolsValues.STRING)) {
                        dataTypeClass = String.class;
                    }
                }
            }

            // don't allow sorting of sequence field - why?
            // auto sequence column is never sortable
            tableColumnOptions.append("{" + sortable(false) + "," + sortType(getSortType(dataTypeClass)) + ","
                    + sortDataType(UifConstants.TableToolsValues.DOM_TEXT) + mData(useServerPaging, colIndex)
                    + "," + targets(colIndex) + "},");
            colIndex++;

            if (actionIndex == 2 && actionFieldVisible) {
                String options = constructTableColumnOptions(colIndex, false, useServerPaging, null, null);
                tableColumnOptions.append(options + ",");
                colIndex++;
            }
        }

        // skip select field if enabled
        if (collectionGroup.isIncludeLineSelectionField()) {
            String options = constructTableColumnOptions(colIndex, false, useServerPaging, null, null);
            tableColumnOptions.append(options + ",");
            colIndex++;
        }

        // if data dictionary defines aoColumns, copy here and skip default sorting/visibility behaviour
        if (!StringUtils.isEmpty(templateOptions.get(UifConstants.TableToolsKeys.AO_COLUMNS))) {
            // get the contents of the JS array string
            String jsArray = templateOptions.get(UifConstants.TableToolsKeys.AO_COLUMNS);
            int startBrace = StringUtils.indexOf(jsArray, "[");
            int endBrace = StringUtils.lastIndexOf(jsArray, "]");
            tableColumnOptions.append(StringUtils.substring(jsArray, startBrace + 1, endBrace) + ",");

            if (actionFieldVisible && (actionIndex == -1 || actionIndex >= colIndex)) {
                String options = constructTableColumnOptions(colIndex, false, useServerPaging, null, null);
                tableColumnOptions.append(options);
            } else {
                tableColumnOptions = new StringBuilder(
                        StringUtils.removeEnd(tableColumnOptions.toString(), ","));
            }

            tableColumnOptions.append("]");
            templateOptions.put(UifConstants.TableToolsKeys.AO_COLUMNS, tableColumnOptions.toString());
        } else if (!StringUtils.isEmpty(templateOptions.get(UifConstants.TableToolsKeys.AO_COLUMN_DEFS))
                && forceAoColumnDefsOverride) {
            String jsArray = templateOptions.get(UifConstants.TableToolsKeys.AO_COLUMN_DEFS);
            int startBrace = StringUtils.indexOf(jsArray, "[");
            int endBrace = StringUtils.lastIndexOf(jsArray, "]");
            tableColumnOptions.append(StringUtils.substring(jsArray, startBrace + 1, endBrace) + ",");

            if (actionFieldVisible && (actionIndex == -1 || actionIndex >= colIndex)) {
                String options = constructTableColumnOptions(colIndex, false, useServerPaging, null, null);
                tableColumnOptions.append(options);
            } else {
                tableColumnOptions = new StringBuilder(
                        StringUtils.removeEnd(tableColumnOptions.toString(), ","));
            }

            tableColumnOptions.append("]");
            templateOptions.put(UifConstants.TableToolsKeys.AO_COLUMN_DEFS, tableColumnOptions.toString());
        } else if (layoutManager instanceof TableLayoutManager) {
            List<Field> rowFields = ((TableLayoutManager) layoutManager).getFirstRowFields();

            // build column defs from the the first row of the table
            for (Component component : rowFields) {
                if (actionFieldVisible && colIndex + 1 == actionIndex) {
                    String options = constructTableColumnOptions(colIndex, false, useServerPaging, null, null);
                    tableColumnOptions.append(options + ",");
                    colIndex++;
                }

                // for FieldGroup, get the first field from that group
                if (component instanceof FieldGroup) {
                    component = ((FieldGroup) component).getItems().get(0);
                }

                if (component instanceof DataField) {
                    DataField field = (DataField) component;

                    // if a field is marked as invisible in hiddenColumns, append options and skip sorting
                    if (getHiddenColumns() != null && getHiddenColumns().contains(field.getPropertyName())) {
                        tableColumnOptions.append("{" + visible(false) + "," + mData(useServerPaging, colIndex)
                                + targets(colIndex) + "},");
                    } else if (getSortableColumns() != null && !getSortableColumns().isEmpty()) {
                        // if specified as a column as sortable then add it
                        if (getSortableColumns().contains(field.getPropertyName())) {
                            tableColumnOptions
                                    .append(getDataFieldColumnOptions(colIndex, collectionGroup, field) + ",");
                        } else { // else designate it as not sortable
                            tableColumnOptions.append("{" + sortable(false) + ","
                                    + mData(useServerPaging, colIndex) + targets(colIndex) + "},");
                        }
                    } else { // sortable columns not defined
                        String options = getDataFieldColumnOptions(colIndex, collectionGroup, field);
                        tableColumnOptions.append(options + ",");
                    }
                    colIndex++;
                } else if (component instanceof MessageField) {
                    if (component.getDataAttributes() != null && UifConstants.RoleTypes.ROW_GROUPING
                            .equals(component.getDataAttributes().get(UifConstants.DataAttributes.ROLE))) {
                        // Grouping column is never shown, so skip
                        tableColumnOptions.append("{" + visible(false) + "," + mData(useServerPaging, colIndex)
                                + targets(colIndex) + "},");
                    } else {
                        String options = constructTableColumnOptions(colIndex, true, useServerPaging,
                                String.class, UifConstants.TableToolsValues.DOM_TEXT);
                        tableColumnOptions.append(options + ",");
                    }
                    colIndex++;
                } else if (component instanceof LinkField) {
                    LinkField linkField = (LinkField) component;

                    Class<?> dataTypeClass = String.class;
                    // check to see if field has custom sort type
                    if (linkField.getSortAs() != null && linkField.getSortAs().length() > 0) {
                        if (linkField.getSortAs().equals(UifConstants.TableToolsValues.DATE)) {
                            dataTypeClass = java.sql.Date.class;
                        } else if (linkField.getSortAs().equals(UifConstants.TableToolsValues.NUMERIC)) {
                            dataTypeClass = Number.class;
                        } else if (linkField.getSortAs().equals(UifConstants.TableToolsValues.STRING)) {
                            dataTypeClass = String.class;
                        }
                    }

                    String options = constructTableColumnOptions(colIndex, true, useServerPaging, dataTypeClass,
                            UifConstants.TableToolsValues.DOM_TEXT);
                    tableColumnOptions.append(options + ",");
                    colIndex++;
                } else {
                    String options = constructTableColumnOptions(colIndex, false, useServerPaging, null, null);
                    tableColumnOptions.append(options + ",");
                    colIndex++;
                }
            }

            if (actionFieldVisible && (actionIndex == -1 || actionIndex >= colIndex)) {
                String options = constructTableColumnOptions(colIndex, false, useServerPaging, null, null);
                tableColumnOptions.append(options);
            } else {
                tableColumnOptions = new StringBuilder(
                        StringUtils.removeEnd(tableColumnOptions.toString(), ","));
            }

            // merge the aoColumnDefs passed in
            if (!StringUtils.isEmpty(templateOptions.get(UifConstants.TableToolsKeys.AO_COLUMN_DEFS))) {
                String origAoOptions = templateOptions.get(UifConstants.TableToolsKeys.AO_COLUMN_DEFS).trim();
                origAoOptions = StringUtils.removeStart(origAoOptions, "[");
                origAoOptions = StringUtils.removeEnd(origAoOptions, "]");
                tableColumnOptions.append("," + origAoOptions);
            }

            tableColumnOptions.append("]");
            templateOptions.put(UifConstants.TableToolsKeys.AO_COLUMN_DEFS, tableColumnOptions.toString());
        }
    }
}

From source file:org.kuali.student.common.uif.widget.KSRichTable.java

/**
 * Builds column options for sorting//from w  w w . j a  v a  2 s  .  c om
 *
 * @param collectionGroup
 */
@Override
protected void buildTableOptions(CollectionGroup collectionGroup) {
    LayoutManager layoutManager = collectionGroup.getLayoutManager();
    final boolean isUseServerPaging = collectionGroup.isUseServerPaging();

    // if sub collection exists, don't allow the table sortable
    if (!collectionGroup.getSubCollections().isEmpty()) {
        setDisableTableSort(true);
    }

    if (!isDisableTableSort()) {
        // if rendering add line, skip that row from col sorting
        if (collectionGroup.isRenderAddLine() && !collectionGroup.isReadOnly()
                && !((layoutManager instanceof TableLayoutManager)
                        && ((TableLayoutManager) layoutManager).isSeparateAddLine())) {
            Map<String, String> oTemplateOptions = this.getTemplateOptions();

            if (oTemplateOptions == null) {
                setTemplateOptions(oTemplateOptions = new HashMap<String, String>());
            }

            oTemplateOptions.put(UifConstants.TableToolsKeys.SORT_SKIP_ROWS,
                    "[" + UifConstants.TableToolsValues.ADD_ROW_DEFAULT_INDEX + "]");
        }

        StringBuilder tableToolsColumnOptions = new StringBuilder("[");

        int columnIndex = 0;
        int actionIndex = UifConstants.TableLayoutValues.ACTIONS_COLUMN_RIGHT_INDEX;
        boolean actionFieldVisible = collectionGroup.isRenderLineActions() && !collectionGroup.isReadOnly();

        if (layoutManager instanceof TableLayoutManager) {
            actionIndex = ((TableLayoutManager) layoutManager).getActionColumnIndex();
        }

        if (actionIndex == UifConstants.TableLayoutValues.ACTIONS_COLUMN_LEFT_INDEX && actionFieldVisible) {
            String actionColOptions = constructTableColumnOptions(columnIndex, false, isUseServerPaging, null,
                    null);
            tableToolsColumnOptions.append(actionColOptions + " , ");
            columnIndex++;
        }

        if (layoutManager instanceof TableLayoutManager
                && ((TableLayoutManager) layoutManager).isRenderSequenceField()) {

            //add mData handling if using a json data source
            String mDataOption = "";
            if (collectionGroup.isUseServerPaging() || isForceLocalJsonData()) {
                mDataOption = "\"" + UifConstants.TableToolsKeys.MDATA
                        + "\" : function(row,type,newVal){ return _handleColData(row,type,'c" + columnIndex
                        + "',newVal);}, ";
            }

            tableToolsColumnOptions.append("{\"" + UifConstants.TableToolsKeys.SORTABLE + "\" : " + false
            // auto sequence column is never sortable
                    + ", \"" + UifConstants.TableToolsKeys.SORT_TYPE + "\" : \""
                    + UifConstants.TableToolsValues.NUMERIC + "\", " + mDataOption + "\""
                    + UifConstants.TableToolsKeys.TARGETS + "\": [" + columnIndex + "]}, ");
            columnIndex++;
            if (actionIndex == 2 && actionFieldVisible) {
                String actionColOptions = constructTableColumnOptions(columnIndex, false, isUseServerPaging,
                        null, null);
                tableToolsColumnOptions.append(actionColOptions + " , ");
                columnIndex++;
            }
        }

        // skip select field if enabled
        if (collectionGroup.isIncludeLineSelectionField()) {
            String colOptions = constructTableColumnOptions(columnIndex, false, isUseServerPaging, null, null);
            tableToolsColumnOptions.append(colOptions + " , ");
            columnIndex++;
        }

        // if data dictionary defines aoColumns, copy here and skip default sorting/visibility behaviour
        if (!StringUtils.isEmpty(getTemplateOptions().get(UifConstants.TableToolsKeys.AO_COLUMNS))) {
            // get the contents of the JS array string
            String jsArray = getTemplateOptions().get(UifConstants.TableToolsKeys.AO_COLUMNS);
            int startBrace = StringUtils.indexOf(jsArray, "[");
            int endBrace = StringUtils.lastIndexOf(jsArray, "]");
            tableToolsColumnOptions.append(StringUtils.substring(jsArray, startBrace + 1, endBrace) + ", ");

            if (actionFieldVisible && (actionIndex == -1 || actionIndex >= columnIndex)) {
                String actionColOptions = constructTableColumnOptions(columnIndex, false, isUseServerPaging,
                        null, null);
                tableToolsColumnOptions.append(actionColOptions);
            } else {
                tableToolsColumnOptions = new StringBuilder(
                        StringUtils.removeEnd(tableToolsColumnOptions.toString(), ", "));
            }

            tableToolsColumnOptions.append("]");
            getTemplateOptions().put(UifConstants.TableToolsKeys.AO_COLUMNS,
                    tableToolsColumnOptions.toString());
        } else if (!StringUtils.isEmpty(getTemplateOptions().get(UifConstants.TableToolsKeys.AO_COLUMN_DEFS))
                && isForceAoColumnDefsOverride()) {
            String jsArray = getTemplateOptions().get(UifConstants.TableToolsKeys.AO_COLUMN_DEFS);
            int startBrace = StringUtils.indexOf(jsArray, "[");
            int endBrace = StringUtils.lastIndexOf(jsArray, "]");
            tableToolsColumnOptions.append(StringUtils.substring(jsArray, startBrace + 1, endBrace) + ", ");

            if (actionFieldVisible && (actionIndex == -1 || actionIndex >= columnIndex)) {
                String actionColOptions = constructTableColumnOptions(columnIndex, false, isUseServerPaging,
                        null, null);
                tableToolsColumnOptions.append(actionColOptions);
            } else {
                tableToolsColumnOptions = new StringBuilder(
                        StringUtils.removeEnd(tableToolsColumnOptions.toString(), ", "));
            }

            tableToolsColumnOptions.append("]");
            getTemplateOptions().put(UifConstants.TableToolsKeys.AO_COLUMN_DEFS,
                    tableToolsColumnOptions.toString());
        } else if (layoutManager instanceof TableLayoutManager) {
            List<Field> rowFields = ((TableLayoutManager) layoutManager).getFirstRowFields();

            // build column defs from the the first row of the table
            for (Component component : rowFields) {
                if (actionFieldVisible && columnIndex + 1 == actionIndex) {
                    String actionColOptions = constructTableColumnOptions(columnIndex, false, isUseServerPaging,
                            null, null);
                    tableToolsColumnOptions.append(actionColOptions + " , ");
                    columnIndex++;
                }

                //add mData handling if using a json data source
                String mDataOption = "";
                if (collectionGroup.isUseServerPaging() || isForceLocalJsonData()) {
                    mDataOption = "\"" + UifConstants.TableToolsKeys.MDATA
                            + "\" : function(row,type,newVal){ return _handleColData(row,type,'c" + columnIndex
                            + "',newVal);}, ";
                }

                // for FieldGroup, get the first field from that group
                if (component instanceof FieldGroup) {
                    component = ((FieldGroup) component).getItems().get(0);
                }

                Map<String, String> componentDataAttributes;
                if (component instanceof DataField) {
                    DataField field = (DataField) component;

                    // if a field is marked as invisible in hiddenColumns, append options and skip sorting
                    if (getHiddenColumns() != null && getHiddenColumns().contains(field.getPropertyName())) {
                        tableToolsColumnOptions.append("{" + UifConstants.TableToolsKeys.VISIBLE + ": "
                                + UifConstants.TableToolsValues.FALSE + ", " + mDataOption + "\""
                                + UifConstants.TableToolsKeys.TARGETS + "\": [" + columnIndex + "]" + "}, ");
                        // if sortableColumns is present and a field is marked as sortable or unspecified
                    } else if (getSortableColumns() != null && !getSortableColumns().isEmpty()) {
                        if (getSortableColumns().contains(field.getPropertyName())) {
                            tableToolsColumnOptions.append(
                                    getDataFieldColumnOptions(columnIndex, collectionGroup, field) + ", ");
                        } else {
                            tableToolsColumnOptions.append("{'" + UifConstants.TableToolsKeys.SORTABLE + "': "
                                    + UifConstants.TableToolsValues.FALSE + ", " + mDataOption + "\""
                                    + UifConstants.TableToolsKeys.TARGETS + "\": [" + columnIndex + "]"
                                    + "}, ");
                        }
                    } else {// sortable columns not defined
                        String colOptions = getDataFieldColumnOptions(columnIndex, collectionGroup, field);
                        tableToolsColumnOptions.append(colOptions + " , ");
                    }
                    columnIndex++;
                } else if ((component instanceof MessageField)
                        && (componentDataAttributes = component.getDataAttributes()) != null
                        && UifConstants.RoleTypes.ROW_GROUPING
                                .equals(componentDataAttributes.get(UifConstants.DataAttributes.ROLE))) {
                    //Grouping column is never shown, so skip
                    tableToolsColumnOptions.append("{" + UifConstants.TableToolsKeys.VISIBLE + ": "
                            + UifConstants.TableToolsValues.FALSE + ", " + mDataOption + "\""
                            + UifConstants.TableToolsKeys.TARGETS + "\": [" + columnIndex + "]" + "}, ");
                    columnIndex++;
                    // start KS customization (to allow message field sorting) - KSENROLL-4999
                } else if (component instanceof MessageField) {
                    componentDataAttributes = component.getDataAttributes();
                    //For message field, sort as a regular String
                    String sortType = "";
                    if (componentDataAttributes != null) {
                        sortType = componentDataAttributes.get("sortType");
                    }
                    if (StringUtils.isBlank(sortType)) {
                        sortType = UifConstants.TableToolsValues.DOM_TEXT;
                    }
                    String colOptions = constructTableColumnOptions(columnIndex, true, isUseServerPaging,
                            String.class, sortType);
                    tableToolsColumnOptions.append(colOptions + " , ");
                    columnIndex++;
                    // end KS customization (to allow message field sorting) - KSENROLL-4999
                } else if (component instanceof LinkField) {
                    String colOptions = constructTableColumnOptions(columnIndex, true, isUseServerPaging,
                            String.class, UifConstants.TableToolsValues.DOM_TEXT);
                    tableToolsColumnOptions.append(colOptions + " , ");
                    columnIndex++;
                } else {
                    String colOptions = constructTableColumnOptions(columnIndex, false, isUseServerPaging, null,
                            null);
                    tableToolsColumnOptions.append(colOptions + " , ");
                    columnIndex++;
                }

            }

            if (actionFieldVisible && (actionIndex == -1 || actionIndex >= columnIndex)) {
                String actionColOptions = constructTableColumnOptions(columnIndex, false, isUseServerPaging,
                        null, null);
                tableToolsColumnOptions.append(actionColOptions);
            } else {
                tableToolsColumnOptions = new StringBuilder(
                        StringUtils.removeEnd(tableToolsColumnOptions.toString(), ", "));
            }
            //merge the aoColumnDefs passed in
            if (!StringUtils.isEmpty(getTemplateOptions().get(UifConstants.TableToolsKeys.AO_COLUMN_DEFS))) {
                String origAoOptions = getTemplateOptions().get(UifConstants.TableToolsKeys.AO_COLUMN_DEFS)
                        .trim();
                origAoOptions = StringUtils.removeStart(origAoOptions, "[");
                origAoOptions = StringUtils.removeEnd(origAoOptions, "]");
                tableToolsColumnOptions.append("," + origAoOptions);
            }

            tableToolsColumnOptions.append("]");
            getTemplateOptions().put(UifConstants.TableToolsKeys.AO_COLUMN_DEFS,
                    tableToolsColumnOptions.toString());
        }
    }
}

From source file:org.onehippo.forge.content.exim.core.util.ContentPathUtils.java

/**
 * Splits the given {@code contentLocation} to an array which consists of a folder path and the node name.
 * @param contentLocation content node path
 * @return an array which consists of a folder path and the node name
 *//*ww  w. j  av a  2 s  .  co  m*/
public static String[] splitToFolderPathAndName(final String contentLocation) {
    String[] folderPathAndName = new String[] { "", "" };
    int offset = StringUtils.lastIndexOf(contentLocation, '/');
    folderPathAndName[0] = StringUtils.substring(contentLocation, 0, offset);
    folderPathAndName[1] = StringUtils.substring(contentLocation, offset + 1);
    return folderPathAndName;
}

From source file:org.sonar.plugins.scmstats.AbstractScmAdapter.java

Resource createResource(String resourceName) {

    String mavenizedResourceName = StringUtils.remove(resourceName, configuration.getSourceDir());
    mavenizedResourceName = StringUtils.remove(mavenizedResourceName, configuration.getTestSourceDir());

    int index = StringUtils.lastIndexOf(mavenizedResourceName, "/");
    String directory = StringUtils.substring(mavenizedResourceName, 0, index);
    String filename = StringUtils.substring(mavenizedResourceName, index + 1);
    return new File(directory, filename);
}

From source file:org.talend.metadata.managment.model.NetezzaConnectionFiller.java

/**
 * get the database name from the url./*from  w w w  .ja v  a2  s .  c  om*/
 * 
 * @param url
 * @return
 */
private String getDatabaseNameFromUrl(String url) {
    if (StringUtils.isBlank(url)) {
        return StringUtils.EMPTY;
    }
    int lastIndexOf1 = StringUtils.lastIndexOf(url, "/"); //$NON-NLS-1$
    if (lastIndexOf1 < 0 || lastIndexOf1 > url.length() - 1) {
        return StringUtils.EMPTY;
    }
    int lastIndexOf2 = StringUtils.lastIndexOf(url, "?"); //$NON-NLS-1$
    if (lastIndexOf2 < 0) {
        return StringUtils.substring(url, lastIndexOf1 + 1);
    } else {
        if (lastIndexOf2 < lastIndexOf1) {
            return StringUtils.EMPTY;
        }
        return StringUtils.substring(url, lastIndexOf1 + 1, lastIndexOf2);
    }
}

From source file:org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm.java

private String getUppercaseNetezzaUrl(String url) {
    if (StringUtils.isBlank(url)) {
        return url;
    }/*from  w ww .  j av a2  s  .  c  o  m*/
    String uppcaseUrl = url;
    int lastIndexOf = StringUtils.lastIndexOf(url, "/"); //$NON-NLS-1$
    if (lastIndexOf > 0 && lastIndexOf < url.length() - 1) {
        String part1 = StringUtils.substring(url, 0, lastIndexOf + 1);
        String part2 = StringUtils.substring(url, lastIndexOf + 1);
        if (!StringUtils.isEmpty(part2)) {
            int indexOf = StringUtils.indexOf(part2, "?"); //$NON-NLS-1$
            if (indexOf > -1) {
                String sid = StringUtils.substring(part2, 0, indexOf);
                part2 = StringUtils.upperCase(sid) + StringUtils.substring(part2, indexOf, part2.length());
            } else {
                part2 = StringUtils.upperCase(part2);
            }
            uppcaseUrl = part1 + part2;
        }
    }
    return uppcaseUrl;
}

From source file:org.talend.repository.ui.wizards.metadata.connection.database.DatabaseWizard.java

/**
 * uppercase the sid and url of Netezza connection.
 * //from   w w w  .j a va2 s . co m
 * @param netezzaConnection
 */
private void uppercaseNetezzaSidUrl(DatabaseConnection netezzaConnection) {
    if (netezzaConnection == null) {
        return;
    }
    netezzaConnection.setSID(StringUtils.upperCase(netezzaConnection.getSID()));
    String url = netezzaConnection.getURL();
    if (StringUtils.isBlank(url)) {
        return;
    }
    int lastIndexOf = StringUtils.lastIndexOf(url, "/"); //$NON-NLS-1$
    if (lastIndexOf > 0 && lastIndexOf < url.length() - 1) {
        String part1 = StringUtils.substring(url, 0, lastIndexOf + 1);
        String part2 = StringUtils.substring(url, lastIndexOf + 1);
        if (!StringUtils.isEmpty(part2)) {
            int indexOf = StringUtils.indexOf(part2, "?"); //$NON-NLS-1$
            if (indexOf > -1) {
                String sid = StringUtils.substring(part2, 0, indexOf);
                part2 = StringUtils.upperCase(sid) + StringUtils.substring(part2, indexOf, part2.length());
            } else {
                part2 = StringUtils.upperCase(part2);
            }
            netezzaConnection.setURL(part1 + part2);
        }
    }
}

From source file:org.telscenter.sail.webapp.presentation.util.impl.SessionNavLogImpl.java

/**
 * Given a <code>String</code> XML SockEntry, returns a <code>String</code>
 * with the XML header info removed/*ww  w .  j ava2s  .  co m*/
 * 
 * @param <code>String</code> s
 * @return <code>String</code>
 */
private String stripHead(String s) {
    return StringUtils.strip(s.substring(StringUtils.indexOf(s, '>') + 1, StringUtils.lastIndexOf(s, '>')));
}

From source file:org.telscenter.sail.webapp.presentation.util.impl.SessionNavLogImpl.java

/**
 * Given a <code>String</code> XML SockEntry, returns the <code>String</code>
 * podUUID//from   w w  w.  ja v  a2  s.  co m
 * 
 * @param <code>String</code> s
 * @return <code>String</code>
 */
public String podUUID(String s) {
    String headless = stripHead(s);
    return StringUtils.strip(
            headless.substring(StringUtils.indexOf(headless, '"') + 1, StringUtils.lastIndexOf(headless, '"')));
}

From source file:org.trancecode.xproc.step.AddXmlBaseStepProcessor.java

@Override
protected void execute(final StepInput input, final StepOutput output) {
    final XdmNode sourceDoc = input.readNode(XProcPorts.SOURCE);
    final boolean allOption = Boolean.valueOf(input.getOptionValue(XProcOptions.ALL, "false"));
    final boolean relativeOption = Boolean.valueOf(input.getOptionValue(XProcOptions.RELATIVE, "true"));
    final QName xmlBase = new QName("xml", XMLConstants.XML_NS_URI, "base");

    if (allOption && relativeOption) {
        throw XProcExceptions.xc0058(input.getStep().getLocation());
    }/*from   w w  w  . j ava  2 s .  c  o m*/

    final SaxonProcessorDelegate addXmlBaseDelegate = new CopyingSaxonProcessorDelegate() {
        @Override
        public EnumSet<NextSteps> startElement(final XdmNode node, final SaxonBuilder builder) {
            builder.startElement(node.getNodeName(), node);
            for (final XdmNode attribute : SaxonAxis.attributes(node)) {
                LOG.trace("copy existing attribute except xml base: {}", attribute);
                if (!xmlBase.equals(attribute.getNodeName())) {
                    builder.attribute(attribute.getNodeName(), attribute.getStringValue());
                }
            }
            if (allOption || XdmNodeKind.DOCUMENT.equals(node.getParent().getNodeKind())) {
                builder.attribute(xmlBase, node.getBaseURI().toString());
            } else {
                if (!node.getBaseURI().equals(node.getParent().getBaseURI())) {
                    if (relativeOption) {
                        final String attrBase = node.getParent().getBaseURI().resolve(node.getBaseURI())
                                .toString();
                        final int lastIdx = StringUtils.lastIndexOf(attrBase, "/") + 1;
                        builder.attribute(xmlBase, StringUtils.substring(attrBase, lastIdx));
                    } else {
                        builder.attribute(xmlBase, node.getBaseURI().toString());
                    }
                }
            }

            return EnumSet.of(NextSteps.PROCESS_CHILDREN, NextSteps.START_CONTENT);
        }
    };

    final SaxonProcessor addXmlBaseProcessor = new SaxonProcessor(input.getPipelineContext().getProcessor(),
            addXmlBaseDelegate);
    final XdmNode result = addXmlBaseProcessor.apply(sourceDoc);
    output.writeNodes(XProcPorts.RESULT, result);
}