Skip to content

Commit c721b89

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

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

openbas-api/src/main/java/io/openbas/execution/ExecutableInject.java

Lines changed: 4 additions & 0 deletions
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
}

openbas-api/src/main/java/io/openbas/helper/InjectHelper.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,16 @@ 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
117+
// get function
116118
inject.getAssetGroups(),
117119
usersFromInjection(inject));
118120
});

0 commit comments

Comments
 (0)