/* * Copyright (c) 2013 Technische Universitat Wien (TUW), Distributed Systems Group. http://dsg.tuwien.ac.at * * This work was partially supported by the European Commission in terms of the CELAR FP7 project (FP7-ICT-2011-8 #317790), http://www.celarcloud.eu/ * * Licensed 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 generated.JaxbGangliaEntities; import java.util.ArrayList; import java.util.Collection; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name = "CLUSTER") public class GangliaClusterInfo { @XmlAttribute(name = "NAME") private String name; @XmlAttribute(name = "OWNER") private String owner; @XmlAttribute(name = "LATLONG") private String latlong; @XmlAttribute(name = "URL") private String url; @XmlAttribute(name = "LOCALTIME") private String localtime; @XmlElement(name = "HOST") private Collection<GangliaHostInfo> hostsInfo; { hostsInfo = new ArrayList<GangliaHostInfo>(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getOwner() { return owner; } public void setOwner(String owner) { this.owner = owner; } public String getLatlong() { return latlong; } public void setLatlong(String latlong) { this.latlong = latlong; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getLocaltime() { return localtime; } public void setLocaltime(String localtime) { this.localtime = localtime; } public Collection<GangliaHostInfo> getHostsInfo() { return hostsInfo; } public void setHostsInfo(Collection<GangliaHostInfo> hostsInfo) { this.hostsInfo = hostsInfo; } public Collection<GangliaHostInfo> searchHostsByName(String name) { Collection<GangliaHostInfo> hosts = new ArrayList<GangliaHostInfo>(); for (GangliaHostInfo hostInfo : this.hostsInfo) { if (hostInfo.getName().contains(name)) { hosts.add(hostInfo); } } return hosts; } public Collection<GangliaHostInfo> searchHostsByAppropximateIP(String ip) { Collection<GangliaHostInfo> hosts = new ArrayList<GangliaHostInfo>(); for (GangliaHostInfo hostInfo : this.hostsInfo) { if (hostInfo.getIp().contains(ip)) { hosts.add(hostInfo); } } return hosts; } public GangliaHostInfo searchHostsByExactIP(String ip) { for (GangliaHostInfo hostInfo : this.hostsInfo) { if (hostInfo.getIp().equals(ip)) { return hostInfo; } } return null; } //if gmodstart has same value means same machine public Collection<GangliaHostInfo> searchHostsByGmodStart(String gmodstarted) { Collection<GangliaHostInfo> hosts = new ArrayList<GangliaHostInfo>(); for (GangliaHostInfo hostInfo : this.hostsInfo) { if (hostInfo.getGmondStarted().contains(gmodstarted)) { hosts.add(hostInfo); } } return hosts; } @Override public String toString() { String info = "ClusterInfo{" + "name='" + name + '\'' + ", owner='" + owner + '\'' + ", latlong='" + latlong + '\'' + ", url='" + url + '\'' + ", localtime='" + localtime + '\'' + ", hostsInfo="; for (GangliaHostInfo hostInfo : hostsInfo) { info += "\n " + hostInfo.toString() + "\n"; } info += '}'; return info; } }