public ExpressionRuleContext()

in src/main/java/org/apache/log4j/chainsaw/ExpressionRuleContext.java [46:115]


    public ExpressionRuleContext(
        final FilterModel filterModel, final JTextComponent textComponent) {
        this.filterModel = filterModel;
        this.textComponent = textComponent;
        fieldModel.addElement("LOGGER");
        fieldModel.addElement("LEVEL");
        fieldModel.addElement("CLASS");
        fieldModel.addElement("FILE");
        fieldModel.addElement("LINE");
        fieldModel.addElement("METHOD");
        fieldModel.addElement("MSG");
        fieldModel.addElement("NDC");
        fieldModel.addElement("EXCEPTION");
        fieldModel.addElement("TIMESTAMP");
        fieldModel.addElement("THREAD");
        fieldModel.addElement("PROP.");

        operatorModel.addElement("&&");
        operatorModel.addElement("||");
        operatorModel.addElement("!");
        operatorModel.addElement("!=");
        operatorModel.addElement("==");
        operatorModel.addElement("~=");
        operatorModel.addElement("LIKE");
        operatorModel.addElement("EXISTS");
        operatorModel.addElement("<");
        operatorModel.addElement(">");
        operatorModel.addElement("<=");
        operatorModel.addElement(">=");

        //make long to avoid scrollbar
        list.setVisibleRowCount(13);

        PopupListener popupListener = new PopupListener();
        textComponent.addMouseListener(popupListener);

        list.addKeyListener(
            new KeyAdapter() {
                public void keyPressed(KeyEvent e) {
                    if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                        String value = list.getSelectedValue().toString();
                        String contextKey = getContextKey();
                        if (contextKey != null && (!(contextKey.endsWith(".")))) {
                            value = "'" + value + "'";
                        }

                        updateField(value);
                        contextMenu.setVisible(false);
                    }
                }
            });

        list.addMouseListener(
            new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    if (e.getClickCount() == 2) {
                        String value = list.getSelectedValue().toString();
                        String contextKey = getContextKey();
                        if (contextKey != null && (!(contextKey.endsWith(".")))) {
                            value = "'" + value + "'";
                        }

                        updateField(value);
                        contextMenu.setVisible(false);
                    }
                }
            });

        contextMenu.insert(scrollPane, 0);
    }