/*********************************************************************************** * * Copyright (c) 2014 Kamil Baczkowicz * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v1.0 which accompany this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * * Kamil Baczkowicz - initial API and implementation and/or initial documentation * */ package pl.baczkowicz.mqttspy.ui.messagelog; import java.util.Collection; import java.util.List; import pl.baczkowicz.mqttspy.common.generated.MessageLog; import pl.baczkowicz.mqttspy.common.generated.MessageLogEnum; import pl.baczkowicz.mqttspy.logger.SimpleMqttMessageLogComposer; import pl.baczkowicz.mqttspy.messages.FormattedMqttMessage; import pl.baczkowicz.spy.ui.storage.BasicMessageStoreWithSummary; public class MessageLogUtils { public static String getCurrentMessageAsMessageLog(final BasicMessageStoreWithSummary<FormattedMqttMessage> store, final int messageIndex) { final FormattedMqttMessage message = store.getMessages().get(messageIndex); return SimpleMqttMessageLogComposer.createReceivedMessageLog(message, new MessageLog(MessageLogEnum.XML_WITH_PLAIN_PAYLOAD, "", true, true, false, false, false)); } public static String getAllMessagesAsMessageLog(final BasicMessageStoreWithSummary<FormattedMqttMessage> store) { final StringBuffer messagesAsString = new StringBuffer(); final List<FormattedMqttMessage> messages = store.getMessages(); for (int i = messages.size() - 1; i >= 0; i--) { final FormattedMqttMessage message = messages.get(i); messagesAsString.append(SimpleMqttMessageLogComposer.createReceivedMessageLog(message, new MessageLog(MessageLogEnum.XML_WITH_PLAIN_PAYLOAD, "", true, true, false, false, false))); messagesAsString.append(System.lineSeparator()); } return messagesAsString.toString(); } public static String getAllTopicsAsString(final Collection<String> topics) { final StringBuffer messages = new StringBuffer(); for (final String topic : topics) { messages.append(topic); messages.append(System.lineSeparator()); } return messages.toString(); } }