View Javadoc
1   /**
2    * Copyright By Grandsoft Company Limited.  
3    * 2013-8-10 上午06:11:36
4    */
5   package gboat2.base.core.web.md;
6   
7   import gboat2.base.core.dao.QuerySupport;
8   import gboat2.base.core.model.ContentMetadata;
9   import gboat2.base.core.service.IBaseService;
10  import gboat2.base.core.util.JsonVelocityUtil;
11  import gboat2.base.core.util.SpringContextUtil;
12  
13  import java.net.URL;
14  import java.util.HashMap;
15  import java.util.List;
16  import java.util.Map;
17  
18  import net.sf.json.JSONObject;
19  
20  import org.osgi.framework.Bundle;
21  
22  
23  /**
24   * 
25   * 元数据定制后保存在数据库的内容处理
26   * @author lysming
27   * @since jdk1.6
28   * @date 2013-8-10
29   *  
30   */
31  
32  public class DbConfigHandler extends MetadataHandler {
33  
34  	@SuppressWarnings("unchecked")
35      @Override
36  	public JSONObject parseMetadata(JSONObject object, URL url,Bundle bundle, MetadataHandlerChain chain) {
37  		Map<String, Object> params = new HashMap<String, Object>();
38  		params.put(QuerySupport.PARAM_TABLENAME, ContentMetadata.class);
39  		params.put("_metaDataStatus", "1");
40  		params.put("_fileName", url.getFile());
41  		params.put("_bundleSymble", chain.getBundle().getSymbolicName());
42  		IBaseService baseService = (IBaseService) SpringContextUtil.getInstance().getBeanOfId("baseService");
43  		List<ContentMetadata> list = (List<ContentMetadata>) baseService.query(params);
44  
45  		String content;
46  		if (!list.isEmpty()) {
47  			content = JsonVelocityUtil.fillJsonByVelocityfromMdStr(list.get(0).getContent(), getActionParam(chain.getAction()));
48  
49  			try {
50  				object = JSONObject.fromObject(content);
51  			} catch (Exception e) {
52  				dealJSONException(e);
53  			}
54  		}
55  		
56  		return chain.doHandler(object,url,bundle);
57  	}
58  
59  }