mx4j/src/core/javax/management/modelmbean DescriptorSupport.java,1.24,1.25 InvalidTargetObjectTypeException.java,1.5,1.6 ModelMBean.java,1.2,1.3 ModelMBeanAttributeInfo.java,1.10,1.11 ModelMBeanConstructorInfo.java,1.9,1.10 ModelMBeanInfo.java,1.4,1.5 ModelMBeanInfoSupport.java,1.11,1.12 ModelMBeanNotificationBroadcaster.java,1.3,1.4 ModelMBeanNotificationInfo.java,1.7,1.8 ModelMBeanOperationInfo.java,1.7,1.8 RequiredModelMBean.java,1.16,1.17 XMLParseException.java,1.1,1.2

Simone Bordet <[email protected]> Sat, 04 Sep 2004 15:44:06 +0000
Newsgroups gmane.comp.java.mx4j.cvs
Message-ID <[email protected]>
Update of /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13665/src/core/javax/management/modelmbean

Modified Files:
	DescriptorSupport.java InvalidTargetObjectTypeException.java 
	ModelMBean.java ModelMBeanAttributeInfo.java 
	ModelMBeanConstructorInfo.java ModelMBeanInfo.java 
	ModelMBeanInfoSupport.java 
	ModelMBeanNotificationBroadcaster.java 
	ModelMBeanNotificationInfo.java ModelMBeanOperationInfo.java 
	RequiredModelMBean.java XMLParseException.java 
Log Message:
Updated copyright notice to be:
Copyright (C) The MX4J Contributors

Index: RequiredModelMBean.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/RequiredModelMBean.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** RequiredModelMBean.java	28 Aug 2004 14:20:02 -0000	1.16
--- RequiredModelMBean.java	4 Sep 2004 15:44:04 -0000	1.17
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *

