Skip to content

Commit 9b57a88

Browse files
optimising porgress calculation code
1 parent 46b4eec commit 9b57a88

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

src/main/java/com/cloudbees/jenkins/support/SupportPlugin.java

+9-8
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,8 @@ public static void writeBundle(OutputStream outputStream, final List<? extends C
362362
components,
363363
new ComponentVisitor() {
364364
@Override
365-
public <T extends Component> void visit(Container container, T component, double progress) {
365+
366+
public <T extends Component> void visit(Container container, T component) {
366367
component.addContents(container);
367368
}
368369
},
@@ -386,7 +387,7 @@ public static void writeBundleForSyncComponents(OutputStream outputStream, final
386387
components,
387388
new ComponentVisitor() {
388389
@Override
389-
public <T extends Component> void visit(Container container, T component, double progress) {
390+
public <T extends Component> void visit(Container container, T component) {
390391
component.addContents(container);
391392
}
392393
},
@@ -412,12 +413,15 @@ public static void writeBundle(
412413
outputStream,
413414
components,
414415
new ComponentVisitor() {
416+
private final int totalComponents = components.size();
417+
private int currentIteration = 0;
418+
415419
@Override
416-
public <T extends Component> void visit(Container container, T component, double progress) {
420+
public <T extends Component> void visit(Container container, T component) {
417421
if (component.canBeGeneratedAsync()) {
418422
component.addContents(container);
419423
}
420-
progressCallback.accept(progress);
424+
progressCallback.accept((currentIteration++) / (double) totalComponents);
421425
}
422426
},
423427
outputPath,true);
@@ -683,8 +687,6 @@ private static List<Content> appendManifestContents(
683687

684688
manifest.append("Requested components:\n\n");
685689
ContentContainer contentsContainer = new ContentContainer(contentFilter, components);
686-
int totalComponents = components.size();
687-
int currentIteration = 0;
688690
for (Component component : components) {
689691
try {
690692
if (components.stream().anyMatch(c -> c.supersedes(component))) {
@@ -695,8 +697,7 @@ private static List<Content> appendManifestContents(
695697
LOGGER.log(Level.FINE, "Start processing " + component.getDisplayName());
696698
long startTime = System.currentTimeMillis();
697699
// Calculate progress
698-
double progress = (currentIteration++) / (double) totalComponents;
699-
componentVisitor.visit(contentsContainer, component, progress);
700+
componentVisitor.visit(contentsContainer, component);
700701
LOGGER.log(
701702
Level.FINE,
702703
"Took " + (System.currentTimeMillis() - startTime) + "ms" + " to process component "

src/main/java/com/cloudbees/jenkins/support/actions/SupportObjectAction.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ public final void doGenerateAndDownload(StaplerRequest2 req, StaplerResponse2 rs
146146
components,
147147
new ComponentVisitor() {
148148
@Override
149-
public <C extends Component> void visit(Container container, C component, double progress) {
149+
public <C extends Component> void visit(Container container, C component) {
150150
((ObjectComponent<T>) component).addContents(container, object);
151151
}
152152
},

src/main/java/com/cloudbees/jenkins/support/api/ComponentVisitor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ public interface ComponentVisitor {
1212
* @param component the {@link Component} being visited
1313
* @param <T> must be a subclass of {@link Component}
1414
*/
15-
<T extends Component> void visit(Container container, T component, double progress);
15+
<T extends Component> void visit(Container container, T component);
1616
}

0 commit comments

Comments
 (0)