/**
* $RCSfile: ,v $
* $Revision: $
* $Date: $
*
* Copyright (C) 2004-2011 Jive Software. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jivesoftware.fastpath.internal;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.jivesoftware.smackx.workgroup.settings.ChatSetting;
public class FormText {
public static final SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("MM/dd/yy h:mm");
public static final SimpleDateFormat TIME_FORMATTER = new SimpleDateFormat("h:mm");
public static String getChatRoomWelcomeMessage(String agent, String workgroup) {
String value = getTextSetting("acceptedChat_text", workgroup);
value = FormUtils.replace(value, "${agent}", agent);
value = FormUtils.replace(value, "'", "\\\'");
value = FormUtils.replace(value, "\n", "<br>");
return value.trim();
}
public static String getWelcomeText(String workgroup) {
return getTextSetting("user_input_page_title", workgroup);
}
public static String getChatDisconnected(String agent, String workgroup) {
String value = getTextSetting("chatDisconnect_text", workgroup);
value = FormUtils.replace(value, "${agent}", agent);
return value;
}
public static String getSessionHasEnded(String agent, String workgroup) {
String value = getTextSetting("chatSessionEnded_text", workgroup);
value = FormUtils.replace(value, "${agent}", agent);
return value;
}
public static String getInvitiationSent(String agent, String workgroup) {
String value = getTextSetting("inviteChat_text", workgroup);
value = FormUtils.replace(value, "${agent}", agent);
return value;
}
public static String getTransferSent(String agent, String workgroup) {
String value = getTextSetting("transferChat_text", workgroup);
value = FormUtils.replace(value, "${agent}", agent);
return value;
}
public static String getTranscriptText(String workgroup) {
return getTextSetting("transcript_window_text", workgroup);
}
public static String getStartChatButtonText(String workgroup) {
return getTextSetting("start_chat_button", workgroup);
}
public static String getQueueTitleText(String workgroup) {
return getTextSetting("queue_title_text", workgroup);
}
public static String getQueueDescriptionText(String workgroup) {
String value = getTextSetting("queue_description_text", workgroup);
value = FormUtils.replace(value, "${position}", "<span id=\"queue_position\">?</span>");
value = FormUtils.replace(value, "${waitTime}", "<span id=\"queue_time\">?</span>");
return value;
}
public static String getTranscriptSent(String workgroup) {
return getTextSetting("transcript_send_text", workgroup);
}
public static String getTranscriptNotSent(String workgroup) {
return getTextSetting("transcript_not_sent_text", workgroup);
}
public static String agentHasEndedConversation(String agent, String workgroup) {
String value = getTextSetting("chatSessionEnded_text", workgroup);
value = FormUtils.replace(value, "${agent}", agent);
value = FormUtils.replace(value, "\n", "<br>");
return value;
}
public static String getStartButton(String workgroup) {
return getTextSetting("start_chat_button", workgroup);
}
public static String getNoHelpText(String workgroup) {
return getTextSetting("no_help_text", workgroup);
}
public static String getQueueFooter(String workgroup) {
return getTextSetting("queue_footer_text", workgroup);
}
public static String getNoAgentText(String workgroup) {
String value = getTextSetting("no_agent_text", workgroup);
value = FormUtils.replace(value, "'", "\\\'");
value = FormUtils.replace(value, "\n", "<br>");
return value.trim();
}
public static String getInvitingAgentText(String workgroup) {
return getTextSetting("inviteChat_text", workgroup);
}
public static String getTransferToAgentText(String workgroup) {
return getTextSetting("transferChat_text", workgroup);
}
public static String getTextSetting(String key, String workgroup) {
WorkgroupManager settingsManager = WorkgroupManager.getInstance();
ChatSetting chatSettings = settingsManager.getChatSetting(key, workgroup);
Date now = new Date();
String date = DATE_FORMATTER.format(now);
String time = TIME_FORMATTER.format(now);
if (chatSettings == null) {
return "";
}
String value = chatSettings.getValue();
value = FormUtils.replace(value, "${time}", time);
value = FormUtils.replace(value, "${date}", date);
return value;
}
}