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