/* * Aipo is a groupware program developed by TOWN, Inc. * Copyright (C) 2004-2015 TOWN, Inc. * http://www.aipo.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.aimluck.eip.modules.parameters; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.turbine.util.RunData; import com.aimluck.eip.cabinet.FolderInfo; import com.aimluck.eip.cabinet.util.CabinetUtils; /** */ public class CabinetFolderListBox extends ListBox { public static final String INITIAL_VALUE = "initialvalue"; public static final String DEF_INITIAL_VALUE = "すべてのフォルダ"; // private String DEF_INITIAL_VALUE = ""; /** * 共有フォルダの設定値を処理するクラスです。 <br /> * * @param data */ @Override protected void init(RunData data) { // カテゴリ一覧を取得 List<FolderInfo> folder_hierarchy_list = CabinetUtils.getFolderList(); List<String> folderKeys = new ArrayList<String>(); List<String> folderValues = new ArrayList<String>(); // ヘッダ folderKeys.add("0"); folderValues.add((String) this.getParm(INITIAL_VALUE, DEF_INITIAL_VALUE)); int count = 1; // カテゴリの登録 FolderInfo folderinfo = null; Iterator<FolderInfo> iter = folder_hierarchy_list.iterator(); while (iter.hasNext()) { folderinfo = iter.next(); if (!CabinetUtils.isAccessibleFolder(folderinfo.getFolderId(), data)) { continue; } StringBuffer nbsps = new StringBuffer(); int len = folderinfo.getHierarchyIndex(); for (int i = 0; i < len; i++) { nbsps.append("   "); } folderKeys.add("" + folderinfo.getFolderId()); folderValues.add(nbsps.toString() + folderinfo.getFolderName()); count++; } this.layout = (String) this.getParm(LAYOUT, LAYOUT_COMBO); this.items = folderKeys.toArray(new String[count]); this.values = folderValues.toArray(new String[count]); this.size = Integer.toString(count); this.multiple = Boolean .valueOf((String) this.getParm(MULTIPLE_CHOICE, "false")) .booleanValue(); } }