|
51 | 51 | import org.exist.xquery.value.FunctionReturnSequenceType; |
52 | 52 | import org.exist.xquery.value.Item; |
53 | 53 | import org.exist.xquery.value.Sequence; |
54 | | -import org.exist.xquery.value.SequenceIterator; |
| 54 | +import org.exist.xquery.value.ValueSequence; |
55 | 55 | import org.exist.xquery.value.SequenceType; |
56 | 56 | import org.exist.xquery.value.Type; |
57 | | -import org.exist.xquery.value.ValueSequence; |
58 | 57 |
|
59 | 58 | /** |
60 | 59 | * Implements the fn:reverse function. |
61 | 60 | * |
62 | 61 | * @author <a href="mailto:[email protected]">Piotr Kaminski</a> |
| 62 | + * @author <a href="mailto:[email protected]">Adam Retter</a> |
63 | 63 | */ |
64 | 64 | public class FunReverse extends Function { |
65 | 65 |
|
@@ -103,37 +103,34 @@ public void analyze(final AnalyzeContextInfo contextInfo) throws XPathException |
103 | 103 | argumentsChecked = true; |
104 | 104 | } |
105 | 105 |
|
106 | | - public Sequence eval(Sequence contextSequence, Item contextItem) throws XPathException { |
| 106 | + @Override |
| 107 | + public Sequence eval(final Sequence contextSequence, final Item contextItem) throws XPathException { |
107 | 108 | if (context.getProfiler().isEnabled()) { |
108 | | - context.getProfiler().start(this); |
| 109 | + context.getProfiler().start(this); |
109 | 110 | context.getProfiler().message(this, Profiler.DEPENDENCIES, "DEPENDENCIES", Dependency.getDependenciesName(this.getDependencies())); |
110 | | - if (contextSequence != null) |
111 | | - {context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence);} |
112 | | - if (contextItem != null) |
113 | | - {context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence());} |
114 | | - } |
115 | | - |
116 | | - Sequence result; |
| 111 | + if (contextSequence != null) { |
| 112 | + context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT SEQUENCE", contextSequence); |
| 113 | + } |
| 114 | + if (contextItem != null) { |
| 115 | + context.getProfiler().message(this, Profiler.START_SEQUENCES, "CONTEXT ITEM", contextItem.toSequence()); |
| 116 | + } |
| 117 | + } |
| 118 | + |
117 | 119 | final Sequence seq = getArguments(contextSequence, contextItem)[0]; |
118 | | - if (seq.isEmpty()) |
119 | | - {result = Sequence.EMPTY_SEQUENCE;} |
120 | | - else { |
121 | | - final Sequence tmp = new ValueSequence(); |
122 | | - Item item; |
123 | | - for(final SequenceIterator i = seq.iterate(); i.hasNext(); ) { |
124 | | - item = i.nextItem(); |
125 | | - tmp.add(item); |
126 | | - } |
127 | | - result = new ValueSequence(); |
128 | | - for (int i = seq.getItemCount() - 1; i >= 0; i--) { |
129 | | - result.add(tmp.itemAt(i)); |
130 | | - } |
| 120 | + final Sequence result; |
| 121 | + if (seq.isEmpty()) { |
| 122 | + result = Sequence.EMPTY_SEQUENCE; |
| 123 | + } else { |
| 124 | + result = new ValueSequence(); |
| 125 | + for (int i = seq.getItemCount() - 1; i >= 0; i--) { |
| 126 | + result.add(seq.itemAt(i)); |
| 127 | + } |
131 | 128 | } |
132 | 129 |
|
133 | | - if (context.getProfiler().isEnabled()) |
134 | | - {context.getProfiler().end(this, "", result);} |
135 | | - |
136 | | - return result; |
137 | | - } |
| 130 | + if (context.getProfiler().isEnabled()) { |
| 131 | + context.getProfiler().end(this, "", result); |
| 132 | + } |
138 | 133 |
|
| 134 | + return result; |
| 135 | + } |
139 | 136 | } |
0 commit comments