コード例 #1
0
ファイル: SiteTemplateBo.java プロジェクト: gengchong/WFBD
  /**
   * 获取数据库中文件列表并进行页面数据整合
   *
   * @param path
   * @return
   * @throws BusinessServiceException
   */
  @SuppressWarnings("unchecked")
  public Map querySiteTemplates(Map paramMap) throws BusinessServiceException {
    String path = (String) paramMap.get("path");
    String siteId = (String) paramMap.get("siteId");
    String businessCode = (String) paramMap.get("businessCode");

    // 获取数据库中文件列表
    List<CmsSiteTpl> list = (List<CmsSiteTpl>) querySiteTemplates(siteId, businessCode, path);
    List<PageTemplateInfo> fileInfoList = new ArrayList<PageTemplateInfo>();
    Iterator<CmsSiteTpl> it = list.iterator();
    Map model = new HashMap();
    String tempDirectoryName = "";

    while (it.hasNext()) {
      CmsSiteTpl cmsSiteTpl = it.next();
      PageTemplateInfo pageTemplateInfo = new PageTemplateInfo();
      String filePath = cmsSiteTpl.getPath();
      // 如果为文件
      if (filePath != null && filePath.equals(path)) {
        pageTemplateInfo.setDirectory(false);
        pageTemplateInfo.setFileName(cmsSiteTpl.getTemplateFile());
        pageTemplateInfo.setImagePath(
            FileOperationUtils.getFileImagePath(
                pageTemplateInfo.isDirectory(), pageTemplateInfo.getFileName()));
        pageTemplateInfo.setFilePath(path);
        pageTemplateInfo.setTemplateKey(cmsSiteTpl.getTemplateKey());
        pageTemplateInfo.setTemplateName(cmsSiteTpl.getTemplateName());
        pageTemplateInfo.setTemplateId(cmsSiteTpl.getTemplateId());
        fileInfoList.add(pageTemplateInfo);

      } else { // 如果为文件夹
        // 获取子目录名称
        String directoryName = filePath.substring(path.length());
        int index = directoryName.indexOf("/");
        if (index > 0) {
          directoryName = directoryName.substring(0, index);
        }
        if (!tempDirectoryName.equals(directoryName)) {
          tempDirectoryName = directoryName;
          pageTemplateInfo.setDirectory(true);
          pageTemplateInfo.setFileName(directoryName);
          pageTemplateInfo.setImagePath(
              FileOperationUtils.getFileImagePath(
                  pageTemplateInfo.isDirectory(), pageTemplateInfo.getFileName()));
          pageTemplateInfo.setFilePath(path);
          pageTemplateInfo.setTemplateKey(null); // 文件夹没有对应的模板Key
          fileInfoList.add(pageTemplateInfo);
        }
      }
    }

    model.put("path", path);
    model.put("fileInfoList", fileInfoList);

    return model;
  }