ArrayList<SelectItem> protocols = new ArrayList<SelectItem>();
MessageBroker msgBroker = getContextBroker().extractMessageBroker();
ApplicationContext appCtx = ApplicationContext.getInstance();
ApplicationConfiguration appCfg = appCtx.getConfiguration();
ProtocolFactories protocolFactories = appCfg.getProtocolFactories();
protocols.add(new SelectItem("", msgBroker.retrieveMessage("catalog.harvest.manage.edit.protocol.any")));
for (String key: protocolFactories.getKeys()) {
ProtocolFactory pf = protocolFactories.get(key);
if (pf instanceof AgpProtocolFactory && !AGSProcessorConfig.isAvailable()) continue;
String resourceKey = protocolFactories.getResourceKey(key);
SelectItem item = new SelectItem(key.toLowerCase(), msgBroker.retrieveMessage(resourceKey));