Search in sources :

Example 21 with JValue

use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.

the class BaseEndpoint method getUserInfo.

@GET
@Path("info/me")
@Produces({ "application/json", "application/v1.0.0+json" })
@RestQuery(name = "getuserinfo", description = "Returns information on the logged in user.", returnDescription = "", reponses = { @RestResponse(description = "The user information is returned.", responseCode = HttpServletResponse.SC_OK) })
public Response getUserInfo() {
    final User user = securityService.getUser();
    JValue json = obj(f("email", v(user.getEmail(), Jsons.BLANK)), f("name", v(user.getName())), f("provider", v(user.getProvider())), f("userrole", v(getUserIdRole(user.getUsername()))), f("username", v(user.getUsername())));
    return RestUtil.R.ok(MediaType.APPLICATION_JSON_TYPE, serializer.toJson(json));
}
Also used : User(org.opencastproject.security.api.User) JValue(com.entwinemedia.fn.data.json.JValue) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET) RestQuery(org.opencastproject.util.doc.rest.RestQuery)

Example 22 with JValue

use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.

the class BaseEndpoint method getUserRoles.

@GET
@Path("info/me/roles")
@Produces({ "application/json", "application/v1.0.0+json" })
@RestQuery(name = "getuserroles", description = "Returns current user's roles.", returnDescription = "", reponses = { @RestResponse(description = "The set of roles is returned.", responseCode = HttpServletResponse.SC_OK) })
public Response getUserRoles() {
    final User user = securityService.getUser();
    List<JValue> roles = new ArrayList<>();
    for (final Role role : user.getRoles()) {
        roles.add(v(role.getName()));
    }
    return RestUtil.R.ok(MediaType.APPLICATION_JSON_TYPE, serializer.toJson(arr(roles)));
}
Also used : UserIdRoleProvider.getUserIdRole(org.opencastproject.userdirectory.UserIdRoleProvider.getUserIdRole) Role(org.opencastproject.security.api.Role) User(org.opencastproject.security.api.User) JValue(com.entwinemedia.fn.data.json.JValue) ArrayList(java.util.ArrayList) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET) RestQuery(org.opencastproject.util.doc.rest.RestQuery)

Example 23 with JValue

use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.

the class BaseEndpoint method getVersion.

@GET
@Path("version")
@Produces({ "application/json", "application/v1.0.0+json" })
@RestQuery(name = "getversion", description = "Returns a list of available version as well as the default version.", returnDescription = "", reponses = { @RestResponse(description = "The default version is returned.", responseCode = HttpServletResponse.SC_OK) })
public Response getVersion() throws Exception {
    List<JValue> versions = new ArrayList<>();
    versions.add(v(ApiVersion.VERSION_1_0_0.toString()));
    JValue json = obj(f("versions", arr(versions)), f("default", v(ApiVersion.CURRENT_VERSION.toString())));
    return RestUtil.R.ok(MediaType.APPLICATION_JSON_TYPE, serializer.toJson(json));
}
Also used : JValue(com.entwinemedia.fn.data.json.JValue) ArrayList(java.util.ArrayList) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET) RestQuery(org.opencastproject.util.doc.rest.RestQuery)

Example 24 with JValue

use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.

the class EventsEndpoint method getEventMedia.

