Example usage for org.apache.commons.collections.map SingletonMap setValue

List of usage examples for org.apache.commons.collections.map SingletonMap setValue

Introduction

In this page you can find the example usage for org.apache.commons.collections.map SingletonMap setValue.

Prototype

public Object setValue(Object value) 

Source Link

Document

Sets the value.

Usage

From source file:gtu._work.ui.DirectoryCompareUI.java

/**
 * TODO/*  w  w  w .  j a  v  a  2 s  .  c  om*/
 */
private void totalScanFiles(EventObject event) {
    try {
        // ?
        final Map<String, Object> searchTextMap = new HashMap<String, Object>();
        if (event != null && event.getSource() == searchText && //
                StringUtils.isNotBlank(searchText.getText()) && ((KeyEvent) event).getKeyCode() != 10)//
        {
            return;
        } else {
            String text = searchText.getText();
            Matcher matcher = SEARCHTEXTPATTERN.matcher(text);
            if (matcher.matches()) {
                final String left = StringUtils.trim(matcher.group(1));
                String operator = StringUtils.trim(matcher.group(2));
                String condition = StringUtils.trim(matcher.group(3));
                System.out.println("left = " + left);
                System.out.println("operator = " + operator);
                System.out.println("condition = " + condition);

                SearchTextEnum currentSearchType = null;
                for (SearchTextEnum e : SearchTextEnum.values()) {
                    if (StringUtils.equals(e.name(), left)) {
                        currentSearchType = e;
                        break;
                    }
                }
                Validate.notNull(currentSearchType, "??? : " + left);

                searchTextMap.put("currentSearchType", currentSearchType);
                searchTextMap.put("operator", operator);
                searchTextMap.put("condition", condition);
            } else if (event != null && event instanceof KeyEvent && ((KeyEvent) event).getKeyCode() == 10) {
                JCommonUtil._jOptionPane_showMessageDialog_error(
                        "?:" + SEARCHTEXTPATTERN.pattern());
            }
        }

        // ?
        final List<DiffMergeStatus> chkList = new ArrayList<DiffMergeStatus>();
        A: for (DiffMergeStatus diff2 : DiffMergeStatus.values()) {
            for (int ii = 0; ii < diffMergeChkBox.length; ii++) {
                if (StringUtils.equals(diffMergeChkBox[ii].getText(), diff2.toString())
                        && diffMergeChkBox[ii].isSelected()) {
                    chkList.add(diff2);
                    continue A;
                }
            }
        }

        // ???
        String extensionName = (String) extensionNameComboBox.getSelectedItem();
        SingletonMap extensionNameMessageMap = new SingletonMap();
        final SingletonMap extensionNameMap = new SingletonMap();
        if (StringUtils.equals(EXTENSION_CUSTOM, extensionName)) {
            String result = JCommonUtil._jOptionPane_showInputDialog("???",
                    EXTENSION_ALL);
            if (StringUtils.isNotBlank(result)) {
                String[] arry = result.split(",", -1);
                extensionNameMap.setValue(arry);
                extensionNameMessageMap.setValue(Arrays.toString(arry));
            } else {
                extensionNameMap.setValue(new String[] { EXTENSION_ALL });
                extensionNameMessageMap.setValue(EXTENSION_ALL);
            }
        } else {
            extensionNameMap.setValue(new String[] { extensionName });
            extensionNameMessageMap.setValue(extensionName);
        }
        if (extensionNameCache == null) {
            extensionNameCache = new ExtensionNameCache();
            extensionNameCache.extensionNameMap = extensionNameMap;
            extensionNameCache.extensionNameMessageMap = extensionNameMessageMap;
        }
        if (event != null && event.getSource() != extensionNameComboBox) {
            extensionNameMap.setValue(extensionNameCache.extensionNameMap.getValue());
            extensionNameMessageMap.setValue(extensionNameCache.extensionNameMessageMap.getValue());
        }

        FileSearch search = new FileSearch(DirectoryCompareUI.this) {
            @Override
            boolean isMatch(InfoObj infoObj) {
                boolean searchTextResult = true;
                if (searchTextMap.containsKey("currentSearchType") && searchTextMap.containsKey("operator")
                        && searchTextMap.containsKey("condition")) {
                    SearchTextEnum currentSearchType = (SearchTextEnum) searchTextMap.get("currentSearchType");
                    String operator = (String) searchTextMap.get("operator");
                    String condition = (String) searchTextMap.get("condition");
                    searchTextResult = currentSearchType.isMatch(infoObj, operator, condition);
                }
                boolean extensionNameResult = true;
                if (extensionNameMap.getValue() != null) {
                    String[] extensionNameArray = (String[]) extensionNameMap.getValue();
                    if (StringUtils.indexOfAny(EXTENSION_ALL, extensionNameArray) == -1) {
                        boolean findOk = false;
                        for (String extension : extensionNameArray) {
                            if ((infoObj.mainFile.isFile()
                                    && infoObj.mainFile.getName().toLowerCase().endsWith(extension))
                                    || (infoObj.compareToFile.isFile() && infoObj.compareToFile.getName()
                                            .toLowerCase().endsWith(extension))) {
                                findOk = true;
                                break;
                            }
                        }
                        if (!findOk) {
                            extensionNameResult = false;
                        }
                    }
                }

                boolean chkListResult = chkList.contains(infoObj.status2);
                return chkListResult && extensionNameResult && searchTextResult;
            }
        };
        search.execute(DirectoryCompareUI.this, //
                "?[?:" + StringUtils.defaultString(searchText.getText()) + "][??:"
                        + extensionNameMessageMap.getValue() + "][:" + chkList + "]");
    } catch (Exception ex) {
        JCommonUtil.handleException(ex, false);
    }
}