annotate src/main/java/de/mpiwg/gazetteer/servlet/SaveResource.java @ 14:be7787c36e58 default tip

new: nofity LGSercies for deleted files
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Mon, 02 Nov 2015 16:41:23 +0100
parents c2e2d794847f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 package de.mpiwg.gazetteer.servlet;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
2
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 import static edu.harvard.iq.dataverse.util.JsfHelper.JH;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
4
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 import java.io.ByteArrayInputStream;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
6 import java.io.File;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
7 import java.io.FileOutputStream;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
8 import java.io.IOException;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
9 import java.io.InputStream;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
10 import java.io.InputStreamReader;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 import java.net.MalformedURLException;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 import java.net.URLConnection;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
13 import java.net.URL;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
14 import java.nio.charset.StandardCharsets;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
15 import java.util.ArrayList;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 import java.util.Collection;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 import java.util.HashMap;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 import java.util.Iterator;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
19 import java.util.List;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 import java.util.Map;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
21 import java.util.logging.Level;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 import java.util.logging.Logger;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
23
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
24 import javax.ejb.EJB;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 import javax.ejb.EJBException;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
26 import javax.faces.application.FacesMessage;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
27 import javax.faces.context.FacesContext;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
28 import javax.servlet.ServletException;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
29 import javax.servlet.annotation.MultipartConfig;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
30 import javax.servlet.http.HttpServletRequest;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 import javax.servlet.http.HttpServletResponse;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 import javax.servlet.http.Part;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
33
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 import org.apache.commons.fileupload.FileItem;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
35 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 import org.apache.commons.fileupload.servlet.ServletFileUpload;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 import org.apache.commons.lang.StringUtils;
14
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
38 import org.primefaces.json.JSONArray;
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
39 import org.primefaces.json.JSONException;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
40 import org.primefaces.json.JSONObject;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 import org.primefaces.model.UploadedFile;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
42
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
43 import edu.harvard.iq.dataverse.DataFile;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
44 import edu.harvard.iq.dataverse.Dataset;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
45 import edu.harvard.iq.dataverse.DatasetServiceBean;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
46 import edu.harvard.iq.dataverse.DatasetVersion;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
47 import edu.harvard.iq.dataverse.DatasetVersionServiceBean;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
48 import edu.harvard.iq.dataverse.EjbDataverseEngine;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
49 import edu.harvard.iq.dataverse.UserNotification;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
50 import edu.harvard.iq.dataverse.DatasetPage.EditMode;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
51 import edu.harvard.iq.dataverse.authorization.AuthenticationRequest;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
52 import edu.harvard.iq.dataverse.authorization.exceptions.AuthenticationFailedException;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
53 import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
54 import edu.harvard.iq.dataverse.engine.command.Command;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
55 import edu.harvard.iq.dataverse.engine.command.exception.CommandException;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
56 import edu.harvard.iq.dataverse.engine.command.impl.CreateDatasetCommand;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
57 import edu.harvard.iq.dataverse.engine.command.impl.UpdateDatasetCommand;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
58 import edu.harvard.iq.dataverse.ingest.IngestServiceBean;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
59 import edu.harvard.iq.dataverse.util.JsfHelper;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
60
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
61
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
62 @MultipartConfig
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
63 public class SaveResource extends AbstractMonographServlet {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
64
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
65 private static final long serialVersionUID = 1L;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
66
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
67
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
68 private static final String TMP_DIR = "/gazetteer-server/tmp/";
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
69
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
70
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
71 private int maxFileSize = 100 * 1024;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
72 private int maxMemSize = 4 * 1024;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
73
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
74 private static final Logger logger = Logger.getLogger("monographs.SaveResource");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
75
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
76 @EJB
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
77 IngestServiceBean ingestService;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
78 @EJB
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
79 DatasetServiceBean datasetService;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
80 @EJB
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
81 DatasetVersionServiceBean datasetVersionService;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
82 @EJB
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
83 EjbDataverseEngine commandEngine;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
84
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
85 private DatasetVersion workingVersion;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
86 private Dataset dataset;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
87
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
88
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
89 Map<String, String> params = new HashMap<String, String>();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
90
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
91
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
92 public void init() throws ServletException {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
93 super.init();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
94 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
95
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
96
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
97 protected JSONObject saveFile(UpFile upFile) {
14
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
98
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
99 JSONObject jsonSavedResult= new JSONObject();
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
100
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
101 //String datasetGlobalId = "doi:10.5072/FK2/1EWLIR";
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
102 String datasetGlobalId = params.get("datasetGlobalId");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
103 dataset = datasetService.findByGlobalId(datasetGlobalId);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
104 workingVersion = dataset.getEditVersion();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
105
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
106 List<DataFile> dFileList = null;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
107 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
108 String fileContent = upFile.getFileContent();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
109 String fileName = upFile.getFileName();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
110 String contentType = upFile.getContentType();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
111
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
112 InputStream fileStream = new ByteArrayInputStream(fileContent.getBytes(StandardCharsets.UTF_8));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
113 dFileList = ingestService.createDataFiles(workingVersion, fileStream, fileName, contentType);
14
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
114
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
115
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
116 } catch (IOException ioex) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
117 logger.warning("Failed to process and/or save the file " + upFile.getFileName() + "; " + ioex.getMessage());
14
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
118
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
119 try {
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
120 jsonSavedResult.put("status", "error");
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
121 jsonSavedResult.put("message", "Failed to process and/or save the file " + upFile.getFileName() + "; " + ioex.getMessage());
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
122 } catch (JSONException e) {
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
123
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
124 e.printStackTrace();
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
125 }
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
126 return jsonSavedResult;
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
127 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
128
14
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
129 // get file list in the dataset first (before add file), in order to compare with the list after saving, to get saved fileId
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
130 List<DataFile> beforeAdding = dataset.getFiles();
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
131
14
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
132 ingestService.addFiles(workingVersion, dFileList);
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
133
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
134
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
135 // Use the API to save the dataset:
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
136 Command<Dataset> cmd;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
137 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
138 cmd = new UpdateDatasetCommand(dataset, this.authUser);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
139 dataset = commandEngine.submit(cmd);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
140
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
141 } catch (EJBException ex) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
142 StringBuilder error = new StringBuilder();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
143 error.append(ex).append(" ");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
144 error.append(ex.getMessage()).append(" ");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
145 Throwable cause = ex;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
146 while (cause.getCause()!= null) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
147 cause = cause.getCause();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
148 error.append(cause).append(" ");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
149 error.append(cause.getMessage()).append(" ");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
150 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
151 logger.log(Level.FINE, "Couldn''t save dataset: {0}", error.toString());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
152 //populateDatasetUpdateFailureMessage();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
153 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
154 jsonSavedResult.put("status", "error");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
155 jsonSavedResult.put("message", "Could not save dataset.");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
156 } catch (JSONException e) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
157
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
158 e.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
159 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
160 return jsonSavedResult;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
161 } catch (CommandException ex) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
162 FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Dataset Save Failed", " - " + ex.toString()));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
163 logger.severe(ex.getMessage());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
164 //populateDatasetUpdateFailureMessage();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
165 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
166 jsonSavedResult.put("status", "error");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
167 jsonSavedResult.put("message", "Dataset Save Failed");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
168 } catch (JSONException e) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
169
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
170 e.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
171 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
172 return jsonSavedResult;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
173
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
174 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
175
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
176 // Call Ingest Service one more time, to
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
177 // queue the data ingest jobs for asynchronous execution:
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
178 ingestService.startIngestJobs(dataset, (AuthenticatedUser) this.authUser);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
179
14
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
180 // saved fileId is not obvious
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
181 List<DataFile> afterAdding = dataset.getFiles(); // get file list after ingestService.addFiles()
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
182 List<DataFile> diffList = this.getAddedDataFile(afterAdding, beforeAdding);
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
183
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
184
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
185 // try to return fields, got after saving to dataset, returning info for the saved file.
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
186 // indicating the file has been uploaded
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
187
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
188 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
189 jsonSavedResult.put("status", "ok");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
190 jsonSavedResult.put("message", "Dataset Saved!");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
191
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
192 JSONObject fileMetadata = new JSONObject();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
193
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
194 System.out.println(dataset.getDisplayName());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
195
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
196 fileMetadata.put("datasetTitle", dataset.getDisplayName());
14
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
197
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
198 // compare beforeAdding and afterAdding list, but it's not efficient to do that.
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
199 if (diffList != null) {
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
200 fileMetadata.put("fileId", diffList.get(0).getId());
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
201 }
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
202
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
203 jsonSavedResult.put("fileMetadata", fileMetadata);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
204
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
205
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
206 } catch (JSONException e) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
207 e.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
208 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
209
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
210 return jsonSavedResult;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
211 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
212
14
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
213
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
214
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
215
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
216
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
217 private List<DataFile> getAddedDataFile(List<DataFile> a,
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
218 List<DataFile> b) {
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
219
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
220 List<DataFile> diff = new ArrayList<DataFile>(a);
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
221 diff.removeAll(b);
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
222
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
223 return diff;
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
224 }
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
225
be7787c36e58 new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 12
diff changeset
226
12
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
227 private void loadParameters(HttpServletRequest request) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
228
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
229 params.put("user", request.getParameter("user"));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
230 params.put("password", request.getParameter("password"));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
231 params.put("datasetGlobalId", request.getParameter("datasetGlobalId"));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
232
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
233 return;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
234 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
235
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
236 private class UpFile {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
237 public String fileName;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
238 public String fileContent;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
239 public String contentType;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
240
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
241 public UpFile (String fileName, String fileContent, String contentType) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
242 this.fileName = fileName;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
243 this.fileContent = fileContent;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
244 this.contentType = contentType;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
245 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
246
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
247 public String getFileName() {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
248 return fileName;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
249 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
250 public void setFileName(String fileName) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
251 this.fileName = fileName;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
252 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
253 public String getFileContent() {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
254 return fileContent;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
255 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
256
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
257 public void setFileContent(String fileContent) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
258 this.fileContent = fileContent;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
259 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
260
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
261 public String getContentType() {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
262 return contentType;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
263 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
264
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
265 public void setContentType(String contentType) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
266 this.contentType = contentType;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
267 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
268
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
269 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
270
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
271
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
272 @Override
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
273 protected void doPost(HttpServletRequest request, HttpServletResponse response) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
274
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
275 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
276 response.setContentType("application/json");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
277 JSONObject jsonResponse = new JSONObject();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
278
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
279 loadParameters(request);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
280 UpFile upFile = getFile(request);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
281
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
282 String fileName = upFile.getFileName();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
283 String fileContent = upFile.getFileContent();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
284
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
285 if(StringUtils.isNotEmpty(fileContent) && StringUtils.isNotEmpty(fileName)){
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
286
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
287 String datasetGlobalId = params.get("datasetGlobalId");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
288 String user = params.get("user");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
289 String password = params.get("password");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
290
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
291 if(StringUtils.isNotEmpty(datasetGlobalId) && StringUtils.isNotEmpty(user) && StringUtils.isNotEmpty(password)){
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
292
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
293 AuthenticationRequest authReq = new AuthenticationRequest();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
294
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
295 authReq.putCredential("Username", user);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
296 authReq.putCredential("Password", password);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
297 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
298 String credentialsAuthProviderId = "builtin";
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
299 this.authUser = authSvc.authenticate(credentialsAuthProviderId, authReq);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
300 System.out.println("User authenticated: " + authUser.getIdentifier());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
301 } catch (AuthenticationFailedException ex) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
302 ex.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
303 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
304
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
305
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
306 JSONObject jsonSavedResult = saveFile(upFile);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
307 jsonResponse.put("status", jsonSavedResult.getString("status"));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
308 jsonResponse.put("message", jsonSavedResult.getString("message"));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
309 if (jsonSavedResult.has("fileMetadata")) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
310 jsonResponse.put("fileMetadata", jsonSavedResult.getJSONObject("fileMetadata"));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
311 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
312
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
313
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
314 }else{
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
315 jsonResponse.put("status", "error");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
316 jsonResponse.put("error", "The parameters studyId, user and password.");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
317 jsonResponse.put("datasetGlobalId", datasetGlobalId);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
318 jsonResponse.put("user", user);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
319 jsonResponse.put("password", password);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
320 //jsonResponse.put("fileLabel", fileLabel);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
321 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
322
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
323 }else if(StringUtils.isNotEmpty(fileName)){
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
324 jsonResponse.put("status", "error");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
325 jsonResponse.put("message", "A file has been found as parameter, however it was empty. Check the temporal folder configured in Dataverse. " + TMP_DIR);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
326
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
327 }else {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
328 jsonResponse.put("status", "error");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
329 jsonResponse.put("message", "No file found in the request.");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
330 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
331
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
332 java.io.PrintWriter out = response.getWriter();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
333 out.print(jsonResponse);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
334 out.flush();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
335 } catch (Exception e) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
336 e.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
337 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
338 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
339
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
340
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
341
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
342
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
343 private UpFile getFile(HttpServletRequest request) throws IOException {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
344 JSONObject fileObj;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
345 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
346 fileObj = new JSONObject(request.getParameter("file"));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
347
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
348 String contentType = "text/plain; charset=UTF-8";
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
349
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
350 Iterator keys = fileObj.keys(); //gets all the keys
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
351 while (keys.hasNext()) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
352 String fileName = (String) keys.next();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
353 String fileTable = fileObj.getString(fileName);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
354
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
355 UpFile upFile = new UpFile(fileName, fileTable, contentType);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
356
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
357 return upFile;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
358 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
359
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
360 } catch (JSONException e) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
361
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
362 e.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
363 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
364 return null;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
365
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
366 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
367
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
368
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
369
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
370 // delete this
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
371 private File getFile_old(HttpServletRequest request, HttpServletResponse response) throws IOException {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
372 File file = null;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
373 boolean isMultipart = ServletFileUpload.isMultipartContent(request);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
374
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
375 if(isMultipart){
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
376 DiskFileItemFactory factory = new DiskFileItemFactory();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
377 // maximum size that will be stored in memory
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
378 factory.setSizeThreshold(maxMemSize);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
379 // Location to save data that is larger than maxMemSize.
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
380 factory.setRepository(new File(TMP_DIR));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
381
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
382 // Create a new file upload handler
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
383 ServletFileUpload upload = new ServletFileUpload(factory);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
384 // maximum file size to be uploaded.
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
385 upload.setSizeMax(maxFileSize);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
386 upload.setFileSizeMax(maxFileSize);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
387 upload.setHeaderEncoding("UTF-8");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
388
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
389 StringBuilder sb = new StringBuilder();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
390 try {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
391 // Parse the request to get file items.
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
392 List<FileItem> fileItems = upload.parseRequest(request);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
393
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
394 // Process the uploaded file items
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
395 Iterator<FileItem> i = fileItems.iterator();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
396
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
397 while (i.hasNext()) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
398 FileItem fi = (FileItem) i.next();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
399
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
400 sb.append(fi.getFieldName());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
401
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
402 if(fi.isFormField()){
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
403 sb.append(" is Field");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
404 params.put(fi.getFieldName(), fi.getString());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
405 } else {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
406 sb.append(" is FILE ***");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
407 // Get the uploaded file parameters
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
408 String fileName = fi.getName();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
409 // Write the file
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
410 if (fileName.lastIndexOf("\\") >= 0) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
411 file = new File(TMP_DIR + fileName.substring(fileName.lastIndexOf("\\")));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
412 } else {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
413 file = new File(TMP_DIR + fileName.substring(fileName.lastIndexOf("\\") + 1));
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
414 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
415 fi.write(file);
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
416 sb.append(" Size: " + file.length());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
417 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
418 sb.append("\n");
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
419 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
420
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
421 } catch (Exception ex) {
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
422 ex.printStackTrace();
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
423 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
424
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
425 sb.append((file == null) ? "File is null" + ".\nWhen the file is empty, maybe the tmp folder is wrong configured.\nTMP_DIR: " + TMP_DIR : "File Size=" + file.length() );
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
426 logger.log(Level.INFO, "getFile Information:\n" + sb.toString());
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
427
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
428 return file;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
429 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
430
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
431 return null;
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
432 }
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
433
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
434
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
435
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
436
c2e2d794847f new: add config.properties file for gazetteer
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
437 }