Skip to content

Commit bd0a343

Browse files
#1059 - Removing last remaining occurrences of manual server-side pagination. Changed remaining executeResultList to use executeList instead.
1 parent 2b3e8d4 commit bd0a343

8 files changed

+29
-86
lines changed

src/main/java/org/dependencytrack/persistence/ComponentQueryManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public PaginatedResult getComponents() {
104104
public List<Component> getAllComponents() {
105105
final Query<Component> query = pm.newQuery(Component.class);
106106
query.setOrdering("id asc");
107-
return query.executeResultList(Component.class);
107+
return query.executeList();
108108
}
109109

110110
/**

src/main/java/org/dependencytrack/persistence/PolicyQueryManager.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public List<Policy> getAllPolicies() {
8282
if (orderBy == null) {
8383
query.setOrdering("name asc");
8484
}
85-
return query.executeResultList(Policy.class);
85+
return query.executeList();
8686
}
8787

8888
/**
@@ -190,7 +190,7 @@ public List<PolicyViolation> getAllPolicyViolations() {
190190
if (orderBy == null) {
191191
query.setOrdering("timestamp desc, project.name, project.version, component.name, component.version");
192192
}
193-
return query.executeResultList(PolicyViolation.class);
193+
return query.executeList();
194194
}
195195

196196
/**

src/main/java/org/dependencytrack/persistence/ProjectQueryManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ public List<Project> getAllProjects(boolean excludeInactive) {
157157
query.setFilter("active == true || active == null");
158158
}
159159
query.setOrdering("name asc");
160-
return query.executeResultList(Project.class);
160+
return query.executeList();
161161
}
162162

163163
/**

src/main/java/org/dependencytrack/persistence/RepositoryQueryManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public PaginatedResult getRepositories() {
7474
public List<Repository> getAllRepositories() {
7575
final Query<Repository> query = pm.newQuery(Repository.class);
7676
query.setOrdering("type asc, identifier asc");
77-
return query.executeResultList(Repository.class);
77+
return query.executeList();
7878
}
7979

8080
/**

src/main/java/org/dependencytrack/persistence/ServiceComponentQueryManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public ServiceComponent createServiceComponent(ServiceComponent service, boolean
114114
public List<ServiceComponent> getAllServiceComponents() {
115115
final Query<ServiceComponent> query = pm.newQuery(ServiceComponent.class);
116116
query.setOrdering("id asc");
117-
return query.executeResultList(ServiceComponent.class);
117+
return query.executeList();
118118
}
119119

120120
/**

src/main/java/org/dependencytrack/search/ComponentIndexer.java

+8-27
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@
2121
import alpine.logging.Logger;
2222
import alpine.notification.Notification;
2323
import alpine.notification.NotificationLevel;
24-
import alpine.persistence.PaginatedResult;
25-
import alpine.resources.AlpineRequest;
26-
import alpine.resources.OrderDirection;
27-
import alpine.resources.Pagination;
2824
import org.apache.lucene.document.Document;
2925
import org.apache.lucene.document.Field;
3026
import org.apache.lucene.index.Term;
@@ -119,30 +115,15 @@ public void remove(final Component component) {
119115
public void reindex() {
120116
LOGGER.info("Starting reindex task. This may take some time.");
121117
super.reindex();
122-
final AlpineRequest alpineRequest = new AlpineRequest(
123-
null,
124-
new Pagination(Pagination.Strategy.OFFSET, 0, 100),
125-
null,
126-
"id",
127-
OrderDirection.ASCENDING
128-
);
129-
try (final QueryManager qm = new QueryManager(alpineRequest)) {
130-
final PaginatedResult result = qm.getProjects(false, true);
131-
long count = 0;
132-
boolean shouldContinue = true;
133-
while (count < result.getTotal() && shouldContinue) {
134-
for (final Project project: result.getList(Project.class)) {
135-
final List<Component> components = qm.getAllComponents(project);
136-
LOGGER.info("Indexing " + components.size() + " components in project: " + project.getUuid());
137-
for (final Component component: components) {
138-
add(component);
139-
}
140-
LOGGER.info("Completed indexing of " + components.size() + " components in project: " + project.getUuid());
118+
try (final QueryManager qm = new QueryManager()) {
119+
final List<Project> projects = qm.getAllProjects(true);
120+
for (final Project project : projects) {
121+
final List<Component> components = qm.getAllComponents(project);
122+
LOGGER.info("Indexing " + components.size() + " components in project: " + project.getUuid());
123+
for (final Component component: components) {
124+
add(component);
141125
}
142-
int lastResult = result.getObjects().size();
143-
count += lastResult;
144-
shouldContinue = lastResult > 0;
145-
qm.advancePagination();
126+
LOGGER.info("Completed indexing of " + components.size() + " components in project: " + project.getUuid());
146127
}
147128
commit();
148129
}

src/main/java/org/dependencytrack/tasks/VulnerabilityAnalysisTask.java

+7-26
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@
2121
import alpine.event.framework.Event;
2222
import alpine.event.framework.Subscriber;
2323
import alpine.logging.Logger;
24-
import alpine.persistence.PaginatedResult;
25-
import alpine.resources.AlpineRequest;
26-
import alpine.resources.OrderDirection;
27-
import alpine.resources.Pagination;
2824
import org.apache.commons.collections4.CollectionUtils;
2925
import org.dependencytrack.event.InternalAnalysisEvent;
3026
import org.dependencytrack.event.MetricsUpdateEvent;
@@ -75,28 +71,13 @@ public void inform(final Event e) {
7571
performPolicyEvaluation(event.getProject(), components);
7672
} else {
7773
LOGGER.info("Analyzing portfolio");
78-
final AlpineRequest alpineRequest = new AlpineRequest(
79-
null,
80-
new Pagination(Pagination.Strategy.OFFSET, 0, 100),
81-
null,
82-
"id",
83-
OrderDirection.ASCENDING
84-
);
85-
try (final QueryManager qm = new QueryManager(alpineRequest)) {
86-
final PaginatedResult result = qm.getProjects(false, true);
87-
long count = 0;
88-
boolean shouldContinue = true;
89-
while (count < result.getTotal() && shouldContinue) {
90-
for (final Project project: result.getList(Project.class)) {
91-
final List<Component> components = qm.getAllComponents(project);
92-
LOGGER.info("Analyzing " + components.size() + " components in project: " + project.getUuid());
93-
analyzeComponents(qm, components);
94-
LOGGER.info("Completed analysis of " + components.size() + " components in project: " + project.getUuid());
95-
}
96-
int lastResult = result.getObjects().size();
97-
count += lastResult;
98-
shouldContinue = lastResult > 0;
99-
qm.advancePagination();
74+
try (final QueryManager qm = new QueryManager()) {
75+
final List<Project> projects = qm.getAllProjects(true);
76+
for (final Project project: projects) {
77+
final List<Component> components = qm.getAllComponents(project);
78+
LOGGER.info("Analyzing " + components.size() + " components in project: " + project.getUuid());
79+
analyzeComponents(qm, components);
80+
LOGGER.info("Completed analysis of " + components.size() + " components in project: " + project.getUuid());
10081
}
10182
}
10283
LOGGER.info("Portfolio analysis complete");

src/main/java/org/dependencytrack/tasks/repositories/RepositoryMetaAnalyzerTask.java

+8-27
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@
2121
import alpine.event.framework.Event;
2222
import alpine.event.framework.Subscriber;
2323
import alpine.logging.Logger;
24-
import alpine.persistence.PaginatedResult;
25-
import alpine.resources.AlpineRequest;
26-
import alpine.resources.OrderDirection;
27-
import alpine.resources.Pagination;
2824
import org.apache.commons.lang3.StringUtils;
2925
import org.dependencytrack.event.RepositoryMetaEvent;
3026
import org.dependencytrack.model.Component;
@@ -53,30 +49,15 @@ public void inform(final Event e) {
5349
analyze(qm, qm.getObjectById(Component.class, event.getComponent().getId()));
5450
}
5551
} else {
56-
final AlpineRequest alpineRequest = new AlpineRequest(
57-
null,
58-
new Pagination(Pagination.Strategy.OFFSET, 0, 100),
59-
null,
60-
"id",
61-
OrderDirection.ASCENDING
62-
);
63-
try (final QueryManager qm = new QueryManager(alpineRequest)) {
64-
final PaginatedResult result = qm.getProjects(false, true);
65-
long count = 0;
66-
boolean shouldContinue = true;
67-
while (count < result.getTotal() && shouldContinue) {
68-
for (final Project project: result.getList(Project.class)) {
69-
final List<Component> components = qm.getAllComponents(project);
70-
LOGGER.info("Performing component repository metadata analysis against " + components.size() + " components in project: " + project.getUuid());
71-
for (final Component component: components) {
72-
analyze(qm, component);
73-
}
74-
LOGGER.info("Completed component repository metadata analysis against " + components.size() + " components in project: " + project.getUuid());
52+
try (final QueryManager qm = new QueryManager()) {
53+
final List<Project> projects = qm.getAllProjects(true);
54+
for (final Project project: projects) {
55+
final List<Component> components = qm.getAllComponents(project);
56+
LOGGER.info("Performing component repository metadata analysis against " + components.size() + " components in project: " + project.getUuid());
57+
for (final Component component: components) {
58+
analyze(qm, component);
7559
}
76-
int lastResult = result.getObjects().size();
77-
count += lastResult;
78-
shouldContinue = lastResult > 0;
79-
qm.advancePagination();
60+
LOGGER.info("Completed component repository metadata analysis against " + components.size() + " components in project: " + project.getUuid());
8061
}
8162
}
8263
LOGGER.info("Portfolio component repository metadata analysis complete");

0 commit comments

Comments
 (0)