Index: DescriptorSupport.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/DescriptorSupport.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** DescriptorSupport.java	22 Mar 2004 13:30:31 -0000	1.24
--- DescriptorSupport.java	4 Sep 2004 15:44:04 -0000	1.25
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *
***************
*** 257,261 ****
           {
              for (Iterator i = descriptor.entrySet().iterator();
!                     i.hasNext();
                      )
              {
--- 257,261 ----
           {
              for (Iterator i = descriptor.entrySet().iterator();
!                  i.hasNext();
                      )
              {
***************
*** 315,319 ****
           NamedNodeMap attributes = n.getAttributes();
           if (attributes.getLength() != 2
!                  && (attributes.getNamedItem("name") == null
                   || attributes.getNamedItem("value") == null))
           {
--- 315,319 ----
           NamedNodeMap attributes = n.getAttributes();
           if (attributes.getLength() != 2
!              && (attributes.getNamedItem("name") == null
                   || attributes.getNamedItem("value") == null))
           {
***************
*** 347,368 ****
        {
           isValid = value != null && (value.toString().equalsIgnoreCase("MBean") ||
!                  value.toString().equalsIgnoreCase("attribute") ||
!                  value.toString().equalsIgnoreCase("operation") ||
!                  value.toString().equalsIgnoreCase("notification"));
        }
        else if (name.equalsIgnoreCase("role"))
        {
           isValid = value != null && (value.equals("constructor") ||
!                  value.equals("operation") ||
!                  value.equals("getter") ||
!                  value.equals("setter"));
        }
        else if (name.equalsIgnoreCase("persistPolicy"))
        {
           isValid = value != null && (value.toString().equalsIgnoreCase("Never") ||
!                  value.toString().equalsIgnoreCase("OnTimer") ||
!                  value.toString().equalsIgnoreCase("OnUpdate") ||
!                  value.toString().equalsIgnoreCase("NoMoreOftenThan") ||
!                  value.toString().equalsIgnoreCase("Always"));
        }
        else if (name.equalsIgnoreCase("persistPeriod"))
--- 347,368 ----
        {
           isValid = value != null && (value.toString().equalsIgnoreCase("MBean") ||
!                                      value.toString().equalsIgnoreCase("attribute") ||
!                                      value.toString().equalsIgnoreCase("operation") ||
!                                      value.toString().equalsIgnoreCase("notification"));
        }
        else if (name.equalsIgnoreCase("role"))
        {
           isValid = value != null && (value.equals("constructor") ||
!                                      value.equals("operation") ||
!                                      value.equals("getter") ||
!                                      value.equals("setter"));
        }
        else if (name.equalsIgnoreCase("persistPolicy"))
        {
           isValid = value != null && (value.toString().equalsIgnoreCase("Never") ||
!                                      value.toString().equalsIgnoreCase("OnTimer") ||
!                                      value.toString().equalsIgnoreCase("OnUpdate") ||
!                                      value.toString().equalsIgnoreCase("NoMoreOftenThan") ||
!                                      value.toString().equalsIgnoreCase("Always"));
        }
        else if (name.equalsIgnoreCase("persistPeriod"))
***************
*** 406,414 ****
        {
           isValid = value != null &&
!                  (value instanceof Boolean ||
!                  (value instanceof String && (value.toString().equalsIgnoreCase("true") ||
!                  value.toString().equalsIgnoreCase("false") ||
!                  value.toString().equalsIgnoreCase("t") ||
!                  value.toString().equalsIgnoreCase("f"))));
        }
  
--- 406,414 ----
        {
           isValid = value != null &&
!                    (value instanceof Boolean ||
!                     (value instanceof String && (value.toString().equalsIgnoreCase("true") ||
!                                                  value.toString().equalsIgnoreCase("false") ||
!                                                  value.toString().equalsIgnoreCase("t") ||
!                                                  value.toString().equalsIgnoreCase("f"))));
        }
  
***************
*** 541,545 ****
           {
              result =
!                     k.getConstructor(new Class[]{String.class}).newInstance(new Object[]{s});
           }
           else
--- 541,545 ----
           {
              result =
!             k.getConstructor(new Class[]{String.class}).newInstance(new Object[]{s});
           }
           else

Index: ModelMBeanNotificationBroadcaster.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ModelMBeanNotificationBroadcaster.java	14 May 2002 09:11:58 -0000	1.3
--- ModelMBeanNotificationBroadcaster.java	4 Sep 2004 15:44:04 -0000	1.4
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *
***************
*** 9,23 ****
  package javax.management.modelmbean;
  
! import javax.management.NotificationBroadcaster;
! import javax.management.RuntimeOperationsException;
  import javax.management.MBeanException;
  import javax.management.Notification;
! import javax.management.Attribute;
  import javax.management.NotificationListener;
! import javax.management.ListenerNotFoundException;
! import javax.management.AttributeChangeNotification;
  
  /**
-  *
   * @author <a href="mailto:[email protected]">Simone Bordet</a>
   * @version $Revision$
--- 9,22 ----
  package javax.management.modelmbean;
  
! import javax.management.Attribute;
! import javax.management.AttributeChangeNotification;
! import javax.management.ListenerNotFoundException;
  import javax.management.MBeanException;
  import javax.management.Notification;
! import javax.management.NotificationBroadcaster;
  import javax.management.NotificationListener;
! import javax.management.RuntimeOperationsException;
  
  /**
   * @author <a href="mailto:[email protected]">Simone Bordet</a>
   * @version $Revision$
***************
*** 25,34 ****
  public interface ModelMBeanNotificationBroadcaster extends NotificationBroadcaster
  {
! 	public void sendNotification(Notification notification) throws MBeanException, RuntimeOperationsException;
! 	public void sendNotification(String message) throws MBeanException, RuntimeOperationsException;
! 	public void addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback) throws MBeanException, RuntimeOperationsException, IllegalArgumentException;
! 	public void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException;
  //	public void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException;
! 	public void sendAttributeChangeNotification(AttributeChangeNotification notification) throws MBeanException, RuntimeOperationsException;
! 	public void sendAttributeChangeNotification(Attribute oldValue, Attribute newValue) throws MBeanException, RuntimeOperationsException;
  }
--- 24,37 ----
  public interface ModelMBeanNotificationBroadcaster extends NotificationBroadcaster
  {
!    public void sendNotification(Notification notification) throws MBeanException, RuntimeOperationsException;
! 
!    public void sendNotification(String message) throws MBeanException, RuntimeOperationsException;
! 
!    public void addAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback) throws MBeanException, RuntimeOperationsException, IllegalArgumentException;
! 
!    public void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException;
  //	public void removeAttributeChangeNotificationListener(NotificationListener listener, String attributeName, Object handback) throws MBeanException, RuntimeOperationsException, ListenerNotFoundException;
!    public void sendAttributeChangeNotification(AttributeChangeNotification notification) throws MBeanException, RuntimeOperationsException;
! 
!    public void sendAttributeChangeNotification(Attribute oldValue, Attribute newValue) throws MBeanException, RuntimeOperationsException;
  }

Index: XMLParseException.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/XMLParseException.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** XMLParseException.java	16 Jan 2003 18:35:15 -0000	1.1
--- XMLParseException.java	4 Sep 2004 15:44:04 -0000	1.2
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *
***************
*** 30,34 ****
     public XMLParseException(Exception x, String message)
     {
!        super(message + " - " + x);
     }
  }
--- 30,34 ----
     public XMLParseException(Exception x, String message)
     {
!       super(message + " - " + x);
     }
  }

Index: ModelMBeanConstructorInfo.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/ModelMBeanConstructorInfo.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** ModelMBeanConstructorInfo.java	30 Aug 2004 14:04:47 -0000	1.9
--- ModelMBeanConstructorInfo.java	4 Sep 2004 15:44:04 -0000	1.10
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *

Index: InvalidTargetObjectTypeException.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/InvalidTargetObjectTypeException.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** InvalidTargetObjectTypeException.java	7 Sep 2002 15:28:52 -0000	1.5
--- InvalidTargetObjectTypeException.java	4 Sep 2004 15:44:04 -0000	1.6
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *
***************
*** 10,14 ****
  
  /**
-  *
   * @author <a href="mailto:[email protected]">Simone Bordet</a>
   * @version $Revision$
--- 10,13 ----
***************
*** 17,30 ****
  public class InvalidTargetObjectTypeException extends /*JMException*/Exception
  {
! 	private static final long serialVersionUID = 1190536278266811217L;
  
! 	private Exception exception;
  
! 	public InvalidTargetObjectTypeException() {}
! 	public InvalidTargetObjectTypeException(String message) {super(message);}
! 	public InvalidTargetObjectTypeException(Exception x, String message)
! 	{
! 		super(message);
! 		this.exception = x;
! 	}
  }
--- 16,36 ----
  public class InvalidTargetObjectTypeException extends /*JMException*/Exception
  {
!    private static final long serialVersionUID = 1190536278266811217L;
  
!    private Exception exception;
  
!    public InvalidTargetObjectTypeException()
!    {
!    }
! 
!    public InvalidTargetObjectTypeException(String message)
!    {
!       super(message);
!    }
! 
!    public InvalidTargetObjectTypeException(Exception x, String message)
!    {
!       super(message);
!       this.exception = x;
!    }
  }

Index: ModelMBeanInfoSupport.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/ModelMBeanInfoSupport.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** ModelMBeanInfoSupport.java	13 Nov 2003 22:29:28 -0000	1.11
--- ModelMBeanInfoSupport.java	4 Sep 2004 15:44:04 -0000	1.12
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *
***************
[...1267 lines suppressed...]
!          "visibility"
!       };
!       String[] defvalues = {
!          (String)d.getFieldValue("name"),
!          "never",
!          "F",
!          "F",
!          "1"
!       };
!       List fields = Arrays.asList(d.getFieldNames());
!       for (int i = 0; i < reqfields.length; i++)
!       {
!          if (fields.contains(reqfields[i]) == false)
!          {
!             result.setField(reqfields[i], defvalues[i]);
!          }
!       }
!       return result;
!    }
! }

Index: ModelMBeanOperationInfo.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/ModelMBeanOperationInfo.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** ModelMBeanOperationInfo.java	7 Nov 2003 02:01:21 -0000	1.7
--- ModelMBeanOperationInfo.java	4 Sep 2004 15:44:04 -0000	1.8
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *
***************
*** 10,24 ****
  
  import java.lang.reflect.Method;
- import java.util.List;
  import java.util.Arrays;
! 
! import javax.management.MBeanOperationInfo;
! import javax.management.DescriptorAccess;
  import javax.management.Descriptor;
  import javax.management.MBeanParameterInfo;
  import javax.management.RuntimeOperationsException;
  
  /**
-  *
   * @author <a href="mailto:[email protected]">Simone Bordet</a>
   * @version $Revision$
--- 10,22 ----
  
  import java.lang.reflect.Method;
  import java.util.Arrays;
! import java.util.List;
  import javax.management.Descriptor;
+ import javax.management.DescriptorAccess;
+ import javax.management.MBeanOperationInfo;
  import javax.management.MBeanParameterInfo;
  import javax.management.RuntimeOperationsException;
  
  /**
   * @author <a href="mailto:[email protected]">Simone Bordet</a>
   * @version $Revision$
***************
*** 26,137 ****
  public class ModelMBeanOperationInfo extends MBeanOperationInfo implements DescriptorAccess
  {
! 	private static final long serialVersionUID = 6532732096650090465L;
  
! 	private Descriptor operationDescriptor;
  
! 	public ModelMBeanOperationInfo(String description, Method method)
! 	{
! 		this(description, method, null);
! 	}
! 	public ModelMBeanOperationInfo(String description, Method method, Descriptor descriptor)
! 	{
! 		super(description, method);
! 		checkAndSetDescriptor(descriptor);
! 	}
! 	public ModelMBeanOperationInfo(String name, String description, MBeanParameterInfo[] params, String type, int impact)
! 	{
! 		this(name, description, params, type, impact, null);
! 	}
! 	public ModelMBeanOperationInfo(String name, String description, MBeanParameterInfo[] params, String type, int impact, Descriptor descriptor)
! 	{
! 		super(name, description, params, type, impact);
! 		checkAndSetDescriptor(descriptor);
! 	}
! 	public ModelMBeanOperationInfo(ModelMBeanOperationInfo copy)
! 	{
! 		super(copy.getName(), copy.getDescription(), copy.getSignature(), copy.getReturnType(), copy.getImpact());
! 		checkAndSetDescriptor(copy.getDescriptor());
! 	}
  
! 	public Descriptor getDescriptor()
! 	{
! 		return (Descriptor)operationDescriptor.clone();
! 	}
  
! 	public void setDescriptor(Descriptor descriptor)
! 	{
! 				if (descriptor == null)
! 		{
! 			operationDescriptor = createDefaultDescriptor();
! 		}
! 		else
! 		{
! 						if (isDescriptorValid(descriptor))
! 			{
! 				operationDescriptor = (Descriptor)descriptor.clone();
! 			}
! 			else
! 			{
! 				// Not sure what to do here: javadoc says IllegalArgument, but for example ModelMBeanInfo throws RuntimeOperations
! 				// which is consistent with the fact that all exception thrown by the JMX implementation should be JMX exceptions
  //				throw new IllegalArgumentException("Invalid descriptor");
! 				throw new RuntimeOperationsException(new IllegalArgumentException("Invalid descriptor"));
! 			}
! 		}
! 	}
  
! 	private void checkAndSetDescriptor(Descriptor descriptor)
! 	{
! 		if (descriptor == null)
! 		{
! 			operationDescriptor = createDefaultDescriptor();
! 		}
! 		else if (isDescriptorValid(descriptor))
! 		{
! 			operationDescriptor = (Descriptor)descriptor.clone();
! 			if (operationDescriptor.getFieldValue("displayName") == null) 
! 			{
! 				operationDescriptor.setField("displayName", getName());
! 			}
! 		}
! 		else
! 		{
! 			throw new RuntimeOperationsException(new IllegalArgumentException("Invalid Descriptor"));
! 		}
! 	}
  
! 	private boolean isDescriptorValid(Descriptor descriptor)
! 	{
! 		if (!descriptor.isValid()) {return false;}
  
! 		// Spec compliance checks
  
! 		// Mandatory fields are: name, descriptorType, role, lastReturnedTimeStamp(?)
! 		List names = Arrays.asList(descriptor.getFieldNames());
  
! 		// Remember that names are lower case
! 		if (!names.contains("name") ||
! 			!names.contains("descriptortype") ||
! 			!names.contains("role")) {return false;}
! 		// Case sensitive name
! 		String name = getName();
! 		if (name == null) {return false;}
! 		if (!name.equals(descriptor.getFieldValue("name"))) {return false;}
! 		// Descriptor type must be 'operation'
! 		String desctype = (String) descriptor.getFieldValue("descriptortype");
! 		if (desctype.compareToIgnoreCase("operation") != 0) return false;
! 		// Role must be 'getter' or 'setter' or 'operation'
! 		if (!"getter".equals(descriptor.getFieldValue("role")) &&
! 			!"setter".equals(descriptor.getFieldValue("role")) &&
! 			!"operation".equals(descriptor.getFieldValue("role"))) {return false;}
  
! 		return true;
! 	}
  
! 	private Descriptor createDefaultDescriptor()
! 	{
! 		String[] names = new String[] {"name", "descriptorType", "role", "displayName"/*, "lastReturnedTimeStamp"*/};
! 		Object[] values = new Object[] {getName(), "operation", "operation", getName()/*, "0"*/};
! 		return new DescriptorSupport(names, values);
! 	}
  }
