package com.blinkcoder.common; import com.blinkcoder.controller.*; import com.blinkcoder.handler.UserHandler; import com.blinkcoder.model.*; import com.blinkcoder.plugin.quartz.QuartzPlugin; import com.blinkcoder.render.VelocityToolboxRenderFactory; import com.jfinal.config.*; import com.jfinal.kit.PathKit; import com.jfinal.kit.StringKit; import com.jfinal.plugin.activerecord.ActiveRecordPlugin; import com.jfinal.plugin.druid.DruidPlugin; import com.jfinal.plugin.ehcache.EhCachePlugin; import com.jfinal.render.ViewType; import com.qiniu.api.config.Config; import java.io.File; import java.util.Properties; /** * User: Michael * Date: 13-10-10 * Time: 下午9:23 */ public class myConfig extends JFinalConfig { private String json = java.lang.System.getenv("VCAP_SERVICES"); private boolean isLocal = StringKit.isBlank(json); @Override public void configConstant(Constants me) { Properties conf = loadPropertyFile("classes" + File.separator + "config.properties"); myConstants.VELOCITY_TEMPLETE_PATH = getProperty("velocity_templete_path"); if (isLocal) { me.setDevMode(true); } me.setViewType(ViewType.OTHER); me.setMainRenderFactory(new VelocityToolboxRenderFactory()); me.setError404View(myConstants.VELOCITY_TEMPLETE_PATH + "/404.html"); me.setError500View(myConstants.VELOCITY_TEMPLETE_PATH + "/500.html"); } @Override public void configRoute(Routes me) { me.add("/action/blog", BlogController.class).add("/action/catalog", CatalogController.class) .add("/action/tag", TagController.class).add("/action/link", LinkController.class) .add("/action/user", UserController.class).add("/action/qiniu", QiNiuController.class) .add("action/comment", CommentController.class); } @Override public void configPlugin(Plugins me) { String jdbcUrl, username, password, driver; driver = getProperty("driverClass"); jdbcUrl = getProperty("jdbcUrl"); username = getProperty("username"); password = getProperty("password"); DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl, username, password, driver); druidPlugin.setInitialSize(3).setMaxActive(10); me.add(druidPlugin); // 配置ActiveRecord插件 ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin); // 缓存插件 me.add(new EhCachePlugin(PathKit.getWebRootPath() + File.separator + "WEB-INF" + File.separator + "classes" + File.separator + "ehcache.xml")); me.add(new QuartzPlugin()); if (isLocal) { arp.setShowSql(true); } arp.addMapping("blog", Blog.class).addMapping("user", User.class).addMapping("catalog", Catalog.class).addMapping("blog_tag", BlogTag.class).addMapping("tag", Tag.class).addMapping("link", Link.class).addMapping("lucene_task", LuceneTask.class).addMapping("comment", Comment.class); me.add(arp); } @Override public void configInterceptor(Interceptors me) { } @Override public void configHandler(Handlers me) { me.add(new UserHandler()); } @Override public void afterJFinalStart() { Config.ACCESS_KEY = getProperty("qiniu_access_key"); Config.SECRET_KEY = getProperty("qiniu_secret_key"); myConstants.QINIU_BUICKET = getProperty("qiniu_buicket"); myConstants.QINIU_RETURNURL = getProperty("qiniu_returnUrl"); myConstants.STATIC_RESOURCE_PATH = getProperty("static_resource_path"); myConstants.LUCENE_DIR = getProperty("lucene_dir"); myConstants.GOOGLE_CLIENT_ID = getProperty("google_client_id"); myConstants.GOOGLE_CLIENT_SECRET_KEY = getProperty("google_client_secret_key"); myConstants.COOKIE_ENCRYPT_KEY = getProperty("cookie_encrypt_key").getBytes(); } @Override public void beforeJFinalStop() { } }