/** * */ package org.minnal.examples.oms; import org.activejpa.util.EnumConverter; import org.apache.commons.beanutils.ConvertUtils; import org.minnal.core.Application; import org.minnal.examples.oms.domain.Order; import org.minnal.examples.oms.domain.OrderItem; import org.minnal.jpa.JPAPlugin; import org.minnal.security.SecurityPlugin; import org.pac4j.http.client.BasicAuthClient; import org.pac4j.http.credentials.SimpleTestUsernamePasswordAuthenticator; import com.fasterxml.jackson.datatype.hibernate4.Hibernate4Module; import com.fasterxml.jackson.datatype.hibernate4.Hibernate4Module.Feature; /** * @author ganeshs * */ public class OrderApplication extends Application<OrderConfiguration> { public OrderApplication() { ConvertUtils.register(EnumConverter.instance, Order.Status.class); ConvertUtils.register(EnumConverter.instance, OrderItem.Status.class); } protected void defineResources() { } @Override protected void registerPlugins() { registerPlugin(new JPAPlugin()); // Add security plugin if enabled if(getConfiguration().isEnableSecurity()) { BasicAuthClient client = new BasicAuthClient(new SimpleTestUsernamePasswordAuthenticator()); client.setName("basic"); registerPlugin(new SecurityPlugin("/callback", client)); } } @Override public void init() { super.init(); Hibernate4Module module = new Hibernate4Module(); module.configure(Feature.FORCE_LAZY_LOADING, true); getObjectMapper().registerModule(module); } }