…lines 1–13 unchanged (13 lines)
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17package org.apache.commons.jxpath.ri.axes;
18
19import java.util.ArrayList;
20import java.util.Iterator;
21
22import org.apache.commons.jxpath.BasicNodeSet;
23import org.apache.commons.jxpath.Pointer;
24import org.apache.commons.jxpath.ri.EvalContext;
25import org.apache.commons.jxpath.ri.model.NodePointer;
26
27/**
28 * EvalContext that represents a union between other contexts - result
29 * of a union operation like (a | b)
…lines 30–51 unchanged (22 lines)
52 for (int i = 0; i < contexts.length; i++) {
53 EvalContext ctx = (EvalContext) contexts[i];
54 while (ctx.nextSet()) {
55 while (ctx.nextNode()) {
56 NodePointer ptr = ctx.getCurrentNodePointer();
57 if (!pointers.contains(ptr)) {
58 pointers.add(ptr);
59 }
60 }
61 }
62 }
63 sortPointers(pointers);
64
65 for (Iterator it = pointers.iterator(); it.hasNext();) {
66 nodeSet.add((Pointer) it.next());
67 }
68 }
69 return super.setPosition(position);
70 }
71}