/* * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * WSO2 Inc. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except * in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.synapse.aspects.flow.statistics.publishing; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Map; public class PublishingFlow { private String messageFlowId; private ArrayList<PublishingEvent> events = new ArrayList<>(); private ArrayList<ArrayList<Object>> eventsList = new ArrayList<>(); private ArrayList<PublishingPayload> payloads; public PublishingEvent getEvent(int index) { return events.get(index); } public boolean addEvent(PublishingEvent publishingEvent) { return events.add(publishingEvent) && eventsList.add(publishingEvent.getObjectAsList()); } public String getMessageFlowId() { return messageFlowId; } public void setMessageFlowId(String messageFlowId) { this.messageFlowId = messageFlowId; } public ArrayList<PublishingEvent> getEvents() { return events; } public void setEvents( ArrayList<PublishingEvent> events) { this.events = events; } public ArrayList<PublishingPayload> getPayloads() { return payloads; } public void setPayloads(Collection<PublishingPayload> values) { payloads = new ArrayList<>(values); } public Map<String, Object> getObjectAsMap() { String MESSAGE_FLOW_ID = "messageFlowId"; String EVENTS = "events"; String PAYLOADS = "payloads"; Map<String, Object> objectMap = new HashMap<String, Object>(); objectMap.put(MESSAGE_FLOW_ID, this.messageFlowId); objectMap.put(EVENTS, eventsList); objectMap.put(PAYLOADS, payloads); return objectMap; } }