/******************************************************************************* * Copyright (c) 2006-2011 Gluster, Inc. * This file is part of Gluster Management Console. * * Gluster Management Console is free software; you can redistribute * it and/or modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * Gluster Management Console is distributed in the hope that it * will be useful, but WITHOUT ANY WARRANTY; without even the * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see * . *******************************************************************************/ package org.gluster.storage.management.core.model; import java.util.Date; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.gluster.storage.management.core.model.adapters.VolumeLogDateAdapter; import org.gluster.storage.management.core.utils.StringUtil; @XmlRootElement public class VolumeLogMessage implements Filterable { private Date timestamp; private String brick; private String severity; private String message; public VolumeLogMessage() { } public VolumeLogMessage(String logMessage) { // TODO: Parse the log message and extract fields } @XmlElement(name = "timestamp", required = true) @XmlJavaTypeAdapter(VolumeLogDateAdapter.class) public Date getTimestamp() { return timestamp; } public void setTimestamp(Date timestamp) { this.timestamp = timestamp; } public String getSeverity() { return severity; } public void setSeverity(String severity) { this.severity = severity; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public void setBrick(String brick) { this.brick = brick; } @XmlElement(name = "brick") public String getBrick() { return brick; } public VolumeLogMessage(Date timestamp, String brickDirectory, String severity, String message) { setTimestamp(timestamp); setBrick(brickDirectory); setSeverity(severity); setMessage(message); } @Override public boolean filter(String filterString, boolean caseSensitive) { return StringUtil.filterString(getSeverity() + getTimestamp() + getBrick() + getMessage(), filterString, caseSensitive); } }