Coverage Report - org.mule.umo.manager.UMOServerNotification
 
Classes in this File Line Coverage Branch Coverage Complexity
UMOServerNotification
52%
13/25
33%
2/6
1.083
 
 1  
 /*
 2  
  * $Id: UMOServerNotification.java 7963 2007-08-21 08:53:15Z dirk.olmes $
 3  
  * --------------------------------------------------------------------------------------
 4  
  * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
 5  
  *
 6  
  * The software in this package is published under the terms of the CPAL v1.0
 7  
  * license, a copy of which has been included with this distribution in the
 8  
  * LICENSE.txt file.
 9  
  */
 10  
 
 11  
 package org.mule.umo.manager;
 12  
 
 13  
 import org.mule.MuleManager;
 14  
 import org.mule.impl.endpoint.MuleEndpointURI;
 15  
 import org.mule.util.ClassUtils;
 16  
 
 17  
 import java.util.EventObject;
 18  
 
 19  
 /**
 20  
  * <code>UMOServerNotification</code> is an event triggered by something happening
 21  
  * in the Server itself such as the server starting or a component being registered
 22  
  *
 23  
  */
 24  
 public abstract class UMOServerNotification extends EventObject
 25  
 {
 26  
     public static final String TYPE_INFO = "info";
 27  
     public static final String TYPE_WARNING = "warn";
 28  
     public static final String TYPE_ERROR = "error";
 29  
     public static final String TYPE_FATAL = "fatal";
 30  
 
 31  
     public static final int MANAGER_EVENT_ACTION_START_RANGE = 100;
 32  
     public static final int MODEL_EVENT_ACTION_START_RANGE = 200;
 33  
     public static final int COMPONENT_EVENT_ACTION_START_RANGE = 300;
 34  
     public static final int SECURITY_EVENT_ACTION_START_RANGE = 400;
 35  
     public static final int MANAGEMENT_EVENT_ACTION_START_RANGE = 500;
 36  
     public static final int ADMIN_EVENT_ACTION_START_RANGE = 600;
 37  
     public static final int CONNECTION_EVENT_ACTION_START_RANGE = 700;
 38  
     public static final int MESSAGE_EVENT_ACTION_START_RANGE = 800;
 39  
     public static final int SPACE_EVENT_ACTION_START_RANGE = 900;
 40  
     public static final int REGISTRY_EVENT_ACTION_START_RANGE = 1000;
 41  
     public static final int EXCEPTION_EVENT_ACTION_START_RANGE = 1100;
 42  
     public static final int TRANSACTION_EVENT_ACTION_START_RANGE = 1200;
 43  
     public static final int CUSTOM_EVENT_ACTION_START_RANGE = 100000;
 44  
 
 45  
     public static final int NULL_ACTION = 0;
 46  2
     public static final Object NULL_MESSAGE = "";
 47  
 
 48  3464
     public final String EVENT_NAME = ClassUtils.getClassName(getClass());
 49  
 
 50  
     protected String serverId;
 51  
 
 52  
     protected long timestamp;
 53  
 
 54  3464
     protected int action = NULL_ACTION;
 55  
 
 56  
     /**
 57  
      * The resourceIdentifier is used when firing inbound server notifications such
 58  
      * as Admin notifications or other action notifications triggered by an external
 59  
      * source Used to associate the event with a particular resource. For example, if
 60  
      * the event was a ComponentNotification the resourceIdentifier could be the name
 61  
      * of a particular component
 62  
      */
 63  3464
     protected String resourceIdentifier = null;
 64  
 
 65  
     public UMOServerNotification(Object message, int action)
 66  
     {
 67  3464
         super((message == null ? NULL_MESSAGE : message));
 68  3464
         this.action = action;
 69  3464
         if (MuleManager.isInstanciated())
 70  
         {
 71  3464
             serverId = MuleManager.getInstance().getId();
 72  
         }
 73  3464
         timestamp = System.currentTimeMillis();
 74  3464
     }
 75  
 
 76  
     public UMOServerNotification(Object message, int action, String resourceIdentifier)
 77  
     {
 78  0
         super((message == null ? NULL_MESSAGE : message));
 79  0
         this.action = action;
 80  0
         this.resourceIdentifier = resourceIdentifier;
 81  0
         serverId = MuleManager.getInstance().getId();
 82  0
         timestamp = System.currentTimeMillis();
 83  0
     }
 84  
 
 85  
     public int getAction()
 86  
     {
 87  387
         return action;
 88  
     }
 89  
 
 90  
     public String getServerId()
 91  
     {
 92  0
         return serverId;
 93  
     }
 94  
 
 95  
     public String getResourceIdentifier()
 96  
     {
 97  440
         return resourceIdentifier;
 98  
     }
 99  
 
 100  
     public long getTimestamp()
 101  
     {
 102  0
         return timestamp;
 103  
     }
 104  
 
 105  
     public boolean isResourceIdentifierAnUri()
 106  
     {
 107  0
         return MuleEndpointURI.isMuleUri(resourceIdentifier);
 108  
     }
 109  
 
 110  
     public String toString()
 111  
     {
 112  0
         return EVENT_NAME + "{" + "action=" + getActionName(action) + ", resourceId=" + resourceIdentifier
 113  
                + ", serverId=" + serverId + ", timestamp=" + timestamp + "}";
 114  
     }
 115  
 
 116  
     protected String getPayloadToString()
 117  
     {
 118  0
         return source.toString();
 119  
     }
 120  
 
 121  
     public String getType()
 122  
     {
 123  0
         return TYPE_INFO;
 124  
     }
 125  
 
 126  
     public String getActionName()
 127  
     {
 128  8
         return getActionName(action);
 129  
     }
 130  
 
 131  
     protected abstract String getActionName(int action);
 132  
 }