package com.oculusinfo.tile.rest.config; import com.google.inject.Inject; import org.restlet.data.Status; import org.restlet.ext.json.JsonRepresentation; import org.restlet.representation.Representation; import org.restlet.resource.Get; import org.restlet.resource.ResourceException; import org.restlet.resource.ServerResource; import java.io.File; public class ConfigResource extends ServerResource { private ConfigService _service; @Inject public ConfigResource( ConfigService service ) { _service = service; } @Get public Representation getConfig() { try { String result = "{}"; String name = ( String ) getRequest().getAttributes().get( "name" ); File matchingFile = _service.findResourceConfig(name); if (matchingFile != null) { result = _service.replaceProperties(matchingFile); } setStatus(Status.SUCCESS_OK); return new JsonRepresentation( result ); } catch ( Exception e ) { throw new ResourceException( Status.SERVER_ERROR_INTERNAL, "Unable to get configuration", e ); } } }