diff options
| author | Selvam <selvam@gluster.com> | 2011-04-29 15:04:18 +0530 |
|---|---|---|
| committer | Selvam <selvam@gluster.com> | 2011-04-29 15:04:18 +0530 |
| commit | 3149b18d24539f5680848c25064f447c15bbbcc4 (patch) | |
| tree | 4f6b3ef9fcb7a8951511324697752528191fc49e /src/com.gluster.storage.management.core | |
| parent | e4b86192d443e968cf2ad417a46c203ab2751418 (diff) | |
| parent | 276118b6d207bb49905d1e9c19a7f08c33f9ed8d (diff) | |
Merge remote branch 'upstream/master'
Conflicts:
src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/VolumesResource.java
src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
Diffstat (limited to 'src/com.gluster.storage.management.core')
5 files changed, 80 insertions, 14 deletions
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java index f25999f0..09137014 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java @@ -218,7 +218,7 @@ public class GlusterDummyModel { private void addMessages(List<LogMessage> messages, Disk disk, String severity, int count) { for (int i = 1; i <= count; i++) { String message = severity + "message" + i; - messages.add(new LogMessage(new Date(), disk, severity, message)); + messages.add(new LogMessage(new Date(), disk.getQualifiedName(), severity, message)); } } diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/LogMessage.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/LogMessage.java index d81b8d0f..4f6347dc 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/LogMessage.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/LogMessage.java @@ -20,14 +20,17 @@ package com.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 com.gluster.storage.management.core.model.adapters.VolumeLogDateAdapter; import com.gluster.storage.management.core.utils.StringUtil; @XmlRootElement public class LogMessage implements Filterable { private Date timestamp; - private Disk disk; + private String disk; private String severity; private String message; @@ -38,6 +41,8 @@ public class LogMessage implements Filterable { // TODO: Parse the log message and extract fields } + @XmlElement(name = "timestamp", required = true) + @XmlJavaTypeAdapter(VolumeLogDateAdapter.class) public Date getTimestamp() { return timestamp; } @@ -46,11 +51,11 @@ public class LogMessage implements Filterable { this.timestamp = timestamp; } - public Disk getDisk() { + public String getDisk() { return disk; } - public void setDisk(Disk disk) { + public void setDisk(String disk) { this.disk = disk; } @@ -70,7 +75,7 @@ public class LogMessage implements Filterable { this.message = message; } - public LogMessage(Date timestamp, Disk disk, String severity, String message) { + public LogMessage(Date timestamp, String disk, String severity, String message) { setTimestamp(timestamp); setDisk(disk); setSeverity(severity); @@ -79,7 +84,7 @@ public class LogMessage implements Filterable { @Override public boolean filter(String filterString, boolean caseSensitive) { - return StringUtil.filterString(getSeverity() + getTimestamp() + getDisk().getServerName() - + getDisk().getQualifiedName() + getMessage(), filterString, caseSensitive); + return StringUtil.filterString(getSeverity() + getTimestamp() + getDisk() + getMessage(), filterString, + caseSensitive); } } diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java index e01a35b3..99b76ed7 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java @@ -71,6 +71,7 @@ public class Volume extends Entity { private double totalDiskSpace = 0; private List<String> disks = new ArrayList<String>(); + private List<String> bricks = new ArrayList<String>(); public Volume() { } @@ -206,9 +207,6 @@ public class Volume extends Entity { } public void addDisk(String disk) { - // if (disks.add(disk) && disk.getStatus() != DISK_STATUS.OFFLINE) { - // totalDiskSpace += disk.getSpace(); - // } disks.add(disk); } @@ -219,9 +217,7 @@ public class Volume extends Entity { } public void removeDisk(String disk) { - // if (disks.remove(disk)) { - // totalDiskSpace -= disk.getSpace(); - // } + disks.remove(disk); } public void removeAllDisks() { @@ -229,6 +225,18 @@ public class Volume extends Entity { totalDiskSpace = 0; } + public void addBrick(String brick) { + bricks.add(brick); + } + + public void removeBrick(String brick) { + bricks.remove(brick); + } + + public List<String> getBricks() { + return bricks; + } + public void setDisks(List<String> disks) { removeAllDisks(); addDisks(disks); diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/adapters/VolumeLogDateAdapter.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/adapters/VolumeLogDateAdapter.java new file mode 100644 index 00000000..254d5efd --- /dev/null +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/adapters/VolumeLogDateAdapter.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com> + * 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 Affero 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 Affero General Public License + * for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see + * <http://www.gnu.org/licenses/>. + *******************************************************************************/ + +package com.gluster.storage.management.core.model.adapters; + +import java.text.SimpleDateFormat; +import java.util.Date; + +import javax.xml.bind.annotation.adapters.XmlAdapter; + +/** + * Adapter class used for converting timestamp from Gluster volume log files to Date object. + */ +public class VolumeLogDateAdapter extends XmlAdapter<String, Date> { + private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"; + private SimpleDateFormat dateFormatter = new SimpleDateFormat(DATE_FORMAT); + + /* (non-Javadoc) + * @see javax.xml.bind.annotation.adapters.XmlAdapter#unmarshal(java.lang.Object) + */ + @Override + public Date unmarshal(String input) throws Exception { + input = input.trim(); + if(input.length() > DATE_FORMAT.length()) { + input = input.substring(0, DATE_FORMAT.length()); + } + return dateFormatter.parse(input); + } + + /* (non-Javadoc) + * @see javax.xml.bind.annotation.adapters.XmlAdapter#marshal(java.lang.Object) + */ + @Override + public String marshal(Date input) throws Exception { + return dateFormatter.format(input); + } +} diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/DateUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/DateUtil.java index 1b284cb8..d4529a00 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/DateUtil.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/DateUtil.java @@ -29,7 +29,7 @@ public class DateUtil { } public static final String formatTime(Date inputDate) { - DateFormat formatter = new SimpleDateFormat("HH:mm:ss z"); + DateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS"); return formatter.format(inputDate); } } |
