|
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