--- 24,154 ----
  public class ModelMBeanOperationInfo extends MBeanOperationInfo implements DescriptorAccess
  {
!    private static final long serialVersionUID = 6532732096650090465L;
  
!    private Descriptor operationDescriptor;
  
!    public ModelMBeanOperationInfo(String description, Method method)
!    {
!       this(description, method, null);
!    }
  
!    public ModelMBeanOperationInfo(String description, Method method, Descriptor descriptor)
!    {
!       super(description, method);
!       checkAndSetDescriptor(descriptor);
!    }
  
!    public ModelMBeanOperationInfo(String name, String description, MBeanParameterInfo[] params, String type, int impact)
!    {
!       this(name, description, params, type, impact, null);
!    }
! 
!    public ModelMBeanOperationInfo(String name, String description, MBeanParameterInfo[] params, String type, int impact, Descriptor descriptor)
!    {
!       super(name, description, params, type, impact);
!       checkAndSetDescriptor(descriptor);
!    }
! 
!    public ModelMBeanOperationInfo(ModelMBeanOperationInfo copy)
!    {
!       super(copy.getName(), copy.getDescription(), copy.getSignature(), copy.getReturnType(), copy.getImpact());
!       checkAndSetDescriptor(copy.getDescriptor());
!    }
! 
!    public Descriptor getDescriptor()
!    {
!       return (Descriptor)operationDescriptor.clone();
!    }
! 
!    public void setDescriptor(Descriptor descriptor)
!    {
!       if (descriptor == null)
!       {
!          operationDescriptor = createDefaultDescriptor();
!       }
!       else
!       {
!          if (isDescriptorValid(descriptor))
!          {
!             operationDescriptor = (Descriptor)descriptor.clone();
!          }
!          else
!          {
!             // Not sure what to do here: javadoc says IllegalArgument, but for example ModelMBeanInfo throws RuntimeOperations
!             // which is consistent with the fact that all exception thrown by the JMX implementation should be JMX exceptions
  //				throw new IllegalArgumentException("Invalid descriptor");
!             throw new RuntimeOperationsException(new IllegalArgumentException("Invalid descriptor"));
!          }
!       }
!    }
  
!    private void checkAndSetDescriptor(Descriptor descriptor)
!    {
!       if (descriptor == null)
!       {
!          operationDescriptor = createDefaultDescriptor();
!       }
!       else if (isDescriptorValid(descriptor))
!       {
!          operationDescriptor = (Descriptor)descriptor.clone();
!          if (operationDescriptor.getFieldValue("displayName") == null)
!          {
!             operationDescriptor.setField("displayName", getName());
!          }
!       }
!       else
!       {
!          throw new RuntimeOperationsException(new IllegalArgumentException("Invalid Descriptor"));
!       }
!    }
  
!    private boolean isDescriptorValid(Descriptor descriptor)
!    {
!       if (!descriptor.isValid())
!       {
!          return false;
!       }
  
!       // Spec compliance checks
  
!       // Mandatory fields are: name, descriptorType, role, lastReturnedTimeStamp(?)
!       List names = Arrays.asList(descriptor.getFieldNames());
  
!       // Remember that names are lower case
!       if (!names.contains("name") ||
!           !names.contains("descriptortype") ||
!           !names.contains("role"))
!       {
!          return false;
!       }
!       // Case sensitive name
!       String name = getName();
!       if (name == null)
!       {
!          return false;
!       }
!       if (!name.equals(descriptor.getFieldValue("name")))
!       {
!          return false;
!       }
!       // Descriptor type must be 'operation'
!       String desctype = (String)descriptor.getFieldValue("descriptortype");
!       if (desctype.compareToIgnoreCase("operation") != 0) return false;
!       // Role must be 'getter' or 'setter' or 'operation'
!       if (!"getter".equals(descriptor.getFieldValue("role")) &&
!           !"setter".equals(descriptor.getFieldValue("role")) &&
!           !"operation".equals(descriptor.getFieldValue("role")))
!       {
!          return false;
!       }
  
!       return true;
!    }
  
!    private Descriptor createDefaultDescriptor()
!    {
!       String[] names = new String[]{"name", "descriptorType", "role", "displayName"/*, "lastReturnedTimeStamp"*/};
!       Object[] values = new Object[]{getName(), "operation", "operation", getName()/*, "0"*/};
!       return new DescriptorSupport(names, values);
!    }
  }

