1 23 24 package com.sun.enterprise.admin.selfmanagement.event; 25 import java.util.Map ; 26 import java.util.HashMap ; 27 import javax.management.NotificationFilter ; 28 import javax.management.Notification ; 29 import static com.sun.appserv.management.event.TraceEventHelper.*; 30 31 public class TraceEventNotificationFilter implements NotificationFilter { 32 public TraceEventNotificationFilter(String type, String ipAddress, 33 String callerPrincipal, String componentName) { 34 this.type = type; 35 this.ipAddress = ipAddress; 36 this.callerPrincipal = callerPrincipal; 37 this.componentName = componentName; 38 } 39 40 public boolean isNotificationEnabled(Notification notification) { 41 if ("*".equals(type) || type.equals(notification.getType()) ) { 42 Map map = (HashMap )notification.getUserData(); 43 if (map != null) { 44 if (ipAddress != null && !(ipAddress.equals("*")) && 45 !(ipAddress.equals(map.get(CALLER_IPADDRESS)))) { 46 return false; 47 } 48 if (callerPrincipal != null && !(callerPrincipal.equals("*")) && 49 !(callerPrincipal.equals(map.get(CALLER_PRINCIPAL)))) { 50 return false; 51 } 52 if (componentName != null && !(componentName.equals("*")) && 53 !(componentName.equals(map.get(COMPONENT_NAME)))) { 54 return false; 55 } 56 return true; 57 } else { 58 return false; 59 } 60 61 } 62 else 63 return false; 64 } 65 private String type; 66 private String ipAddress; 67 private String callerPrincipal; 68 private String componentName; 69 } 70 | Popular Tags |