Skip to content

Commit 226d4c8

Browse files
committed
Add generics to JXPathContext.iteratePointers(String)
1 parent 6e993b3 commit 226d4c8

File tree

8 files changed

+33
-32
lines changed

8 files changed

+33
-32
lines changed

src/changes/changes.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ The <action> type attribute can be add,update,fix,remove.
102102
</action>
103103
<action dev="ggregory" type="fix" due-to="Gary Gregory">Fix PMD UnnecessaryFullyQualifiedName.</action>
104104
<action dev="ggregory" type="fix" due-to="Gary Gregory">Add generics to JXPathContext.iterate(String).</action>
105+
<action dev="ggregory" type="fix" due-to="Gary Gregory">Add generics to JXPathContext.iteratePointers(String).</action>
105106
<!-- ADD -->
106107
<action issue="JXPATH-123" dev="mbenson" type="add">
107108
XPath function "ends-with" is not implemented (although "starts-with" is).

src/main/java/org/apache/commons/jxpath/JXPathContext.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -701,9 +701,9 @@ public Object selectSingleNode(final String xpath) {
701701
*/
702702
public List selectNodes(final String xpath) {
703703
final ArrayList list = new ArrayList();
704-
final Iterator iterator = iteratePointers(xpath);
704+
final Iterator<Pointer> iterator = iteratePointers(xpath);
705705
while (iterator.hasNext()) {
706-
final Pointer pointer = (Pointer) iterator.next();
706+
final Pointer pointer = iterator.next();
707707
list.add(pointer.getNode());
708708
}
709709
return list;
@@ -819,7 +819,7 @@ public List selectNodes(final String xpath) {
819819
* @param xpath to iterate
820820
* @return Iterator
821821
*/
822-
public abstract Iterator iteratePointers(String xpath);
822+
public abstract Iterator<Pointer> iteratePointers(String xpath);
823823

824824
/**
825825
* Install an identity manager that will be used by the context

src/test/java/org/apache/commons/jxpath/AbstractJXPathTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,9 @@ protected void assertXPathPointerIterator(
166166
else {
167167
actual = new HashSet();
168168
}
169-
final Iterator it = ctx.iteratePointers(xpath);
169+
final Iterator<Pointer> it = ctx.iteratePointers(xpath);
170170
while (it.hasNext()) {
171-
final Pointer pointer = (Pointer) it.next();
171+
final Pointer pointer = it.next();
172172
actual.add(pointer.toString());
173173
}
174174
assertEquals(

src/test/java/org/apache/commons/jxpath/BasicNodeSetTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ protected void setUp() throws Exception {
4545
* @param xpath
4646
*/
4747
protected void addPointers(final String xpath) {
48-
for (final Iterator iter = context.iteratePointers(xpath); iter.hasNext();) {
49-
nodeSet.add((Pointer) iter.next());
48+
for (final Iterator<Pointer> iter = context.iteratePointers(xpath); iter.hasNext();) {
49+
nodeSet.add(iter.next());
5050
}
5151
nudge();
5252
}
@@ -57,8 +57,8 @@ protected void addPointers(final String xpath) {
5757
* @param xpath
5858
*/
5959
protected void removePointers(final String xpath) {
60-
for (final Iterator iter = context.iteratePointers(xpath); iter.hasNext();) {
61-
nodeSet.remove((Pointer) iter.next());
60+
for (final Iterator<Pointer> iter = context.iteratePointers(xpath); iter.hasNext();) {
61+
nodeSet.remove(iter.next());
6262
}
6363
nudge();
6464
}

src/test/java/org/apache/commons/jxpath/issues/JXPath118Test.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ public void testJXPATH118IssueWithAsPath() throws Exception
3434
{
3535
final Object contextBean = new SomeChildClass();
3636
final JXPathContext context = JXPathContext.newContext(contextBean);
37-
final Iterator iteratePointers = context.iteratePointers("//*");
38-
Assert.assertEquals("/bar", ((Pointer) iteratePointers.next()).asPath());
39-
Assert.assertEquals("/baz", ((Pointer) iteratePointers.next()).asPath());
40-
Assert.assertEquals("/foo", ((Pointer) iteratePointers.next()).asPath());
37+
final Iterator<Pointer> iteratePointers = context.iteratePointers("//*");
38+
Assert.assertEquals("/bar", iteratePointers.next().asPath());
39+
Assert.assertEquals("/baz", iteratePointers.next().asPath());
40+
Assert.assertEquals("/foo", iteratePointers.next().asPath());
4141
}
4242

4343
public static class SomeChildClass

src/test/java/org/apache/commons/jxpath/ri/model/AbstractBeanModelTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,10 @@ private int relativeProperty(final PropertyPointer holder, final int offset) {
186186

187187
public void testIteratePropertyArrayWithHasNext() {
188188
final JXPathContext context = JXPathContext.newContext(createContextBean());
189-
final Iterator it = context.iteratePointers("/integers");
190-
final List actual = new ArrayList();
189+
final Iterator<Pointer> it = context.iteratePointers("/integers");
190+
final List<String> actual = new ArrayList<>();
191191
while (it.hasNext()) {
192-
actual.add(((Pointer) it.next()).asPath());
192+
actual.add(it.next().asPath());
193193
}
194194
assertEquals(
195195
"Iterating 'hasNext'/'next'<" + "/integers" + ">",
@@ -203,8 +203,8 @@ public void testIteratePropertyArrayWithHasNext() {
203203

204204
public void testIteratePropertyArrayWithoutHasNext() {
205205
final JXPathContext context = JXPathContext.newContext(createContextBean());
206-
final Iterator it = context.iteratePointers("/integers");
207-
final List actual = new ArrayList();
206+
final Iterator<Pointer> it = context.iteratePointers("/integers");
207+
final List<String> actual = new ArrayList<>();
208208
for (int i = 0; i < 4; i++) {
209209
actual.add(it.next().toString());
210210
}
@@ -221,17 +221,17 @@ public void testIteratePropertyArrayWithoutHasNext() {
221221
public void testIterateAndSet() {
222222
final JXPathContext context = JXPathContext.newContext(createContextBean());
223223

224-
Iterator it = context.iteratePointers("beans/int");
224+
Iterator<Pointer> it = context.iteratePointers("beans/int");
225225
int i = 5;
226226
while (it.hasNext()) {
227227
final NodePointer pointer = (NodePointer) it.next();
228228
pointer.setValue(Integer.valueOf(i++));
229229
}
230230

231231
it = context.iteratePointers("beans/int");
232-
final List actual = new ArrayList();
232+
final List<Object> actual = new ArrayList<>();
233233
while (it.hasNext()) {
234-
actual.add(((Pointer) it.next()).getValue());
234+
actual.add(it.next().getValue());
235235
}
236236
assertEquals(
237237
"Iterating <" + "beans/int" + ">",
@@ -257,10 +257,10 @@ public void testIteratePointerSetValue() {
257257
assertXPathValue(context, "/beans[2]/name", "Name 2");
258258

259259
int iterCount = 0;
260-
final Iterator iter = context.iteratePointers("/beans/name");
260+
final Iterator<Pointer> iter = context.iteratePointers("/beans/name");
261261
while (iter.hasNext()) {
262262
iterCount++;
263-
final Pointer pointer = (Pointer) iter.next();
263+
final Pointer pointer = iter.next();
264264
String s = (String) pointer.getValue();
265265
s += "suffix";
266266
pointer.setValue(s);

src/test/java/org/apache/commons/jxpath/ri/model/MixedModelTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -364,10 +364,10 @@ public void testIteratePointersArray() {
364364

365365
final JXPathContext context = JXPathContext.newContext(map);
366366

367-
final Iterator it = context.iteratePointers("foo");
368-
final List actual = new ArrayList();
367+
final Iterator<Pointer> it = context.iteratePointers("foo");
368+
final List<Object> actual = new ArrayList<>();
369369
while (it.hasNext()) {
370-
final Pointer ptr = (Pointer) it.next();
370+
final Pointer ptr = it.next();
371371
actual.add(context.getValue(ptr.asPath()));
372372
}
373373
assertEquals(
@@ -382,10 +382,10 @@ public void testIteratePointersArrayElementWithVariable() {
382382

383383
final JXPathContext context = JXPathContext.newContext(map);
384384
context.getVariables().declareVariable("x", Integer.valueOf(2));
385-
final Iterator it = context.iteratePointers("foo[$x]");
386-
final List actual = new ArrayList();
385+
final Iterator<Pointer> it = context.iteratePointers("foo[$x]");
386+
final List<Object> actual = new ArrayList<>();
387387
while (it.hasNext()) {
388-
final Pointer ptr = (Pointer) it.next();
388+
final Pointer ptr = it.next();
389389
actual.add(context.getValue(ptr.asPath()));
390390
}
391391
assertEquals("Iterating pointers <" + "foo" + ">", list("b"), actual);

src/test/java/org/apache/commons/jxpath/servlet/JXPathServletContextTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,11 @@ public void testServletRequestWithoutSession() {
123123
}
124124

125125
private void checkPointerIterator(final JXPathContext context) {
126-
final Iterator it = context.iteratePointers("/*");
126+
final Iterator<Pointer> it = context.iteratePointers("/*");
127127
assertTrue("Empty context", it.hasNext());
128128
while (it.hasNext())
129129
{
130-
final Pointer pointer = (Pointer) it.next();
130+
final Pointer pointer = it.next();
131131
assertNotNull("null pointer", pointer);
132132
assertNotNull("null path", pointer.asPath());
133133
}
@@ -172,7 +172,7 @@ public void testPageContext() {
172172
assertEquals("Explicit Application Scope", "app", context.getValue("$application/app"));
173173

174174
// iterate through the elements of page context only (two elements expected, 'page' and the context)
175-
final Iterator it = context.iteratePointers("$page/*");
175+
final Iterator<Pointer> it = context.iteratePointers("$page/*");
176176
assertTrue("element not found", it.hasNext());
177177
it.next();
178178
it.next();

0 commit comments

Comments
 (0)