@Override
public void run() {
MapBean map = getMapInfo().getMap();
MapFilter newFilter = null;
FilterAdapter adapter = panel.getSelectedValue();
if (MANUAL_MAP_FILTER.equals(adapter.getName())) {
newFilter = new ManualMapFilter(map.getId());
} else if (AUTOMATIC_MAP_FILTER.equals(adapter.getName())) {
newFilter = new CharacterMapFilter(map);
} else if (NO_MAP_FILTER.equals(adapter.getName())) {
newFilter = new NoMapFilter();
}
CampaignClient.getInstance().addBean(newFilter);
// set the new filter
map.setFilter(newFilter.getId());
// delete the old filter
CampaignClient.getInstance().removeBean(map.getFilter());
}