Skip to content

Commit 7c20290

Browse files
Refactor addTargetRequests method to eliminate redundant code. (#1138)
1 parent a911104 commit 7c20290

File tree

1 file changed

+27
-14
lines changed
  • webmagic-core/src/main/java/us/codecraft/webmagic

1 file changed

+27
-14
lines changed

webmagic-core/src/main/java/us/codecraft/webmagic/Page.java

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public class Page {
4949

5050
private byte[] bytes;
5151

52-
private List<Request> targetRequests = new ArrayList<Request>();
52+
private List<Request> targetRequests = new ArrayList<>();
5353

5454
private String charset;
5555

@@ -142,13 +142,7 @@ public List<Request> getTargetRequests() {
142142
* @param requests requests
143143
*/
144144
public void addTargetRequests(Iterable<String> requests) {
145-
for (String s : requests) {
146-
if (StringUtils.isBlank(s) || s.equals("#") || s.startsWith("javascript:")) {
147-
continue;
148-
}
149-
s = UrlUtils.canonicalizeUrl(s, url.toString());
150-
targetRequests.add(new Request(s));
151-
}
145+
addTargetRequests(requests, 0); // Default priority is 0
152146
}
153147

154148
/**
@@ -158,13 +152,32 @@ public void addTargetRequests(Iterable<String> requests) {
158152
* @param priority priority
159153
*/
160154
public void addTargetRequests(Iterable<String> requests, long priority) {
161-
for (String s : requests) {
162-
if (StringUtils.isBlank(s) || s.equals("#") || s.startsWith("javascript:")) {
163-
continue;
164-
}
165-
s = UrlUtils.canonicalizeUrl(s, url.toString());
166-
targetRequests.add(new Request(s).setPriority(priority));
155+
if(requests == null) {
156+
return;
157+
}
158+
159+
for (String req : requests) {
160+
addRequestIfValid(req, priority);
161+
}
162+
}
163+
164+
/**
165+
* Helper method to add a request if it's valid.
166+
*
167+
* @param url URL to add
168+
* @param priority Priority for the URL
169+
*/
170+
private void addRequestIfValid(String url, long priority) {
171+
if (StringUtils.isBlank(url) || url.equals("#") || url.startsWith("javascript:")) {
172+
return;
173+
}
174+
175+
String canonicalizedUrl = UrlUtils.canonicalizeUrl(url, this.url.toString());
176+
Request req = new Request(canonicalizedUrl);
177+
if(priority > 0) {
178+
req.setPriority(priority);
167179
}
180+
targetRequests.add(req);
168181
}
169182

170183
/**

0 commit comments

Comments
 (0)