/*
* 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.common;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import org.apache.jetspeed.services.logging.JetspeedLogFactoryService;
import org.apache.jetspeed.services.logging.JetspeedLogger;
import org.apache.jetspeed.services.resources.JetspeedResources;
public class ALEipInformation {
/** logger */
private static final JetspeedLogger logger = JetspeedLogFactoryService
.getLogger(ALEipInformation.class.getName());
/** デフォルトエンコーディングを表わすシステムプロパティのキー */
protected static final String KEY_ENCODING = "content.defaultencoding";
protected static final String DATE_KEY = "aipo.information.date";
protected static final String TEXT_KEY = "aipo.information.text";
protected static final String INFORMATION_CONFIG_CONCATE = "=";
public static final String INFORMATION_COOKIE_PREFIX = "aui_info_disp_";
/** お知らせ */
public static final String INFORMATION_TITLE = JetspeedResources
.getString("aipo.alias");
private static ALEipInformation information = new ALEipInformation();
/** お知らせが書かれたファイルへのパス */
private final String FILE_INFORMATION_DEFAULT = (JetspeedResources.getString(
"aipo.home",
"").equals("")) ? "" : JetspeedResources.getString("aipo.home", "")
+ File.separator
+ "conf"
+ File.separator
+ "information.properties";
private String informationText = null;
private String informationDate = null;
private String informationCookie = null;
/**
* コンストラクタ
*/
private ALEipInformation() {
informationText = "";
informationDate = "";
informationCookie = "";
loadInformations();
}
/**
* クラス ALEipInformation のインスタンスを取得する.
*
* @return クラス ALEipInformation のインスタンス
*/
public static ALEipInformation getInstance() {
return information;
}
/**
* お知らせ情報をテキストファイルから読み込む. <br>
*/
private void loadInformations() {
File defaultFile = new File(FILE_INFORMATION_DEFAULT);
informationText = "";
informationDate = "";
informationCookie = "";
BufferedReader reader = null;
try {
if (defaultFile.exists()) {
reader =
new BufferedReader(new InputStreamReader(new FileInputStream(
defaultFile), ALEipConstants.DEF_CONTENT_ENCODING));
loadInformation(reader);
}
} catch (Exception ex) {
logger.error("ALEipInformation.loadInformations", ex);
return;
}
}
/**
* お知らせ情報をテキストファイルから読み込む.
*
* @param reader
* @param list
* @throws Exception
*/
private void loadInformation(BufferedReader reader) throws Exception {
if (reader == null) {
return;
}
String line = null;
while ((line = reader.readLine()) != null) {
if (line.startsWith("#")) {
continue;
}
if (line.startsWith(DATE_KEY)) {
String dayStr =
line.replaceAll(DATE_KEY + INFORMATION_CONFIG_CONCATE, "");
if (dayStr != null && !"".equals(dayStr)) {
informationDate = dayStr;
informationCookie = INFORMATION_COOKIE_PREFIX + dayStr;
}
}
if (line.startsWith(TEXT_KEY)) {
String dayStr =
line.replaceAll(TEXT_KEY + INFORMATION_CONFIG_CONCATE, "");
if (dayStr != null && !"".equals(dayStr)) {
informationText = dayStr;
}
}
}
}
public String getInformationText() {
return informationText;
}
public String getInformationDate() {
return informationDate;
}
public String getInformationCookie() {
return informationCookie;
}
}