annotate src/main/java/de/mpiwg/gazetteer/dataverse/DataverseUtils.java @ 30:ab2fae5c5156

new: check our Chinese Local Gazetteers dataverse for login
author Zoe Hong <zhong@mpiwg-berlin.mpg.de>
date Fri, 11 Sep 2015 15:54:01 +0200
parents cbc2c83022c7
children 2e1662afc81c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
1 package de.mpiwg.gazetteer.dataverse;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
2
26
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
3
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
4 import java.io.IOException;
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
5 import java.security.KeyManagementException;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
6 import java.security.NoSuchAlgorithmException;
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
7 import java.util.ArrayList;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
8 import java.util.List;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
9
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
10 import org.apache.commons.lang.StringUtils;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
11 import org.json.JSONArray;
26
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
12 import org.json.JSONException;
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
13 import org.json.JSONObject;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
14
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
15 import de.mpiwg.gazetteer.bo.LGBranch;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
16 import de.mpiwg.gazetteer.bo.LGFile;
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
17 import de.mpiwg.gazetteer.dataverse.bo.Datasets;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
18 import de.mpiwg.gazetteer.dataverse.bo.Dataverse;
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
19 import de.mpiwg.gazetteer.dataverse.bo.Study;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
20 import de.mpiwg.gazetteer.dataverse.bo.VDCUser;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
21 import de.mpiwg.gazetteer.utils.DataProvider;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
22 import de.mpiwg.gazetteer.utils.HTTPUtils;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
23 import de.mpiwg.gazetteer.utils.HTTPUtils.HttpStringResponse;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
24 import de.mpiwg.gazetteer.utils.PropertiesUtils;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
25
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
26 public class DataverseUtils {
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
27
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
28
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
29
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
30 private static List<VDCUser> userList;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
31
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
32 static{
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
33 userList = new ArrayList<VDCUser>();
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
34 userList.add(new VDCUser(new Long(10), "jurzua", "1234"));
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
35 userList.add(new VDCUser(new Long(11), "john", "1234"));
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
36 userList.add(new VDCUser(new Long(12), "zoe", "1234"));
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
37 userList.add(new VDCUser(new Long(13), "paul", "1234"));
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
38
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
39 }
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
40
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
41
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
42
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
43 public static JSONObject publishFile(Long fileId, String datasetId, String userName, String password) throws Exception{
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
44
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
45 LGFile lgFile = DataProvider.getInstance().getFile(fileId);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
46 LGBranch branch = DataProvider.getInstance().getBranch(lgFile.getBranchId());
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
47 String link = PropertiesUtils.getPropValue("dvn_server") + "/saveResource";
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
48
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
49 // get datasetGlobalId by datasetId
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
50 String apiToken = PropertiesUtils.getPropValue("dvn_apitoken");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
51 String dvnServerPath = PropertiesUtils.getPropValue("dvn_server");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
52
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
53 String query2 = dvnServerPath + "/api/datasets/"+ datasetId + "?key=" + apiToken;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
54 HttpStringResponse response1 = null;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
55 String datasetGlobalId = "";
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
56 try {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
57 response1 = HTTPUtils.getStringResponse(query2);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
58 JSONObject jsonObject = new JSONObject(response1.content);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
59 if(StringUtils.equals(jsonObject.getString("status"), "OK")){
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
60 JSONObject data = jsonObject.getJSONObject("data");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
61 String dsProtocol = data.getString("protocol");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
62 String dsAuthority = data.getString("authority");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
63 String dsIdentifier = data.getString("identifier");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
64 // concatenate info to datasetGlobalId
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
65 datasetGlobalId = dsProtocol + ":"+ dsAuthority + "/" + dsIdentifier;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
66 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
67
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
68 } catch (Exception e) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
69 e.printStackTrace();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
70 }
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
71
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
72
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
73 MultipartUtility multipart = new MultipartUtility(link, "UTF-8");
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
74 multipart.addFormField("datasetGlobalId", datasetGlobalId);
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
75 multipart.addFormField("password", password);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
76 multipart.addFormField("user", userName);
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
77
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
78 //String table = HTTPUtils.getTableOfFile(lgFile.getId());
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
79 String table = HTTPUtils.getTabDelimitedOfFile(lgFile.getId());
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
80
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
81 System.out.println("Table string lenght" + table.length());
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
82
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
83 //multipart.addFilePart0(branch.getLabel() + ".html", table);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
84
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
85 // put table and name into a jsonObject then pass it
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
86 JSONObject fileObj = new JSONObject();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
87
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
88 // TODO publish to LGDataverse using tab-delimiter data
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
89 //fileObj.put(branch.getLabel() + ".html", table);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
90 fileObj.put(branch.getLabel() + ".csv", table);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
91
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
92 String fileStr = fileObj.toString();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
93 multipart.addFormField("file", fileStr);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
94
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
95 // end
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
96
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
97
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
98 String response = multipart.finish();
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
99
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
100 System.out.println(response);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
101
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
102 return new JSONObject(response);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
103 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
104
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
105 public static JSONObject publishFile_old(Long fileId, String studyGlobalId, String userName, String password) throws Exception{
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
106
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
107 LGFile lgFile = DataProvider.getInstance().getFile(fileId);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
108 LGBranch branch = DataProvider.getInstance().getBranch(lgFile.getBranchId());
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
109 String link = PropertiesUtils.getPropValue("dvn_server") + "/saveResource";
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
110
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
111
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
112 MultipartUtility multipart = new MultipartUtility(link, "UTF-8");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
113
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
114 multipart.addFormField("studyId", studyGlobalId);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
115 multipart.addFormField("password", password);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
116 multipart.addFormField("user", userName);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
117 //multipart.addFormField("fileLabel", branch.getLabel() + ".html");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
118
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
119
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
120 String table = HTTPUtils.getTableOfFile(lgFile.getId());
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
121 System.out.println("Table string lenght" + table.length());
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
122
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
123 multipart.addFilePart0(branch.getLabel() + ".html", table);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
124
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
125 String response = multipart.finish();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
126
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
127 System.out.println(response);
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
128
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
129 return new JSONObject(response);
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
130 }
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
131
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
132
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
133 public static List<Datasets> getDatasetsInAllDataverse(String userName, String password){
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
134 // get the list of all dataverse
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
135 List<Datasets> datasetList = new ArrayList<Datasets>();
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
136
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
137 try {
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
138 JSONArray dataverseArray;
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
139 dataverseArray = getAllDataverseAlias();
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
140 for (int i = 0; i < dataverseArray.length(); i++) {
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
141 String aAlias = dataverseArray.getString(i);
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
142 if (!StringUtils.equals("root", aAlias)) {
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
143 // it is not "root" dataverse
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
144 List<Datasets> aDatasetList = getDatasets(userName, password, aAlias);
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
145
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
146 // combine datasetList into a List<Datasets>
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
147 datasetList.addAll(aDatasetList);
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
148
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
149 }
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
150 }
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
151
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
152 } catch (KeyManagementException e) {
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
153 // TODO Auto-generated catch block
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
154 e.printStackTrace();
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
155 } catch (NoSuchAlgorithmException e) {
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
156 // TODO Auto-generated catch block
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
157 e.printStackTrace();
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
158 } catch (IOException e) {
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
159 // TODO Auto-generated catch block
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
160 e.printStackTrace();
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
161 } catch (JSONException e) {
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
162 // TODO Auto-generated catch block
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
163 e.printStackTrace();
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
164 }
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
165
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
166
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
167 return datasetList;
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
168
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
169 }
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
170
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
171
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
172 private static List<Datasets> getDatasets(String userName, String password, String dvId) throws IOException, JSONException, KeyManagementException, NoSuchAlgorithmException{
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
173
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
174 String apiToken = PropertiesUtils.getPropValue("dvn_apitoken");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
175 String dvnServerPath = PropertiesUtils.getPropValue("dvn_server");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
176
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
177 /*
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
178 // list all the DvObjects under dataverse id. GET http://$SERVER/api/dataverses/$id/contents
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
179 String dvId = PropertiesUtils.getPropValue("dv_id"); // get Local gazetteers dataverse id from config file
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
180 // TODO the dvId above probably need to revise. Each user may have h/her own dataverse.
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
181 // In this case, need to find out which dvIds belong to the user.
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
182
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
183 // in the position of 'dvId', it can be used as the alias also as recommended by dataverse
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
184 */
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
185 String query1 = dvnServerPath + "/api/dataverses/"+ dvId + "/contents?key=" + apiToken;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
186
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
187
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
188 List<Datasets> datasetList = new ArrayList<Datasets>();
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
189
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
190 HttpStringResponse response = null;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
191 try {
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
192 response = HTTPUtils.getStringResponse(query1);
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
193 JSONObject json = new JSONObject(response.content);
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
194
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
195 System.out.println("get contents in dataverse " + dvId + ": " + json);
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
196
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
197 if(StringUtils.equals(json.getString("status"), "OK")){
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
198 // go through all datasets in this dataverse
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
199 JSONArray jsonData = json.getJSONArray("data");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
200 for (int i = 0; i < jsonData.length(); i ++) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
201 JSONObject aDataset = jsonData.getJSONObject(i);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
202 String datasetId = aDataset.getString("id");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
203
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
204 System.out.println("checking datasetId= " + datasetId);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
205
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
206 // check if the user has roles to access to the dataset.
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
207 // needed to be contributor or above, or in defined groups
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
208 if (canPublish(userName, password, dvId, datasetId)) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
209 System.out.println("User @" + userName + " can upload files to datasetId= " + datasetId);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
210
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
211 JSONObject datasetJson = getDatasetInfo(datasetId);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
212
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
213 datasetJson.put("dvIdInDataverse", dvId);
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
214
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
215 Datasets datasets = new Datasets(datasetJson);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
216 datasetList.add(datasets);
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
217
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
218 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
219
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
220 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
221 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
222
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
223 } catch (Exception e) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
224 if(response != null){
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
225 System.err.println(response.content);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
226 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
227 e.printStackTrace();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
228 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
229 return datasetList;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
230 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
231
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
232
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
233 private static JSONArray getAllDataverseAlias() throws IOException, KeyManagementException, NoSuchAlgorithmException, JSONException {
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
234
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
235 String dvnServerPath = PropertiesUtils.getPropValue("dvn_server");
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
236 String query = dvnServerPath + "/getAllDataverseAlias"; // get all dataverse alias from LGDataverse
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
237
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
238 HttpStringResponse response = null;
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
239 response = HTTPUtils.getStringResponse(query);
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
240 JSONObject data = new JSONObject(response.content);
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
241 JSONArray allDataverseAlias = data.getJSONArray("dataverseAlias");
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
242
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
243 return allDataverseAlias;
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
244
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
245 }
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
246
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
247 private static JSONObject getDatasetInfo(String datasetId) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
248 JSONObject datasetJson = new JSONObject(); // datasetJson is the JSONObejct we collecting info about a dataset
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
249 // show the dataset whose id is given: GET http://$SERVER/api/datasets/$id?key=$apiKey
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
250
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
251 try {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
252
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
253 String dvnServerPath = PropertiesUtils.getPropValue("dvn_server");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
254 String apiToken = PropertiesUtils.getPropValue("dvn_apitoken");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
255
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
256 String query2 = dvnServerPath+ "/api/datasets/"+ datasetId + "?key=" + apiToken;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
257 HttpStringResponse response1 = null;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
258
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
259
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
260 response1 = HTTPUtils.getStringResponse(query2);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
261 JSONObject jsonObject = new JSONObject(response1.content);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
262 if(StringUtils.equals(jsonObject.getString("status"), "OK")){
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
263 // collect information for the dataset
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
264 datasetJson.put("status", "OK");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
265
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
266 JSONObject data = jsonObject.getJSONObject("data");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
267 datasetJson.put("id", datasetId);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
268
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
269 datasetJson.put("authority", data.getString("authority"));
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
270 datasetJson.put("persistentURL", data.getString("persistentUrl"));
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
271 datasetJson.put("protocol", data.getString("protocol"));
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
272 datasetJson.put("identifier", data.getString("identifier"));
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
273
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
274 JSONObject latestVersion = data.getJSONObject("latestVersion");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
275 datasetJson.put("createTime", latestVersion.getString("createTime"));
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
276
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
277 String versionState = latestVersion.getString("versionState");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
278 datasetJson.put("versionState",versionState);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
279
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
280 if (StringUtils.equals(versionState, "RELEASED")) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
281 datasetJson.put("version", latestVersion.getString("versionNumber")+"."+latestVersion.getString("versionMinorNumber"));
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
282 } else {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
283 datasetJson.put("version","");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
284 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
285
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
286 JSONArray citationFields = latestVersion.getJSONObject("metadataBlocks").getJSONObject("citation")
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
287 .getJSONArray("fields");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
288 for (int j = 0; j < citationFields.length(); j++) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
289 JSONObject a = citationFields.getJSONObject(j);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
290 if( StringUtils.equals(a.getString("typeName"),"title")) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
291 String title = a.getString("value");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
292 //System.out.println("title: " + title);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
293 datasetJson.put("title", title);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
294 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
295 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
296
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
297 } else {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
298 datasetJson.put("status", "ERROR");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
299
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
300 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
301
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
302
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
303 } catch (Exception e) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
304 e.printStackTrace();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
305 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
306
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
307
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
308 return datasetJson;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
309
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
310
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
311 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
312
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
313 private static boolean canPublish(String userName, String password, String dvId, String datasetId) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
314
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
315 String queryRoleAssignments;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
316 try {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
317 queryRoleAssignments = PropertiesUtils.getPropValue("dvn_server") + "/getRoleAssignments?user=" + userName + "&password=" + password
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
318 + "&datasetId=" + datasetId;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
319
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
320 HttpStringResponse responseRoleAssignments = null;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
321
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
322 responseRoleAssignments = HTTPUtils.getStringResponse(queryRoleAssignments);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
323 JSONObject raJson = new JSONObject(responseRoleAssignments.content);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
324
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
325 if(StringUtils.equals(raJson.getString("state"), "ok") && raJson.has("roleAssignments")){
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
326 JSONArray roleAssignments = raJson.getJSONArray("roleAssignments");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
327
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
328 for( int j = 0, size = roleAssignments.length(); j < size; j++ ) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
329
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
330 JSONObject aRoleAssignment = roleAssignments.getJSONObject(j);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
331 String aIdentifier = aRoleAssignment.getString("identifier");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
332 String aRoleName = aRoleAssignment.getString("roleName");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
333
28
cbc2c83022c7 new: add dataverse level when publish which means users can have/publish their own dataverses and datasets
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
334
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
335 boolean checkRoles = false;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
336 // check user has the right to upload file:
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
337 // 1. check user identifier
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
338 if (StringUtils.equals(aIdentifier, "@"+userName) ) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
339 checkRoles = true;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
340
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
341 // 2. check user in the group which has the right to upload file
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
342 } else if (StringUtils.startsWith(aIdentifier, "&")) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
343
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
344 String delims = "[&/-]+";
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
345 String[] tokens = aIdentifier.split(delims);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
346 String group = tokens[tokens.length-1]; // parse group name from it. It is the last one.
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
347
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
348 List<String> userGroups = new ArrayList<String>();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
349 userGroups.add(group);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
350 // userGroups is designed to be List. But as here it is used as only one element, this could be modified in the future.
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
351 if (isUserInGroups(userName, userGroups) ) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
352 checkRoles = true;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
353 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
354
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
355 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
356
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
357 if (checkRoles) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
358 if (StringUtils.equals(aRoleName, "Contributor") || StringUtils.equals(aRoleName, "Curator") || StringUtils.equals(aRoleName, "Admin")) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
359 return true;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
360 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
361 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
362
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
363 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
364
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
365 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
366
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
367
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
368 } catch (IOException e) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
369 e.printStackTrace();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
370 } catch (KeyManagementException e) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
371 e.printStackTrace();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
372 } catch (NoSuchAlgorithmException e) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
373 e.printStackTrace();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
374 } catch (JSONException e) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
375 e.printStackTrace();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
376 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
377 return false;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
378 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
379
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
380 // getStudy() has been replaced by getDatasets() when we migrate to dataverse 4.0
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
381 public static List<Study> getStudy(String userName, String password) throws IOException{
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
382
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
383 String query = PropertiesUtils.getPropValue("dvn_server") + "/getStudies?user=" + userName + "&password=" + password;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
384 List<Study> list = new ArrayList<Study>();
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
385
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
386 HttpStringResponse response1 = null;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
387 try {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
388 response1 = HTTPUtils.getStringResponse(query);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
389 JSONObject json = new JSONObject(response1.content);
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
390 if(json.has("studies")){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
391
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
392 JSONArray userArray = json.getJSONArray("studies");
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
393
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
394 for(int i=0; i<userArray.length(); i++){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
395 JSONObject studyJson = userArray.getJSONObject(i);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
396 Study study = new Study(studyJson);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
397 list.add(study);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
398 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
399 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
400 } catch (Exception e) {
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
401 if(response1 != null){
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
402 System.err.println(response1.content);
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
403 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
404 e.printStackTrace();
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
405 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
406
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
407 return list;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
408 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
409
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
410 public static VDCUser login0(String userName, String password){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
411 for(VDCUser user : userList){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
412 if(StringUtils.equals(userName, user.getUserName()) && StringUtils.equals(password, user.getPassword())){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
413 return user;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
414 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
415 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
416 return null;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
417 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
418
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
419 public static List<VDCUser> getAllUsers0(){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
420 return userList;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
421 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
422
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
423 public static VDCUser getUser(Long id){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
424 try {
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
425 for(VDCUser user : getAllUsers()){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
426 if(user.getId().equals(id)){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
427 return user;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
428 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
429 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
430 } catch (Exception e) {
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
431 e.printStackTrace();
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
432 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
433 return null;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
434 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
435
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
436 public static String getUsername(Long id){
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
437
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
438 try {
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
439 for(VDCUser user : getAllUsers()){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
440 if(user.getId().equals(id)){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
441 return user.getUserName();
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
442 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
443 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
444 } catch (Exception e) {
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
445 e.printStackTrace();
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
446 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
447 return "user-no-found ("+ id +")";
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
448 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
449
26
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
450
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
451 public static List<VDCUser> getAllUsers() throws Exception{
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
452 List<VDCUser> list = new ArrayList<VDCUser>();
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
453
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
454 String query = PropertiesUtils.getPropValue("dvn_server") + "/getAllUsers";
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
455 /*
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
456 System.out.println("************************************************");
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
457 System.out.println("URL: " + query);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
458 System.out.println("************************************************");
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
459 */
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
460 HttpStringResponse response = null;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
461 try {
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
462 response = HTTPUtils.getStringResponse(query);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
463 JSONObject json = new JSONObject(response.content);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
464 if(StringUtils.equals(json.getString("state"), "ok")){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
465
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
466 JSONArray userArray = json.getJSONArray("users");
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
467
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
468 for(int i=0; i<userArray.length(); i++){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
469 JSONObject userJson = userArray.getJSONObject(i);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
470 VDCUser user = new VDCUser(userJson);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
471 list.add(user);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
472 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
473
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
474 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
475
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
476
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
477 } catch (Exception e) {
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
478 if(response != null){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
479 System.err.println(response.content);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
480 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
481 e.printStackTrace();
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
482 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
483
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
484
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
485 return list;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
486 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
487
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
488 public static VDCUser login(String userName, String password) throws Exception{
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
489
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
490 System.out.println("userName=" + userName + ", password=" + password);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
491
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
492 String query = PropertiesUtils.getPropValue("dvn_server") + "/getUser?user=" + userName + "&password=" + password;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
493
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
494 System.out.println("************************************************");
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
495 System.out.println("URL: " + query);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
496 System.out.println("************************************************");
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
497
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
498 HttpStringResponse response = null;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
499 try {
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
500 response = HTTPUtils.getStringResponse(query);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
501 JSONObject json = new JSONObject(response.content);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
502 if(StringUtils.equals(json.getString("state"), "ok")){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
503 VDCUser user = new VDCUser(json.getJSONObject("user"));
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
504 return user;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
505 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
506
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
507
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
508 } catch (Exception e) {
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
509 if(response != null){
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
510 System.err.println(response.content);
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
511 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
512 e.printStackTrace();
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
513 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
514
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
515 return null;
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
516 }
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
517
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
518 public static boolean isUserInGroups(String userName, List<String> userGroups) throws IOException {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
519 /* Get group members for each group in userGroup list, then check if user in any of them
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
520 * get group members in a group by dataverse Api: GET http://$server/api/dataverses/$id/groups?key=$apiToken
30
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
521 * $id could be also an alias (string) in the input query above
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
522 */
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
523
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
524 String apiToken = PropertiesUtils.getPropValue("dvn_apitoken");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
525
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
526 for (String aGroup: userGroups) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
527 String query = PropertiesUtils.getPropValue("dvn_server") + "/api/dataverses/2/groups/"+ aGroup +"?key=" + apiToken;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
528 //System.out.println("URL: " + query);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
529
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
530 HttpStringResponse response = null;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
531 try {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
532 response = HTTPUtils.getStringResponse(query);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
533 JSONObject json = new JSONObject(response.content);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
534
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
535 if(StringUtils.equals(json.getString("status"), "OK")){
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
536 JSONObject jsonData = json.getJSONObject("data");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
537 JSONArray jsonContainedRoleAssignees = jsonData.getJSONArray("containedRoleAssignees");
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
538 for (int i = 0; i < jsonContainedRoleAssignees.length(); i ++) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
539 String aName = jsonContainedRoleAssignees.getString(i);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
540 if (aName.compareTo("@" + userName) == 0) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
541 System.out.println("user "+ aName +" in group: " + aGroup);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
542 return true;
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
543 }
26
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
544 }
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
545
26
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
546 }
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
547 } catch (Exception e) {
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
548 if(response != null){
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
549 System.err.println(response.content);
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
550 }
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
551 e.printStackTrace();
26
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
552 }
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
553
26
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
554 }
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
555
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
556 return false;
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
557 }
ce2e3f2814c0 new: check userGroup when login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
558
30
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
559 public static boolean isUserInLG(String userName, String password) throws IOException {
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
560 String localgazetteersDvId = PropertiesUtils.getPropValue("localgazetteers_dvId");
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
561
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
562
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
563 String query = PropertiesUtils.getPropValue("dvn_server") + "/getRoleAssignments?user=" + userName + "&password=" + password + "&datasetId=" + localgazetteersDvId;
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
564
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
565 HttpStringResponse response = null;
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
566 try {
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
567 response = HTTPUtils.getStringResponse(query);
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
568 JSONObject json = new JSONObject(response.content);
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
569
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
570 if(StringUtils.equals(json.getString("state"), "ok")){
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
571
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
572 JSONArray jsonRoleAssignees = json.getJSONArray("roleAssignments");
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
573 for (int i = 0; i < jsonRoleAssignees.length(); i ++) {
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
574 JSONObject aUser = jsonRoleAssignees.getJSONObject(i);
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
575 String aName = aUser.getString("identifier");
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
576 String aRoleName = aUser.getString("roleName");
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
577
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
578 if (aName.compareTo("@" + userName) == 0 &&
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
579 ( aRoleName.compareTo("Admin")==0 || aRoleName.compareTo("Curator")==0 || aRoleName.compareTo("Contributor")==0 )) {
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
580
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
581 System.out.println("user "+ aName +" has role");
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
582 return true;
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
583 }
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
584 }
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
585
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
586 }
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
587 } catch (Exception e) {
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
588 if(response != null){
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
589 System.err.println(response.content);
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
590 }
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
591 e.printStackTrace();
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
592 }
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
593
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
594
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
595
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
596 return false;
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
597 }
ab2fae5c5156 new: check our Chinese Local Gazetteers dataverse for login
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 28
diff changeset
598
27
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
599
3b3e2963c8f7 new: rewrite LGServices for LGDataverse with the new dataverse, dataverse4.0
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents: 26
diff changeset
600
0
3e62083dbcbf First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
601 }