Skip to content
This repository was archived by the owner on Jun 17, 2020. It is now read-only.

Commit a91ebbe

Browse files
committed
Merge pull request #116 from eiselems/113
impl CreateCsarService / Servlet, add to GUI fix #113 implemented both classes and added a button to listCsarServlet.ftl
2 parents dfb28bb + 4ac679a commit a91ebbe

File tree

3 files changed

+107
-0
lines changed

3 files changed

+107
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package org.opentosca.csarrepo.service;
2+
3+
import org.apache.logging.log4j.LogManager;
4+
import org.apache.logging.log4j.Logger;
5+
import org.opentosca.csarrepo.model.Csar;
6+
import org.opentosca.csarrepo.model.repository.CsarRepository;
7+
8+
/**
9+
* @author eiselems ([email protected])
10+
*
11+
*/
12+
public class CreateCsarService extends AbstractService {
13+
14+
private static final Logger LOGGER = LogManager.getLogger(CreateCsarService.class);
15+
16+
/**
17+
* @param userId
18+
* @param file
19+
*/
20+
public CreateCsarService(long userId, String name) {
21+
super(userId);
22+
23+
CsarRepository csarRepo = new CsarRepository();
24+
try {
25+
Csar csar = new Csar();
26+
csar.setName(name);
27+
csarRepo.save(csar);
28+
} catch (Exception e) {
29+
this.addError(e.getMessage());
30+
LOGGER.error(e);
31+
}
32+
}
33+
34+
public boolean getResult() {
35+
super.logInvalidResultAccess("getResult");
36+
37+
return !this.hasErrors();
38+
}
39+
40+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package org.opentosca.csarrepo.servlet;
2+
3+
import java.io.IOException;
4+
5+
import javax.servlet.ServletException;
6+
import javax.servlet.annotation.WebServlet;
7+
import javax.servlet.http.HttpServlet;
8+
import javax.servlet.http.HttpServletRequest;
9+
import javax.servlet.http.HttpServletResponse;
10+
11+
import org.apache.logging.log4j.LogManager;
12+
import org.apache.logging.log4j.Logger;
13+
import org.opentosca.csarrepo.service.CreateCsarService;
14+
15+
/**
16+
* Servlet implementation class UploadCSARServlet
17+
*/
18+
@WebServlet("/createcsar")
19+
public class CreateCsarServlet extends AbstractServlet {
20+
private static final long serialVersionUID = 1L;
21+
22+
private static final Logger LOGGER = LogManager.getLogger(CreateCsarServlet.class);
23+
private static final String PARAM_CSAR_NAME = "csarName";
24+
25+
/**
26+
* @see HttpServlet#HttpServlet()
27+
*/
28+
public CreateCsarServlet() {
29+
super();
30+
// TODO Auto-generated constructor stub
31+
}
32+
33+
/**
34+
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
35+
* response)
36+
*/
37+
@Override
38+
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
39+
this.doPost(request, response);
40+
}
41+
42+
/**
43+
* @throws IOException
44+
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
45+
* response)
46+
*/
47+
@Override
48+
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,
49+
IOException {
50+
String csarName = request.getParameter(PARAM_CSAR_NAME);
51+
CreateCsarService createCsarService = new CreateCsarService(0L, csarName);
52+
53+
LOGGER.debug("Got request to create CSAR " + csarName + " delegating ...");
54+
55+
if (createCsarService.hasErrors()) {
56+
throw new ServletException("CreateCsarService has Errors: " + createCsarService.getErrors().get(0));
57+
} else {
58+
// TODO write proper response
59+
response.getWriter().print("<html><body>Success</body></html>");
60+
}
61+
}
62+
}

src/main/webapp/listCsarServlet.ftl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
<#import "layout.ftl" as layout>
22
<@layout.sb_admin>
33

4+
<form action="${basePath}/createcsar" method="post">
5+
<p>Name: <input name="csarName" type="text" size="30" maxlength="30"></p>
6+
<input type="submit" value="Create new Csar" />
7+
</form>
8+
49
<table id="csarList" class="table table-striped table-bordered" border="1">
510
<thead>
611
<tr>

0 commit comments

Comments
 (0)