Example usage for org.springframework.data.projection SpelAwareProxyProjectionFactory SpelAwareProxyProjectionFactory

List of usage examples for org.springframework.data.projection SpelAwareProxyProjectionFactory SpelAwareProxyProjectionFactory

Introduction

In this page you can find the example usage for org.springframework.data.projection SpelAwareProxyProjectionFactory SpelAwareProxyProjectionFactory.

Prototype

SpelAwareProxyProjectionFactory

Source Link

Usage

From source file:org.springframework.data.web.JsonProjectingMethodInterceptorFactoryUnitTests.java

@Before
public void setUp() {

    String json = "{\"firstname\" : \"Dave\", "//
            + "\"address\" : { \"zipCode\" : \"01097\", \"city\" : \"Dresden\" }," //
            + "\"addresses\" : [ { \"zipCode\" : \"01097\", \"city\" : \"Dresden\" }]" + " }";

    SpelAwareProxyProjectionFactory projectionFactory = new SpelAwareProxyProjectionFactory();

    MappingProvider mappingProvider = new JacksonMappingProvider(new ObjectMapper());
    projectionFactory.registerMethodInvokerFactory(new JsonProjectingMethodInterceptorFactory(mappingProvider));

    this.projectionFactory = projectionFactory;
    this.customer = projectionFactory.createProjection(Customer.class,
            new ByteArrayInputStream(json.getBytes()));
}

From source file:org.springframework.data.web.ProjectingJackson2HttpMessageConverter.java

/**
 * Creates a new {@link SpelAwareProxyProjectionFactory} with the {@link JsonProjectingMethodInterceptorFactory}
 * registered for the given {@link ObjectMapper}.
 * /*from   w  ww  .  j av  a  2  s .  com*/
 * @param mapper must not be {@literal null}.
 * @return
 */
private static SpelAwareProxyProjectionFactory initProjectionFactory(ObjectMapper mapper) {

    Assert.notNull(mapper, "ObjectMapper must not be null!");

    SpelAwareProxyProjectionFactory projectionFactory = new SpelAwareProxyProjectionFactory();
    projectionFactory.registerMethodInvokerFactory(
            new JsonProjectingMethodInterceptorFactory(new JacksonMappingProvider(mapper)));

    return projectionFactory;
}

From source file:org.springframework.data.rest.webmvc.json.PersistentEntitySerializationTests.java

@Before
public void setUp() {

    RequestContextHolder.setRequestAttributes(new ServletWebRequest(new MockHttpServletRequest()));

    this.linkDiscoverer = new HalLinkDiscoverer();
    this.projectionFactory = new SpelAwareProxyProjectionFactory();
}

From source file:com._4dconcept.springframework.data.marklogic.repository.query.PartTreeMarklogicQueryTest.java

private PartTreeMarklogicQuery createQueryForMethod(String methodName, Class<?>... paramTypes) {

    try {/* w w  w  .j a  v a  2 s  .com*/

        Method method = Repo.class.getMethod(methodName, paramTypes);
        ProjectionFactory factory = new SpelAwareProxyProjectionFactory();
        MarklogicQueryMethod queryMethod = new MarklogicQueryMethod(method,
                new DefaultRepositoryMetadata(Repo.class), factory);

        return new PartTreeMarklogicQuery(queryMethod, marklogicOperationsMock);
    } catch (NoSuchMethodException | SecurityException e) {
        throw new IllegalArgumentException(e.getMessage(), e);
    }
}

From source file:org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration.java

@Bean
public ExcerptProjector excerptProjector() {

    SpelAwareProxyProjectionFactory projectionFactory = new SpelAwareProxyProjectionFactory();
    projectionFactory.setBeanFactory(applicationContext);
    projectionFactory.setResourceLoader(applicationContext);

    return new DefaultExcerptProjector(projectionFactory, resourceMappings());
}

From source file:org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration.java

protected List<HandlerMethodArgumentResolver> defaultMethodArgumentResolvers() {

    SpelAwareProxyProjectionFactory projectionFactory = new SpelAwareProxyProjectionFactory();
    projectionFactory.setBeanFactory(applicationContext);
    projectionFactory.setResourceLoader(applicationContext);

    PersistentEntityResourceAssemblerArgumentResolver peraResolver = new PersistentEntityResourceAssemblerArgumentResolver(
            persistentEntities(), selfLinkProvider(), config().getProjectionConfiguration(), projectionFactory,
            associationLinks());/*  w w w .  j av a2 s  .c  o  m*/

    HateoasPageableHandlerMethodArgumentResolver pageableResolver = pageableResolver();
    HandlerMethodArgumentResolver defaultedPageableResolver = new DefaultedPageableHandlerMethodArgumentResolver(
            pageableResolver);

    return Arrays.asList(defaultedPageableResolver, pageableResolver, sortResolver(),
            serverHttpRequestMethodArgumentResolver(), repoRequestArgumentResolver(),
            persistentEntityArgumentResolver(), resourceMetadataHandlerMethodArgumentResolver(),
            HttpMethodHandlerMethodArgumentResolver.INSTANCE, peraResolver,
            backendIdHandlerMethodArgumentResolver(), eTagArgumentResolver());
}