]> WPIA git - gigi.git/blob - src/org/cacert/gigi/api/CATSImport.java
Merge "Update notes about password security"
[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.Organisation;
12 import org.cacert.gigi.dbObjects.User;
13
14 public class CATSImport extends APIPoint {
15
16     public static final String PATH = "/cats/import";
17
18     @Override
19     public void process(HttpServletRequest req, HttpServletResponse resp, CertificateOwner u) throws IOException {
20         if ( !(u instanceof Organisation)) {
21             resp.sendError(500, "Error, invalid cert");
22             return;
23         }
24         if ( !((Organisation) u).isSelfOrganisation()) {
25             resp.sendError(500, "Error, invalid cert");
26             return;
27
28         }
29         String target = req.getParameter("mid");
30         String testType = req.getParameter("variant");
31         String date = req.getParameter("date");
32         if (target == null || testType == null || date == null) {
33             resp.sendError(500, "Error, requires mid, variant and date");
34             return;
35         }
36         String language = req.getParameter("language");
37         String version = req.getParameter("version");
38         if (language == null || version == null) {
39             resp.sendError(500, "Error, requires also language and version");
40             return;
41         }
42         int id;
43         try {
44             id = Integer.parseInt(target);
45         } catch (NumberFormatException e) {
46             resp.sendError(500, "Error, requires mid to be integer.");
47             return;
48         }
49         CertificateOwner o = CertificateOwner.getById(id);
50         if ( !(o instanceof User)) {
51             resp.sendError(500, "Error, requires valid userid");
52             return;
53         }
54         System.out.println("CATS: " + target + ": " + testType);
55         User targetUser = (User) o;
56         System.out.println(targetUser.getId());
57         CATS.enterResult(targetUser, testType, new Date(Long.parseLong(date)), language, version);
58     }
59 }