Skip to content

Commit c33423b

Browse files
Updates for Angular 9
Fix API bugs
1 parent 111dd2f commit c33423b

File tree

11 files changed

+114
-106
lines changed

11 files changed

+114
-106
lines changed

src/main/java/main/model/db/imports/BaseImporter.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main.model.db.imports;
22

33
import main.controllers.ControllerFactory;
4+
import main.controllers.Project.IssueController;
45
import main.exceptions.AqualityException;
56
import main.model.db.dao.project.*;
67
import main.model.dto.project.*;
@@ -11,9 +12,11 @@
1112
import java.util.*;
1213
import java.util.regex.Matcher;
1314
import java.util.regex.Pattern;
15+
import java.util.regex.PatternSyntaxException;
1416

1517
class BaseImporter {
1618
private ControllerFactory controllerFactory;
19+
private IssueController issueController;
1720
private String pattern;
1821
protected File file;
1922
private List<IssueDto> issues;
@@ -24,7 +27,8 @@ class BaseImporter {
2427
controllerFactory = new ControllerFactory(user);
2528
IssueDto issueTemplate = new IssueDto();
2629
issueTemplate.setProject_id(this.projectId);
27-
issues = controllerFactory.getHandler(issueTemplate).get(issueTemplate);
30+
issueController = controllerFactory.getHandler(issueTemplate);
31+
issues = issueController.get(issueTemplate);
2832
}
2933

3034
private List<TestResultDto> existingResults = new ArrayList<>();
@@ -260,9 +264,18 @@ private TestResultDto compareByRegexp(TestResultDto result, List<TestResultDto>
260264
private boolean tryFillByIssue(TestResultDto result, List<IssueDto> issues) {
261265
if (result.getFail_reason() != null) {
262266
for (IssueDto issue : issues) {
263-
if (issue.getExpression() != null && !issue.getStatus_id().equals(4) && RegexpUtil.match(result.getFail_reason(), issue.getExpression())) {
264-
result.setIssue_id(issue.getId());
265-
return true;
267+
try {
268+
if (issue.getExpression() != null && !issue.getStatus_id().equals(4) && RegexpUtil.match(result.getFail_reason(), issue.getExpression())) {
269+
result.setIssue_id(issue.getId());
270+
return true;
271+
}
272+
} catch (PatternSyntaxException regexException) {
273+
issue.setExpression("$blank");
274+
try {
275+
issueController.create(issue);
276+
} catch (AqualityException controllerException) {
277+
System.out.println(String.format("Was not able to fix invalid issue expression: id: %s", issue.getId()));
278+
}
266279
}
267280
}
268281
}

src/main/java/main/model/dto/project/TestResultStatDto.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ public class TestResultStatDto extends BaseDto {
2626
private String name;
2727
private String status;
2828
private String resolution;
29-
private String assignee;
30-
private String developer;
31-
private String comment;
29+
private String issue_assignee;
30+
private String developer_name;
31+
private String issue_id;
32+
private String issue_title;
3233
}

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main.view.Audits;
22

33
import main.Session;
4+
import main.exceptions.AqualityException;
45
import main.model.dto.audit.AuditAttachmentDto;
56
import main.utils.FileUtils;
67
import main.utils.PathUtils;
@@ -35,7 +36,7 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp){
3536
resp.getWriter().write(mapper.serialize(attachments));
3637
} else {
3738
resp.setStatus(400);
38-
setErrorHeader(resp, "You have no specify Audit ID!");
39+
throw new AqualityException("You have no specify Audit ID!");
3940
}
4041
}catch (Exception e) {
4142
handleException(resp, e);
@@ -44,7 +45,7 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp){
4445

4546
@Override
4647
public void doDelete(HttpServletRequest req, HttpServletResponse resp) {
47-
setPostResponseHeaders(resp);
48+
setDeleteResponseHeaders(resp);
4849
try {
4950
Session session = createSession(req);
5051
if (req.getParameterMap().containsKey("id")) {
@@ -62,9 +63,9 @@ public void doDelete(HttpServletRequest req, HttpServletResponse resp) {
6263
@Override
6364
public void doPost(HttpServletRequest req, HttpServletResponse resp) {
6465
try {
66+
setPostResponseHeaders(resp);
6567
req.setCharacterEncoding(StandardCharsets.UTF_8.toString());
6668
setEncoding(resp);
67-
setPostResponseHeaders(resp);
6869
Session session = createSession(req);
6970
if (req.getParameterMap().containsKey("audit_id")) {
7071
FileUtils fileUtils = new FileUtils();
@@ -80,7 +81,7 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) {
8081
session.getAuditController().createMultiply(listOfAttachments);
8182
} else {
8283
resp.setStatus(400);
83-
setErrorHeader(resp, "You have no specify Audit ID!");
84+
throw new AqualityException("You have no specify Audit ID!");
8485
}
8586
} catch (Exception e) {
8687
handleException(resp, e);

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main.view.Audits;
22

33
import main.Session;
4+
import main.exceptions.AqualityException;
45
import main.model.dto.audit.AuditAttachmentDto;
56
import main.view.BaseServlet;
67
import main.view.IGet;
@@ -28,7 +29,7 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp){
2829
processResponse(resp, auditAttachments.get(0).getPath());
2930
} else {
3031
resp.setStatus(400);
31-
setErrorHeader(resp, "You have no specify Attachment ID");
32+
throw new AqualityException("You have no specify Attachment ID");
3233
}
3334
}catch (Exception e) {
3435
handleException(resp, e);

src/main/java/main/view/Audits/AuditServlet.java

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,49 @@
44
import main.model.dto.audit.AuditDto;
55
import main.view.BaseServlet;
66
import main.view.IDelete;
7+
import main.view.IGet;
8+
import main.view.IPost;
79

810
import javax.servlet.annotation.WebServlet;
911
import javax.servlet.http.HttpServletRequest;
1012
import javax.servlet.http.HttpServletResponse;
13+
import java.util.List;
1114

1215
@WebServlet("/audit")
13-
public class AuditServlet extends BaseServlet implements IDelete {
16+
public class AuditServlet extends BaseServlet implements IDelete, IGet, IPost {
17+
18+
@Override
19+
public void doGet(HttpServletRequest req, HttpServletResponse resp){
20+
setGetResponseHeaders(resp);
21+
setEncoding(resp);
22+
23+
try {
24+
Session session = createSession(req);
25+
AuditDto audit = new AuditDto();
26+
audit.getSearchTemplateFromRequestParameters(req);
27+
List<AuditDto> audits = session.getAuditController().get(audit);
28+
setJSONContentType(resp);
29+
resp.getWriter().write(mapper.serialize(audits));
30+
}catch (Exception e) {
31+
handleException(resp, e);
32+
}
33+
}
34+
35+
@Override
36+
public void doPost(HttpServletRequest req, HttpServletResponse resp){
37+
setPostResponseHeaders(resp);
38+
setEncoding(resp);
39+
try {
40+
Session session = createSession(req);
41+
String requestedJson = getRequestJson(req);
42+
AuditDto audit = mapper.mapObject(AuditDto.class, requestedJson);
43+
audit = session.getAuditController().create(audit);
44+
resp.getWriter().write(mapper.serialize(audit));
45+
setJSONContentType(resp);
46+
}catch (Exception e) {
47+
handleException(resp, e);
48+
}
49+
}
1450

1551
@Override
1652
public void doDelete(HttpServletRequest req, HttpServletResponse resp){

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp){
2424
String requestedJson = getRequestJson(req);
2525
List<AuditorDto> auditors = mapper.mapObjects(AuditorDto.class, requestedJson);
2626
for (AuditorDto auditorDto : auditors) {
27-
auditorDto.setAudit_id(Integer.parseInt(req.getParameter("audit_id")));
27+
auditorDto.setAudit_id(getIntegerQueryParameter(req, "audit_id"));
2828
}
2929
session.getAuditController().updateAuditors(auditors);
3030
}catch (Exception e) {
@@ -34,6 +34,6 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp){
3434

3535
@Override
3636
public void doOptions(HttpServletRequest req, HttpServletResponse resp){
37-
setPostResponseHeaders(resp);
37+
setOptionsResponseHeaders(resp);
3838
}
3939
}

src/main/java/main/view/Audits/CreateAuditServlet.java

Lines changed: 0 additions & 34 deletions
This file was deleted.

src/main/java/main/view/Audits/GetAuditsServlet.java

Lines changed: 0 additions & 39 deletions
This file was deleted.

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

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ protected void setJSONContentType(@NotNull HttpServletResponse resp) {
9595
}
9696

9797
protected void setDeleteResponseHeaders(@NotNull HttpServletResponse resp) {
98-
resp.addHeader("Access-Control-Allow-Methods", "DELETE");
98+
resp.addHeader("Access-Control-Allow-Methods", "DELETE, POST");
9999
resp.addHeader("Access-Control-Allow-Origin", "*");
100100
resp.addHeader("Access-Control-Allow-Headers", "Authorization");
101101
}
@@ -104,31 +104,22 @@ protected void setGetResponseHeaders(@NotNull HttpServletResponse resp) {
104104
resp.addHeader("Access-Control-Allow-Methods", "GET");
105105
resp.addHeader("Access-Control-Allow-Origin", "*");
106106
resp.addHeader("Access-Control-Allow-Headers", "Authorization");
107-
resp.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
108-
resp.addHeader("Access-Control-Allow-Headers", "Content-Disposition");
109107
}
110108

111109
protected void setOptionsResponseHeaders(@NotNull HttpServletResponse resp) {
112-
resp.addHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, DELETE");
110+
resp.addHeader("Access-Control-Allow-Methods", "OPTIONS, DELETE, POST, GET, PUT");
113111
resp.addHeader("Access-Control-Allow-Origin", "*");
114-
resp.addHeader("Access-Control-Allow-Headers", "Authorization, authorization, Disposition, Content-Type");
115-
resp.addHeader("Access-Control-Expose-Headers", "Content-Disposition");
112+
resp.addHeader("Access-Control-Allow-Headers", "Authorization, content-type");
116113
resp.setStatus(204);
117114
}
118115

119116
private void setAuthorizationProblem(@NotNull HttpServletResponse resp, @NotNull Exception e) throws AqualityException {
120117
resp.setStatus(401);
121-
resp.addHeader("ErrorMessage", !Objects.equals(e.getMessage(), "") ? e.getMessage() : "Are you sure you logged in?");
122118
setResponseBody(resp, !Objects.equals(e.getMessage(), "") ? e.getMessage() : "Are you sure you logged in?");
123119
}
124120

125-
protected void setAuthorizationProblem(@NotNull HttpServletResponse resp) {
126-
resp.setStatus(401);
127-
resp.addHeader("ErrorMessage", "Are you sure you logged in?");
128-
}
129-
130-
protected void setErrorHeader(@NotNull HttpServletResponse resp, String errorMessage) {
131-
resp.addHeader("ErrorMessage", errorMessage);
121+
protected void setAuthorizationProblem(@NotNull HttpServletResponse resp) throws AqualityException {
122+
setAuthorizationProblem(resp, new Exception("Are you sure you logged in?"));
132123
}
133124

134125
private String getSessionId(@NotNull HttpServletRequest req) throws AqualityException, AuthenticationException {
@@ -203,7 +194,6 @@ protected void handleException(HttpServletResponse resp, @NotNull Exception e) {
203194
case "AqualitySQLException":
204195
AqualityException exception = (AqualityException) e;
205196
resp.setStatus(exception.getResponseCode());
206-
resp.addHeader("ErrorMessage", exception.getMessage());
207197
setResponseBody(resp, new ErrorDto(exception.getMessage()));
208198
return;
209199
default:
@@ -216,13 +206,11 @@ protected void handleException(HttpServletResponse resp, @NotNull Exception e) {
216206

217207
private void setNotImplementedFunction(@NotNull HttpServletResponse resp, @NotNull Exception e) throws AqualityException {
218208
resp.setStatus(501);
219-
resp.addHeader("ErrorMessage", e.getMessage());
220209
setResponseBody(resp, new ErrorDto(e.getMessage()));
221210
}
222211

223212
private void setUnknownIssue(@NotNull HttpServletResponse resp) throws AqualityException {
224213
resp.setStatus(500);
225-
resp.addHeader("ErrorMessage", "Unknown Issue.");
226214
setResponseBody(resp, new ErrorDto("Unknown Issue."));
227215
}
228216

src/main/java/main/view/Project/ExecuteImportServlet.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) {
7878

7979
@Override
8080
public void doOptions(HttpServletRequest req, HttpServletResponse resp) {
81-
setPostResponseHeaders(resp);
81+
setOptionsResponseHeaders(resp);
8282
}
8383

8484
private void readParameters(HttpServletRequest req) throws AqualityQueryParameterException {

0 commit comments

Comments
 (0)