/** * Abiquo community edition * cloud management application for hybrid clouds * Copyright (C) 2008-2010 - Abiquo Holdings S.L. * * This application is free software; you can redistribute it and/or * modify it under the terms of the GNU LESSER GENERAL PUBLIC * LICENSE as published by the Free Software Foundation under * version 3 of the License * * This software 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 * LESSER GENERAL PUBLIC LICENSE v.3 for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ package com.abiquo.abiserver.commands; import java.util.HashMap; import java.util.List; import com.abiquo.abiserver.business.hibernate.pojohb.metering.MeterHB; import com.abiquo.abiserver.exception.MeterCommandException; import com.abiquo.abiserver.pojo.authentication.UserSession; /** * All the business logic for metering section in AbiCloud * * @author jdevesa@abiquo.com */ public interface MeterCommand { /** * Get the list of the meters matching with the filters specified * * @param user user that queries the meter list * @param filters HashMap containing relation "column"-"restriction". Correct 'column' values * are:<br> * "datacenter"<br> * "rack" <br> * "physicalmachine" <br> * "storagesystem" <br> * "storagepool" <br> * "volume" <br> * "network" <br> * "subnet" <br> * "enterprise" <br> * "user" <br> * "virtualdatacenter" <br> * "virtualapp" <br> * "virtualmachine" <br> * "severity" <br> * "actionperformed" <br> * "component"<br> * "firstdate" <br> * "lastdate" <br> * "numrows" <br> * "datefrom" <br> * "dateto" <br> * @param numrows the number of results * @return list of meters */ List<MeterHB> getMeters(UserSession user, HashMap<String, String> filters, Integer numrows) throws MeterCommandException; /** * Transform the class {@link com.abiquo.tracer.EventType} to a list of Strings * * @return List of Strings containing the values of the EventType enumeration */ List<String> getListOfSeverityTypes(); /** * Transform the class {@link com.abiquo.tracer.SeverityType} to a list of Strings * * @return List of Strings containing the values of the SeverityType enumeration */ List<String> getListOfEventTypes(); }