User: ejort   
  Date: 02/03/15 12:26:39

  Modified:    src/main/javax/management AndQueryExp.java
                        BetweenQueryExp.java BinaryComparisonQueryExp.java
                        BinaryOpValueExp.java InQueryExp.java
                        MBeanServerNotification.java MatchQueryExp.java
                        NotQueryExp.java OrQueryExp.java
  Log:
  More tests, completed basic unit tests RelationService and Query
  
  Revision  Changes    Path
  1.2       +7 -1      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
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AndQueryExp.java  22 Feb 2002 16:44:32 -0000      1.1
  +++ AndQueryExp.java  15 Mar 2002 20:26:38 -0000      1.2
  @@ -12,9 +12,15 @@
    * An And Query Expression.<p>
    *
    * Returns true only when both expressions are true.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020314 Adrian Brock:</b>
  + * <ul>
  + * <li>Fix the human readable expression
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   /*package*/ class AndQueryExp
      implements QueryExp
  @@ -72,7 +78,7 @@
   
      public String toString()
      {
  -      return new String("(" +first.toString() + " && " + second.toString()) + ")";
  +      return new String("(" +first.toString() + ") && (" + second.toString()) + ")";
      }
   
      // Protected ---------------------------------------------------
  
  
  
  1.2       +8 -2      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
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BetweenQueryExp.java      22 Feb 2002 16:44:32 -0000      1.1
  +++ BetweenQueryExp.java      15 Mar 2002 20:26:39 -0000      1.2
  @@ -13,9 +13,15 @@
    *
    * Returns true only when the test expression is between the lower and
    * upper bounds inclusive.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020314 Adrian Brock:</b>
  + * <ul>
  + * <li>Fix the human readable expression
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   /*package*/ class BetweenQueryExp
      implements QueryExp
  @@ -108,8 +114,8 @@
   
      public String toString()
      {
  -      return new String("(" +lower.toString() + " <= " + test.toString() +
  -                        " <= " + upper.toString()) + ")";
  +      return new String("(" +lower.toString() + ") <= (" + test.toString() +
  +                        ") <= (" + upper.toString()) + ")";
      }
   
      // Protected ---------------------------------------------------
  
  
  
  1.2       +33 -2     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
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BinaryComparisonQueryExp.java     22 Feb 2002 16:44:32 -0000      1.1
  +++ BinaryComparisonQueryExp.java     15 Mar 2002 20:26:39 -0000      1.2
  @@ -7,10 +7,16 @@
   package javax.management;
   
   /**
  - * A Binary Comparison query.<p>
  + * A Binary Comparison query.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020314 Adrian Brock:</b>
  + * <ul>
  + * <li>Added human readable string representation.            
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   /*package*/ class BinaryComparisonQueryExp
      extends QueryExpSupport
  @@ -127,7 +133,32 @@
         second.setMBeanServer(server);
      }
   
  -   // Y overrides -------------------------------------------------
  +   // Object overrides --------------------------------------------
  +
  +   public String toString()
  +   {
  +      StringBuffer buffer = new StringBuffer();
  +      buffer.append("(");
  +      buffer.append(first);
  +      buffer.append(")");
  +      switch (operation)
  +      {
  +      case Query.GT:
  +         buffer.append(" > "); break;
  +      case Query.GE:
  +         buffer.append(" >= "); break;
  +      case Query.LT:
  +         buffer.append(" < "); break;
  +      case Query.LE:
  +         buffer.append(" <= "); break;
  +      case Query.EQ:
  +         buffer.append(" == ");
  +      }
  +      buffer.append("(");
  +      buffer.append(second);
  +      buffer.append(")");
  +      return buffer.toString();
  +   }
   
      // Protected ---------------------------------------------------
   
  
  
  
  1.3       +32 -3     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
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BinaryOpValueExp.java     22 Feb 2002 16:44:32 -0000      1.2
  +++ BinaryOpValueExp.java     15 Mar 2002 20:26:39 -0000      1.3
  @@ -7,10 +7,16 @@
   package javax.management;
   
   /**
  - * A Binary Operation that is an arguement to a query.<p>
  + * A Binary Operation that is an arguement to a query.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020314 Adrian Brock:</b>
  + * <ul>
  + * <li>Added human readable string representation.            
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    */
   /*package*/ class BinaryOpValueExp
      extends ValueExpSupport
  @@ -104,7 +110,30 @@
         second.setMBeanServer(server);
      }
   
  -   // Y overrides -------------------------------------------------
  +   // Object overrides --------------------------------------------
  +
  +   public String toString()
  +   {
  +      StringBuffer buffer = new StringBuffer();
  +      buffer.append("(");
  +      buffer.append(first);
  +      buffer.append(")");
  +      switch (operation)
  +      {
  +      case Query.PLUS:
  +         buffer.append(" + "); break;
  +      case Query.MINUS:
  +         buffer.append(" - "); break;
  +      case Query.TIMES:
  +         buffer.append(" * "); break;
  +      case Query.DIV:
  +         buffer.append(" / ");
  +      }
  +      buffer.append("(");
  +      buffer.append(second);
  +      buffer.append(")");
  +      return buffer.toString();
  +   }
   
      // Protected ---------------------------------------------------
   
  
  
  
  1.2       +11 -3     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
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InQueryExp.java   22 Feb 2002 16:44:32 -0000      1.1
  +++ InQueryExp.java   15 Mar 2002 20:26:39 -0000      1.2
  @@ -12,9 +12,17 @@
    * An In Query Expression.<p>
    *
    * Returns true only when any of the values are match.
  + *
  + * Returns true only when both expressions are true.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020315 Adrian Brock:</b>
  + * <ul>
  + * <li>Don't put ; on the end of if statements :-)
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   /*package*/ class InQueryExp
      implements QueryExp
  @@ -68,21 +76,21 @@
            if (calcTest instanceof NumberValueExp)
            {
               if (((NumberValueExp)calcTest).getDoubleValue() ==
  -                ((NumberValueExp)calcList).getDoubleValue());
  +                ((NumberValueExp)calcList).getDoubleValue())
                  return true;
            }
            // String
            else if (calcTest instanceof StringValueExp)
            {
               if (((StringValueExp)calcTest).toString().equals(
  -                ((StringValueExp)calcList).toString()));
  +                ((StringValueExp)calcList).toString()))
                  return true;
            }
            // Single Value, includes Boolean
            else if (calcTest instanceof SingleValueExpSupport)
            {
               if (((SingleValueExpSupport)calcTest).getValue().equals(
  -                ((SingleValueExpSupport)calcList).getValue()));
  +                ((SingleValueExpSupport)calcList).getValue()))
                  return true;
            }
         }
  
  
  
  1.2       +74 -11    jmx/src/main/javax/management/MBeanServerNotification.java
  
  Index: MBeanServerNotification.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/javax/management/MBeanServerNotification.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MBeanServerNotification.java      5 Dec 2001 14:18:34 -0000       1.1
  +++ MBeanServerNotification.java      15 Mar 2002 20:26:39 -0000      1.2
  @@ -1,25 +1,88 @@
   /*
  - * LGPL
  + * JBoss, the OpenSource J2EE webOS
  + *
  + * Distributable under LGPL license.
  + * See terms of license at gnu.org.
    */
   package javax.management;
   
  -public class MBeanServerNotification extends Notification {
  +/**
  + * A notification sent by the MBeanServer delegate when an MBean is
  + * registered or unregisterd.<p>
  + *
  + * NOTE: The values from the spec are wrong, the real values are<b>
  + * REGISTRATION_NOTIFICATION = "JMX.mbean.registered"<b>
  + * UNREGISTRATION_NOTIFICATION = "JMX.mbean.registered"
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020315 Adrian Brock:</b>
  + * <ul>
  + * <li>Spec has wrong values for notification values
  + * </ul>
  + * 
  + * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  + * @version $Revision: 1.2 $
  + */
  +public class MBeanServerNotification
  +   extends Notification
  +{
  +   // Constants ---------------------------------------------------
  +
  +   /**
  +    * Notification type sent at MBean registration
  +    */   
  +   public static final java.lang.String REGISTRATION_NOTIFICATION   = 
"JMX.mbean.registered";
  +
  +   /**
  +    * Notification type sent at MBean registration
  +    */   
  +   public static final java.lang.String UNREGISTRATION_NOTIFICATION = 
"JMX.mbean.unregistered";
  +
  +   // Attributes --------------------------------------------------
  +
  +   /**
  +    * The object name of the mbean being (un)registered
  +    */
  +   private ObjectName mbeanName = null;
   
  -   public static final java.lang.String REGISTRATION_NOTIFICATION   = 
"jmx.mbean.registered";
  -   public static final java.lang.String UNREGISTRATION_NOTIFICATION = 
"jmx.mbean.unregistered";
  +   // Static ------------------------------------------------------
   
  -   // name of the mbean registered/unregistered
  -   private ObjectName mbeanName = null;
  -   
  -   public MBeanServerNotification(String type, Object source, long sequenceNumber, 
ObjectName objectName) {
  -      super(type, source, sequenceNumber);
  +   // Constructors ------------------------------------------------
  +
  +   /**
  +    * Construct a new MBeanServer notification
  +    *
  +    * @param type the type of notification to construct
  +    * @param source the source of the notification
  +    * @param sequence the sequence number of the notification
  +    * @param objectName the object name of the mbean being (un)registered
  +    */
  +   public MBeanServerNotification(String type, Object source, 
  +                                  long sequence, ObjectName objectName)
  +   {
  +      super(type, source, sequence);
         this.mbeanName = objectName;
      }
  +
  +   // Public ------------------------------------------------------
      
  -   public ObjectName getMBeanName() {
  +   /**
  +    * Get the object name of the mbean being (un)registered
  +    *
  +    * @return the object name
  +    */
  +   public ObjectName getMBeanName()
  +   {
         return mbeanName;
      }
   
  +   // X Implementation --------------------------------------------
   
  -}
  +   // Y Overrides -------------------------------------------------
  +
  +   // Protected ---------------------------------------------------
   
  +   // Private -----------------------------------------------------
  +
  +   // Inner classes -----------------------------------------------
  +}
  
  
  
  1.3       +55 -28    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
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MatchQueryExp.java        1 Mar 2002 19:25:57 -0000       1.2
  +++ MatchQueryExp.java        15 Mar 2002 20:26:39 -0000      1.3
  @@ -11,15 +11,16 @@
   /**
    * A Match Query Expression.<p>
    *
  - * Returns true when an attribute value matches the string expression.<p>
  + * Returns true when an attribute value matches the string expression.
    *
  - * REVIEW: This implementation currently dynamic constructs a regular
  - *         expression on every invocation of apply. Is this necessary?
  - *         If spec allows dynamic patterns (I think it does) some
  - *         caching of the regular expressions is required (NOT DONE).
  + * <p><b>Revisions:</b>
  + * <p><b>20020314 Adrian Brock:</b>
  + * <ul>
  + * <li>Fixed most of the escaping
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    */
   /*package*/ class MatchQueryExp
      implements QueryExp
  @@ -38,6 +39,11 @@
       */
      StringValueExp string;
   
  +   /**
  +    * Regular Expression
  +    */
  +   UncheckedRE re;
  +
      // Static ------------------------------------------------------
   
      // Constructors ------------------------------------------------
  @@ -52,34 +58,30 @@
      {
         this.attr = attr;
         this.string = string;
  -   }
  -
  -   // Public ------------------------------------------------------
  -
  -   // QueryExp implementation -------------------------------------
   
  -   public boolean apply(ObjectName name)
  -      throws BadStringOperationException,
  -             BadBinaryOpValueExpException,
  -             BadAttributeValueExpException,
  -             InvalidApplicationException
  -   {
  -      ValueExp calcAttr = attr.apply(name);
  -      ValueExp calcString = string.apply(name);
  -
  -      if (calcAttr instanceof StringValueExp)
  +      // Translate the pattern to a regexp
  +      StringBuffer buffer = new StringBuffer();
  +      char[] chars = string.toString().toCharArray();
  +      boolean escaping = false;
  +      for (int i=0; i < chars.length; i++)
         {
  -         // Translate the pattern to a regexp (REVIEW: Caching required)
  -         StringBuffer buffer = new StringBuffer();
  -         char[] chars = string.toString().toCharArray();
  -         for (int i=0; i < chars.length; i++)
  +         // Turn on escaping
  +         if (chars[i] == '\\' && escaping == false)
  +            escaping = true;
  +         else
            {
               // Match any character
  -            if (chars[i] == '?')
  +            if (chars[i] == '?' && escaping == false)
                  buffer.append("(?:.)");
  +            // A literal question mark
  +            else if (chars[i] == '?')
  +               buffer.append("\\?");
               // Match any number of characters including none
  -            else if (chars[i] == '*')
  +            else if (chars[i] == '*' && escaping == false)
                  buffer.append("(?:.)*");
  +            // A literal asterisk
  +            else if (chars[i] == '*')
  +               buffer.append("\\*");
               // The hat character is literal
               else if (chars[i] == '^')
                  buffer.append("\\^");
  @@ -95,12 +97,37 @@
               // The vertical line character is literal
               else if (chars[i] == '|')
                  buffer.append("\\|");
  +            // Escaping the open bracket
  +            else if (chars[i] == '[' && escaping == true)
  +               buffer.append("\\[");
               // REVIEW: There are other more complicated expressions to escape
               else
                  buffer.append(chars[i]);
  +            escaping = false;
            }
  +      }
  +      // REVIEW: Should this be an error?
  +      if (escaping == true)
  +         buffer.append("\\\\");
            
  -         UncheckedRE re = new UncheckedRE(buffer);
  +      re = new UncheckedRE(buffer);
  +   }
  +
  +   // Public ------------------------------------------------------
  +
  +   // QueryExp implementation -------------------------------------
  +
  +   public boolean apply(ObjectName name)
  +      throws BadStringOperationException,
  +             BadBinaryOpValueExpException,
  +             BadAttributeValueExpException,
  +             InvalidApplicationException
  +   {
  +      ValueExp calcAttr = attr.apply(name);
  +      ValueExp calcString = string.apply(name);
  +
  +      if (calcAttr instanceof StringValueExp)
  +      {
            return re.isMatch(((StringValueExp)calcAttr).toString());
         }
         // Correct?
  
  
  
  1.2       +7 -1      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
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- NotQueryExp.java  22 Feb 2002 16:44:32 -0000      1.1
  +++ NotQueryExp.java  15 Mar 2002 20:26:39 -0000      1.2
  @@ -12,9 +12,15 @@
    * A NOT Query Expression.<p>
    *
    * Returns true when either expression is false.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020314 Adrian Brock:</b>
  + * <ul>
  + * <li>Fix the human readable expression
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   /*package*/ class NotQueryExp
      implements QueryExp
  @@ -65,7 +71,7 @@
   
      public String toString()
      {
  -      return new String("(!" + expression.toString() + ")" );
  +      return new String("!(" + expression.toString() + ")" );
      }
   
      // Protected ---------------------------------------------------
  
  
  
  1.2       +7 -1      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
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- OrQueryExp.java   22 Feb 2002 16:44:32 -0000      1.1
  +++ OrQueryExp.java   15 Mar 2002 20:26:39 -0000      1.2
  @@ -12,9 +12,15 @@
    * An OR Query Expression.<p>
    *
    * Returns true when either expression is true.
  + *
  + * <p><b>Revisions:</b>
  + * <p><b>20020314 Adrian Brock:</b>
  + * <ul>
  + * <li>Fix the human readable expression
  + * </ul>
    * 
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Adrian Brock</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   /*package*/ class OrQueryExp
      implements QueryExp
  @@ -73,7 +79,7 @@
   
      public String toString()
      {
  -      return new String("(" + first.toString() + " || " + second.toString()) + ")";
  +      return new String("(" + first.toString() + ") || (" + second.toString()) + 
")";
      }
   
      // Protected ---------------------------------------------------
  
  
  

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

Reply via email to