You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by un...@apache.org on 2004/07/04 21:26:49 UTC

cvs commit: jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression RDBMSNotIsCollectionExpression.java RDBMSExpressionFactory.java RDBMSIsCollectionExpression.java RDBMSCompareExpression.java RDBMSNotIsPrincipalExpression.java RDBMSIsPrincipalExpression.java

unico       2004/07/04 12:26:49

  Modified:    src/stores/org/apache/slide/store/impl/rdbms/expression
                        RDBMSNotIsCollectionExpression.java
                        RDBMSExpressionFactory.java
                        RDBMSIsCollectionExpression.java
                        RDBMSCompareExpression.java
                        RDBMSNotIsPrincipalExpression.java
                        RDBMSIsPrincipalExpression.java
  Log:
  fix NPE for these expressions
  
  Revision  Changes    Path
  1.2       +11 -3     jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSNotIsCollectionExpression.java
  
  Index: RDBMSNotIsCollectionExpression.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSNotIsCollectionExpression.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RDBMSNotIsCollectionExpression.java	4 Jul 2004 18:57:35 -0000	1.1
  +++ RDBMSNotIsCollectionExpression.java	4 Jul 2004 19:26:49 -0000	1.2
  @@ -39,4 +39,12 @@
                   "p" + _tableIndex + ".PROPERTY_VALUE LIKE '<collection/>')";
       }
   
  +    protected String getPropertyName() {
  +        return "resourcetype";
  +    }
  +
  +    protected String getPropertyNamespace() {
  +        return "DAV:";
  +    }
  +
   }
  
  
  
  1.3       +10 -5     jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSExpressionFactory.java
  
  Index: RDBMSExpressionFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSExpressionFactory.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RDBMSExpressionFactory.java	4 Jul 2004 19:08:24 -0000	1.2
  +++ RDBMSExpressionFactory.java	4 Jul 2004 19:26:49 -0000	1.3
  @@ -143,6 +143,7 @@
   
       protected IBasicExpression createSlideExpression(Element element) throws BadQueryException {
           if (isSQLCompilableProperty(element)) {
  +            // TODO:
           }
           else if (element.getName().equals(Literals.ISPRINCIPAL)) {
               return new RDBMSIsPrincipalExpression(element, _context);
  @@ -161,8 +162,12 @@
       }
   
       public static boolean isSQLCompilableProperty(Element element) {
  -        Element property = (Element) element.getChild(Literals.PROP, NamespaceCache.DEFAULT_NAMESPACE).getChildren().get(0);
  -        return isSQLCompilableProperty(property.getNamespaceURI(), property.getName());
  +        Element davProp = (Element) element.getChild(Literals.PROP, NamespaceCache.DEFAULT_NAMESPACE);
  +        if (davProp != null) {
  +            Element property = (Element) davProp.getChildren().get(0);
  +            return isSQLCompilableProperty(property.getNamespaceURI(), property.getName());
  +        }
  +        return false;
       }
   
       public static boolean isSQLCompilableProperty(String namespace, String name) {
  
  
  
  1.2       +8 -0      jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSIsCollectionExpression.java
  
  Index: RDBMSIsCollectionExpression.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSIsCollectionExpression.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RDBMSIsCollectionExpression.java	4 Jul 2004 18:57:35 -0000	1.1
  +++ RDBMSIsCollectionExpression.java	4 Jul 2004 19:26:49 -0000	1.2
  @@ -26,4 +26,12 @@
                   "p" + _tableIndex + ".PROPERTY_VALUE LIKE '<collection/>')";
       }
   
  +    protected String getPropertyName() {
  +        return "resourcetype";
  +    }
  +
  +    protected String getPropertyNamespace() {
  +        return "DAV:";
  +    }
  +
   }
  
  
  
  1.2       +16 -7     jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSCompareExpression.java
  
  Index: RDBMSCompareExpression.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSCompareExpression.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RDBMSCompareExpression.java	4 Jul 2004 18:57:35 -0000	1.1
  +++ RDBMSCompareExpression.java	4 Jul 2004 19:26:49 -0000	1.2
  @@ -82,15 +82,15 @@
           }
           _context.joins().add(join());
           _context.criteria().add(compile());
  -        final String selectKey = getProperty().getNamespaceURI() + getProperty().getName();
  +        final String selectKey = getPropertyNamespace() + getPropertyName();
           _context.selects().put(selectKey, select());
           return _context.results();
       }
   
       protected String compile() {
           Element literal = _element.getChild(Literals.LITERAL, NamespaceCache.DEFAULT_NAMESPACE);
  -        return "(p" + _tableIndex + ".PROPERTY_NAME = '" + getProperty().getName() + "' AND " +
  -                "p" + _tableIndex + ".PROPERTY_NAMESPACE = '" + getProperty().getNamespaceURI() + "' AND " +
  +        return "(p" + _tableIndex + ".PROPERTY_NAME = '" + getPropertyName() + "' AND " +
  +                "p" + _tableIndex + ".PROPERTY_NAMESPACE = '" + getPropertyNamespace() + "' AND " +
                   "p" + _tableIndex + ".PROPERTY_VALUE " + COMPARE_OPERATORS.get(_element.getName()) 
                   + " '" + literal.getText() + "')";
       }
  @@ -101,7 +101,7 @@
   
       protected String select() {
           // TODO: qualify alias
  -        return "p" + _tableIndex + ".PROPERTY_VALUE AS " + getProperty().getName();
  +        return "p" + _tableIndex + ".PROPERTY_VALUE AS " + getPropertyName();
       }
   
       protected int getTableIndex() {
  @@ -115,4 +115,13 @@
           }
           return _property;
       }
  +    
  +    protected String getPropertyName() {
  +        return getProperty().getName();
  +    }
  +    
  +    protected String getPropertyNamespace() {
  +        return getProperty().getNamespaceURI();
  +    }
  +    
   }
  
  
  
  1.2       +11 -3     jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSNotIsPrincipalExpression.java
  
  Index: RDBMSNotIsPrincipalExpression.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSNotIsPrincipalExpression.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RDBMSNotIsPrincipalExpression.java	4 Jul 2004 18:57:35 -0000	1.1
  +++ RDBMSNotIsPrincipalExpression.java	4 Jul 2004 19:26:49 -0000	1.2
  @@ -39,4 +39,12 @@
                   "p" + _tableIndex + ".PROPERTY_VALUE LIKE '<principal/>')";
       }
   
  +    protected String getPropertyName() {
  +        return "resourcetype";
  +    }
  +
  +    protected String getPropertyNamespace() {
  +        return "DAV:";
  +    }
  +
   }
  
  
  
  1.2       +11 -3     jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSIsPrincipalExpression.java
  
  Index: RDBMSIsPrincipalExpression.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/org/apache/slide/store/impl/rdbms/expression/RDBMSIsPrincipalExpression.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RDBMSIsPrincipalExpression.java	4 Jul 2004 18:57:35 -0000	1.1
  +++ RDBMSIsPrincipalExpression.java	4 Jul 2004 19:26:49 -0000	1.2
  @@ -39,4 +39,12 @@
                   "p" + _tableIndex + ".PROPERTY_VALUE LIKE '<principal/>')";
       }
   
  +    protected String getPropertyName() {
  +        return "resourcetype";
  +    }
  +
  +    protected String getPropertyNamespace() {
  +        return "DAV:";
  +    }
  +
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org