Skip to content

Commit ad9169d

Browse files
authored
Merge pull request #43 from Simon-Initiative/SPRINT-0.32.6
Sprint 0.32.6
2 parents 6d4042e + 89388f0 commit ad9169d

1 file changed

Lines changed: 9 additions & 12 deletions

File tree

src/main/java/edu/cmu/oli/content/boundary/managers/ContentPackageManager.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ public JsonElement editablePackages(AppSecurityContext session) {
142142
q.setHint(QueryHints.HINT_READONLY, true);
143143
resultList = q.getResultList();
144144
} else {
145-
resultList = fetchPackagesByGuids(permittedPkgs, true);
145+
resultList = fetchPackagesByIdOrGuid(permittedPkgs);
146146
}
147147
resultList = resultList.stream().filter(cp -> {
148148
return (cp.getVisible() == null || cp.getVisible()) && !cp.getBuildStatus().equals(BuildStatus.FAILED);
@@ -161,16 +161,13 @@ public JsonElement editablePackages(AppSecurityContext session) {
161161
return jsonElement;
162162
}
163163

164-
private List<ContentPackage> fetchPackagesByGuids(Set<String> packageGuids, boolean readOnly) {
165-
CriteriaBuilder cb = em.getCriteriaBuilder();
166-
CriteriaQuery<ContentPackage> criteria = cb.createQuery(ContentPackage.class);
167-
Root<ContentPackage> contentPackageRoot = criteria.from(ContentPackage.class);
168-
criteria.select(contentPackageRoot).where(contentPackageRoot.get("guid").in(packageGuids));
169-
TypedQuery<ContentPackage> query = em.createQuery(criteria);
170-
if (readOnly) {
171-
query.setHint(QueryHints.HINT_READONLY, true);
164+
private List<ContentPackage> fetchPackagesByIdOrGuid(Set<String> packageIdsOrGuids) {
165+
List<ContentPackage> packages = new ArrayList<>();
166+
167+
for (String packageIdOrGuid : packageIdsOrGuids) {
168+
packages.add(findContentPackage(packageIdOrGuid));
172169
}
173-
return query.getResultList();
170+
return packages;
174171
}
175172

176173
public JsonElement setPackageEditable(AppSecurityContext session, boolean editable, JsonArray packageGuids) {
@@ -183,7 +180,7 @@ public JsonElement setPackageEditable(AppSecurityContext session, boolean editab
183180
}
184181
});
185182

186-
fetchPackagesByGuids(packageGuidSet, false).forEach(contentPackage -> contentPackage.setEditable(editable));
183+
fetchPackagesByIdOrGuid(packageGuidSet).forEach(contentPackage -> contentPackage.setEditable(editable));
187184

188185
JsonObject locked = new JsonObject();
189186
locked.addProperty("editable", editable);
@@ -202,7 +199,7 @@ public JsonElement setPackageVisible(AppSecurityContext session, boolean visible
202199
}
203200
});
204201

205-
fetchPackagesByGuids(packageGuidSet, false).forEach(contentPackage -> contentPackage.setVisible(visible));
202+
fetchPackagesByIdOrGuid(packageGuidSet).forEach(contentPackage -> contentPackage.setVisible(visible));
206203

207204
JsonObject hidden = new JsonObject();
208205
hidden.addProperty("visible", visible);

0 commit comments

Comments
 (0)