Mercurial > hg > LGServices
annotate src/main/java/de/mpiwg/gazetteer/utils/UpdateFileStatus.java @ 102:6a508b605b5f
1. add new page : footer.jsp.
2. embed footer.jsp into other pages.
author | Calvin Yeh <cyeh@mpipw-berlin.mpg.com> |
---|---|
date | Fri, 29 Sep 2017 16:03:06 +0200 |
parents | 2e1662afc81c |
children |
rev | line source |
---|---|
34
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1 package de.mpiwg.gazetteer.utils; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4 import java.io.IOException; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5 import java.util.Date; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6 import java.util.List; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7 import java.util.logging.Logger; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9 import javax.servlet.ServletException; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10 import javax.servlet.http.HttpServlet; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11 import javax.servlet.http.HttpServletRequest; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12 import javax.servlet.http.HttpServletResponse; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14 import org.apache.commons.lang.StringUtils; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15 import org.json.JSONArray; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16 import org.json.JSONException; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17 import org.json.JSONObject; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19 import de.mpiwg.gazetteer.bo.LGFile; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20 import de.mpiwg.gazetteer.dataverse.DataverseUtils; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23 public class UpdateFileStatus extends HttpServlet{ |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26 private static final Logger logger = Logger.getLogger(UpdateFileStatus.class.getName()); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
27 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
28 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
29 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
30 // Set response content type |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
31 response.setContentType("application/json"); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
32 response.setCharacterEncoding("UTF-8"); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
33 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
34 JSONObject jsonResponse = new JSONObject(); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
35 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
36 String datasetId = request.getParameter("datasetId"); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
37 //logger.info("datasetId: " + datasetId); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
38 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
39 JSONObject filesJson = DataverseUtils.getAllFilesInDataset(datasetId); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
40 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
41 String datasetPersistentId = request.getParameter("datasetPersistentId"); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
42 logger.info("sync files for dataset: " + datasetPersistentId); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
43 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
44 try { |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
45 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
46 if(StringUtils.equals(filesJson.getString("status"), "OK")){ |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
47 // get all files with "datasetPersistentId=datasetPersistentId" from db |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
48 List<LGFile> filesInLGFile = DBService.getLGFileInDatasetFromDB(datasetPersistentId); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
49 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
50 //logger.info("files in dataset in LGServices: " + filesInLGFile); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
51 //logger.info("files: "); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
52 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
53 // find files in the "filesInLGFile" but not in the "filesJson" |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
54 JSONArray data = filesJson.getJSONArray("data"); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
55 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
56 for (int i = 0; i < filesInLGFile.size(); i ++) { |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
57 Long fileIdInDv = filesInLGFile.get(i).getFileIdInDv(); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
58 boolean updateFileIdInDv2Null = true; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
59 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
60 for (int j = 0 ; j < data.length(); j ++) { |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
61 int id = data.getJSONObject(j).getJSONObject("datafile").getInt("id"); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
62 //logger.info("id= "+id + ", fileIdInDv= "+fileIdInDv); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
63 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
64 if (id == fileIdInDv) { |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
65 // found file, so don't update fileIdInDv |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
66 updateFileIdInDv2Null = false; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
67 break; |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
68 } |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
69 } |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
70 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
71 if (updateFileIdInDv2Null) { |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
72 // update file in LGServices database.File |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
73 logger.info("update fileIdInDv2=" + fileIdInDv + " for file (id): " + filesInLGFile.get(i).getId() ); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
74 filesInLGFile.get(i).setFileIdInDv(null); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
75 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
76 Date date = new Date(); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
77 DBService.saveDBEntry(filesInLGFile.get(i), date); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
78 } |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
79 } |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
80 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
81 jsonResponse.put("status", "OK"); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
82 } |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
83 } catch (JSONException e1) { |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
84 e1.printStackTrace(); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
85 } |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
86 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
87 // ====================== |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
88 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
89 response.setHeader("Access-Control-Allow-Origin", "*"); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
90 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
91 java.io.PrintWriter out = response.getWriter(); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
92 out.print(jsonResponse); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
93 out.flush(); |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
94 |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
95 } |
2e1662afc81c
new: add synchronization for files uploaded to LGDataverse
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
96 } |