@Override
    public void setupInterface() {

        filter.getjProgressBar().setIndeterminate(true);
        setEnabledComponents(false);

        new Thread(new Runnable() {
            @Override
            public void run() {

                ArrayList arrayList = null;
                String status = null;
                String[] protocols = null;
                String[] unused = null;
                String[] used = null;
                String[] tos = null;
                String[] source = null;
                String[] direction = null;
                String[] destination = null;

                try {

                    filter.getjButtonClose().setText("close");
                    filter.getjButtonClose().setIcon(new ImageIcon(getClass().getResource("/views/images/shutdown-mini.png")));
                    filter.getjButtonSave().setText("edit");
                    filter.getjButtonSave().setIcon(new ImageIcon(getClass().getResource("/views/images/edit.png")));

                    addListeners();

                    hm.put("id", id);
                    hm.put("collector", collector);
                    hm.put("request", "get data filters");
                    arrayList = (ArrayList) new Linker().sendReceiveObject(hm);

                    if (arrayList == null) {
                        return;
                    }

                    filter.getjTextFieldName().setText((String) arrayList.get(0));

                    status = (String) arrayList.get(1);
                    protocols = (String[]) arrayList.get(2);
                    unused = (String[]) arrayList.get(3);
                    used = (String[]) arrayList.get(4);
                    tos = (String[]) arrayList.get(5);
                    source = (String[]) arrayList.get(6);
                    direction = (String[]) arrayList.get(7);
                    destination = (String[]) arrayList.get(8);

                    if (status.equalsIgnoreCase("true")) {
                        filter.getjRadioButtonActive().setSelected(true);
                    }

                    if (status.equalsIgnoreCase("false")) {
                        filter.getjRadioButtonInactive().setSelected(true);
                    }

                    filter.getjComboBoxProtocols().removeAllItems();
                    for (String string : protocols) {
                        filter.getjComboBoxProtocols().addItem(string);
                    }

                    ViewUtilities.fillJlist(filter.getjListUnused(), unused);

                    ViewUtilities.fillJlist(filter.getjListUsed(), used);

                    filter.getjComboBoxTos().removeAllItems();
                    for (String string : tos) {
                        filter.getjComboBoxTos().addItem(string);
                    }

                    filter.getjComboBoxSource().removeAllItems();
                    for (String string : source) {
                        filter.getjComboBoxSource().addItem(string);
                    }

                    filter.getjComboBoxDirection().removeAllItems();
                    for (String string : direction) {
                        filter.getjComboBoxDirection().addItem(string);
                    }

                    filter.getjComboBoxDestination().removeAllItems();
                    for (String string : destination) {
                        filter.getjComboBoxDestination().addItem(string);
                    }

                } catch (Exception e) {
                    NOTIFICATIONS.error("Unexpected error", e);
                } finally {
                    filter.getjProgressBar().setIndeterminate(false);
                    setEnabledComponents(true);
                }

            }
        }).start();

    } // end setupInterface