Package com.dottydingo.hyperion.service.context

Examples of com.dottydingo.hyperion.service.context.RequestContext


                              @QueryParam("limit"Integer limit,
                              @QueryParam("query") String query,
                              @QueryParam("sort") String sort,
                              @QueryParam("version"Integer version)
    {
        RequestContext requestContext = null;

        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            checkMethodAllowed(plugin,HttpMethod.GET);
View Full Code Here


                            @PathParam("id") String id,
                            @QueryParam("fields") String fields,
                            @QueryParam("version"Integer version)

    {
        RequestContext requestContext = null;

        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            checkMethodAllowed(plugin,HttpMethod.GET);
View Full Code Here

    @Consumes(MediaType.APPLICATION_JSON)
    public void createItem(@PathParam("entity") String entity,
                               @QueryParam("fields") String fields,
                               @QueryParam("version"Integer version                               )
    {
        RequestContext requestContext = null;
        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            checkMethodAllowed(plugin,HttpMethod.POST);
            ApiVersionPlugin<C,?> apiVersionPlugin = plugin.getApiVersionRegistry().getPluginForVersion(version);
            requestContext = buildRequestContext(entity,fields,HttpMethod.GET, plugin, apiVersionPlugin);

            endpointAuthorizationChecker.checkAuthorization(requestContext);

            C clientObject = endpointMarshaller.unmarshall(httpServletRequest,apiVersionPlugin.getApiClass());
            Set<String> fieldSet = requestContext.getRequestedFields();
            if(fieldSet != null)
                fieldSet.add("id");

            C saved = plugin.getPersistenceOperations().createItem(clientObject, requestContext);
            if(saved != null)
View Full Code Here

    public void updateItem(@PathParam("entity") String entity,
                           @PathParam("id") String id,
                               @QueryParam("fields") String fields,
                               @QueryParam("version"Integer version)
    {
        RequestContext requestContext = null;
        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            checkMethodAllowed(plugin,HttpMethod.PUT);
            ApiVersionPlugin<C,?> apiVersionPlugin = plugin.getApiVersionRegistry().getPluginForVersion(version);
            requestContext = buildRequestContext(entity,fields,HttpMethod.GET, plugin, apiVersionPlugin);

            C clientObject = endpointMarshaller.unmarshall(httpServletRequest,apiVersionPlugin.getApiClass());

            List<ID> ids = plugin.getKeyConverter().covertKeys(id);
            if(ids.size() != 1)
                throw new BadRequestException("A single id must be provided for an update.");

            endpointAuthorizationChecker.checkAuthorization(requestContext);

            Set<String> fieldSet = requestContext.getRequestedFields();
            if(fieldSet != null)
                fieldSet.add("id");

            C saved = plugin.getPersistenceOperations().updateItem(ids, clientObject, requestContext);
            if(saved != null)
View Full Code Here

    @DELETE()
    @Path("{id}")
    public void deleteItem(@PathParam("entity") String entity,
                            @PathParam("id") String id)
    {
        RequestContext requestContext = null;

        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            ApiVersionPlugin<C,?> apiVersionPlugin = plugin.getApiVersionRegistry().getPluginForVersion(null);
View Full Code Here

                              @QueryParam("limit"Integer limit,
                              @QueryParam("query") String query,
                              @QueryParam("sort") String sort,
                              @QueryParam("version"Integer version)
    {
        RequestContext requestContext = null;

        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            checkMethodAllowed(plugin,HttpMethod.GET);
View Full Code Here

                            @PathParam("id") String id,
                            @QueryParam("fields") String fields,
                            @QueryParam("version"Integer version)

    {
        RequestContext requestContext = null;

        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            checkMethodAllowed(plugin,HttpMethod.GET);
View Full Code Here

    @Consumes(MediaType.APPLICATION_JSON)
    public void createItem(@PathParam("entity") String entity,
                               @QueryParam("fields") String fields,
                               @QueryParam("version"Integer version                               )
    {
        RequestContext requestContext = null;
        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            checkMethodAllowed(plugin,HttpMethod.POST);
            ApiVersionPlugin<C,?> apiVersionPlugin = plugin.getApiVersionRegistry().getPluginForVersion(version);
            requestContext = buildRequestContext(entity,fields,HttpMethod.POST, plugin, apiVersionPlugin);

            endpointAuthorizationChecker.checkAuthorization(requestContext);

            C clientObject = endpointMarshaller.unmarshall(httpServletRequest,apiVersionPlugin.getApiClass());
            Set<String> fieldSet = requestContext.getRequestedFields();
            if(fieldSet != null)
                fieldSet.add("id");

            C saved = plugin.getPersistenceOperations().createOrUpdateItem(clientObject, requestContext);
            if(saved != null)
            {
                addVersionHeader(apiVersionPlugin.getVersion());
                if(requestContext.getWriteContext() == WriteContext.create)
                {
                    httpServletResponse.setStatus(201);
                    httpServletResponse.setHeader("Location",URI.create(saved.getId().toString()).toString());
                }
                else
View Full Code Here

    public void updateItem(@PathParam("entity") String entity,
                           @PathParam("id") String id,
                               @QueryParam("fields") String fields,
                               @QueryParam("version"Integer version)
    {
        RequestContext requestContext = null;
        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            checkMethodAllowed(plugin,HttpMethod.PUT);
            ApiVersionPlugin<C,?> apiVersionPlugin = plugin.getApiVersionRegistry().getPluginForVersion(version);
            requestContext = buildRequestContext(entity,fields,HttpMethod.PUT, plugin, apiVersionPlugin);

            C clientObject = endpointMarshaller.unmarshall(httpServletRequest,apiVersionPlugin.getApiClass());

            List<ID> ids = plugin.getKeyConverter().covertKeys(id);
            if(ids.size() != 1)
                throw new BadRequestException("A single id must be provided for an update.");

            endpointAuthorizationChecker.checkAuthorization(requestContext);

            Set<String> fieldSet = requestContext.getRequestedFields();
            if(fieldSet != null)
                fieldSet.add("id");

            C saved = plugin.getPersistenceOperations().updateItem(ids, clientObject, requestContext);
            if(saved != null)
View Full Code Here

    @DELETE()
    @Path("{id}")
    public void deleteItem(@PathParam("entity") String entity,
                            @PathParam("id") String id)
    {
        RequestContext requestContext = null;

        try
        {
            EntityPlugin<C,?,ID> plugin = getEntityPlugin(entity);
            ApiVersionPlugin<C,?> apiVersionPlugin = plugin.getApiVersionRegistry().getPluginForVersion(null);
View Full Code Here

TOP

Related Classes of com.dottydingo.hyperion.service.context.RequestContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.