Skip to content

Commit a202cd3

Browse files
committed
switch to JSON responses instead of XML (incl. patch to serve such)
1 parent 8ed29f3 commit a202cd3

2 files changed

Lines changed: 81 additions & 15 deletions

File tree

Client/index_served.html

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,24 +41,18 @@
4141
$('#roids').empty();
4242
$.ajax({url: '/rest/getAllRevisionsOfProject', data: 'poid='+poid, success: function(data){
4343
var select = $('#roids');
44-
$(data).find('sRevision').each(function(){
45-
var revision = $(this);
46-
var value = revision.find('oid').text();
47-
var label = revision.find('id').text();
48-
$('<option />').val(value).text(label).appendTo(select);
49-
})
44+
$.each(data.sRevisions, function(i, revision){
45+
$('<option />').val(revision.oid).text(revision.id).appendTo(select);
46+
});
5047
}});
5148
}
5249
function projectUpdate() {
5350
$('#revision').show();
5451
$('#poids').empty();
5552
$.ajax({url: '/rest/getAllProjects', success: function(data) {
5653
var select = $('#poids');
57-
$(data).find('sProject').each(function(){
58-
var project = $(this);
59-
var value = project.find('oid').text();
60-
var label = project.find('name').text();
61-
$('<option />').val(value).text(label).appendTo(select);
54+
$.each( data.sProjects, function(i, project) {
55+
$('<option />').val(project.oid).text(project.name).appendTo(select);
6256
});
6357
revisionUpdate(select.val());
6458
}});
@@ -76,10 +70,7 @@
7670
url: '/rest/getDataObjectByGuid',
7771
data: 'roid='+$('#roids').val()+'&guid='+id,
7872
success: function(data){
79-
var jqData = $(data);
80-
var name = jqData.find('name').text();
81-
var type = jqData.find('type').text();
82-
$('#selection').html(id + ' - ' + name + ' - ' + type);
73+
$('#selection').html(id + ' - ' + data.sDataObject.name + ' - ' + data.sDataObject.type);
8374
}
8475
});
8576
};

ServerPlugin/rest_json.patch

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
Index: Shared/src/org/bimserver/shared/ServiceInterface.java
2+
===================================================================
3+
--- Shared/src/org/bimserver/shared/ServiceInterface.java (revision 889)
4+
+++ Shared/src/org/bimserver/shared/ServiceInterface.java (working copy)
5+
@@ -68,13 +68,13 @@
6+
public interface ServiceInterface {
7+
@GET
8+
@Path("/ping")
9+
- @Produces("application/text")
10+
+ @Produces("text/plain")
11+
@WebMethod(action = "ping")
12+
String ping(@QueryParam("in") @WebParam(name = "in", partName = "ping.in") String in);
13+
14+
@GET
15+
@Path("/login")
16+
- @Produces("application/xml")
17+
+ @Produces("text/plain")
18+
@WebMethod(action = "login")
19+
boolean login(@QueryParam("username") @WebParam(name = "username", partName = "login.username") String username,
20+
@QueryParam("password") @WebParam(name = "password", partName = "login.password") String password) throws UserException,
21+
@@ -110,12 +110,13 @@
22+
23+
@GET
24+
@Path("/download")
25+
- @Produces("application/xml")
26+
+ @Produces("text/plain")
27+
@WebMethod(action = "download")
28+
int download(@QueryParam("roid") @WebParam(name = "roid", partName = "download.roid") long roid,
29+
@QueryParam("resultType") @WebParam(name = "formatIdentifier", partName = "download.formatIdentifier") String formatIdentifier,
30+
@QueryParam("sync") @WebParam(name = "sync", partName = "download.sync") boolean sync) throws UserException, ServerException;
31+
32+
+
33+
@WebMethod(action = "downloadByOids")
34+
int downloadByOids(@WebParam(name = "roids", partName = "downloadByOids.roids") Set<Long> roids,
35+
@WebParam(name = "oids", partName = "downloadByOids.oids") Set<Long> oids,
36+
@@ -195,13 +196,13 @@
37+
38+
@GET
39+
@Path("/getAllProjects")
40+
- @Produces("application/xml")
41+
+ @Produces({"application/json", "application/xml"})
42+
@WebMethod(action = "getAllProjects")
43+
List<SProject> getAllProjects() throws UserException, ServerException;
44+
45+
@GET
46+
@Path("/getAllReadableProjects")
47+
- @Produces("application/xml")
48+
+ @Produces({"application/json", "application/xml"})
49+
@WebMethod(action = "getAllReadableProjects")
50+
List<SProject> getAllReadableProjects() throws UserException, ServerException;
51+
52+
@@ -210,7 +211,7 @@
53+
54+
@GET
55+
@Path("/getAllRevisionsOfProject")
56+
- @Produces("application/xml")
57+
+ @Produces({"application/json", "application/xml"})
58+
@WebMethod(action = "getAllRevisionsOfProject")
59+
List<SRevision> getAllRevisionsOfProject(
60+
@QueryParam("poid") @WebParam(name = "poid", partName = "getAllRevisionsOfProject.poid") long poid) throws UserException,
61+
@@ -299,9 +300,12 @@
62+
@WebParam(name = "className", partName = "getDataObjectByOid.className") String className) throws UserException,
63+
ServerException;
64+
65+
+ @GET
66+
+ @Path("/getDataObjectByGuid")
67+
+ @Produces({"application/json", "application/xml"})
68+
@WebMethod(action = "getDataObjectByGuid")
69+
- SDataObject getDataObjectByGuid(@WebParam(name = "roid", partName = "getDataObjectByGuid.roid") long roid,
70+
- @WebParam(name = "guid", partName = "getDataObjectByGuid.guid") String guid) throws UserException, ServerException;
71+
+ SDataObject getDataObjectByGuid(@QueryParam("roid") @WebParam(name = "roid", partName = "getDataObjectByGuid.roid") long roid,
72+
+ @QueryParam("guid") @WebParam(name = "guid", partName = "getDataObjectByGuid.guid") String guid) throws UserException, ServerException;
73+
74+
@WebMethod(action = "getDataObjectsByType")
75+
List<SDataObject> getDataObjectsByType(@WebParam(name = "roid", partName = "getDataObjectsByType.roid") long roid,

0 commit comments

Comments
 (0)