Package org.exoplatform.services.rest.resource

Examples of org.exoplatform.services.rest.resource.AbstractResourceDescriptor


         throw new ResourcePublicationException("Resource class " + resourceClass.getName()
            + " it is not root resource. " + "Path annotation javax.ws.rs.Path is not specified for this class.");
      }
      try
      {
         AbstractResourceDescriptor descriptor = new AbstractResourceDescriptorImpl(resourceClass, invokerFactory);
         // validate AbstractResourceDescriptor
         descriptor.accept(rdv);
         if (properties != null)
            descriptor.getProperties().putAll(properties);
         addResource(new PerRequestObjectFactory<AbstractResourceDescriptor>(descriptor));
      }
      catch (Exception e)
      {
         throw new ResourcePublicationException(e.getMessage());
View Full Code Here


         throw new ResourcePublicationException("Resource class " + resource.getClass().getName()
            + " it is not root resource. " + "Path annotation javax.ws.rs.Path is not specified for this class.");
      }
      try
      {
         AbstractResourceDescriptor descriptor = new AbstractResourceDescriptorImpl(resource, invokerFactory);
         // validate AbstractResourceDescriptor
         descriptor.accept(rdv);
         if (properties != null)
            descriptor.getProperties().putAll(properties);
         addResource(new SingletonObjectFactory<AbstractResourceDescriptor>(descriptor, resource));
      }
      catch (Exception e)
      {
         throw new ResourcePublicationException(e.getMessage());
View Full Code Here

      // NOTE Locators can't accept entity
      MethodInvoker invoker = srld.getMethodInvoker();
      resource = invoker.invokeMethod(resource, srld, context);

      AbstractResourceDescriptor descriptor = new AbstractResourceDescriptorImpl(resource);
      SingletonObjectFactory<AbstractResourceDescriptor> locResource =
         new SingletonObjectFactory<AbstractResourceDescriptor>(descriptor, resource);

      // dispatch again newly created resource
      dispatch(request, response, context, locResource, resource, newRequestPath);
View Full Code Here

      // NOTE Locators can't accept entity
      MethodInvoker invoker = srld.getMethodInvoker();
      resource = invoker.invokeMethod(resource, srld, context);

      AbstractResourceDescriptor descriptor = new AbstractResourceDescriptorImpl(resource, invokerFactory);
      SingletonObjectFactory<AbstractResourceDescriptor> locResource =
         new SingletonObjectFactory<AbstractResourceDescriptor>(descriptor, resource);

      // dispatch again newly created resource
      dispatch(request, response, context, locResource, resource, newRequestPath);
View Full Code Here

      for (SubResourceLocatorDescriptor srld : resourceDescriptor.getSubResourceLocators().values())
      {
         // Specify SINGLETON life-cycle to avoid processing constructors and fields.
         // We are not interested about it since creation instance of resource is
         // responsibility of sub-resource locator.
         AbstractResourceDescriptor subResourceDescriptor =
            new AbstractResourceDescriptorImpl(srld.getMethod().getReturnType(), ComponentLifecycleScope.SINGLETON);
         org.exoplatform.services.rest.wadl.research.Resource wadlSubResource = processResource(subResourceDescriptor);
         wadlSubResource.setPath(srld.getPathValue().getPath());
         wadlResource.getMethodOrResource().add(wadlSubResource);
      }
View Full Code Here

   // ===================================== end =================================

   public void testCreateAbstractResourceDescriptor()
   {
      AbstractResourceDescriptor resource = new AbstractResourceDescriptorImpl(SampleResource.class);
      assertTrue(resource.isRootResource());
      assertEquals("/a/{b}/", resource.getPathValue().getPath());
      assertEquals(SampleResource.class, resource.getObjectClass());
      assertEquals(3, resource.getResourceMethods().size());
      assertEquals(1, resource.getSubResourceMethods().size());
      assertEquals(3, resource.getSubResourceMethods().values().iterator().next().size());
      assertEquals(1, resource.getSubResourceLocators().size());
   }
View Full Code Here

      assertEquals(1, resource.getSubResourceLocators().size());
   }

   public void testResourceMethods()
   {
      AbstractResourceDescriptor resource = new AbstractResourceDescriptorImpl(SampleResource.class);
      // GET
      ResourceMethodDescriptor methodDescriptor = resource.getResourceMethods().getFirst("GET");
      assertEquals("GET", methodDescriptor.getHttpMethod());
      assertEquals(MediaTypeHelper.DEFAULT_TYPE, methodDescriptor.consumes().get(0));
      assertEquals(MediaType.valueOf("application/xml"), methodDescriptor.produces().get(0));
      assertEquals(SampleResource.class, methodDescriptor.getParentResource().getObjectClass());
      assertEquals(1, methodDescriptor.getMethodParameters().size());
      MethodParameter methodParameter = methodDescriptor.getMethodParameters().get(0);
      assertEquals("hello", methodParameter.getDefaultValue());
      assertEquals(String.class, methodParameter.getParameterClass());
      assertEquals(PathParam.class, methodParameter.getAnnotation().annotationType());
      assertEquals(2, methodParameter.getAnnotations().length);
      assertEquals(PathParam.class, methodParameter.getAnnotations()[0].annotationType());
      assertEquals(DefaultValue.class, methodParameter.getAnnotations()[1].annotationType());
      // the same must be for HEAD
      methodDescriptor = resource.getResourceMethods().getFirst("HEAD");
      assertEquals("HEAD", methodDescriptor.getHttpMethod());
      assertEquals(MediaTypeHelper.DEFAULT_TYPE, methodDescriptor.consumes().get(0));
      assertEquals(MediaType.valueOf("application/xml"), methodDescriptor.produces().get(0));
      assertEquals(SampleResource.class, methodDescriptor.getParentResource().getObjectClass());
      assertEquals(1, methodDescriptor.getMethodParameters().size());
View Full Code Here

      assertEquals(DefaultValue.class, methodParameter.getAnnotations()[1].annotationType());
   }

   public void testSubResourceMethods()
   {
      AbstractResourceDescriptor resource = new AbstractResourceDescriptorImpl(SampleResource.class);
      Collection<ResourceMethodMap<SubResourceMethodDescriptor>> subRes = resource.getSubResourceMethods().values();
      // POST
      SubResourceMethodDescriptor subResourceMethodDescriptor = subRes.iterator().next().getFirst("POST");
      assertEquals("POST", subResourceMethodDescriptor.getHttpMethod());
      assertEquals("{c}", subResourceMethodDescriptor.getPathValue().getPath());
      assertEquals(MediaType.valueOf("text/plain"), subResourceMethodDescriptor.consumes().get(0));
View Full Code Here

   }

   public void testSubResourceLocators()
   {
      // sub-resource method SampleResource#get2()
      AbstractResourceDescriptor resource = new AbstractResourceDescriptorImpl(SampleResource.class);
      SubResourceLocatorDescriptor subResourceLocatorDescriptor =
         resource.getSubResourceLocators().values().iterator().next();
      assertEquals("{c}/d", subResourceLocatorDescriptor.getPathValue().getPath());
      assertEquals(SampleResource.class, subResourceLocatorDescriptor.getParentResource().getObjectClass());
      assertEquals(1, subResourceLocatorDescriptor.getMethodParameters().size());
      MethodParameter methodParameter = subResourceLocatorDescriptor.getMethodParameters().get(0);
      assertTrue(methodParameter.isEncoded());
View Full Code Here

      assertEquals(PathParam.class, methodParameter.getAnnotations()[0].annotationType());
   }

   public void testFields()
   {
      AbstractResourceDescriptor resource = new AbstractResourceDescriptorImpl(SampleResource.class);
      List<FieldInjector> fields = resource.getFieldInjectors();

      cleanupSonarRuntimeData(fields);

      assertEquals(1, fields.size());
      FieldInjector f = fields.get(0);
View Full Code Here

TOP

Related Classes of org.exoplatform.services.rest.resource.AbstractResourceDescriptor

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.