All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.intelie.liverig.plugin.widgets.DisplayUnitResource Maven / Gradle / Ivy

The newest version!
package net.intelie.liverig.plugin.widgets;


import net.intelie.live.NeedsAuthority;
import net.intelie.live.NeedsNoAuthority;
import net.intelie.live.Permission;
import net.intelie.live.UseProxy;
import net.intelie.liverig.plugin.assets.WebService;
import net.intelie.liverig.plugin.settings.SettingLogData;

import javax.ws.rs.*;
import java.util.Collection;
import java.util.List;

@UseProxy
@Path("/")
@Consumes("application/json")
@Produces("application/json")
public class DisplayUnitResource {

    private final DisplayUnitsService displayUnitsService;

    public DisplayUnitResource(DisplayUnitsService displayUnitsService) {
        this.displayUnitsService = displayUnitsService;
    }

    @GET
    @NeedsNoAuthority
    @SuppressWarnings("rawtypes")
    public List list() {
        return displayUnitsService.getSimpleList();
    }

    @GET
    @NeedsNoAuthority
    @Path("/{id}")
    @SuppressWarnings("rawtypes")
    public DisplayUnit get(@PathParam("id") String id) {
        DisplayUnit displayUnit = displayUnitsService.get(id);

        if (displayUnit == null)
            throw new WebService.NotFound();

        return displayUnit;
    }

    @GET
    @NeedsNoAuthority
    @Path("/log/{id}")
    public Collection getLogsForId(@PathParam("id") String id) {
        return displayUnitsService.getLogsForId(id);
    }

    @PUT
    @NeedsAuthority({Permission.ADMIN, Permission.MANAGE_HIGH_FREQUENCY_DATA})
    @SuppressWarnings("rawtypes")
    public DisplayUnit save(DisplayUnit displayUnit) {
        return displayUnitsService.save(displayUnit);
    }

    @DELETE
    @NeedsAuthority({Permission.ADMIN, Permission.MANAGE_HIGH_FREQUENCY_DATA})
    @Path("/{id}")
    @SuppressWarnings("rawtypes")
    public void delete(@PathParam("id") String id) {
        if (!displayUnitsService.delete(id)) {
            throw new WebService.NotFound();

        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy