]> WPIA git - gigi.git/blob - src/org/cacert/gigi/api/CATSImport.java
afa0f2a6fdbc6fd73896e06e0ca22b667e51ba49
[gigi.git] / src / org / cacert / gigi / api / CATSImport.java
1 package org.cacert.gigi.api;
2
3 import java.io.IOException;
4 import java.util.Date;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 import org.cacert.gigi.dbObjects.CATS;
10 import org.cacert.gigi.dbObjects.CertificateOwner;
11 import org.cacert.gigi.dbObjects.User;
12
13 public class CATSImport extends CATSRestrictedApi {
14
15     public static final String PATH = "/cats/import";
16
17     @Override
18     public void processAuthenticated(HttpServletRequest req, HttpServletResponse resp) throws IOException {
19         String target = req.getParameter("mid");
20         String testType = req.getParameter("variant");
21         String date = req.getParameter("date");
22         if (target == null || testType == null || date == null) {
23             resp.sendError(500, "Error, requires mid, variant and date");
24             return;
25         }
26         String language = req.getParameter("language");
27         String version = req.getParameter("version");
28         if (language == null || version == null) {
29             resp.sendError(500, "Error, requires also language and version");
30             return;
31         }
32         int id;
33         try {
34             id = Integer.parseInt(target);
35         } catch (NumberFormatException e) {
36             resp.sendError(500, "Error, requires mid to be integer.");
37             return;
38         }
39         CertificateOwner o = CertificateOwner.getById(id);
40         if ( !(o instanceof User)) {
41             resp.sendError(500, "Error, requires valid userid");
42             return;
43         }
44         System.out.println("CATS: " + target + ": " + testType);
45         User targetUser = (User) o;
46         System.out.println(targetUser.getId());
47         CATS.enterResult(targetUser, testType, new Date(Long.parseLong(date)), language, version);
48     }
49 }