Skip to content

Commit e14a560

Browse files
committed
moved project id validation into UserDto
1 parent d42be4b commit e14a560

31 files changed

+41
-122
lines changed

src/main/java/main/controllers/Project/ProjectController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ boolean isStepsEnabled(Integer projectId) throws AqualityException {
6565
return projects.get(0).getSteps() == 1;
6666
}
6767

68-
private boolean allowUpdateProject(ProjectDto template) {
68+
private boolean allowUpdateProject(ProjectDto template) throws AqualityException {
6969
if (template.getId() != null) {
7070
ProjectUserDto projectUser = baseUser.getProjectUser(template.getId());
7171
return baseUser.isManager() || projectUser.isManager() || projectUser.isAdmin();

src/main/java/main/controllers/Project/ProjectUserController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public ProjectUserDto create(ProjectUserDto template) throws AqualityException {
3131

3232
@Override
3333
public List<ProjectUserDto> get(ProjectUserDto template) throws AqualityException {
34-
if (baseUser.isFromGlobalManagement() || baseUser.getProjectUser(template.getProject_id()).isViewer() || template.getUser_id() != null) {
34+
boolean isViewer = template.getProject_id() != null && baseUser.getProjectUser(template.getProject_id()).isViewer();
35+
if (baseUser.isFromGlobalManagement() || isViewer || template.getUser_id() != null) {
3536
return fillProjectUsers(projectUserDao.searchAll(template));
3637
} else {
3738
throw new AqualityPermissionsException("Account is not allowed to view Project Users", baseUser);
@@ -60,7 +61,7 @@ private List<ProjectUserDto> fillProjectUsers(List<ProjectUserDto> projectUsers)
6061
return projectUsers;
6162
}
6263

63-
private boolean isEditorSession(ProjectUserDto template) {
64+
private boolean isEditorSession(ProjectUserDto template) throws AqualityException {
6465
return baseUser.isAdmin() || baseUser.isManager()
6566
|| baseUser.getProjectUser(template.getProject_id()).isAdmin()
6667
|| baseUser.getProjectUser(template.getProject_id()).isManager();

src/main/java/main/model/dto/UserDto.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,15 @@ public boolean isFromGlobalManagement(){
9494
return isManager() || isAuditor() || isAuditAdmin() || isCoordinator() || BooleanUtil.intToBoolean(head);
9595
}
9696

97-
public ProjectUserDto getProjectUser(Integer projectId){
97+
public ProjectUserDto getProjectUser(Integer projectId) throws AqualityException {
98+
if(projectId == null){
99+
throw new AqualityException("Project ID is not defined!");
100+
}
101+
98102
if(projectUsers != null){
99103
return projectUsers.stream().filter(x -> x.getProject_id().equals(projectId)).findFirst().orElse(getEmptyProjectUser());
100104
}
105+
101106
return getEmptyProjectUser();
102107
}
103108

src/main/java/main/view/Audits/AuditAttachmentsServlet.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@ public class AuditAttachmentsServlet extends BaseServlet implements IGet, IPost,
2626
public void doGet(HttpServletRequest req, HttpServletResponse resp){
2727
setGetResponseHeaders(resp);
2828
try {
29-
Integer projectId = validateAndGetProjectId(req);
3029
Session session = createSession(req);
3130
if (req.getParameterMap().containsKey("audit_id")) {
3231
AuditAttachmentDto auditAttachmentDtoTemplate = new AuditAttachmentDto();
3332
auditAttachmentDtoTemplate.setAudit_id(Integer.parseInt(req.getParameter("audit_id")));
34-
List<AuditAttachmentDto> attachments = session.getAuditController().get(auditAttachmentDtoTemplate, projectId);
33+
List<AuditAttachmentDto> attachments = session.getAuditController().get(auditAttachmentDtoTemplate, getProjectId(req));
3534
setJSONContentType(resp);
3635
resp.getWriter().write(mapper.serialize(attachments));
3736
} else {
@@ -47,12 +46,11 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp){
4746
public void doDelete(HttpServletRequest req, HttpServletResponse resp) {
4847
setPostResponseHeaders(resp);
4948
try {
50-
Integer projectId = validateAndGetProjectId(req);
5149
Session session = createSession(req);
5250
if (req.getParameterMap().containsKey("id")) {
5351
AuditAttachmentDto auditAttachmentDtoTemplate = new AuditAttachmentDto();
5452
auditAttachmentDtoTemplate.setId(Integer.parseInt(req.getParameter("id")));
55-
session.getAuditController().delete(auditAttachmentDtoTemplate, projectId);
53+
session.getAuditController().delete(auditAttachmentDtoTemplate, getProjectId(req));
5654
} else {
5755
setAuthorizationProblem(resp);
5856
}

src/main/java/main/view/Audits/AuditCommentServlet.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ public class AuditCommentServlet extends BaseServlet implements IPost {
1616
@Override
1717
public void doPost(HttpServletRequest req, HttpServletResponse resp){
1818
try {
19-
validateAndGetProjectId(req);
2019
setPostResponseHeaders(resp);
2120
setEncoding(resp);
2221
Session session = createSession(req);

src/main/java/main/view/Audits/AuditDownloadAttachmentServlet.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,11 @@ public class AuditDownloadAttachmentServlet extends BaseServlet implements IGet
2020
public void doGet(HttpServletRequest req, HttpServletResponse resp){
2121
setGetResponseHeaders(resp);
2222
try {
23-
Integer projectId = validateAndGetProjectId(req);
2423
Session session = createSession(req);
2524
if (req.getParameterMap().containsKey("id")) {
2625
AuditAttachmentDto auditAttachmentDto = new AuditAttachmentDto();
2726
auditAttachmentDto.setId(Integer.parseInt(req.getParameter("id")));
28-
List<AuditAttachmentDto> auditAttachments = session.getAuditController().get(auditAttachmentDto, projectId);
27+
List<AuditAttachmentDto> auditAttachments = session.getAuditController().get(auditAttachmentDto, getProjectId(req));
2928
processResponse(resp, auditAttachments.get(0).getPath());
3029
} else {
3130
resp.setStatus(400);

src/main/java/main/view/Audits/AuditorServlet.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp){
2020
setEncoding(resp);
2121

2222
try {
23-
validateAndGetProjectId(req);
2423
Session session = createSession(req);
2524
String requestedJson = getRequestJson(req);
2625
List<AuditorDto> auditors = mapper.mapObjects(AuditorDto.class, requestedJson);

src/main/java/main/view/BaseServlet.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -77,20 +77,8 @@ protected Integer getIntegerQueryParameter(@NotNull HttpServletRequest req, Stri
7777
: null;
7878
}
7979

80-
protected Integer validateAndGetProjectId(@NotNull HttpServletRequest req) throws AqualityException {
81-
return getProjectId(req, true);
82-
}
83-
84-
protected Integer getProjectId(@NotNull HttpServletRequest req, Boolean withValidation) throws AqualityException {
85-
86-
Integer projectId = (req.getParameterMap().containsKey(PROJECT_ID_KEY) && !req.getParameter(PROJECT_ID_KEY).isEmpty())
87-
? getIntegerQueryParameter(req, PROJECT_ID_KEY)
88-
: null;
89-
if (projectId == null && withValidation) {
90-
throw new AqualityException("Project id is not defined!");
91-
}
92-
93-
return projectId;
80+
protected Integer getProjectId(@NotNull HttpServletRequest req) {
81+
return getIntegerQueryParameter(req, PROJECT_ID_KEY);
9482
}
9583

9684
protected Boolean getBooleanQueryParameter(@NotNull HttpServletRequest req, String name) {

src/main/java/main/view/Project/AssignSuiteServlet.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@ public class AssignSuiteServlet extends BaseServlet {
1414
public void doPost(HttpServletRequest req, HttpServletResponse resp) {
1515
setPostResponseHeaders(resp);
1616
try {
17-
Integer projectId = validateAndGetProjectId(req);
1817
Session session = createSession(req);
1918
Test2SuiteDto test2Suite = new Test2SuiteDto();
2019
test2Suite.setSuite_id(Integer.parseInt(req.getParameter("suiteId")));
2120
test2Suite.setTest_id(Integer.parseInt(req.getParameter("testId")));
22-
session.controllerFactory.getHandler(test2Suite).create(test2Suite, projectId);
21+
session.controllerFactory.getHandler(test2Suite).create(test2Suite, getProjectId(req));
2322
} catch (Exception e) {
2423
handleException(resp, e);
2524
}
@@ -29,12 +28,11 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) {
2928
public void doDelete(HttpServletRequest req, HttpServletResponse resp) {
3029
setDeleteResponseHeaders(resp);
3130
try {
32-
Integer projectId = validateAndGetProjectId(req);
3331
Session session = createSession(req);
3432
Test2SuiteDto test2Suite = new Test2SuiteDto();
3533
test2Suite.setSuite_id(Integer.parseInt(req.getParameter("suiteId")));
3634
test2Suite.setTest_id(Integer.parseInt(req.getParameter("testId")));
37-
session.controllerFactory.getHandler(test2Suite).delete(test2Suite, projectId);
35+
session.controllerFactory.getHandler(test2Suite).delete(test2Suite, getProjectId(req));
3836
} catch (Exception e) {
3937
handleException(resp, e);
4038
}

src/main/java/main/view/Project/BodyPatternServlet.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp){
2121
setEncoding(resp);
2222

2323
try {
24-
Integer projectId = validateAndGetProjectId(req);
2524
Session session = createSession(req);
2625
BodyPatternDto bodyPatternDto = new BodyPatternDto();
27-
bodyPatternDto.setProject_id(projectId);
26+
bodyPatternDto.setProject_id(getProjectId(req));
2827
List<BodyPatternDto> bodyPatterns = session.controllerFactory.getHandler(bodyPatternDto).get(bodyPatternDto);
2928
setJSONContentType(resp);
3029
resp.getWriter().write(mapper.serialize(bodyPatterns));
@@ -39,7 +38,7 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) {
3938
setEncoding(resp);
4039

4140
try {
42-
validateAndGetProjectId(req);
41+
4342
Session session = createSession(req);
4443
String requestedJson = getRequestJson(req);
4544
BodyPatternDto bodyPatternDto = mapper.mapObject(BodyPatternDto.class, requestedJson);
@@ -55,7 +54,7 @@ public void doDelete(HttpServletRequest req, HttpServletResponse resp) {
5554
setEncoding(resp);
5655

5756
try {
58-
validateAndGetProjectId(req);
57+
5958
Session session = createSession(req);
6059
BodyPatternDto entity = new BodyPatternDto();
6160
entity.setId(getIntegerQueryParameter(req, "id"));

0 commit comments

Comments
 (0)