public EventResult action() throws EventExecutionException { logger.debug( "Processing a chart creation event - id: " + getId() + " - collector name: " + getCollector().getName()); HashMap<String, String> params = new HashMap<String, String>(); for (Object o : getCollector().getParam()) { Param param = (Param) o; params.put(param.getName(), param.getValue()); } Chart chart = null; try { chart = new Chart(getCollector().getName(), params); ChartManager.getInstance().addChart(getId(), chart); } catch (ChartParameterException e) { logger.error("Exception in chart parameters."); throw new EventExecutionException(e); } logger.info("Chart created."); return new EventResult(chart); }
public ChartCreation(String id, String collectorName, HashMap<String, String> params) { setId(id); try { ObjectFactory factory = new ObjectFactory(); CollectorType collector = factory.createChartCreationTypeCollectorType(); setCollector(collector); collector.setName(collectorName); if (params == null) { return; } for (Entry<String, String> entry : params.entrySet()) { Param param = factory.createParam(); param.setName(entry.getKey()); param.setValue(entry.getValue()); collector.getParam().add(param); } } catch (JAXBException e) { logger.error("JAXBException in constructor of ChartCreation. Message: " + e.getMessage()); if (logger.isDebugEnabled()) { e.printStackTrace(); } } }