Mercurial > hg > LGDataverses
annotate src/main/java/de/mpiwg/gazetteer/utils/LGDatasetPage.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 | |
children |
rev | line source |
---|---|
14
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
1 package de.mpiwg.gazetteer.utils; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
2 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
3 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
4 import java.io.IOException; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
5 import java.net.URLEncoder; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
6 import java.security.KeyManagementException; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
7 import java.security.NoSuchAlgorithmException; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
8 import java.util.logging.Logger; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
9 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
10 import javax.ejb.EJB; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
11 import javax.faces.context.FacesContext; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
12 import javax.inject.Named; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
13 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
14 import org.apache.commons.lang.StringUtils; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
15 import org.primefaces.json.JSONException; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
16 import org.primefaces.json.JSONObject; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
17 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
18 import de.mpiwg.gazetteer.utils.HTTPUtils.HttpStringResponse; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
19 import edu.harvard.iq.dataverse.DatasetServiceBean; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
20 import edu.harvard.iq.dataverse.FileMetadata; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
21 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
22 @Named("LGDatasetPage") |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
23 public class LGDatasetPage{ |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
24 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
25 private static final Logger logger = Logger.getLogger(LGDatasetPage.class.getCanonicalName()); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
26 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
27 @EJB |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
28 DatasetServiceBean datasetService; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
29 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
30 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
31 // synchronize dataset to LGServices |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
32 public String syncDatasetToLGServices(String datasetId, String persistentId) { |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
33 logger.info("syncDatasetToLGServices. datasetId: " + datasetId); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
34 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
35 // notify LGServices the deleted file |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
36 // this is not efficient |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
37 // sync the dataset at once, need to go through all files in the dataset |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
38 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
39 HttpStringResponse response = null; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
40 try { |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
41 //String LGServicesPath = "http://localhost:8080/LGServices"; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
42 String LGServicesPath = PropertiesUtils.getPropValue("LGServices"); // get property in config.properties file |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
43 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
44 String query = LGServicesPath + "/updateFileStatus?datasetId="+datasetId+"&datasetPersistentId="+persistentId; // get all dataverse alias from LGDataverse |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
45 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
46 response = HTTPUtils.getStringResponse(query); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
47 JSONObject data = new JSONObject(response.content); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
48 String status = data.getString("status"); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
49 //logger.info("status: " + status); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
50 if (!StringUtils.equals(status, "OK")) { |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
51 logger.warning("error when updateFileStatus in LGServices."); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
52 } |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
53 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
54 } catch (KeyManagementException | NoSuchAlgorithmException |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
55 | IOException | JSONException e) { |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
56 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
57 e.printStackTrace(); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
58 } |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
59 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
60 return ""; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
61 } |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
62 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
63 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
64 // out link to LGMap |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
65 public String viewLGMapOutputLink(FileMetadata fm) { |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
66 System.out.println("viewLGMapOutputLink"); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
67 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
68 Long fileId = fm.getDataFile().getId(); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
69 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
70 try { |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
71 // get LGMap url from the config.properties file |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
72 String LGMapPath = PropertiesUtils.getPropValue("LGMap"); // get property in config.properties file |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
73 String retVal = LGMapPath + "/map.php?mode=1&name="+URLEncoder.encode(fm.getLabel(), "UTF-8")+"&fileId="+fileId; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
74 //logger.info("open LGMap at " + retVal); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
75 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
76 FacesContext.getCurrentInstance().getExternalContext().redirect(retVal); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
77 } catch (IOException ex) { |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
78 logger.warning("Failed to issue a redirect to file download url."); |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
79 } |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
80 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
81 return ""; |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
82 } |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
83 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
84 |
be7787c36e58
new: nofity LGSercies for deleted files
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff
changeset
|
85 } |