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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }