Tweak example app.

This commit is contained in:
Jon Brisbin
2013-03-04 14:10:16 -06:00
parent c4e2ce1f91
commit 5beebd9e56
2 changed files with 42 additions and 45 deletions

View File

@@ -17,27 +17,27 @@ import org.springframework.hateoas.ResourceProcessor;
@ImportResource("classpath:META-INF/spring/security-config.xml")
public class RestExporterExampleRestConfig extends RepositoryRestMvcConfiguration {
@Override protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.addResourceMappingForDomainType(Person.class)
.addResourceMappingFor("lastName")
.setPath("surname");
config.addResourceMappingForDomainType(Person.class)
.addResourceMappingFor("siblings")
.setRel("siblings")
.setPath("siblings");
}
@Override protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.addResourceMappingForDomainType(Person.class)
.addResourceMappingFor("lastName")
.setPath("surname");
config.addResourceMappingForDomainType(Person.class)
.addResourceMappingFor("siblings")
.setRel("siblings")
.setPath("siblings");
}
@Bean public ResourceProcessor<Resource<Person>> personResourceProcessor() {
return new ResourceProcessor<Resource<Person>>() {
RepositoryRestConfiguration config = config();
@Bean public ResourceProcessor<Resource<Person>> personResourceProcessor() {
return new ResourceProcessor<Resource<Person>>() {
RepositoryRestConfiguration config = config();
@Override public Resource<Person> process(Resource<Person> resource) {
System.out.println("processing " + resource);
System.out.println("url: " + config.getBaseUri().toString());
resource.add(new Link("http://host:port/path", "myrel"));
return resource;
}
};
}
@Override public Resource<Person> process(Resource<Person> resource) {
System.out.println("processing " + resource);
System.out.println("url: " + config.getBaseUri().toString());
resource.add(new Link("http://host:port/path", "myrel"));
return resource;
}
};
}
}

View File

@@ -1,7 +1,5 @@
package org.springframework.data.rest.example;
import java.util.EnumSet;
import javax.servlet.DispatcherType;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;
@@ -9,41 +7,40 @@ import javax.servlet.ServletRegistration;
import org.springframework.data.rest.example.gemfire.GemfireRepositoryConfig;
import org.springframework.data.rest.example.jpa.JpaRepositoryConfig;
import org.springframework.data.rest.example.mongodb.MongoDbRepositoryConfig;
import org.springframework.data.rest.webmvc.RepositoryRestDispatcherServlet;
import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.ContextLoaderListener;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.filter.DelegatingFilterProxy;
import org.springframework.web.servlet.DispatcherServlet;
/**
* @author Jon Brisbin
*/
public class RestExporterWebInitializer implements WebApplicationInitializer {
@Override public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext rootCtx = new AnnotationConfigWebApplicationContext();
rootCtx.register(
JpaRepositoryConfig.class,
MongoDbRepositoryConfig.class,
GemfireRepositoryConfig.class
);
@Override public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext rootCtx = new AnnotationConfigWebApplicationContext();
rootCtx.register(
JpaRepositoryConfig.class,
MongoDbRepositoryConfig.class,
GemfireRepositoryConfig.class
);
servletContext.addListener(new ContextLoaderListener(rootCtx));
// servletContext.addFilter("springSecurity", DelegatingFilterProxy.class);
// servletContext.getFilterRegistration("springSecurity").addMappingForUrlPatterns(
// EnumSet.of(DispatcherType.REQUEST),
// false,
// "/*"
// );
servletContext.addListener(new ContextLoaderListener(rootCtx));
// servletContext.addFilter("springSecurity", DelegatingFilterProxy.class);
// servletContext.getFilterRegistration("springSecurity").addMappingForUrlPatterns(
// EnumSet.of(DispatcherType.REQUEST),
// false,
// "/*"
// );
AnnotationConfigWebApplicationContext webCtx = new AnnotationConfigWebApplicationContext();
webCtx.register(RestExporterExampleRestConfig.class);
AnnotationConfigWebApplicationContext webCtx = new AnnotationConfigWebApplicationContext();
webCtx.register(RestExporterExampleRestConfig.class);
RepositoryRestDispatcherServlet dispatcherServlet = new RepositoryRestDispatcherServlet(webCtx);
ServletRegistration.Dynamic reg = servletContext.addServlet("rest-exporter", dispatcherServlet);
reg.setLoadOnStartup(1);
reg.addMapping("/*");
DispatcherServlet dispatcherServlet = new DispatcherServlet(webCtx);
ServletRegistration.Dynamic reg = servletContext.addServlet("rest-exporter", dispatcherServlet);
reg.setLoadOnStartup(1);
reg.addMapping("/*");
}
}
}