User: ejort   
  Date: 02/03/24 03:50:26

  Modified:    src/main/javax/management Tag: BranchMX_1_0 AndQueryExp.java
                        AnySubStringQueryExp.java AttributeValueExp.java
                        BetweenQueryExp.java BinaryComparisonQueryExp.java
                        BinaryOpValueExp.java ClassAttributeValueExp.java
                        FinalSubStringQueryExp.java InQueryExp.java
                        InitialSubStringQueryExp.java MatchQueryExp.java
                        NotQueryExp.java NumberValueExp.java
                        OrQueryExp.java QualifiedAttributeValueExp.java
                        QueryEval.java QueryExpSupport.java
                        StringValueExp.java ValueExpSupport.java
  Log:
  Made queries threadsafe, better but still incomplete monitor tests
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +6 -8      jmx/src/main/javax/management/AndQueryExp.java
  
  Index: AndQueryExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/AndQueryExp.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- AndQueryExp.java  16 Mar 2002 12:38:50 -0000      1.1.2.1
  +++ AndQueryExp.java  24 Mar 2002 11:50:26 -0000      1.1.2.2
  @@ -18,12 +18,16 @@
    * <ul>
    * <li>Fix the human readable expression
    * </ul>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1.2.1 $
  + * @version $Revision: 1.1.2.2 $
    */
   /*package*/ class AndQueryExp
  -   implements QueryExp
  +   extends QueryExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -66,12 +70,6 @@
                InvalidApplicationException
      {
         return first.apply(name) && second.apply(name); 
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      first.setMBeanServer(server);
  -      second.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.1.2.1   +7 -7      jmx/src/main/javax/management/AnySubStringQueryExp.java
  
  Index: AnySubStringQueryExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/AnySubStringQueryExp.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- AnySubStringQueryExp.java 22 Feb 2002 16:44:32 -0000      1.1
  +++ AnySubStringQueryExp.java 24 Mar 2002 11:50:26 -0000      1.1.2.1
  @@ -12,12 +12,18 @@
    * An Any Substring Query Expression.<p>
    *
    * Returns true when an attribute value contains the string expression.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.1.2.1 $
    */
   /*package*/ class AnySubStringQueryExp
  -   implements QueryExp
  +   extends QueryExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -68,12 +74,6 @@
         }
         // REVIEW: correct?
         return false;
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      attr.setMBeanServer(server);
  -      string.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.2.2.1   +9 -24     jmx/src/main/javax/management/AttributeValueExp.java
  
  Index: AttributeValueExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/AttributeValueExp.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- AttributeValueExp.java    22 Feb 2002 16:44:32 -0000      1.2
  +++ AttributeValueExp.java    24 Mar 2002 11:50:26 -0000      1.2.2.1
  @@ -8,15 +8,18 @@
   
   /**
    * A String that is an arguement to a query.<p>
  - *
  - * There is some duplication of implementation because of the poor
  - * design.
    * 
  + * <p><b>Revisions:</b>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
  + *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.2.2.1 $
    */
   public class AttributeValueExp
  -   implements ValueExp
  +   extends ValueExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -27,11 +30,6 @@
       */
      private String value;
   
  -   /**
  -    * The MBean server for this expression
  -    */
  -   private MBeanServer server;
  -
      // Static  -----------------------------------------------------
   
      // Constructors ------------------------------------------------
  @@ -84,11 +82,6 @@
         throw new BadAttributeValueExpException(object);
      }
   
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      this.server = server;
  -   }
  -
      // Object overrides --------------------------------------------
   
      public String toString()
  @@ -108,7 +101,7 @@
      {
         try
         {
  -         return server.getAttribute(name, value);
  +         return getMBeanServer().getAttribute(name, value);
         }
         catch (Exception e)
         {
  @@ -118,14 +111,6 @@
      }
   
      // Package Private ---------------------------------------------
  -
  -   /**
  -    * Get the server.
  -    */
  -   MBeanServer getServer()
  -   {
  -      return server;
  -   }
   
      // Private -----------------------------------------------------
   
  
  
  
  1.1.2.2   +6 -9      jmx/src/main/javax/management/BetweenQueryExp.java
  
  Index: BetweenQueryExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/BetweenQueryExp.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- BetweenQueryExp.java      16 Mar 2002 12:38:50 -0000      1.1.2.1
  +++ BetweenQueryExp.java      24 Mar 2002 11:50:26 -0000      1.1.2.2
  @@ -19,12 +19,16 @@
    * <ul>
    * <li>Fix the human readable expression
    * </ul>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1.2.1 $
  + * @version $Revision: 1.1.2.2 $
    */
   /*package*/ class BetweenQueryExp
  -   implements QueryExp
  +   extends QueryExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -101,13 +105,6 @@
            // REVIEW: correct? Does this apply to boolean :-)
            return false;
         }
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      test.setMBeanServer(server);
  -      lower.setMBeanServer(server);
  -      upper.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.1.2.2   +5 -7      jmx/src/main/javax/management/BinaryComparisonQueryExp.java
  
  Index: BinaryComparisonQueryExp.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jmx/src/main/javax/management/BinaryComparisonQueryExp.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- BinaryComparisonQueryExp.java     16 Mar 2002 12:38:50 -0000      1.1.2.1
  +++ BinaryComparisonQueryExp.java     24 Mar 2002 11:50:26 -0000      1.1.2.2
  @@ -14,9 +14,13 @@
    * <ul>
    * <li>Added human readable string representation.            
    * </ul>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1.2.1 $
  + * @version $Revision: 1.1.2.2 $
    */
   /*package*/ class BinaryComparisonQueryExp
      extends QueryExpSupport
  @@ -125,12 +129,6 @@
         }
         // Review What happens now?
         throw new BadBinaryOpValueExpException(testFirst);
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      first.setMBeanServer(server);
  -      second.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.2.2.2   +38 -19    jmx/src/main/javax/management/BinaryOpValueExp.java
  
  Index: BinaryOpValueExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/BinaryOpValueExp.java,v
  retrieving revision 1.2.2.1
  retrieving revision 1.2.2.2
  diff -u -r1.2.2.1 -r1.2.2.2
  --- BinaryOpValueExp.java     16 Mar 2002 12:38:50 -0000      1.2.2.1
  +++ BinaryOpValueExp.java     24 Mar 2002 11:50:26 -0000      1.2.2.2
  @@ -14,9 +14,13 @@
    * <ul>
    * <li>Added human readable string representation.            
    * </ul>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.2.2.1 $
  + * @version $Revision: 1.2.2.2 $
    */
   /*package*/ class BinaryOpValueExp
      extends ValueExpSupport
  @@ -73,20 +77,41 @@
   
         if (testFirst instanceof NumberValueExp)
         {
  -         switch (operation)
  +         if (((NumberValueExp)testFirst).isInteger())
            {
  -         case Query.PLUS:
  -            return Query.value(((NumberValueExp)testFirst).getDoubleValue() + 
  -                               ((NumberValueExp)testSecond).getDoubleValue());
  -         case Query.MINUS:
  -            return Query.value(((NumberValueExp)testFirst).getDoubleValue() -
  -                               ((NumberValueExp)testSecond).getDoubleValue());
  -         case Query.TIMES:
  -            return Query.value(((NumberValueExp)testFirst).getDoubleValue() *
  -                               ((NumberValueExp)testSecond).getDoubleValue());
  -         case Query.DIV:
  -            return Query.value(((NumberValueExp)testFirst).getDoubleValue() /
  +            switch (operation)
  +            {
  +            case Query.PLUS:
  +               return Query.value(((NumberValueExp)testFirst).getLongValue() + 
  +                                  ((NumberValueExp)testSecond).getLongValue());
  +            case Query.MINUS:
  +               return Query.value(((NumberValueExp)testFirst).getLongValue() -
  +                                  ((NumberValueExp)testSecond).getLongValue());
  +            case Query.TIMES:
  +               return Query.value(((NumberValueExp)testFirst).getLongValue() *
  +                                  ((NumberValueExp)testSecond).getLongValue());
  +            case Query.DIV:
  +               return Query.value(((NumberValueExp)testFirst).getLongValue() /
  +                               ((NumberValueExp)testSecond).getLongValue());
  +            }
  +         }
  +         else
  +         {
  +            switch (operation)
  +            {
  +            case Query.PLUS:
  +               return Query.value(((NumberValueExp)testFirst).getDoubleValue() + 
  +                                  ((NumberValueExp)testSecond).getDoubleValue());
  +            case Query.MINUS:
  +               return Query.value(((NumberValueExp)testFirst).getDoubleValue() -
  +                                  ((NumberValueExp)testSecond).getDoubleValue());
  +            case Query.TIMES:
  +               return Query.value(((NumberValueExp)testFirst).getDoubleValue() *
  +                                  ((NumberValueExp)testSecond).getDoubleValue());
  +            case Query.DIV:
  +               return Query.value(((NumberValueExp)testFirst).getDoubleValue() /
                                  ((NumberValueExp)testSecond).getDoubleValue());
  +            }
            }
         }
         else if (testFirst instanceof StringValueExp)
  @@ -102,12 +127,6 @@
         }
         // Review What happens now?
         throw new BadBinaryOpValueExpException(testFirst);
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      first.setMBeanServer(server);
  -      second.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.1.2.1   +8 -2      jmx/src/main/javax/management/ClassAttributeValueExp.java
  
  Index: ClassAttributeValueExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/ClassAttributeValueExp.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- ClassAttributeValueExp.java       22 Feb 2002 16:44:32 -0000      1.1
  +++ ClassAttributeValueExp.java       24 Mar 2002 11:50:26 -0000      1.1.2.1
  @@ -7,10 +7,16 @@
   package javax.management;
   
   /**
  - * What is this?
  + * Get the class name of the mbean
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.1.2.1 $
    */
   /*package*/ class ClassAttributeValueExp
      extends AttributeValueExp
  @@ -44,7 +50,7 @@
      {
          try
          {
  -          ObjectInstance instance = getServer().getObjectInstance(name);
  +          ObjectInstance instance = getMBeanServer().getObjectInstance(name);
             return Query.value(instance.getClassName());
          }
          catch (Exception e)
  
  
  
  1.1.2.1   +6 -7      jmx/src/main/javax/management/FinalSubStringQueryExp.java
  
  Index: FinalSubStringQueryExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/FinalSubStringQueryExp.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- FinalSubStringQueryExp.java       22 Feb 2002 16:44:32 -0000      1.1
  +++ FinalSubStringQueryExp.java       24 Mar 2002 11:50:26 -0000      1.1.2.1
  @@ -12,12 +12,17 @@
    * A Final Substring Query Expression.<p>
    *
    * Returns true when an attribute value ends with the string expression.
  + *
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.1.2.1 $
    */
   /*package*/ class FinalSubStringQueryExp
  -   implements QueryExp
  +   extends QueryExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -68,12 +73,6 @@
         }
         // REVIEW: correct?
         return false;
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      attr.setMBeanServer(server);
  -      string.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.1.2.2   +6 -9      jmx/src/main/javax/management/InQueryExp.java
  
  Index: InQueryExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/InQueryExp.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- InQueryExp.java   16 Mar 2002 12:38:50 -0000      1.1.2.1
  +++ InQueryExp.java   24 Mar 2002 11:50:26 -0000      1.1.2.2
  @@ -20,12 +20,16 @@
    * <ul>
    * <li>Don't put ; on the end of if statements :-)
    * </ul>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1.2.1 $
  + * @version $Revision: 1.1.2.2 $
    */
   /*package*/ class InQueryExp
  -   implements QueryExp
  +   extends QueryExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -96,13 +100,6 @@
         }
         // No match
         return false;
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      test.setMBeanServer(server);
  -      for (int i = 0; i < list.length; i++)
  -        list[i].setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.1.2.1   +7 -7      jmx/src/main/javax/management/InitialSubStringQueryExp.java
  
  Index: InitialSubStringQueryExp.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jmx/src/main/javax/management/InitialSubStringQueryExp.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- InitialSubStringQueryExp.java     22 Feb 2002 16:44:32 -0000      1.1
  +++ InitialSubStringQueryExp.java     24 Mar 2002 11:50:26 -0000      1.1.2.1
  @@ -12,12 +12,18 @@
    * An Initial Substring Query Expression.<p>
    *
    * Returns true when an attribute value starts with the string expression.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.1.2.1 $
    */
   /*package*/ class InitialSubStringQueryExp
  -   implements QueryExp
  +   extends QueryExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -68,12 +74,6 @@
         }
         // REVIEW: correct?
         return false;
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      attr.setMBeanServer(server);
  -      string.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.2.2.2   +6 -8      jmx/src/main/javax/management/MatchQueryExp.java
  
  Index: MatchQueryExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/MatchQueryExp.java,v
  retrieving revision 1.2.2.1
  retrieving revision 1.2.2.2
  diff -u -r1.2.2.1 -r1.2.2.2
  --- MatchQueryExp.java        16 Mar 2002 12:38:50 -0000      1.2.2.1
  +++ MatchQueryExp.java        24 Mar 2002 11:50:26 -0000      1.2.2.2
  @@ -18,12 +18,16 @@
    * <ul>
    * <li>Fixed most of the escaping
    * </ul>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.2.2.1 $
  + * @version $Revision: 1.2.2.2 $
    */
   /*package*/ class MatchQueryExp
  -   implements QueryExp
  +   extends QueryExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -132,12 +136,6 @@
         }
         // Correct?
         return false;
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      attr.setMBeanServer(server);
  -      string.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.1.2.2   +6 -7      jmx/src/main/javax/management/NotQueryExp.java
  
  Index: NotQueryExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/NotQueryExp.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- NotQueryExp.java  16 Mar 2002 12:38:50 -0000      1.1.2.1
  +++ NotQueryExp.java  24 Mar 2002 11:50:26 -0000      1.1.2.2
  @@ -18,12 +18,16 @@
    * <ul>
    * <li>Fix the human readable expression
    * </ul>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1.2.1 $
  + * @version $Revision: 1.1.2.2 $
    */
   /*package*/ class NotQueryExp
  -   implements QueryExp
  +   extends QueryExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -60,11 +64,6 @@
                InvalidApplicationException
      {
         return !expression.apply(name); 
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      expression.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.2.2.1   +19 -2     jmx/src/main/javax/management/NumberValueExp.java
  
  Index: NumberValueExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/NumberValueExp.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- NumberValueExp.java       22 Feb 2002 16:44:32 -0000      1.2
  +++ NumberValueExp.java       24 Mar 2002 11:50:26 -0000      1.2.2.1
  @@ -10,7 +10,7 @@
    * A Number that is an arguement to a query.<p>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.2.2.1 $
    */
   /*package*/ class NumberValueExp
      extends SingleValueExpSupport
  @@ -36,7 +36,24 @@
      // Public ------------------------------------------------------
   
      /**
  -    * Get the value of this number
  +    * Test whether the type is integer
  +    */
  +   public boolean isInteger()
  +   {
  +       Object value = getValue();
  +       return value instanceof Integer || value instanceof Long;
  +   }
  +
  +   /**
  +    * Get the value of this number (integers)
  +    */
  +   public double getLongValue()
  +   {
  +       return ((Number)getValue()).longValue();
  +   }
  +
  +   /**
  +    * Get the value of this number (floating)
       */
      public double getDoubleValue()
      {
  
  
  
  1.1.2.2   +6 -8      jmx/src/main/javax/management/OrQueryExp.java
  
  Index: OrQueryExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/OrQueryExp.java,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- OrQueryExp.java   16 Mar 2002 12:38:50 -0000      1.1.2.1
  +++ OrQueryExp.java   24 Mar 2002 11:50:26 -0000      1.1.2.2
  @@ -18,12 +18,16 @@
    * <ul>
    * <li>Fix the human readable expression
    * </ul>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1.2.1 $
  + * @version $Revision: 1.1.2.2 $
    */
   /*package*/ class OrQueryExp
  -   implements QueryExp
  +   extends QueryExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -67,12 +71,6 @@
                InvalidApplicationException
      {
         return first.apply(name) || second.apply(name); 
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      first.setMBeanServer(server);
  -      second.setMBeanServer(server);
      }
   
      // Object overrides --------------------------------------------
  
  
  
  1.1.2.1   +1 -1      jmx/src/main/javax/management/QualifiedAttributeValueExp.java
  
  Index: QualifiedAttributeValueExp.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jmx/src/main/javax/management/QualifiedAttributeValueExp.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- QualifiedAttributeValueExp.java   22 Feb 2002 16:44:32 -0000      1.1
  +++ QualifiedAttributeValueExp.java   24 Mar 2002 11:50:26 -0000      1.1.2.1
  @@ -10,7 +10,7 @@
    * A qualified string that is an argument to a query.<p>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.1.2.1 $
    */
   /*package*/ class QualifiedAttributeValueExp
      extends AttributeValueExp
  @@ -53,7 +53,7 @@
      {
         try
         {
  -         ObjectInstance instance = getServer().getObjectInstance(name);
  +         ObjectInstance instance = getMBeanServer().getObjectInstance(name);
            if (instance.getClassName().equals(className))
               return super.apply(name);
         }
  
  
  
  1.1.2.1   +12 -8     jmx/src/main/javax/management/QueryEval.java
  
  Index: QueryEval.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/QueryEval.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- QueryEval.java    17 Feb 2002 12:41:52 -0000      1.1
  +++ QueryEval.java    24 Mar 2002 11:50:26 -0000      1.1.2.1
  @@ -9,13 +9,16 @@
   import java.io.Serializable;
   
   /**
  - * Support for evaluting a query in the context of an MBeanServer.<p>
  + * Support for evaluting a query in the context of an MBeanServer.
    *
  - * This is obviously rubbish. Design and implementation shouldn't be
  - * so closely bound together.
  + * <p><b>Revisions:</b>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.1.2.1 $
    */
   public abstract class QueryEval
      implements Serializable
  @@ -24,11 +27,12 @@
   
      // Attributes --------------------------------------------------
   
  +   // Static ------------------------------------------------------
  +
      /**
  -    * I guess in the RI, all the implementation of queries is in
  -    * javax.management?
  +    * The MBeanServer (one per thread)
       */
  -   /*package*/ MBeanServer server;
  +   /*package*/ static ThreadLocal server = new ThreadLocal();
   
      // Public ------------------------------------------------------
   
  @@ -40,6 +44,6 @@
       */
      public void setMBeanServer(MBeanServer server)
      {
  -      this.server = server;
  +      this.server.set(server);
      }
   }
  
  
  
  1.1.2.1   +10 -7     jmx/src/main/javax/management/QueryExpSupport.java
  
  Index: QueryExpSupport.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/QueryExpSupport.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- QueryExpSupport.java      17 Feb 2002 12:41:52 -0000      1.1
  +++ QueryExpSupport.java      24 Mar 2002 11:50:26 -0000      1.1.2.1
  @@ -10,9 +10,15 @@
   
   /**
    * An implementation of Query expression. Apply always returns false.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.1.2.1 $
    */
   /*package*/ class QueryExpSupport
      implements QueryExp
  @@ -21,11 +27,6 @@
   
      // Attributes --------------------------------------------------
   
  -   /**
  -    * The MBean server
  -    */
  -   protected MBeanServer server;
  -
      // Static ------------------------------------------------------
   
      // Public ------------------------------------------------------
  @@ -43,12 +44,14 @@
   
      public void setMBeanServer(MBeanServer server)
      {
  -     this.server = server;
  +      QueryEval.server.set(server);
      }
   
      // X overides --------------------------------------------------
   
      // Protected ---------------------------------------------------
  +
  +   // Package Private ---------------------------------------------
   
      // Private -----------------------------------------------------
   
  
  
  
  1.1.2.1   +10 -22    jmx/src/main/javax/management/StringValueExp.java
  
  Index: StringValueExp.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/StringValueExp.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- StringValueExp.java       17 Feb 2002 12:41:52 -0000      1.1
  +++ StringValueExp.java       24 Mar 2002 11:50:26 -0000      1.1.2.1
  @@ -7,16 +7,19 @@
   package javax.management;
   
   /**
  - * A String that is an arguement to a query.<p>
  + * A String that is an arguement to a query.
    *
  - * There is some duplication of implementation because of the poor
  - * design.
  + * <p><b>Revisions:</b>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.1.2.1 $
    */
   public class StringValueExp
  -   implements ValueExp
  +   extends ValueExpSupport
   {
      // Constants ---------------------------------------------------
   
  @@ -27,11 +30,6 @@
       */
      private String value;
   
  -   /**
  -    * The MBean server for this expression
  -    */
  -   private MBeanServer server;
  -
      // Static  -----------------------------------------------------
   
      // Constructors ------------------------------------------------
  @@ -60,22 +58,12 @@
       *
       * @return the string value
       */
  -   public String getValue()
  +   public String getString()
      {
         return value;
      }
   
  -   // ValueExp Implementation -------------------------------------
  -
  -   public ValueExp apply(ObjectName name)
  -   {
  -      return this;
  -   }
  -
  -   public void setMBeanServer(MBeanServer server)
  -   {
  -      this.server = server;
  -   }
  +   // ValueExpSupport Overrides -----------------------------------
   
      // Object overrides --------------------------------------------
   
  
  
  
  1.1.2.1   +18 -15    jmx/src/main/javax/management/ValueExpSupport.java
  
  Index: ValueExpSupport.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/ValueExpSupport.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- ValueExpSupport.java      17 Feb 2002 12:41:52 -0000      1.1
  +++ ValueExpSupport.java      24 Mar 2002 11:50:26 -0000      1.1.2.1
  @@ -10,9 +10,15 @@
   
   /**
    * An implementation of Value expression. Apply always returns this.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020317 Adrian Brock:</b>
  + * <ul>
  + * <li>Make queries thread safe
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.1.2.1 $
    */
   /*package*/ class ValueExpSupport
      implements ValueExp
  @@ -21,25 +27,12 @@
   
      // Attributes --------------------------------------------------
   
  -   /**
  -    * The MBean server
  -    */
  -   private MBeanServer server;
  -
      // Static ------------------------------------------------------
   
      // Constructor -------------------------------------------------
   
      // Public ------------------------------------------------------
   
  -   /**
  -    * Get the MBean server
  -    */
  -   public Object getMBeanServer()
  -   {
  -      return server;
  -   }
  -
      // ValueExp implementation -------------------------------------
   
      public ValueExp apply(ObjectName name)
  @@ -53,12 +46,22 @@
   
      public void setMBeanServer(MBeanServer server)
      {
  -     this.server = server;
  +      QueryEval.server.set(server);
      }
   
      // Object overrides --------------------------------------------
   
      // Protected ---------------------------------------------------
  +
  +   // Package -----------------------------------------------------
  +
  +   /**
  +    * Get the MBean server
  +    */
  +   /*package*/ MBeanServer getMBeanServer()
  +   {
  +      return (MBeanServer) QueryEval.server.get();
  +   }
   
      // Private -----------------------------------------------------
   
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to