|
42 | 42 | import org.modeshape.jcr.query.QueryResults.Columns;
|
43 | 43 | import org.modeshape.jcr.query.engine.process.RestartableSequence;
|
44 | 44 | import org.modeshape.jcr.query.engine.process.SecureSequence;
|
| 45 | +import org.modeshape.jcr.value.Name; |
45 | 46 |
|
46 | 47 | /**
|
47 | 48 | * The results of a query. This is not thread-safe because it relies upon JcrSession, which is not thread-safe. Also, although the
|
@@ -498,27 +499,29 @@ protected Value getValue( String columnName,
|
498 | 499 | String propertyName = iterator.getPropertyNameForColumnName(columnName);
|
499 | 500 | if (propertyName == null) return null;
|
500 | 501 |
|
501 |
| - if (PseudoColumns.contains(propertyName, true)) { |
502 |
| - if (PseudoColumns.isPath(propertyName)) { |
| 502 | + Name qName = iterator.context.getExecutionContext().getValueFactories().getNameFactory().create(propertyName); |
| 503 | + |
| 504 | + if (PseudoColumns.contains(qName, true)) { |
| 505 | + if (PseudoColumns.isPath(qName)) { |
503 | 506 | return iterator.jcrPath(cachedNode);
|
504 | 507 | }
|
505 |
| - if (PseudoColumns.isName(propertyName)) { |
| 508 | + if (PseudoColumns.isName(qName)) { |
506 | 509 | return iterator.jcrName(cachedNode);
|
507 | 510 | }
|
508 |
| - if (PseudoColumns.isLocalName(propertyName)) { |
| 511 | + if (PseudoColumns.isLocalName(qName)) { |
509 | 512 | return iterator.jcrLocalName(cachedNode);
|
510 | 513 | }
|
511 |
| - if (PseudoColumns.isDepth(propertyName)) { |
| 514 | + if (PseudoColumns.isDepth(qName)) { |
512 | 515 | return iterator.jcrDepth(cachedNode);
|
513 | 516 | }
|
514 |
| - if (PseudoColumns.isId(propertyName)) { |
| 517 | + if (PseudoColumns.isId(qName)) { |
515 | 518 | return iterator.jcrId(cachedNode);
|
516 | 519 | }
|
517 |
| - if (PseudoColumns.isScore(propertyName)) { |
| 520 | + if (PseudoColumns.isScore(qName)) { |
518 | 521 | float score = batchAtRow.getScore(nodeIndex);
|
519 | 522 | return iterator.jcrDouble(score);
|
520 | 523 | }
|
521 |
| - if (PseudoColumns.isUuid(propertyName)) { |
| 524 | + if (PseudoColumns.isUuid(qName)) { |
522 | 525 | return iterator.jcrUuid(cachedNode);
|
523 | 526 | }
|
524 | 527 | }
|
|
0 commit comments