Index: ModelMBeanNotificationInfo.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/ModelMBeanNotificationInfo.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** ModelMBeanNotificationInfo.java	30 Aug 2004 14:04:47 -0000	1.7
--- ModelMBeanNotificationInfo.java	4 Sep 2004 15:44:04 -0000	1.8
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *

Index: ModelMBean.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/ModelMBean.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ModelMBean.java	28 Feb 2002 11:47:35 -0000	1.2
--- ModelMBean.java	4 Sep 2004 15:44:04 -0000	1.3
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *
***************
*** 10,20 ****
  
  import javax.management.DynamicMBean;
- import javax.management.RuntimeOperationsException;
- import javax.management.MBeanException;
  import javax.management.InstanceNotFoundException;
  import javax.management.PersistentMBean;
  
  /**
-  *
   * @author <a href="mailto:[email protected]">Simone Bordet</a>
   * @version $Revision$
--- 10,19 ----
  
  import javax.management.DynamicMBean;
  import javax.management.InstanceNotFoundException;
+ import javax.management.MBeanException;
  import javax.management.PersistentMBean;
+ import javax.management.RuntimeOperationsException;
  
  /**
   * @author <a href="mailto:[email protected]">Simone Bordet</a>
   * @version $Revision$
***************
*** 22,26 ****
  public interface ModelMBean extends DynamicMBean, PersistentMBean, ModelMBeanNotificationBroadcaster
  {
! 	public void setModelMBeanInfo(ModelMBeanInfo modelMBeanInfo) throws MBeanException, RuntimeOperationsException;
! 	public void setManagedResource(Object resource, String resourceType) throws MBeanException, RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException;
  }
--- 21,26 ----
  public interface ModelMBean extends DynamicMBean, PersistentMBean, ModelMBeanNotificationBroadcaster
  {
!    public void setModelMBeanInfo(ModelMBeanInfo modelMBeanInfo) throws MBeanException, RuntimeOperationsException;
! 
!    public void setManagedResource(Object resource, String resourceType) throws MBeanException, RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException;
  }

Index: ModelMBeanAttributeInfo.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/ModelMBeanAttributeInfo.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** ModelMBeanAttributeInfo.java	30 Aug 2004 14:04:47 -0000	1.10
--- ModelMBeanAttributeInfo.java	4 Sep 2004 15:44:04 -0000	1.11
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *

Index: ModelMBeanInfo.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/javax/management/modelmbean/ModelMBeanInfo.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** ModelMBeanInfo.java	30 Aug 2004 13:59:16 -0000	1.4
--- ModelMBeanInfo.java	4 Sep 2004 15:44:04 -0000	1.5
***************
*** 1,4 ****
  /*
!  * Copyright (C) MX4J.
   * All rights reserved.
   *
--- 1,4 ----
  /*
!  * Copyright (C) The MX4J Contributors.
   * All rights reserved.
   *



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click