Skip to content

Commit 108ea4b

Browse files
author
Alexander Bainczyk
committed
clean ups
1 parent b7fb60d commit 108ea4b

File tree

10 files changed

+35
-47
lines changed

10 files changed

+35
-47
lines changed

backend/src/main/java/de/learnlib/alex/data/dao/SymbolGroupDAO.java

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -252,39 +252,31 @@ public SymbolGroup get(User user, long projectId, Long groupId) {
252252
return group;
253253
}
254254

255-
public SymbolGroup update(User user, SymbolGroup group) {
256-
final Project project = projectRepository.findById(group.getProjectId()).orElse(null);
257-
final SymbolGroup groupInDB = symbolGroupRepository.findById(group.getId()).orElse(null);
255+
public SymbolGroup update(User user, Long projectId, Long groupId, SymbolGroup group) {
256+
final var project = projectRepository.findById(projectId).orElse(null);
257+
final var groupInDB = symbolGroupRepository.findById(groupId).orElse(null);
258258
checkAccess(user, project, groupInDB);
259259

260-
// check symbolgroup lock status
260+
// check group lock status
261261
this.symbolPresenceService.checkGroupLockStatus(project.getId(), group.getId());
262262

263+
// has name changed?
263264
if (!group.getName().equals(groupInDB.getName())) {
264-
group.setName(createGroupName(project, group));
265+
groupInDB.setName(createGroupName(project, group));
265266
}
266267

267-
if (group.getParentId() != null && group.getParentId().equals(groupInDB.getId())) {
268-
throw new ValidationException("A group cannot have itself as child.");
269-
}
268+
final var updatedGroup = symbolGroupRepository.save(groupInDB);
269+
loadLazyRelations(updatedGroup);
270270

271-
final SymbolGroup defaultGroup = symbolGroupRepository.findFirstByProject_IdOrderByIdAsc(project.getId());
272-
if (defaultGroup.equals(groupInDB) && group.getParentId() != null) {
273-
throw new ValidationException("The default group cannot be a child of another group.");
274-
}
275-
276-
groupInDB.setProject(project);
277-
groupInDB.setName(group.getName());
278-
279-
return symbolGroupRepository.save(groupInDB);
271+
return updatedGroup;
280272
}
281273

282274
public SymbolGroup move(User user, SymbolGroup group) {
283275
final Project project = projectRepository.findById(group.getProjectId()).orElse(null);
284276
final SymbolGroup groupInDB = symbolGroupRepository.findById(group.getId()).orElse(null);
285277
checkAccess(user, project, groupInDB);
286278

287-
// check symbolgroup lock status
279+
// check group lock status
288280
this.symbolPresenceService.checkGroupLockStatus(project.getId(), group.getId());
289281

290282
final SymbolGroup defaultGroup = symbolGroupRepository.findFirstByProject_IdOrderByIdAsc(project.getId());
@@ -446,10 +438,8 @@ private void loadLazyRelations(SymbolGroup group) {
446438
* The Group to take care of its Symbols.
447439
*/
448440
private void beforePersistGroup(SymbolGroup group) {
449-
final Project project = group.getProject();
450-
451441
group.getSymbols().forEach(symbol -> {
452-
project.addSymbol(symbol);
442+
group.getProject().addSymbol(symbol);
453443
symbol.setGroup(group);
454444
SymbolDAO.beforeSymbolSave(symbol);
455445
});

backend/src/main/java/de/learnlib/alex/data/dao/SymbolParameterDAO.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,12 @@ public SymbolParameter create(User user, Long projectId, Long symbolId, SymbolPa
8181
return create(user, project, symbol, parameter);
8282
}
8383

84-
public SymbolParameter update(User user, Long projectId, Long symbolId, SymbolParameter parameter) {
85-
final Project project = projectRepository.findById(projectId).orElse(null);
86-
final Symbol symbol = symbolRepository.findById(symbolId).orElse(null);
84+
public SymbolParameter update(User user, Long projectId, Long symbolId, Long parameterId, SymbolParameter parameter) {
85+
final var project = projectRepository.findById(projectId).orElse(null);
86+
final var symbol = symbolRepository.findById(symbolId).orElse(null);
87+
final var parameterInDB = symbolParameterRepository.findById(parameterId).orElse(null);
8788

88-
checkAccess(user, project, symbol, parameter);
89+
checkAccess(user, project, symbol, parameterInDB);
8990
checkIfTypeWithNameExists(symbol, parameter);
9091

9192
// check symbol lock status
@@ -94,7 +95,10 @@ public SymbolParameter update(User user, Long projectId, Long symbolId, SymbolPa
9495
symbol.setUpdatedOn(ZonedDateTime.now());
9596
symbolRepository.save(symbol);
9697

97-
return symbolParameterRepository.save(parameter);
98+
parameterInDB.setName(parameter.getName());
99+
parameterInDB.setParameterType(parameter.getParameterType());
100+
101+
return symbolParameterRepository.save(parameterInDB);
98102
}
99103

100104
public void delete(User user, Long projectId, Long symbolId, Long parameterId) {

backend/src/main/java/de/learnlib/alex/data/rest/ProjectEnvironmentResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ public ResponseEntity<?> deleteVariable(
240240
produces = MediaType.APPLICATION_JSON,
241241
consumes = MediaType.APPLICATION_JSON
242242
)
243-
public ResponseEntity<ProjectEnvironmentVariable> updateUrl(
243+
public ResponseEntity<ProjectEnvironmentVariable> updateVariable(
244244
@PathVariable("projectId") Long projectId,
245245
@PathVariable("environmentId") Long environmentId,
246246
@PathVariable("varId") Long varId,

backend/src/main/java/de/learnlib/alex/data/rest/SymbolGroupResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ public ResponseEntity<SymbolGroup> update(@PathVariable("projectId") Long projec
177177
@PathVariable("groupId") Long groupId,
178178
@RequestBody SymbolGroup group) {
179179
final User user = authContext.getUser();
180-
final var updatedGroup = symbolGroupDAO.update(user, group);
180+
final var updatedGroup = symbolGroupDAO.update(user, projectId, groupId, group);
181181
webhookService.fireEvent(user, new SymbolGroupEvent.Updated(updatedGroup));
182182
return ResponseEntity.ok(updatedGroup);
183183
}

backend/src/main/java/de/learnlib/alex/data/rest/SymbolParameterResource.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,9 @@
1616

1717
package de.learnlib.alex.data.rest;
1818

19-
import de.learnlib.alex.auth.entities.User;
2019
import de.learnlib.alex.data.dao.SymbolParameterDAO;
2120
import de.learnlib.alex.data.entities.SymbolParameter;
2221
import de.learnlib.alex.security.AuthContext;
23-
import javax.validation.ValidationException;
2422
import javax.ws.rs.core.MediaType;
2523
import org.springframework.beans.factory.annotation.Autowired;
2624
import org.springframework.http.HttpStatus;
@@ -70,8 +68,8 @@ public ResponseEntity<SymbolParameter> create(
7068
@PathVariable("symbolId") Long symbolId,
7169
@RequestBody SymbolParameter parameter
7270
) {
73-
final User user = authContext.getUser();
74-
final SymbolParameter createdParameter = symbolParameterDAO.create(user, projectId, symbolId, parameter);
71+
final var user = authContext.getUser();
72+
final var createdParameter = symbolParameterDAO.create(user, projectId, symbolId, parameter);
7573
return ResponseEntity.status(HttpStatus.CREATED).body(createdParameter);
7674
}
7775

@@ -95,7 +93,7 @@ public ResponseEntity<?> delete(
9593
@PathVariable("symbolId") Long symbolId,
9694
@PathVariable("parameterId") Long parameterId
9795
) {
98-
final User user = authContext.getUser();
96+
final var user = authContext.getUser();
9997
symbolParameterDAO.delete(user, projectId, symbolId, parameterId);
10098
return ResponseEntity.noContent().build();
10199
}
@@ -124,12 +122,8 @@ public ResponseEntity<SymbolParameter> update(
124122
@PathVariable("parameterId") Long parameterId,
125123
@RequestBody SymbolParameter parameter
126124
) {
127-
final User user = authContext.getUser();
128-
if (!parameterId.equals(parameter.getId())) {
129-
throw new ValidationException("The id of the parameter does not match with the one in the URL.");
130-
}
131-
132-
final SymbolParameter updatedParameter = symbolParameterDAO.update(user, projectId, symbolId, parameter);
125+
final var user = authContext.getUser();
126+
final var updatedParameter = symbolParameterDAO.update(user, projectId, symbolId, parameterId, parameter);
133127
return ResponseEntity.ok(updatedParameter);
134128
}
135129
}

backend/src/test/java/de/learnlib/alex/data/dao/SymbolGroupDAOTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,9 @@ public void shouldUpdateAGroup() {
178178

179179
given(projectRepository.findById(PROJECT_ID)).willReturn(Optional.of(project));
180180
given(symbolGroupRepository.findById(GROUP_ID)).willReturn(Optional.of(group));
181-
given(symbolGroupRepository.findFirstByProject_IdOrderByIdAsc(PROJECT_ID)).willReturn(defaultGroup);
181+
given(symbolGroupRepository.save(group)).willReturn(group);
182182

183-
symbolGroupDAO.update(user, group);
183+
symbolGroupDAO.update(user, PROJECT_ID, GROUP_ID, group);
184184

185185
verify(symbolGroupRepository).save(group);
186186
}

backend/src/test/java/de/learnlib/alex/integrationtests/resources/LtsFormulaResourceIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ public void shouldMoveMultipleFormulasToAnotherSuite() throws Exception {
242242
final Response res = formulaApi.updateSuite(projectId1, s1.getId(), Arrays.asList(f1.getId(), f2.getId()), s2, jwtUser1);
243243
assertEquals(HttpStatus.OK.value(), res.getStatus());
244244

245-
final List<LtsFormula> updatedFormulas = res.readEntity(new GenericType<List<LtsFormula>>() {
245+
final List<LtsFormula> updatedFormulas = res.readEntity(new GenericType<>() {
246246
});
247247
for (LtsFormula f : updatedFormulas) {
248248
assertEquals(s2.getId(), f.getSuiteId());

backend/src/test/java/de/learnlib/alex/integrationtests/resources/SymbolGroupResourceIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,15 +250,15 @@ public void shouldCreateMultipleGroupsAtOnce() {
250250
g2.setName("group2");
251251

252252
final Response res = symbolGroupApi.create(projectId1, Arrays.asList(g1, g2), jwtUser1);
253-
final List<SymbolGroup> createdGroups = res.readEntity(new GenericType<List<SymbolGroup>>() {
253+
final List<SymbolGroup> createdGroups = res.readEntity(new GenericType<>() {
254254
});
255255

256256
assertEquals(2, createdGroups.size());
257257
assertEquals("group1", createdGroups.get(0).getName());
258258
assertEquals("group2", createdGroups.get(1).getName());
259259

260260
final Response res1 = symbolGroupApi.getAll(projectId1, jwtUser1);
261-
final List<SymbolGroup> allGroups = res1.readEntity(new GenericType<List<SymbolGroup>>() {
261+
final List<SymbolGroup> allGroups = res1.readEntity(new GenericType<>() {
262262
});
263263
assertTrue(allGroups.containsAll(createdGroups));
264264
}

backend/src/test/java/de/learnlib/alex/integrationtests/resources/SymbolResourceIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ public void shouldGetMultipleSymbolsByTheirIds() throws Exception {
381381
final Symbol s3 = createSymbol("s3", (long) projectId1, jwtUser1);
382382

383383
final Response res = symbolApi.get(projectId1, Arrays.asList(s1.getId(), s3.getId()), jwtUser1);
384-
final List<Symbol> symbols = res.readEntity(new GenericType<List<Symbol>>() {
384+
final List<Symbol> symbols = res.readEntity(new GenericType<>() {
385385
});
386386
final List<Long> symbolIds = symbols.stream().map(Symbol::getId).collect(Collectors.toList());
387387

@@ -556,7 +556,7 @@ public void shouldRestoreSymbolsFromTheArchive() throws Exception {
556556
symbolApi.archive(projectId1, s2.getId().intValue(), jwtUser1);
557557

558558
final Response res = symbolApi.restore((long) projectId1, Arrays.asList(s1.getId(), s2.getId()), jwtUser1);
559-
final List<Symbol> restoredSymbols = res.readEntity(new GenericType<List<Symbol>>() {
559+
final List<Symbol> restoredSymbols = res.readEntity(new GenericType<>() {
560560
});
561561

562562
s1 = symbolApi.get(projectId1, s1.getId(), jwtUser1).readEntity(Symbol.class);

backend/src/test/java/de/learnlib/alex/integrationtests/resources/UserResourceIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ public void shouldGetManyUsersByIds() {
463463
final List<User> demoUsers = createDemoUsers();
464464
final Response res = userApi.getAll(Arrays.asList(demoUsers.get(0).getId(), demoUsers.get(1).getId()), adminJwt);
465465
assertEquals(HttpStatus.OK.value(), res.getStatus());
466-
final List<User> users = res.readEntity(new GenericType<List<User>>() {
466+
final List<User> users = res.readEntity(new GenericType<>() {
467467
});
468468
assertEquals(2, users.size());
469469
assertTrue(users.stream().anyMatch(u -> u.getId().equals(demoUsers.get(0).getId())));

0 commit comments

Comments
 (0)