Skip to content

Commit 5ac9a0f

Browse files
committed
[backend] Fix inject resolution before execution (#2545)
1 parent dd64bc8 commit 5ac9a0f

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

Diff for: openbas-api/src/main/java/io/openbas/execution/ExecutableInject.java

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.ArrayList;
88
import java.util.List;
99
import lombok.Getter;
10+
import org.hibernate.Hibernate;
1011
import org.springframework.web.multipart.MultipartFile;
1112

1213
@Getter
@@ -39,8 +40,11 @@ public ExecutableInject(
3940
this.direct = direct;
4041
this.users = users;
4142
this.teams = teams;
43+
this.teams.forEach(team -> Hibernate.initialize(team.getTags()));
4244
this.assets = assets;
45+
this.assets.forEach(asset -> Hibernate.initialize(asset.getTags()));
4346
this.assetGroups = assetGroups;
47+
this.assetGroups.forEach(assetGroup -> Hibernate.initialize(assetGroup.getTags()));
4448
this.teamSize = teams.size();
4549
this.documentSize = injection.getInject().getDocuments().size();
4650
}

Diff for: openbas-api/src/main/java/io/openbas/helper/InjectHelper.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,15 @@ public List<ExecutableInject> getInjectsToRun() {
105105
.sorted(Inject.executionComparator)
106106
.map(
107107
inject -> {
108+
// TODO This is inefficient, we need to refactor this loop with our own query
108109
Hibernate.initialize(inject.getTags());
109110
Hibernate.initialize(inject.getUser());
110111
return new ExecutableInject(
111112
true,
112113
false,
113114
inject,
114115
getInjectTeams(inject),
115-
inject.getAssets(),
116+
inject.getAssets(), // TODO There is also inefficient lazy loading inside this get function
116117
inject.getAssetGroups(),
117118
usersFromInjection(inject));
118119
});

0 commit comments

Comments
 (0)