package org.nutz.mvc.testapp.classes.action.adaptor;
import org.nutz.aop.interceptor.ioc.TransAop;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.test.meta.Pet;
import org.nutz.ioc.aop.Aop;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Fail;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
@IocBean(create="init")
@At("/aop")
public class AopTransModule {
@Inject Dao dao;
public void init() {
dao.create(Pet.class, true);
}
@At("/test1")
@Aop(TransAop.SERIALIZABLE)
@Fail("http:200")
@Ok("http:500")
public void test_aop_trans_1(@Param("name")String name){
dao.insert(Pet.create(name));
throw new RuntimeException();
}
@At("/test1/result")
@Ok("raw")
@Fail("http:500")
public int tets_aop_trans_1_result(@Param("name")String name) {
return dao.count(Pet.class, Cnd.where("name", "=", name));
}
}