/* * Claudia Project * http://claudia.morfeo-project.org * * (C) Copyright 2010 Telefonica Investigacion y Desarrollo * S.A.Unipersonal (Telefonica I+D) * * See CREDITS file for info about members and contributors. * * This program is free software; you can redistribute it and/or modify * it under the terms of the Affero GNU General Public License (AGPL) as * published by the Free Software Foundation; either version 3 of the License, * or (at your option) any later version. * * This program 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 Affero GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * If you want to use this software an plan to distribute a * proprietary application in any way, and you are not licensing and * distributing your source code under AGPL, you probably need to * purchase a commercial license of the product. Please contact * claudia-support@lists.morfeo-project.org for more information. */ package com.telefonica.claudia.slm.eventsBus.events; import com.telefonica.claudia.slm.eventsBus.events.*; /** * This event does not go through the Event Bus, but is directly launched by different SM components to the controller * Also this information is stored into the EventLog * */ public class SMControlEvent extends Event { public static final int ELASTICITY_RULE_VIOLATION=0; public static final int NEW_RULE_ADDED=1; public static final int RULE_CHANGED=2; public static final int START_SERVICE=3; public static final int UNDEPLOY_SERVICE=4; public static final int GET_MONITORING_DATA=5; private static final long serialVersionUID = 1L; private String fqnString = null; // FQN of the Sm Event origin private String action =null; // depending on the event type, the SM component may suggest an action to be taken by the controller private int controlEventType; private String serviceFQN = null; public SMControlEvent (long t_0, long delta_t, String fqnString, String action, String serviceFQN) { super(t_0, delta_t, EventType.SM_CONTROL_EVENT); this.fqnString = fqnString; this.action = action; this.serviceFQN= serviceFQN; } public String getOrigin() { return fqnString; } public String getServiceFQN(){ return serviceFQN; } public int getControlEventType(){ return controlEventType; } public void setControlEventType(int type){ controlEventType=type; } public String getSuggestedAction() { return action; } @Override public String toString() { return super.toString() + " origin: " + fqnString + " suggested action: " + action; } }