@GET
@Path("{eventId}/media")
@Produces({ "application/json", "application/v1.0.0+json" })
public Response getEventMedia(@HeaderParam("Accept") String acceptHeader, @PathParam("eventId") String id) throws Exception {
    ArrayList<TrackImpl> tracks = new ArrayList<>();
    for (final Event event : indexService.getEvent(id, externalIndex)) {
        final MediaPackage mp = indexService.getEventMediapackage(event);
        for (Track track : mp.getTracks()) {
            if (track instanceof TrackImpl) {
                tracks.add((TrackImpl) track);
            }
        }
        List<JValue> tracksJson = new ArrayList<>();
        for (Track track : tracks) {
            List<Field> fields = new ArrayList<>();
            if (track.getChecksum() != null)
                fields.add(f("checksum", v(track.getChecksum().toString())));
            if (track.getDescription() != null)
                fields.add(f("description", v(track.getDescription())));
            if (track.getDuration() != null)
                fields.add(f("duration", v(track.getDuration())));
            if (track.getElementDescription() != null)
                fields.add(f("element-description", v(track.getElementDescription())));
            if (track.getFlavor() != null)
                fields.add(f("flavor", v(track.getFlavor().toString())));
            if (track.getIdentifier() != null)
                fields.add(f("identifier", v(track.getIdentifier())));
            if (track.getMimeType() != null)
                fields.add(f("identifier", v(track.getMimeType().toString())));
            fields.add(f("size", v(track.getSize())));
            if (track.getStreams() != null) {
                List<Field> streams = new ArrayList<>();
                for (Stream stream : track.getStreams()) {
                    streams.add(f(stream.getIdentifier(), getJsonStream(stream)));
                }
                fields.add(f("streams", obj(streams)));
            }
            if (track.getTags() != null) {
                List<JValue> tags = new ArrayList<>();
                for (String tag : track.getTags()) {
                    tags.add(v(tag));
                }
                fields.add(f("tags", arr(tags)));
            }
            if (track.getURI() != null)
                fields.add(f("uri", v(track.getURI().toString())));
            tracksJson.add(obj(fields));
        }
        return ApiResponses.Json.ok(ApiVersion.VERSION_1_0_0, arr(tracksJson));
    }
    return ApiResponses.notFound("Cannot find an event with id '%s'.", id);
}
Also used : Field(com.entwinemedia.fn.data.json.Field) MetadataField(org.opencastproject.metadata.dublincore.MetadataField) TrackImpl(org.opencastproject.mediapackage.track.TrackImpl) JValue(com.entwinemedia.fn.data.json.JValue) ArrayList(java.util.ArrayList) MediaPackage(org.opencastproject.mediapackage.MediaPackage) Event(org.opencastproject.index.service.impl.index.event.Event) AudioStream(org.opencastproject.mediapackage.AudioStream) Stream(org.opencastproject.mediapackage.Stream) VideoStream(org.opencastproject.mediapackage.VideoStream) Track(org.opencastproject.mediapackage.Track) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Example 25 with JValue

use of com.entwinemedia.fn.data.json.JValue in project opencast by opencast.

the class ApiResponsesTest method testJsonOk.

@Test
public void testJsonOk() throws Exception {
    final JValue json = obj(f("id", v("abcd")), f("values", arr(v("a"), v("b"))));
    Response response = ApiResponses.Json.ok(ApiVersion.VERSION_1_0_0, json);
    assertEquals(HttpStatus.SC_OK, response.getStatus());
    assertEquals(new MediaType("application", "v1.0.0+json"), response.getMetadata().get("Content-Type").get(0));
}
Also used : Response(javax.ws.rs.core.Response) JValue(com.entwinemedia.fn.data.json.JValue) MediaType(javax.ws.rs.core.MediaType) Test(org.junit.Test)

Aggregations

JValue (com.entwinemedia.fn.data.json.JValue)42 ArrayList (java.util.ArrayList)31 Path (javax.ws.rs.Path)25 GET (javax.ws.rs.GET)24 RestQuery (org.opencastproject.util.doc.rest.RestQuery)24 Produces (javax.ws.rs.Produces)22 Field (com.entwinemedia.fn.data.json.Field)10 SortCriterion (org.opencastproject.matterhorn.search.SortCriterion)10 Date (java.util.Date)8 WebApplicationException (javax.ws.rs.WebApplicationException)8 SearchIndexException (org.opencastproject.matterhorn.search.SearchIndexException)8 JObject (com.entwinemedia.fn.data.json.JObject)6 Fn (com.entwinemedia.fn.Fn)5 IndexServiceException (org.opencastproject.index.service.exception.IndexServiceException)5 Event (org.opencastproject.index.service.impl.index.event.Event)5 UnauthorizedException (org.opencastproject.security.api.UnauthorizedException)5 NotFoundException (org.opencastproject.util.NotFoundException)5 Opt (com.entwinemedia.fn.data.Opt)4 JobEndpointException (org.opencastproject.adminui.exception.JobEndpointException)4 Series (org.opencastproject.index.service.impl.index.series.Series)4