Commit f9038218 authored by guus's avatar guus

* Updating 'fastpath' plugin to make use of SLF4J instead of custom logging (OF-53).

* Applied java generics.
* Removed unused code.
* Replaced StringPrep with LibIDN (OF-78).

git-svn-id: http://svn.igniterealtime.org/svn/repos/openfire/trunk@11442 b35dd754-fafc-0310-a699-88a17e54d16e
parent c8b3524b
...@@ -44,6 +44,15 @@ ...@@ -44,6 +44,15 @@
Fastpath Plugin Changelog Fastpath Plugin Changelog
</h1> </h1>
<p><b>4.2.0</b> -- December 2, 2009</p>
<ul>
<li>Now requires Openfire 3.6.5.</li>
<li>Applied Java generics.</li>
<li>Removed unused code.</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/OF-53'>OF-53</a>] - Replace custom logging implementation with a third party library.</li>
<li>[<a href='http://www.igniterealtime.org/issues/browse/OF-78'>OF-78</a>] - Replaced custom Stringprep with LibIDN.</li>
</ul>
<p><b>4.1.0</b> -- August 12, 2008</p> <p><b>4.1.0</b> -- August 12, 2008</p>
<ul> <ul>
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
<name>Fastpath Service</name> <name>Fastpath Service</name>
<description>Support for managed queued chat requests, such as a support team might use.</description> <description>Support for managed queued chat requests, such as a support team might use.</description>
<author>Jive Software</author> <author>Jive Software</author>
<version>4.1.0</version> <version>4.2.0</version>
<date>8/12/2008</date> <date>12/2/2009</date>
<minServerVersion>3.6.0</minServerVersion> <minServerVersion>3.6.5</minServerVersion>
<databaseKey>fastpath</databaseKey> <databaseKey>fastpath</databaseKey>
<databaseVersion>0</databaseVersion> <databaseVersion>0</databaseVersion>
......
...@@ -19,25 +19,26 @@ ...@@ -19,25 +19,26 @@
package org.jivesoftware.openfire.fastpath; package org.jivesoftware.openfire.fastpath;
import java.io.File;
import java.io.FileFilter;
import org.jivesoftware.openfire.cluster.ClusterEventListener;
import org.jivesoftware.openfire.cluster.ClusterManager;
import org.jivesoftware.openfire.container.Plugin; import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager; import org.jivesoftware.openfire.container.PluginManager;
import org.jivesoftware.openfire.fastpath.util.TaskEngine;
import org.jivesoftware.openfire.user.UserNameManager; import org.jivesoftware.openfire.user.UserNameManager;
import org.jivesoftware.openfire.user.UserNameProvider; import org.jivesoftware.openfire.user.UserNameProvider;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.openfire.cluster.ClusterEventListener;
import org.jivesoftware.openfire.cluster.ClusterManager;
import org.jivesoftware.openfire.fastpath.util.TaskEngine;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.xmpp.component.ComponentManagerFactory; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.component.ComponentException; import org.xmpp.component.ComponentException;
import org.xmpp.component.ComponentManagerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import java.io.File;
import java.io.FileFilter;
/** /**
* Openfire Fastpath plugin. * Openfire Fastpath plugin.
* *
...@@ -45,6 +46,8 @@ import java.io.FileFilter; ...@@ -45,6 +46,8 @@ import java.io.FileFilter;
*/ */
public class FastpathPlugin implements Plugin, ClusterEventListener { public class FastpathPlugin implements Plugin, ClusterEventListener {
private static final Logger Log = LoggerFactory.getLogger(FastpathPlugin.class);
/** /**
* Keep a reference to Fastpath only when the service is up and running in this JVM. * Keep a reference to Fastpath only when the service is up and running in this JVM.
*/ */
...@@ -98,7 +101,7 @@ public class FastpathPlugin implements Plugin, ClusterEventListener { ...@@ -98,7 +101,7 @@ public class FastpathPlugin implements Plugin, ClusterEventListener {
} }
catch (ComponentException e) { catch (ComponentException e) {
// Do nothing. Should never happen. // Do nothing. Should never happen.
Log.error(e); Log.error(e.getMessage(), e);
} }
// Register the provider of workgroup names // Register the provider of workgroup names
UserNameManager.addUserNameProvider(workgroupManager.getAddress().toString(), UserNameManager.addUserNameProvider(workgroupManager.getAddress().toString(),
......
...@@ -13,10 +13,11 @@ import org.jivesoftware.openfire.fastpath.settings.chat.ChatSetting; ...@@ -13,10 +13,11 @@ import org.jivesoftware.openfire.fastpath.settings.chat.ChatSetting;
import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettings; import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettings;
import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettingsManager; import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettingsManager;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
/** /**
...@@ -24,6 +25,8 @@ import org.xmpp.packet.JID; ...@@ -24,6 +25,8 @@ import org.xmpp.packet.JID;
*/ */
public class ImageServlet extends HttpServlet { public class ImageServlet extends HttpServlet {
private static final Logger Log = LoggerFactory.getLogger(ImageServlet.class);
/** /**
* The content-type of the images to return. * The content-type of the images to return.
*/ */
...@@ -103,7 +106,7 @@ public class ImageServlet extends HttpServlet { ...@@ -103,7 +106,7 @@ public class ImageServlet extends HttpServlet {
workgroup = workgroupManager.getWorkgroup(workgroupJID); workgroup = workgroupManager.getWorkgroup(workgroupJID);
} }
catch (UserNotFoundException e) { catch (UserNotFoundException e) {
Log.error(e); Log.error(e.getMessage(), e);
return null; return null;
} }
......
...@@ -29,10 +29,11 @@ import javax.servlet.http.HttpServletRequest; ...@@ -29,10 +29,11 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
/** /**
...@@ -40,6 +41,8 @@ import org.xmpp.packet.JID; ...@@ -40,6 +41,8 @@ import org.xmpp.packet.JID;
*/ */
public class SoundServlet extends HttpServlet { public class SoundServlet extends HttpServlet {
private static final Logger Log = LoggerFactory.getLogger(SoundServlet.class);
public void init(ServletConfig servletConfig) throws ServletException { public void init(ServletConfig servletConfig) throws ServletException {
super.init(servletConfig); super.init(servletConfig);
} }
...@@ -61,7 +64,7 @@ public class SoundServlet extends HttpServlet { ...@@ -61,7 +64,7 @@ public class SoundServlet extends HttpServlet {
workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName)); workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName));
} }
catch (UserNotFoundException e) { catch (UserNotFoundException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
try { try {
...@@ -80,7 +83,7 @@ public class SoundServlet extends HttpServlet { ...@@ -80,7 +83,7 @@ public class SoundServlet extends HttpServlet {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
\ No newline at end of file
...@@ -26,6 +26,8 @@ import org.dom4j.Element; ...@@ -26,6 +26,8 @@ import org.dom4j.Element;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.LocaleUtils; import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.util.Log; import org.jivesoftware.util.Log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.StringWriter; import java.io.StringWriter;
import java.sql.Connection; import java.sql.Connection;
...@@ -39,6 +41,8 @@ import java.sql.ResultSet; ...@@ -39,6 +41,8 @@ import java.sql.ResultSet;
*/ */
public class WorkgroupSettings { public class WorkgroupSettings {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupSettings.class);
private static final String LOAD_SETTINGS = private static final String LOAD_SETTINGS =
"SELECT value FROM fpSetting WHERE workgroupName=? AND namespace=?"; "SELECT value FROM fpSetting WHERE workgroupName=? AND namespace=?";
private static final String INSERT_SETTINGS = private static final String INSERT_SETTINGS =
......
...@@ -68,7 +68,7 @@ public class CreateWorkgroup extends AdHocCommand { ...@@ -68,7 +68,7 @@ public class CreateWorkgroup extends AdHocCommand {
return; return;
} }
Map errors = WorkgroupUtils.createWorkgroup(wgName, description, agents); Map<String, String> errors = WorkgroupUtils.createWorkgroup(wgName, description, agents);
if (!errors.isEmpty()) { if (!errors.isEmpty()) {
note.addAttribute("type", "error"); note.addAttribute("type", "error");
......
...@@ -21,16 +21,16 @@ ...@@ -21,16 +21,16 @@
package org.jivesoftware.openfire.fastpath.dataforms; package org.jivesoftware.openfire.fastpath.dataforms;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.DbProperties; import org.jivesoftware.xmpp.workgroup.DbProperties;
import org.jivesoftware.xmpp.workgroup.UnauthorizedException; import org.jivesoftware.xmpp.workgroup.UnauthorizedException;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.forms.DataForm; import org.xmpp.forms.DataForm;
import org.xmpp.forms.FormField; import org.xmpp.forms.FormField;
...@@ -38,6 +38,9 @@ import com.thoughtworks.xstream.XStream; ...@@ -38,6 +38,9 @@ import com.thoughtworks.xstream.XStream;
public class FormManager { public class FormManager {
private static final Logger Log = LoggerFactory.getLogger(FormManager.class);
private static FormManager singleton = new FormManager(); private static FormManager singleton = new FormManager();
private Map<Workgroup, WorkgroupForm> forms = new ConcurrentHashMap<Workgroup, WorkgroupForm>(); private Map<Workgroup, WorkgroupForm> forms = new ConcurrentHashMap<Workgroup, WorkgroupForm>();
...@@ -85,7 +88,7 @@ public class FormManager { ...@@ -85,7 +88,7 @@ public class FormManager {
props.setProperty(context, xmlToSave); props.setProperty(context, xmlToSave);
} }
catch (UnauthorizedException e) { catch (UnauthorizedException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -153,17 +156,13 @@ public class FormManager { ...@@ -153,17 +156,13 @@ public class FormManager {
} }
if (elem.getAnswers().size() > 0 && elem.getAnswerType() != WorkgroupForm.FormEnum.hidden) { if (elem.getAnswers().size() > 0 && elem.getAnswerType() != WorkgroupForm.FormEnum.hidden) {
Iterator iter = elem.getAnswers().iterator(); for(String item : elem.getAnswers()) {
while (iter.hasNext()) {
String item = (String)iter.next();
field.addOption(item, item); field.addOption(item, item);
} }
} }
else if (elem.getAnswers().size() > 0) { else if (elem.getAnswers().size() > 0) {
// Add hidden element values. // Add hidden element values.
Iterator iter = elem.getAnswers().iterator(); for(String item : elem.getAnswers()) {
while (iter.hasNext()) {
String item = (String)iter.next();
field.addValue(item); field.addValue(item);
} }
} }
...@@ -180,7 +179,7 @@ public class FormManager { ...@@ -180,7 +179,7 @@ public class FormManager {
props.setProperty(context, xmlToSave); props.setProperty(context, xmlToSave);
} }
catch (UnauthorizedException e) { catch (UnauthorizedException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -198,7 +197,7 @@ public class FormManager { ...@@ -198,7 +197,7 @@ public class FormManager {
return (DataForm) xstream.fromXML(form); return (DataForm) xstream.fromXML(form);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
return null; return null;
...@@ -223,7 +222,7 @@ public class FormManager { ...@@ -223,7 +222,7 @@ public class FormManager {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
else { else {
......
...@@ -20,7 +20,6 @@ ...@@ -20,7 +20,6 @@
package org.jivesoftware.openfire.fastpath.dataforms; package org.jivesoftware.openfire.fastpath.dataforms;
import java.util.Iterator;
import java.util.List; import java.util.List;
public class FormUtils { public class FormUtils {
...@@ -39,7 +38,7 @@ public class FormUtils { ...@@ -39,7 +38,7 @@ public class FormUtils {
} }
public static String createAnswers(String name, WorkgroupForm.FormEnum answerType, List items) { public static String createAnswers(String name, WorkgroupForm.FormEnum answerType, List<String> items) {
final StringBuilder builder = new StringBuilder(); final StringBuilder builder = new StringBuilder();
if (WorkgroupForm.FormEnum.textfield == answerType) { if (WorkgroupForm.FormEnum.textfield == answerType) {
builder.append("<input type=\"text\" size=\"30\" name=\"").append(name).append("\">"); builder.append("<input type=\"text\" size=\"30\" name=\"").append(name).append("\">");
...@@ -51,9 +50,7 @@ public class FormUtils { ...@@ -51,9 +50,7 @@ public class FormUtils {
else if (WorkgroupForm.FormEnum.dropdown_box == answerType) { else if (WorkgroupForm.FormEnum.dropdown_box == answerType) {
builder.append("<select name=\"").append(name).append("\">"); builder.append("<select name=\"").append(name).append("\">");
if (items != null) { if (items != null) {
Iterator iterator = items.iterator(); for(String item : items) {
while (iterator.hasNext()) {
String item = (String)iterator.next();
builder.append("<option value=\"").append(item).append("\">").append(item) builder.append("<option value=\"").append(item).append("\">").append(item)
.append("</option>"); .append("</option>");
} }
...@@ -65,10 +62,8 @@ public class FormUtils { ...@@ -65,10 +62,8 @@ public class FormUtils {
return null; return null;
} }
Iterator iter = items.iterator();
int counter = 0; int counter = 0;
while(iter.hasNext()){ for(String value : items) {
String value = (String)iter.next();
builder.append("<input type=\"checkbox\" value=\"").append(value) builder.append("<input type=\"checkbox\" value=\"").append(value)
.append("\" name=\"").append(name).append(counter).append("\">"); .append("\" name=\"").append(name).append(counter).append("\">");
builder.append("&nbsp;"); builder.append("&nbsp;");
...@@ -82,9 +77,7 @@ public class FormUtils { ...@@ -82,9 +77,7 @@ public class FormUtils {
return null; return null;
} }
Iterator iter = items.iterator(); for(String value : items) {
while(iter.hasNext()){
String value = (String)iter.next();
builder.append("<input type=\"radio\" value=\"").append(value).append("\" name=\"") builder.append("<input type=\"radio\" value=\"").append(value).append("\" name=\"")
.append(name).append("\">"); .append(name).append("\">");
builder.append("&nbsp;"); builder.append("&nbsp;");
......
...@@ -20,29 +20,30 @@ ...@@ -20,29 +20,30 @@
package org.jivesoftware.openfire.fastpath.events; package org.jivesoftware.openfire.fastpath.events;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import org.jivesoftware.openfire.fastpath.history.AgentChatSession; import org.jivesoftware.openfire.fastpath.history.AgentChatSession;
import org.jivesoftware.openfire.fastpath.history.ChatSession; import org.jivesoftware.openfire.fastpath.history.ChatSession;
import org.jivesoftware.openfire.fastpath.history.ChatTranscriptManager; import org.jivesoftware.openfire.fastpath.history.ChatTranscriptManager;
import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventDispatcher;
import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventListener;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.jivesoftware.openfire.user.User; import org.jivesoftware.openfire.user.User;
import org.jivesoftware.openfire.user.UserManager; import org.jivesoftware.openfire.user.UserManager;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.EmailService; import org.jivesoftware.util.EmailService;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log; import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventDispatcher;
import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventListener;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
/** /**
* EmailTranscriptEvent sends emails to specified users on end of chat events. * EmailTranscriptEvent sends emails to specified users on end of chat events.
* *
...@@ -50,6 +51,8 @@ import java.util.TreeMap; ...@@ -50,6 +51,8 @@ import java.util.TreeMap;
*/ */
public class EmailTranscriptEvent implements WorkgroupEventListener { public class EmailTranscriptEvent implements WorkgroupEventListener {
private static final Logger Log = LoggerFactory.getLogger(EmailTranscriptEvent.class);
public EmailTranscriptEvent() { public EmailTranscriptEvent() {
WorkgroupEventDispatcher.addListener(this); WorkgroupEventDispatcher.addListener(this);
Log.debug("EmailTranscriptEvent initialized."); Log.debug("EmailTranscriptEvent initialized.");
...@@ -156,8 +159,8 @@ public class EmailTranscriptEvent implements WorkgroupEventListener { ...@@ -156,8 +159,8 @@ public class EmailTranscriptEvent implements WorkgroupEventListener {
// Send to Agents // Send to Agents
UserManager um = UserManager.getInstance(); UserManager um = UserManager.getInstance();
for (Iterator iterator = chatSession.getAgents(); iterator.hasNext();) { for (Iterator<AgentChatSession> iterator = chatSession.getAgents(); iterator.hasNext();) {
AgentChatSession agentSession = (AgentChatSession)iterator.next(); AgentChatSession agentSession = iterator.next();
try { try {
User user = um.getUser(new JID(agentSession.getAgentJID()).getNode()); User user = um.getUser(new JID(agentSession.getAgentJID()).getNode());
emailService.sendMessage("Chat Transcript", user.getEmail(), "Chat Transcript", from, subject, builder.toString(), null); emailService.sendMessage("Chat Transcript", user.getEmail(), "Chat Transcript", from, subject, builder.toString(), null);
...@@ -200,9 +203,8 @@ public class EmailTranscriptEvent implements WorkgroupEventListener { ...@@ -200,9 +203,8 @@ public class EmailTranscriptEvent implements WorkgroupEventListener {
private int getChatDuration(Date start, ChatSession session) { private int getChatDuration(Date start, ChatSession session) {
long startTime = start.getTime(); long startTime = start.getTime();
long end = startTime; long end = startTime;
List agents = session.getAgentList(); List<AgentChatSession> agents = session.getAgentList();
for (Iterator iterator = agents.iterator(); iterator.hasNext();) { for (AgentChatSession chatSession : agents) {
AgentChatSession chatSession = (AgentChatSession)iterator.next();
if (end < chatSession.getEndTime()) { if (end < chatSession.getEndTime()) {
end = chatSession.getEndTime(); end = chatSession.getEndTime();
} }
......
...@@ -53,11 +53,11 @@ public class ChatSession { ...@@ -53,11 +53,11 @@ public class ChatSession {
agentList.add(chatSession); agentList.add(chatSession);
} }
public Iterator getAgents() { public Iterator<AgentChatSession> getAgents() {
return agentList.iterator(); return agentList.iterator();
} }
public List getAgentList() { public List<AgentChatSession> getAgentList() {
return agentList; return agentList;
} }
...@@ -157,9 +157,9 @@ public class ChatSession { ...@@ -157,9 +157,9 @@ public class ChatSession {
long startTime = -1; long startTime = -1;
AgentChatSession returnSession = null; AgentChatSession returnSession = null;
Iterator iter = getAgents(); Iterator<AgentChatSession> iter = getAgents();
while (iter.hasNext()) { while (iter.hasNext()) {
AgentChatSession agent = (AgentChatSession)iter.next(); AgentChatSession agent = iter.next();
if (agent.getStartTime() <= startTime || startTime == -1) { if (agent.getStartTime() <= startTime || startTime == -1) {
startTime = agent.getStartTime(); startTime = agent.getStartTime();
returnSession = agent; returnSession = agent;
......
...@@ -43,13 +43,14 @@ import org.dom4j.Element; ...@@ -43,13 +43,14 @@ import org.dom4j.Element;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.EmailService; import org.jivesoftware.util.EmailService;
import org.jivesoftware.util.JiveConstants; import org.jivesoftware.util.JiveConstants;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.DbProperties; import org.jivesoftware.xmpp.workgroup.DbProperties;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.jivesoftware.xmpp.workgroup.request.Request; import org.jivesoftware.xmpp.workgroup.request.Request;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
/** /**
...@@ -60,6 +61,8 @@ import org.xmpp.packet.JID; ...@@ -60,6 +61,8 @@ import org.xmpp.packet.JID;
*/ */
public class ChatTranscriptManager { public class ChatTranscriptManager {
private static final Logger Log = LoggerFactory.getLogger(ChatTranscriptManager.class);
private static final String GET_WORKGROUP_SESSIONS = private static final String GET_WORKGROUP_SESSIONS =
"SELECT sessionID, userID, startTime, endTime, queueWaitTime, state " + "SELECT sessionID, userID, startTime, endTime, queueWaitTime, state " +
"FROM fpSession WHERE workgroupID=? AND startTime>=? AND endTime<=?"; "FROM fpSession WHERE workgroupID=? AND startTime>=? AND endTime<=?";
...@@ -128,7 +131,7 @@ public class ChatTranscriptManager { ...@@ -128,7 +131,7 @@ public class ChatTranscriptManager {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -161,7 +164,7 @@ public class ChatTranscriptManager { ...@@ -161,7 +164,7 @@ public class ChatTranscriptManager {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -182,14 +185,14 @@ public class ChatTranscriptManager { ...@@ -182,14 +185,14 @@ public class ChatTranscriptManager {
element = DocumentHelper.parseText(transcript); element = DocumentHelper.parseText(transcript);
} }
catch (DocumentException e) { catch (DocumentException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
StringBuilder buf = new StringBuilder(); StringBuilder buf = new StringBuilder();
// Add the Messages and Presences contained in the retrieved transcript element // Add the Messages and Presences contained in the retrieved transcript element
for (Iterator it = element.getRootElement().elementIterator(); it.hasNext();) { for (Iterator<Element> it = element.getRootElement().elementIterator(); it.hasNext();) {
Element packet = (Element)it.next(); Element packet = it.next();
String name = packet.getName(); String name = packet.getName();
String message = ""; String message = "";
...@@ -210,10 +213,8 @@ public class ChatTranscriptManager { ...@@ -210,10 +213,8 @@ public class ChatTranscriptManager {
message = StringUtils.escapeHTMLTags(message); message = StringUtils.escapeHTMLTags(message);
} }
List el = packet.elements("x"); List<Element> el = packet.elements("x");
Iterator iter = el.iterator(); for (Element ele : el) {
while (iter.hasNext()) {
Element ele = (Element)iter.next();
if ("jabber:x:delay".equals(ele.getNamespaceURI())) { if ("jabber:x:delay".equals(ele.getNamespaceURI())) {
String stamp = ele.attributeValue("stamp"); String stamp = ele.attributeValue("stamp");
try { try {
...@@ -233,7 +234,7 @@ public class ChatTranscriptManager { ...@@ -233,7 +234,7 @@ public class ChatTranscriptManager {
} }
} }
catch (ParseException e) { catch (ParseException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -289,7 +290,7 @@ public class ChatTranscriptManager { ...@@ -289,7 +290,7 @@ public class ChatTranscriptManager {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -321,7 +322,7 @@ public class ChatTranscriptManager { ...@@ -321,7 +322,7 @@ public class ChatTranscriptManager {
session.setMetadata(metadata); session.setMetadata(metadata);
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -360,7 +361,7 @@ public class ChatTranscriptManager { ...@@ -360,7 +361,7 @@ public class ChatTranscriptManager {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -388,15 +389,15 @@ public class ChatTranscriptManager { ...@@ -388,15 +389,15 @@ public class ChatTranscriptManager {
element = DocumentHelper.parseText(transcript); element = DocumentHelper.parseText(transcript);
} }
catch (DocumentException e) { catch (DocumentException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
StringBuilder buf = new StringBuilder(); StringBuilder buf = new StringBuilder();
String conv1 = null; String conv1 = null;
// Add the Messages and Presences contained in the retrieved transcript element // Add the Messages and Presences contained in the retrieved transcript element
for (Iterator it = element.getRootElement().elementIterator(); it.hasNext();) { for (Iterator<Element> it = element.getRootElement().elementIterator(); it.hasNext();) {
Element packet = (Element)it.next(); Element packet = it.next();
String name = packet.getName(); String name = packet.getName();
String message = ""; String message = "";
...@@ -420,10 +421,8 @@ public class ChatTranscriptManager { ...@@ -420,10 +421,8 @@ public class ChatTranscriptManager {
} }
} }
List el = packet.elements("x"); List<Element> el = packet.elements("x");
Iterator iter = el.iterator(); for (Element ele : el) {
while (iter.hasNext()) {
Element ele = (Element)iter.next();
if ("jabber:x:delay".equals(ele.getNamespaceURI())) { if ("jabber:x:delay".equals(ele.getNamespaceURI())) {
String stamp = ele.attributeValue("stamp"); String stamp = ele.attributeValue("stamp");
try { try {
...@@ -448,7 +447,7 @@ public class ChatTranscriptManager { ...@@ -448,7 +447,7 @@ public class ChatTranscriptManager {
} }
} }
catch (ParseException e) { catch (ParseException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
package org.jivesoftware.openfire.fastpath.macros; package org.jivesoftware.openfire.fastpath.macros;
import org.dom4j.Element; import org.dom4j.Element;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.Agent; import org.jivesoftware.xmpp.workgroup.Agent;
import org.jivesoftware.xmpp.workgroup.AgentNotFoundException; import org.jivesoftware.xmpp.workgroup.AgentNotFoundException;
import org.jivesoftware.xmpp.workgroup.DbProperties; import org.jivesoftware.xmpp.workgroup.DbProperties;
...@@ -29,6 +28,8 @@ import org.jivesoftware.xmpp.workgroup.UnauthorizedException; ...@@ -29,6 +28,8 @@ import org.jivesoftware.xmpp.workgroup.UnauthorizedException;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupProvider; import org.jivesoftware.xmpp.workgroup.WorkgroupProvider;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
...@@ -36,6 +37,8 @@ import com.thoughtworks.xstream.XStream; ...@@ -36,6 +37,8 @@ import com.thoughtworks.xstream.XStream;
public class MacroProvider implements WorkgroupProvider { public class MacroProvider implements WorkgroupProvider {
private static final Logger Log = LoggerFactory.getLogger(MacroProvider.class);
public boolean handleGet(IQ packet) { public boolean handleGet(IQ packet) {
Element iq = packet.getChildElement(); Element iq = packet.getChildElement();
String name = iq.getName(); String name = iq.getName();
...@@ -130,7 +133,7 @@ public class MacroProvider implements WorkgroupProvider { ...@@ -130,7 +133,7 @@ public class MacroProvider implements WorkgroupProvider {
props.setProperty("personal.macro", saveString); props.setProperty("personal.macro", saveString);
} }
catch (UnauthorizedException e) { catch (UnauthorizedException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
reply = IQ.createResultIQ(packet); reply = IQ.createResultIQ(packet);
......
...@@ -23,17 +23,20 @@ package org.jivesoftware.openfire.fastpath.macros; ...@@ -23,17 +23,20 @@ package org.jivesoftware.openfire.fastpath.macros;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.DbProperties; import org.jivesoftware.xmpp.workgroup.DbProperties;
import org.jivesoftware.xmpp.workgroup.UnauthorizedException; import org.jivesoftware.xmpp.workgroup.UnauthorizedException;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
public class WorkgroupMacros { public class WorkgroupMacros {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupMacros.class);
private Map<Workgroup, MacroGroup> rootGroups = new HashMap<Workgroup, MacroGroup>(); private Map<Workgroup, MacroGroup> rootGroups = new HashMap<Workgroup, MacroGroup>();
private static WorkgroupMacros singleton; private static WorkgroupMacros singleton;
...@@ -145,7 +148,7 @@ public class WorkgroupMacros { ...@@ -145,7 +148,7 @@ public class WorkgroupMacros {
props.setProperty("jive.macro" + id, saveString); props.setProperty("jive.macro" + id, saveString);
} }
catch (UnauthorizedException e) { catch (UnauthorizedException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
......
...@@ -29,11 +29,12 @@ import java.util.List; ...@@ -29,11 +29,12 @@ import java.util.List;
import org.dom4j.Element; import org.dom4j.Element;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.AgentNotFoundException; import org.jivesoftware.xmpp.workgroup.AgentNotFoundException;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupProvider; import org.jivesoftware.xmpp.workgroup.WorkgroupProvider;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
...@@ -42,6 +43,8 @@ import org.xmpp.packet.PacketError; ...@@ -42,6 +43,8 @@ import org.xmpp.packet.PacketError;
*/ */
public class AgentHistory implements WorkgroupProvider { public class AgentHistory implements WorkgroupProvider {
private static final Logger Log = LoggerFactory.getLogger(AgentHistory.class);
private static final String GET_AGENT_SESSIONS = private static final String GET_AGENT_SESSIONS =
"SELECT sessionID, joinTime, leftTime FROM fpAgentSession WHERE agentJID=?"; "SELECT sessionID, joinTime, leftTime FROM fpAgentSession WHERE agentJID=?";
private static final String GET_SESSION_METADATA = private static final String GET_SESSION_METADATA =
...@@ -121,14 +124,14 @@ public class AgentHistory implements WorkgroupProvider { ...@@ -121,14 +124,14 @@ public class AgentHistory implements WorkgroupProvider {
} }
} }
catch (NumberFormatException e) { catch (NumberFormatException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
result.close(); result.close();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -218,7 +221,7 @@ public class AgentHistory implements WorkgroupProvider { ...@@ -218,7 +221,7 @@ public class AgentHistory implements WorkgroupProvider {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -30,16 +30,19 @@ import org.dom4j.DocumentHelper; ...@@ -30,16 +30,19 @@ import org.dom4j.DocumentHelper;
import org.dom4j.Element; import org.dom4j.Element;
import org.dom4j.QName; import org.dom4j.QName;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.AgentNotFoundException; import org.jivesoftware.xmpp.workgroup.AgentNotFoundException;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupProvider; import org.jivesoftware.xmpp.workgroup.WorkgroupProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
public class ChatMetadataProvider implements WorkgroupProvider { public class ChatMetadataProvider implements WorkgroupProvider {
private static final Logger Log = LoggerFactory.getLogger(ChatMetadataProvider.class);
private static final String GET_SESSION_METADATA = private static final String GET_SESSION_METADATA =
"SELECT metadataName, metadataValue FROM fpSessionMetadata WHERE sessionID=?"; "SELECT metadataName, metadataValue FROM fpSessionMetadata WHERE sessionID=?";
...@@ -96,7 +99,7 @@ public class ChatMetadataProvider implements WorkgroupProvider { ...@@ -96,7 +99,7 @@ public class ChatMetadataProvider implements WorkgroupProvider {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -26,11 +26,12 @@ import java.sql.ResultSet; ...@@ -26,11 +26,12 @@ import java.sql.ResultSet;
import org.dom4j.Element; import org.dom4j.Element;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.AgentNotFoundException; import org.jivesoftware.xmpp.workgroup.AgentNotFoundException;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupProvider; import org.jivesoftware.xmpp.workgroup.WorkgroupProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
...@@ -40,6 +41,8 @@ import org.xmpp.packet.PacketError; ...@@ -40,6 +41,8 @@ import org.xmpp.packet.PacketError;
*/ */
public class ChatNotes implements WorkgroupProvider { public class ChatNotes implements WorkgroupProvider {
private static final Logger Log = LoggerFactory.getLogger(ChatNotes.class);
private static final String GET_NOTES = "SELECT notes FROM fpSession WHERE sessionID=?"; private static final String GET_NOTES = "SELECT notes FROM fpSession WHERE sessionID=?";
private static final String SET_NOTES = "UPDATE fpSession SET notes=? WHERE sessionID=?"; private static final String SET_NOTES = "UPDATE fpSession SET notes=? WHERE sessionID=?";
...@@ -61,14 +64,14 @@ public class ChatNotes implements WorkgroupProvider { ...@@ -61,14 +64,14 @@ public class ChatNotes implements WorkgroupProvider {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
} }
...@@ -94,7 +97,7 @@ public class ChatNotes implements WorkgroupProvider { ...@@ -94,7 +97,7 @@ public class ChatNotes implements WorkgroupProvider {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -25,18 +25,18 @@ import java.io.FileInputStream; ...@@ -25,18 +25,18 @@ import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
import org.dom4j.Element; import org.dom4j.Element;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.AgentNotFoundException; import org.jivesoftware.xmpp.workgroup.AgentNotFoundException;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.jivesoftware.xmpp.workgroup.WorkgroupProvider; import org.jivesoftware.xmpp.workgroup.WorkgroupProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
...@@ -48,6 +48,8 @@ import org.xmpp.packet.PacketError; ...@@ -48,6 +48,8 @@ import org.xmpp.packet.PacketError;
*/ */
public class MetadataProvider implements WorkgroupProvider { public class MetadataProvider implements WorkgroupProvider {
private static final Logger Log = LoggerFactory.getLogger(MetadataProvider.class);
/** /**
* Returns true if the IQ packet name equals "generic-metadata". * Returns true if the IQ packet name equals "generic-metadata".
* *
...@@ -98,7 +100,7 @@ public class MetadataProvider implements WorkgroupProvider { ...@@ -98,7 +100,7 @@ public class MetadataProvider implements WorkgroupProvider {
Properties props = new Properties(); Properties props = new Properties();
try { try {
props.load(new FileInputStream(file)); props.load(new FileInputStream(file));
Enumeration properties = props.propertyNames(); Enumeration<?> properties = props.propertyNames();
while (properties.hasMoreElements()) { while (properties.hasMoreElements()) {
String key = (String)properties.nextElement(); String key = (String)properties.nextElement();
String value = props.getProperty(key); String value = props.getProperty(key);
...@@ -106,7 +108,7 @@ public class MetadataProvider implements WorkgroupProvider { ...@@ -106,7 +108,7 @@ public class MetadataProvider implements WorkgroupProvider {
} }
} }
catch (IOException e) { catch (IOException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -115,10 +117,10 @@ public class MetadataProvider implements WorkgroupProvider { ...@@ -115,10 +117,10 @@ public class MetadataProvider implements WorkgroupProvider {
// it would never be mapped correctly. // it would never be mapped correctly.
final Element genericSetting = reply.setChildElement("generic-metadata", final Element genericSetting = reply.setChildElement("generic-metadata",
"http://jivesoftware.com/protocol/workgroup"); "http://jivesoftware.com/protocol/workgroup");
final Iterator mappings = map.keySet().iterator();
while (mappings.hasNext()) { for (Map.Entry<String, String> entry : map.entrySet()) {
String key = (String)mappings.next(); String key = entry.getKey();
String value = map.get(key); String value = entry.getValue();
// Create a name-value element // Create a name-value element
Element element = genericSetting.addElement("entry"); Element element = genericSetting.addElement("entry");
......
...@@ -101,7 +101,7 @@ public class MonitorProvider implements WorkgroupProvider { ...@@ -101,7 +101,7 @@ public class MonitorProvider implements WorkgroupProvider {
String sessionID = iq.element("makeOwner").attributeValue("sessionID"); String sessionID = iq.element("makeOwner").attributeValue("sessionID");
final String serviceName = workgroupManager.getMUCServiceName(); final String serviceName = workgroupManager.getMUCServiceName();
final String roomName = sessionID + "@" + serviceName; final String roomName = sessionID + "@" + serviceName;
final String roomJID = roomName + "/" + workgroup.getJID().getNode(); // final String roomJID = roomName + "/" + workgroup.getJID().getNode();
IQ iqPacket = new IQ(IQ.Type.set); IQ iqPacket = new IQ(IQ.Type.set);
iqPacket.setTo(roomName); iqPacket.setTo(roomName);
......
...@@ -232,7 +232,6 @@ public class SiteTracker implements WorkgroupProvider { ...@@ -232,7 +232,6 @@ public class SiteTracker implements WorkgroupProvider {
} }
private void handleInvitation(IQ packet, Workgroup workgroup) { private void handleInvitation(IQ packet, Workgroup workgroup) {
IQ reply = null;
Element iq = packet.getChildElement(); Element iq = packet.getChildElement();
// Define default values // Define default values
...@@ -242,6 +241,8 @@ public class SiteTracker implements WorkgroupProvider { ...@@ -242,6 +241,8 @@ public class SiteTracker implements WorkgroupProvider {
elem.addAttribute("sessionID", sessionID); elem.addAttribute("sessionID", sessionID);
SiteUser siteUser = siteUsers.get(sessionID); SiteUser siteUser = siteUsers.get(sessionID);
IQ reply = IQ.createResultIQ(packet);
if (siteUser == null) { if (siteUser == null) {
reply.setChildElement(packet.getChildElement().createCopy()); reply.setChildElement(packet.getChildElement().createCopy());
reply.setError(new PacketError(PacketError.Condition.item_not_found)); reply.setError(new PacketError(PacketError.Condition.item_not_found));
...@@ -250,7 +251,6 @@ public class SiteTracker implements WorkgroupProvider { ...@@ -250,7 +251,6 @@ public class SiteTracker implements WorkgroupProvider {
} }
else { else {
// Send back reply // Send back reply
reply = IQ.createResultIQ(packet);
workgroup.send(reply); workgroup.send(reply);
} }
......
...@@ -25,15 +25,18 @@ import org.dom4j.Element; ...@@ -25,15 +25,18 @@ import org.dom4j.Element;
import org.jivesoftware.openfire.user.User; import org.jivesoftware.openfire.user.User;
import org.jivesoftware.openfire.user.UserManager; import org.jivesoftware.openfire.user.UserManager;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupProvider; import org.jivesoftware.xmpp.workgroup.WorkgroupProvider;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
public class WorkgroupPropertiesProvider implements WorkgroupProvider { public class WorkgroupPropertiesProvider implements WorkgroupProvider {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupPropertiesProvider.class);
public boolean handleGet(IQ packet) { public boolean handleGet(IQ packet) {
Element iq = packet.getChildElement(); Element iq = packet.getChildElement();
String name = iq.getName(); String name = iq.getName();
...@@ -73,7 +76,7 @@ public class WorkgroupPropertiesProvider implements WorkgroupProvider { ...@@ -73,7 +76,7 @@ public class WorkgroupPropertiesProvider implements WorkgroupProvider {
returnPacket.addElement("name").setText(fullName); returnPacket.addElement("name").setText(fullName);
} }
catch (UserNotFoundException e) { catch (UserNotFoundException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
......
...@@ -59,7 +59,7 @@ public class SettingsManager { ...@@ -59,7 +59,7 @@ public class SettingsManager {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
} }
...@@ -100,7 +100,7 @@ public class SettingsManager { ...@@ -100,7 +100,7 @@ public class SettingsManager {
workgroupSettings.add(workgroup.getJID().toBareJID(), element); workgroupSettings.add(workgroup.getJID().toBareJID(), element);
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
} }
} }
\ No newline at end of file
...@@ -32,12 +32,13 @@ import org.jivesoftware.openfire.XMPPServer; ...@@ -32,12 +32,13 @@ import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.container.Plugin; import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager; import org.jivesoftware.openfire.container.PluginManager;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.UnauthorizedException; import org.jivesoftware.xmpp.workgroup.UnauthorizedException;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
...@@ -48,6 +49,8 @@ import com.thoughtworks.xstream.XStream; ...@@ -48,6 +49,8 @@ import com.thoughtworks.xstream.XStream;
*/ */
public class ChatSettingsCreator { public class ChatSettingsCreator {
private static final Logger Log = LoggerFactory.getLogger(ChatSettingsCreator.class);
private static final ChatSettingsCreator instance = new ChatSettingsCreator(); private static final ChatSettingsCreator instance = new ChatSettingsCreator();
/** /**
...@@ -241,7 +244,7 @@ public class ChatSettingsCreator { ...@@ -241,7 +244,7 @@ public class ChatSettingsCreator {
stream = new FileInputStream(image); stream = new FileInputStream(image);
} }
catch (FileNotFoundException e) { catch (FileNotFoundException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
if (stream != null) { if (stream != null) {
...@@ -259,7 +262,7 @@ public class ChatSettingsCreator { ...@@ -259,7 +262,7 @@ public class ChatSettingsCreator {
ChatSettings.SettingType.image_settings, encodedFile); ChatSettings.SettingType.image_settings, encodedFile);
} }
catch (IOException e) { catch (IOException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -293,10 +296,10 @@ public class ChatSettingsCreator { ...@@ -293,10 +296,10 @@ public class ChatSettingsCreator {
} }
} }
catch (UserNotFoundException e) { catch (UserNotFoundException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
catch (UnauthorizedException e) { catch (UnauthorizedException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -403,7 +406,7 @@ public class ChatSettingsCreator { ...@@ -403,7 +406,7 @@ public class ChatSettingsCreator {
encodedFile); encodedFile);
} }
catch (IOException e) { catch (IOException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
......
...@@ -28,11 +28,12 @@ import java.util.Map; ...@@ -28,11 +28,12 @@ import java.util.Map;
import org.dom4j.Element; import org.dom4j.Element;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventDispatcher; import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventDispatcher;
import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventListener; import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
...@@ -42,6 +43,8 @@ import org.xmpp.packet.PacketError; ...@@ -42,6 +43,8 @@ import org.xmpp.packet.PacketError;
*/ */
public class ChatSettingsManager implements WorkgroupEventListener { public class ChatSettingsManager implements WorkgroupEventListener {
private static final Logger Log = LoggerFactory.getLogger(ChatSettingsManager.class);
private static final String GET_SETTINGS = private static final String GET_SETTINGS =
"SELECT * FROM fpChatSetting WHERE workgroupNode=?"; "SELECT * FROM fpChatSetting WHERE workgroupNode=?";
private static final String INSERT_CHAT_SETTING = private static final String INSERT_CHAT_SETTING =
...@@ -103,7 +106,7 @@ public class ChatSettingsManager implements WorkgroupEventListener { ...@@ -103,7 +106,7 @@ public class ChatSettingsManager implements WorkgroupEventListener {
ResultSet result = pstmt.executeQuery(); ResultSet result = pstmt.executeQuery();
if (result.next()) { if (result.next()) {
do { do {
String wg = result.getString("workgroupNode"); //String wg = result.getString("workgroupNode");
int type = result.getInt("type"); int type = result.getInt("type");
String label = result.getString("label"); String label = result.getString("label");
String description = result.getString("description"); String description = result.getString("description");
...@@ -131,7 +134,7 @@ public class ChatSettingsManager implements WorkgroupEventListener { ...@@ -131,7 +134,7 @@ public class ChatSettingsManager implements WorkgroupEventListener {
} }
catch (Exception ex) { catch (Exception ex) {
cachedSettings.remove(workgroup.getJID().getNode()); cachedSettings.remove(workgroup.getJID().getNode());
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -182,14 +185,14 @@ public class ChatSettingsManager implements WorkgroupEventListener { ...@@ -182,14 +185,14 @@ public class ChatSettingsManager implements WorkgroupEventListener {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
// Add to cache // Add to cache
...@@ -217,14 +220,14 @@ public class ChatSettingsManager implements WorkgroupEventListener { ...@@ -217,14 +220,14 @@ public class ChatSettingsManager implements WorkgroupEventListener {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
// Add to cache // Add to cache
...@@ -251,14 +254,14 @@ public class ChatSettingsManager implements WorkgroupEventListener { ...@@ -251,14 +254,14 @@ public class ChatSettingsManager implements WorkgroupEventListener {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
// Add to cache // Add to cache
...@@ -287,14 +290,14 @@ public class ChatSettingsManager implements WorkgroupEventListener { ...@@ -287,14 +290,14 @@ public class ChatSettingsManager implements WorkgroupEventListener {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
// Add to cache // Add to cache
...@@ -352,7 +355,7 @@ public class ChatSettingsManager implements WorkgroupEventListener { ...@@ -352,7 +355,7 @@ public class ChatSettingsManager implements WorkgroupEventListener {
root.addElement("type").setText(Integer.toString(setting.getType().getType())); root.addElement("type").setText(Integer.toString(setting.getType().getType()));
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -447,14 +450,14 @@ public class ChatSettingsManager implements WorkgroupEventListener { ...@@ -447,14 +450,14 @@ public class ChatSettingsManager implements WorkgroupEventListener {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
} }
......
...@@ -25,8 +25,9 @@ import java.sql.PreparedStatement; ...@@ -25,8 +25,9 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* Retrieves and persists offline settings for a workgroup. * Retrieves and persists offline settings for a workgroup.
...@@ -35,6 +36,8 @@ import org.jivesoftware.xmpp.workgroup.Workgroup; ...@@ -35,6 +36,8 @@ import org.jivesoftware.xmpp.workgroup.Workgroup;
*/ */
public class OfflineSettingsManager { public class OfflineSettingsManager {
private static final Logger Log = LoggerFactory.getLogger(OfflineSettingsManager.class);
private static final String GET_OFFLINE_SETTTINGS = private static final String GET_OFFLINE_SETTTINGS =
"SELECT redirectPage, emailAddress, subject, offlineText FROM " + "SELECT redirectPage, emailAddress, subject, offlineText FROM " +
"fpOfflineSetting WHERE workgroupID=?"; "fpOfflineSetting WHERE workgroupID=?";
...@@ -82,7 +85,7 @@ public class OfflineSettingsManager { ...@@ -82,7 +85,7 @@ public class OfflineSettingsManager {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
return null; return null;
} }
finally { finally {
...@@ -120,7 +123,7 @@ public class OfflineSettingsManager { ...@@ -120,7 +123,7 @@ public class OfflineSettingsManager {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
return null; return null;
} }
finally { finally {
...@@ -162,7 +165,7 @@ public class OfflineSettingsManager { ...@@ -162,7 +165,7 @@ public class OfflineSettingsManager {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -37,7 +37,6 @@ import org.jivesoftware.openfire.user.UserManager; ...@@ -37,7 +37,6 @@ import org.jivesoftware.openfire.user.UserManager;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.ClassUtils; import org.jivesoftware.util.ClassUtils;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.Agent; import org.jivesoftware.xmpp.workgroup.Agent;
import org.jivesoftware.xmpp.workgroup.AgentManager; import org.jivesoftware.xmpp.workgroup.AgentManager;
import org.jivesoftware.xmpp.workgroup.RequestQueue; import org.jivesoftware.xmpp.workgroup.RequestQueue;
...@@ -47,6 +46,8 @@ import org.jivesoftware.xmpp.workgroup.WorkgroupManager; ...@@ -47,6 +46,8 @@ import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.jivesoftware.xmpp.workgroup.dispatcher.AgentSelector; import org.jivesoftware.xmpp.workgroup.dispatcher.AgentSelector;
import org.jivesoftware.xmpp.workgroup.spi.dispatcher.BasicAgentSelector; import org.jivesoftware.xmpp.workgroup.spi.dispatcher.BasicAgentSelector;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.component.ComponentManagerFactory; import org.xmpp.component.ComponentManagerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
...@@ -57,6 +58,8 @@ import org.xmpp.packet.JID; ...@@ -57,6 +58,8 @@ import org.xmpp.packet.JID;
*/ */
public class WorkgroupUtils { public class WorkgroupUtils {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupUtils.class);
public static String updateWorkgroup(String workgroupName, String displayName, public static String updateWorkgroup(String workgroupName, String displayName,
String description, int maxSize, int minSize, long requestTimeout, long offerTimeout) String description, int maxSize, int minSize, long requestTimeout, long offerTimeout)
{ {
...@@ -135,7 +138,7 @@ public class WorkgroupUtils { ...@@ -135,7 +138,7 @@ public class WorkgroupUtils {
answer.add(algorithm); answer.add(algorithm);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -145,7 +148,7 @@ public class WorkgroupUtils { ...@@ -145,7 +148,7 @@ public class WorkgroupUtils {
install_algorithm: install_algorithm:
try { try {
Class algorithmClass = loadClass(className); Class algorithmClass = loadClass(className);
// Make sure that the interceptor isn't already installed. // Make sure that the intercepter isn't already installed.
for (AgentSelector agentSelector : answer) { for (AgentSelector agentSelector : answer) {
if (algorithmClass.equals(agentSelector.getClass())) { if (algorithmClass.equals(agentSelector.getClass())) {
break install_algorithm; break install_algorithm;
...@@ -155,7 +158,7 @@ public class WorkgroupUtils { ...@@ -155,7 +158,7 @@ public class WorkgroupUtils {
answer.add(algorithm); answer.add(algorithm);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
return answer; return answer;
...@@ -213,7 +216,7 @@ public class WorkgroupUtils { ...@@ -213,7 +216,7 @@ public class WorkgroupUtils {
* @param agents the agents, in a comma delimited string. * @param agents the agents, in a comma delimited string.
* @return a map of errors (if any) * @return a map of errors (if any)
*/ */
public static Map createWorkgroup(String workgroupName, String description, String agents) { public static Map<String, String> createWorkgroup(String workgroupName, String description, String agents) {
Map<String, String> errors = new HashMap<String, String>(); Map<String, String> errors = new HashMap<String, String>();
// Get a workgroup manager // Get a workgroup manager
...@@ -261,7 +264,7 @@ public class WorkgroupUtils { ...@@ -261,7 +264,7 @@ public class WorkgroupUtils {
errors.put("exists", ""); errors.put("exists", "");
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
errors.put("general", ""); errors.put("general", "");
} }
} }
...@@ -305,7 +308,7 @@ public class WorkgroupUtils { ...@@ -305,7 +308,7 @@ public class WorkgroupUtils {
queue.addMember(agent); queue.addMember(agent);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
......
...@@ -29,8 +29,9 @@ import org.dom4j.DocumentHelper; ...@@ -29,8 +29,9 @@ import org.dom4j.DocumentHelper;
import org.dom4j.Element; import org.dom4j.Element;
import org.dom4j.QName; import org.dom4j.QName;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.spi.JiveLiveProperties; import org.jivesoftware.xmpp.workgroup.spi.JiveLiveProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.component.ComponentManagerFactory; import org.xmpp.component.ComponentManagerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
...@@ -42,6 +43,8 @@ import org.xmpp.packet.JID; ...@@ -42,6 +43,8 @@ import org.xmpp.packet.JID;
*/ */
public class Agent { public class Agent {
private static final Logger Log = LoggerFactory.getLogger(Agent.class);
private static final String LOAD_AGENT = private static final String LOAD_AGENT =
"SELECT name, agentJID, maxchats FROM fpAgent WHERE agentID=?"; "SELECT name, agentJID, maxchats FROM fpAgent WHERE agentID=?";
private static final String SAVE_AGENT = private static final String SAVE_AGENT =
...@@ -201,7 +204,7 @@ public class Agent { ...@@ -201,7 +204,7 @@ public class Agent {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -227,7 +230,7 @@ public class Agent { ...@@ -227,7 +230,7 @@ public class Agent {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -318,9 +321,9 @@ public class Agent { ...@@ -318,9 +321,9 @@ public class Agent {
* <p>The comparator does not handle other objects, using Agents with any other * <p>The comparator does not handle other objects, using Agents with any other
* object type in the same sorted container will cause a ClassCastException to be thrown.</p> * object type in the same sorted container will cause a ClassCastException to be thrown.</p>
*/ */
class AgentAddressComparator implements Comparator { class AgentAddressComparator implements Comparator<Agent> {
public int compare(Object o1, Object o2) { public int compare(Agent o1, Agent o2) {
return ((Agent)o1).getAgentJID().toBareJID().compareTo( ((Agent)o2).getAgentJID().toBareJID()); return o1.getAgentJID().toBareJID().compareTo(o2.getAgentJID().toBareJID());
} }
} }
} }
\ No newline at end of file
...@@ -19,21 +19,29 @@ ...@@ -19,21 +19,29 @@
package org.jivesoftware.xmpp.workgroup; package org.jivesoftware.xmpp.workgroup;
import org.jivesoftware.xmpp.workgroup.utils.FastpathConstants; import java.sql.Connection;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.database.SequenceManager; import org.jivesoftware.database.SequenceManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.openfire.group.Group; import org.jivesoftware.openfire.group.Group;
import org.jivesoftware.xmpp.workgroup.utils.FastpathConstants;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.component.ComponentManagerFactory; import org.xmpp.component.ComponentManagerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
/** /**
* <p>Simple agent manager implementation without caching or intelligent/lazy loading of data.</p> * <p>Simple agent manager implementation without caching or intelligent/lazy loading of data.</p>
* <p>This implementation loads all agents into memory so the number of agents is limited by the amount of * <p>This implementation loads all agents into memory so the number of agents is limited by the amount of
...@@ -44,6 +52,8 @@ import java.util.*; ...@@ -44,6 +52,8 @@ import java.util.*;
*/ */
public class AgentManager { public class AgentManager {
private static final Logger Log = LoggerFactory.getLogger(AgentManager.class);
private static final String LOAD_AGENTS = private static final String LOAD_AGENTS =
"SELECT agentID FROM fpAgent"; "SELECT agentID FROM fpAgent";
private static final String INSERT_AGENT = private static final String INSERT_AGENT =
...@@ -121,7 +131,7 @@ public class AgentManager { ...@@ -121,7 +131,7 @@ public class AgentManager {
return Collections.unmodifiableList(new ArrayList<Agent>(agents.values())); return Collections.unmodifiableList(new ArrayList<Agent>(agents.values()));
} }
public Iterator getAgents(WorkgroupResultFilter filter) { public Iterator<Agent> getAgents(WorkgroupResultFilter filter) {
return filter.filter(agents.values().iterator()); return filter.filter(agents.values().iterator());
} }
...@@ -187,7 +197,7 @@ public class AgentManager { ...@@ -187,7 +197,7 @@ public class AgentManager {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (SQLException sqle) { catch (SQLException sqle) {
Log.error(sqle); Log.error(sqle.getMessage(), sqle);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -269,7 +279,7 @@ public class AgentManager { ...@@ -269,7 +279,7 @@ public class AgentManager {
deleteAgent(agent.getAgentJID()); deleteAgent(agent.getAgentJID());
} }
catch (IllegalArgumentException e) { catch (IllegalArgumentException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -301,7 +311,7 @@ public class AgentManager { ...@@ -301,7 +311,7 @@ public class AgentManager {
return true; return true;
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -323,7 +333,7 @@ public class AgentManager { ...@@ -323,7 +333,7 @@ public class AgentManager {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -36,11 +36,12 @@ import org.dom4j.Element; ...@@ -36,11 +36,12 @@ import org.dom4j.Element;
import org.jivesoftware.openfire.fastpath.util.TaskEngine; import org.jivesoftware.openfire.fastpath.util.TaskEngine;
import org.jivesoftware.util.FastDateFormat; import org.jivesoftware.util.FastDateFormat;
import org.jivesoftware.util.LocaleUtils; import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.interceptor.InterceptorManager; import org.jivesoftware.xmpp.workgroup.interceptor.InterceptorManager;
import org.jivesoftware.xmpp.workgroup.interceptor.OfferInterceptorManager; import org.jivesoftware.xmpp.workgroup.interceptor.OfferInterceptorManager;
import org.jivesoftware.xmpp.workgroup.interceptor.PacketRejectedException; import org.jivesoftware.xmpp.workgroup.interceptor.PacketRejectedException;
import org.jivesoftware.xmpp.workgroup.request.UserRequest; import org.jivesoftware.xmpp.workgroup.request.UserRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import org.xmpp.packet.Packet; import org.xmpp.packet.Packet;
...@@ -55,6 +56,8 @@ import org.xmpp.packet.Presence; ...@@ -55,6 +56,8 @@ import org.xmpp.packet.Presence;
*/ */
public class AgentSession { public class AgentSession {
private static final Logger Log = LoggerFactory.getLogger(AgentSession.class);
private static final FastDateFormat UTC_FORMAT = FastDateFormat.getInstance("yyyyMMdd'T'HH:mm:ss", TimeZone.getTimeZone("GMT+0")); private static final FastDateFormat UTC_FORMAT = FastDateFormat.getInstance("yyyyMMdd'T'HH:mm:ss", TimeZone.getTimeZone("GMT+0"));
private Presence presence; private Presence presence;
...@@ -116,9 +119,9 @@ public class AgentSession { ...@@ -116,9 +119,9 @@ public class AgentSession {
// AgentSession based on the values sent within the presence (if any) // AgentSession based on the values sent within the presence (if any)
Element elem = packet.getChildElement("agent-status", "http://jabber.org/protocol/workgroup"); Element elem = packet.getChildElement("agent-status", "http://jabber.org/protocol/workgroup");
if (elem != null) { if (elem != null) {
Iterator metaIter = elem.elementIterator(); Iterator<Element> metaIter = elem.elementIterator();
while (metaIter.hasNext()) { while (metaIter.hasNext()) {
Element agentStatusElement = (Element)metaIter.next(); Element agentStatusElement = metaIter.next();
if ("max-chats".equals(agentStatusElement.getName())) { if ("max-chats".equals(agentStatusElement.getName())) {
String maxChats = agentStatusElement.getText(); String maxChats = agentStatusElement.getText();
if (maxChats == null || maxChats.trim().length() == 0) { if (maxChats == null || maxChats.trim().length() == 0) {
...@@ -382,7 +385,7 @@ public class AgentSession { ...@@ -382,7 +385,7 @@ public class AgentSession {
removeOffer(offer); removeOffer(offer);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -594,7 +597,7 @@ public class AgentSession { ...@@ -594,7 +597,7 @@ public class AgentSession {
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
public static class ChatInfo implements Comparable { public static class ChatInfo implements Comparable<ChatInfo> {
private String sessionID; private String sessionID;
private String userID; private String userID;
...@@ -614,18 +617,18 @@ public class AgentSession { ...@@ -614,18 +617,18 @@ public class AgentSession {
this.workgroup = request.getWorkgroup(); this.workgroup = request.getWorkgroup();
this.date = date; this.date = date;
Map metadata = request.getMetaData(); Map<String, List<String>> metadata = request.getMetaData();
if (metadata.containsKey("email")) { if (metadata.containsKey("email")) {
email = listToString((List)metadata.get("email")); email = listToString(metadata.get("email"));
} }
if (metadata.containsKey("username")) { if (metadata.containsKey("username")) {
username = listToString((List)metadata.get("username")); username = listToString(metadata.get("username"));
} }
if (metadata.containsKey("question")) { if (metadata.containsKey("question")) {
question = listToString((List)metadata.get("question")); question = listToString(metadata.get("question"));
} }
} }
...@@ -708,8 +711,7 @@ public class AgentSession { ...@@ -708,8 +711,7 @@ public class AgentSession {
return workgroup.getTranscript(getSessionID()); return workgroup.getTranscript(getSessionID());
} }
public int compareTo(Object o) { public int compareTo(ChatInfo otherInfo) {
ChatInfo otherInfo = (ChatInfo)o;
return date.compareTo(otherInfo.getDate()); return date.compareTo(otherInfo.getDate());
} }
} }
...@@ -720,10 +722,10 @@ public class AgentSession { ...@@ -720,10 +722,10 @@ public class AgentSession {
* @param list the list of strings. * @param list the list of strings.
* @return a comma delimited list of strings. * @return a comma delimited list of strings.
*/ */
private static String listToString(List list) { private static String listToString(List<String> list) {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
String entry = (String)list.get(i); String entry = list.get(i);
builder.append(entry); builder.append(entry);
if (i != (list.size() - 1)) { if (i != (list.size() - 1)) {
builder.append(","); builder.append(",");
......
...@@ -22,7 +22,8 @@ package org.jivesoftware.xmpp.workgroup; ...@@ -22,7 +22,8 @@ package org.jivesoftware.xmpp.workgroup;
import org.jivesoftware.util.ClassUtils; import org.jivesoftware.util.ClassUtils;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* <p>Allows customers to customize the request filters being used by the workgroup.</p> * <p>Allows customers to customize the request filters being used by the workgroup.</p>
...@@ -39,6 +40,8 @@ import org.jivesoftware.util.Log; ...@@ -39,6 +40,8 @@ import org.jivesoftware.util.Log;
*/ */
abstract public class RequestFilterFactory { abstract public class RequestFilterFactory {
private static final Logger Log = LoggerFactory.getLogger(RequestFilterFactory.class);
/** <p>The factory to be used.</p> */ /** <p>The factory to be used.</p> */
private static RequestFilterFactory factory; private static RequestFilterFactory factory;
......
...@@ -39,7 +39,6 @@ import org.jivesoftware.openfire.group.Group; ...@@ -39,7 +39,6 @@ import org.jivesoftware.openfire.group.Group;
import org.jivesoftware.openfire.group.GroupManager; import org.jivesoftware.openfire.group.GroupManager;
import org.jivesoftware.openfire.group.GroupNotFoundException; import org.jivesoftware.openfire.group.GroupNotFoundException;
import org.jivesoftware.util.FastDateFormat; import org.jivesoftware.util.FastDateFormat;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException; import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.xmpp.workgroup.dispatcher.Dispatcher; import org.jivesoftware.xmpp.workgroup.dispatcher.Dispatcher;
import org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher; import org.jivesoftware.xmpp.workgroup.dispatcher.RoundRobinDispatcher;
...@@ -47,6 +46,8 @@ import org.jivesoftware.xmpp.workgroup.request.Request; ...@@ -47,6 +46,8 @@ import org.jivesoftware.xmpp.workgroup.request.Request;
import org.jivesoftware.xmpp.workgroup.request.UserRequest; import org.jivesoftware.xmpp.workgroup.request.UserRequest;
import org.jivesoftware.xmpp.workgroup.spi.JiveLiveProperties; import org.jivesoftware.xmpp.workgroup.spi.JiveLiveProperties;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import org.xmpp.packet.Presence; import org.xmpp.packet.Presence;
...@@ -59,6 +60,8 @@ import org.xmpp.packet.Presence; ...@@ -59,6 +60,8 @@ import org.xmpp.packet.Presence;
*/ */
public class RequestQueue { public class RequestQueue {
private static final Logger Log = LoggerFactory.getLogger(RequestQueue.class);
private static final String LOAD_QUEUE = private static final String LOAD_QUEUE =
"SELECT name, description, priority, maxchats, minchats, overflow, backupQueue FROM " + "SELECT name, description, priority, maxchats, minchats, overflow, backupQueue FROM " +
"fpQueue WHERE queueID=?"; "fpQueue WHERE queueID=?";
...@@ -317,7 +320,7 @@ public class RequestQueue { ...@@ -317,7 +320,7 @@ public class RequestQueue {
workgroup.send(queueStatus); workgroup.send(queueStatus);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -329,7 +332,7 @@ public class RequestQueue { ...@@ -329,7 +332,7 @@ public class RequestQueue {
workgroup.send(queueStatus); workgroup.send(queueStatus);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -410,7 +413,7 @@ public class RequestQueue { ...@@ -410,7 +413,7 @@ public class RequestQueue {
details.remove(user); details.remove(user);
// Log an error if the request still belongs to this queue // Log an error if the request still belongs to this queue
if (this.equals(request.getRequestQueue())) { if (this.equals(request.getRequestQueue())) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -705,7 +708,7 @@ public class RequestQueue { ...@@ -705,7 +708,7 @@ public class RequestQueue {
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -729,7 +732,7 @@ public class RequestQueue { ...@@ -729,7 +732,7 @@ public class RequestQueue {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -754,7 +757,7 @@ public class RequestQueue { ...@@ -754,7 +757,7 @@ public class RequestQueue {
return true; return true;
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -780,7 +783,7 @@ public class RequestQueue { ...@@ -780,7 +783,7 @@ public class RequestQueue {
return true; return true;
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -800,7 +803,7 @@ public class RequestQueue { ...@@ -800,7 +803,7 @@ public class RequestQueue {
return true; return true;
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -820,7 +823,7 @@ public class RequestQueue { ...@@ -820,7 +823,7 @@ public class RequestQueue {
return true; return true;
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -844,7 +847,7 @@ public class RequestQueue { ...@@ -844,7 +847,7 @@ public class RequestQueue {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -869,12 +872,12 @@ public class RequestQueue { ...@@ -869,12 +872,12 @@ public class RequestQueue {
agents.add(agent); agents.add(agent);
} }
catch (AgentNotFoundException e) { catch (AgentNotFoundException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -20,16 +20,21 @@ ...@@ -20,16 +20,21 @@
package org.jivesoftware.xmpp.workgroup; package org.jivesoftware.xmpp.workgroup;
import java.util.*;
import java.text.DateFormatSymbols; import java.text.DateFormatSymbols;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
import java.util.SortedSet;
import java.util.StringTokenizer;
import java.util.TreeSet;
public class Schedule { public class Schedule {
private long id; private long id;
private boolean[] week = new boolean[7]; private boolean[] week = new boolean[7];
private final String[] dayNames = new DateFormatSymbols().getShortWeekdays(); private final String[] dayNames = new DateFormatSymbols().getShortWeekdays();
private final List dayNamesList = Arrays.asList(dayNames); private final List<String> dayNamesList = Arrays.asList(dayNames);
private TreeSet events = new TreeSet(); private TreeSet<Schedule.Event> events = new TreeSet<Schedule.Event>();
private final String[] weekdays = new DateFormatSymbols().getShortWeekdays(); private final String[] weekdays = new DateFormatSymbols().getShortWeekdays();
public Schedule(long id) { public Schedule(long id) {
...@@ -43,7 +48,7 @@ public class Schedule { ...@@ -43,7 +48,7 @@ public class Schedule {
} }
public void clear() { public void clear() {
events = new TreeSet(); events = new TreeSet<Schedule.Event>();
Arrays.fill(week, false); Arrays.fill(week, false);
} }
...@@ -55,7 +60,7 @@ public class Schedule { ...@@ -55,7 +60,7 @@ public class Schedule {
return week; return week;
} }
public SortedSet getEvents() { public SortedSet<Schedule.Event> getEvents() {
return events; return events;
} }
...@@ -122,9 +127,7 @@ public class Schedule { ...@@ -122,9 +127,7 @@ public class Schedule {
} }
schedule.append('#'); schedule.append('#');
needsComma = false; needsComma = false;
Iterator eventIter = events.iterator(); for(Schedule.Event event : events) {
while (eventIter.hasNext()) {
Event event = (Schedule.Event)eventIter.next();
if (needsComma) { if (needsComma) {
schedule.append(','); schedule.append(',');
} }
...@@ -156,7 +159,7 @@ public class Schedule { ...@@ -156,7 +159,7 @@ public class Schedule {
* <li>minute - any minute between 0 and 59.</li> * <li>minute - any minute between 0 and 59.</li>
* </ul> * </ul>
*/ */
public static class Event implements Comparable{ public static class Event implements Comparable<Event>{
private int hour; private int hour;
private int minute; private int minute;
private boolean on; private boolean on;
...@@ -234,8 +237,7 @@ public class Schedule { ...@@ -234,8 +237,7 @@ public class Schedule {
* @param o The object to compare with this one * @param o The object to compare with this one
* @return negative, zero, or positive int if the object is less than, equal to, or greater than the specified object * @return negative, zero, or positive int if the object is less than, equal to, or greater than the specified object
*/ */
public int compareTo(Object o) { public int compareTo(Event event) {
Event event = (Event)o;
int val = hour - event.hour; int val = hour - event.hour;
if (val == 0){ if (val == 0){
val = minute - event.minute; val = minute - event.minute;
......
...@@ -46,7 +46,6 @@ import org.jivesoftware.database.SequenceManager; ...@@ -46,7 +46,6 @@ import org.jivesoftware.database.SequenceManager;
import org.jivesoftware.openfire.fastpath.util.TaskEngine; import org.jivesoftware.openfire.fastpath.util.TaskEngine;
import org.jivesoftware.openfire.group.Group; import org.jivesoftware.openfire.group.Group;
import org.jivesoftware.util.FastDateFormat; import org.jivesoftware.util.FastDateFormat;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException; import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.chatbot.Chatbot; import org.jivesoftware.xmpp.workgroup.chatbot.Chatbot;
...@@ -68,6 +67,8 @@ import org.jivesoftware.xmpp.workgroup.spi.dispatcher.DbDispatcherInfoProvider; ...@@ -68,6 +67,8 @@ import org.jivesoftware.xmpp.workgroup.spi.dispatcher.DbDispatcherInfoProvider;
import org.jivesoftware.xmpp.workgroup.utils.DbWorkgroup; import org.jivesoftware.xmpp.workgroup.utils.DbWorkgroup;
import org.jivesoftware.xmpp.workgroup.utils.FastpathConstants; import org.jivesoftware.xmpp.workgroup.utils.FastpathConstants;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.component.ComponentManagerFactory; import org.xmpp.component.ComponentManagerFactory;
import org.xmpp.muc.DestroyRoom; import org.xmpp.muc.DestroyRoom;
import org.xmpp.muc.Invitation; import org.xmpp.muc.Invitation;
...@@ -89,6 +90,8 @@ import org.xmpp.packet.Presence; ...@@ -89,6 +90,8 @@ import org.xmpp.packet.Presence;
*/ */
public class Workgroup { public class Workgroup {
private static final Logger Log = LoggerFactory.getLogger(Workgroup.class);
private static final String LOAD_WORKGROUP = private static final String LOAD_WORKGROUP =
"SELECT jid, displayName, description, status, modes, creationDate, " + "SELECT jid, displayName, description, status, modes, creationDate, " +
"modificationDate, maxchats, minchats, offerTimeout, requestTimeout, " + "modificationDate, maxchats, minchats, offerTimeout, requestTimeout, " +
...@@ -307,7 +310,7 @@ public class Workgroup { ...@@ -307,7 +310,7 @@ public class Workgroup {
queue = new RequestQueue(this, queueID); queue = new RequestQueue(this, queueID);
} }
catch (UserAlreadyExistsException e) { catch (UserAlreadyExistsException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
else { else {
...@@ -336,7 +339,7 @@ public class Workgroup { ...@@ -336,7 +339,7 @@ public class Workgroup {
dispatcherInfoProvider.deleteDispatcherInfo(queue.getID()); dispatcherInfoProvider.deleteDispatcherInfo(queue.getID());
} }
catch (UnauthorizedException e) { catch (UnauthorizedException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -864,7 +867,7 @@ public class Workgroup { ...@@ -864,7 +867,7 @@ public class Workgroup {
request.invitationsSent(sessionID); request.invitationsSent(sessionID);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -1292,7 +1295,7 @@ public class Workgroup { ...@@ -1292,7 +1295,7 @@ public class Workgroup {
} }
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -1313,7 +1316,7 @@ public class Workgroup { ...@@ -1313,7 +1316,7 @@ public class Workgroup {
} }
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -1336,7 +1339,7 @@ public class Workgroup { ...@@ -1336,7 +1339,7 @@ public class Workgroup {
return true; return true;
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -1360,7 +1363,7 @@ public class Workgroup { ...@@ -1360,7 +1363,7 @@ public class Workgroup {
return true; return true;
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -1392,7 +1395,7 @@ public class Workgroup { ...@@ -1392,7 +1395,7 @@ public class Workgroup {
return true; return true;
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -1733,15 +1736,15 @@ public class Workgroup { ...@@ -1733,15 +1736,15 @@ public class Workgroup {
// If there are valid domains specified, then validate // If there are valid domains specified, then validate
if (ModelUtil.hasLength(validDomains)) { if (ModelUtil.hasLength(validDomains)) {
Map metadata = request.getMetaData(); Map<String, List<String>> metadata = request.getMetaData();
List list = (List)metadata.get("referer"); List<String> list = metadata.get("referer");
if (metadata.containsKey("referer")) { if (metadata.containsKey("referer")) {
metadata.remove("referer"); metadata.remove("referer");
} }
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
String referer = (String)list.get(0); String referer = list.get(0);
URL refererURL = new URL(referer); URL refererURL = new URL(referer);
String domain = refererURL.getHost().toLowerCase(); String domain = refererURL.getHost().toLowerCase();
...@@ -1763,7 +1766,7 @@ public class Workgroup { ...@@ -1763,7 +1766,7 @@ public class Workgroup {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
return true; return true;
} }
......
...@@ -78,7 +78,7 @@ public class WorkgroupAdminManager extends WebManager { ...@@ -78,7 +78,7 @@ public class WorkgroupAdminManager extends WebManager {
} }
// TODO: should allow pretty printed version of agent names aka name <address>, or name, or address // TODO: should allow pretty printed version of agent names aka name <address>, or name, or address
public Collection getAgentsInWorkgroup(Workgroup workgroup) { public Collection<Agent> getAgentsInWorkgroup(Workgroup workgroup) {
TreeSet<Agent> agents = new TreeSet<Agent>(new AgentAddressComparator()); TreeSet<Agent> agents = new TreeSet<Agent>(new AgentAddressComparator());
for (RequestQueue requestQueue : workgroup.getRequestQueues()) { for (RequestQueue requestQueue : workgroup.getRequestQueues()) {
for (Agent member : requestQueue.getMembers()) { for (Agent member : requestQueue.getMembers()) {
......
...@@ -24,7 +24,6 @@ import org.dom4j.Element; ...@@ -24,7 +24,6 @@ import org.dom4j.Element;
import org.jivesoftware.openfire.fastpath.WorkgroupSettings; import org.jivesoftware.openfire.fastpath.WorkgroupSettings;
import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettingsManager; import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettingsManager;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException; import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.xmpp.workgroup.interceptor.InterceptorManager; import org.jivesoftware.xmpp.workgroup.interceptor.InterceptorManager;
import org.jivesoftware.xmpp.workgroup.interceptor.OfferInterceptorManager; import org.jivesoftware.xmpp.workgroup.interceptor.OfferInterceptorManager;
...@@ -35,6 +34,8 @@ import org.jivesoftware.xmpp.workgroup.request.Request; ...@@ -35,6 +34,8 @@ import org.jivesoftware.xmpp.workgroup.request.Request;
import org.jivesoftware.xmpp.workgroup.request.TransferRequest; import org.jivesoftware.xmpp.workgroup.request.TransferRequest;
import org.jivesoftware.xmpp.workgroup.request.UserRequest; import org.jivesoftware.xmpp.workgroup.request.UserRequest;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import org.xmpp.packet.Packet; import org.xmpp.packet.Packet;
...@@ -64,6 +65,8 @@ import org.xmpp.packet.PacketError; ...@@ -64,6 +65,8 @@ import org.xmpp.packet.PacketError;
*/ */
public class WorkgroupIQHandler { public class WorkgroupIQHandler {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupIQHandler.class);
private Workgroup workgroup; private Workgroup workgroup;
private WorkgroupSettings workgroupSettings = null; private WorkgroupSettings workgroupSettings = null;
...@@ -105,7 +108,7 @@ public class WorkgroupIQHandler { ...@@ -105,7 +108,7 @@ public class WorkgroupIQHandler {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
IQ reply = IQ.createResultIQ(packet); IQ reply = IQ.createResultIQ(packet);
if (packet.getChildElement() != null) { if (packet.getChildElement() != null) {
reply.setChildElement(packet.getChildElement().createCopy()); reply.setChildElement(packet.getChildElement().createCopy());
......
...@@ -58,7 +58,6 @@ import org.jivesoftware.openfire.net.SASLAuthentication; ...@@ -58,7 +58,6 @@ import org.jivesoftware.openfire.net.SASLAuthentication;
import org.jivesoftware.openfire.user.UserManager; import org.jivesoftware.openfire.user.UserManager;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.disco.IQDiscoInfoHandler; import org.jivesoftware.xmpp.workgroup.disco.IQDiscoInfoHandler;
import org.jivesoftware.xmpp.workgroup.disco.IQDiscoItemsHandler; import org.jivesoftware.xmpp.workgroup.disco.IQDiscoItemsHandler;
...@@ -67,6 +66,8 @@ import org.jivesoftware.xmpp.workgroup.routing.RoutingManager; ...@@ -67,6 +66,8 @@ import org.jivesoftware.xmpp.workgroup.routing.RoutingManager;
import org.jivesoftware.xmpp.workgroup.search.ChatSearchManager; import org.jivesoftware.xmpp.workgroup.search.ChatSearchManager;
import org.jivesoftware.xmpp.workgroup.search.IQChatSearchHandler; import org.jivesoftware.xmpp.workgroup.search.IQChatSearchHandler;
import org.jivesoftware.xmpp.workgroup.utils.FastpathConstants; import org.jivesoftware.xmpp.workgroup.utils.FastpathConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.component.Component; import org.xmpp.component.Component;
import org.xmpp.component.ComponentException; import org.xmpp.component.ComponentException;
import org.xmpp.component.ComponentManager; import org.xmpp.component.ComponentManager;
...@@ -86,6 +87,8 @@ import org.xmpp.packet.Presence; ...@@ -86,6 +87,8 @@ import org.xmpp.packet.Presence;
*/ */
public class WorkgroupManager implements Component { public class WorkgroupManager implements Component {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupManager.class);
private static final String LOAD_WORKGROUPS = private static final String LOAD_WORKGROUPS =
"SELECT workgroupID FROM fpWorkgroup"; "SELECT workgroupID FROM fpWorkgroup";
private static final String ADD_WORKGROUP = private static final String ADD_WORKGROUP =
...@@ -340,7 +343,7 @@ public class WorkgroupManager implements Component { ...@@ -340,7 +343,7 @@ public class WorkgroupManager implements Component {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
if (id != -1) { if (id != -1) {
try { try {
if (workgroup != null) { if (workgroup != null) {
...@@ -350,7 +353,7 @@ public class WorkgroupManager implements Component { ...@@ -350,7 +353,7 @@ public class WorkgroupManager implements Component {
} }
} }
catch (Exception e1) { catch (Exception e1) {
Log.error(e1); Log.error(e1.getMessage(), e1);
} }
} }
if (e instanceof UserAlreadyExistsException) { if (e instanceof UserAlreadyExistsException) {
...@@ -453,11 +456,11 @@ public class WorkgroupManager implements Component { ...@@ -453,11 +456,11 @@ public class WorkgroupManager implements Component {
return Collections.unmodifiableCollection(copy); return Collections.unmodifiableCollection(copy);
} }
public Iterator getWorkgroups(WorkgroupResultFilter filter) { public Iterator<Workgroup> getWorkgroups(WorkgroupResultFilter filter) {
final List<Workgroup> wgroups = new ArrayList<Workgroup>(workgroups.values()); final List<Workgroup> wgroups = new ArrayList<Workgroup>(workgroups.values());
Collections.sort(wgroups, workgroupComparator); Collections.sort(wgroups, workgroupComparator);
Iterator groups = filter.filter(wgroups.iterator()); Iterator<Workgroup> groups = filter.filter(wgroups.iterator());
if (groups == null) { if (groups == null) {
groups = Collections.EMPTY_LIST.iterator(); groups = Collections.EMPTY_LIST.iterator();
} }
...@@ -556,7 +559,7 @@ public class WorkgroupManager implements Component { ...@@ -556,7 +559,7 @@ public class WorkgroupManager implements Component {
ChatSearchManager.getInstanceFor(group).updateIndex(false); ChatSearchManager.getInstanceFor(group).updateIndex(false);
} }
catch (IOException e) { catch (IOException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -607,7 +610,7 @@ public class WorkgroupManager implements Component { ...@@ -607,7 +610,7 @@ public class WorkgroupManager implements Component {
return true; return true;
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -625,7 +628,7 @@ public class WorkgroupManager implements Component { ...@@ -625,7 +628,7 @@ public class WorkgroupManager implements Component {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -650,7 +653,7 @@ public class WorkgroupManager implements Component { ...@@ -650,7 +653,7 @@ public class WorkgroupManager implements Component {
} }
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
workgroupLock.writeLock().unlock(); workgroupLock.writeLock().unlock();
...@@ -719,7 +722,7 @@ public class WorkgroupManager implements Component { ...@@ -719,7 +722,7 @@ public class WorkgroupManager implements Component {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -855,7 +858,7 @@ public class WorkgroupManager implements Component { ...@@ -855,7 +858,7 @@ public class WorkgroupManager implements Component {
} }
catch (ComponentException e) { catch (ComponentException e) {
// Do nothing. This error should never happen // Do nothing. This error should never happen
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -933,7 +936,7 @@ public class WorkgroupManager implements Component { ...@@ -933,7 +936,7 @@ public class WorkgroupManager implements Component {
return true; return true;
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
return false; return false;
} }
...@@ -951,7 +954,7 @@ public class WorkgroupManager implements Component { ...@@ -951,7 +954,7 @@ public class WorkgroupManager implements Component {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
return false; return false;
} }
return true; return true;
......
...@@ -36,10 +36,11 @@ import org.jivesoftware.openfire.fastpath.util.TaskEngine; ...@@ -36,10 +36,11 @@ import org.jivesoftware.openfire.fastpath.util.TaskEngine;
import org.jivesoftware.util.ConcurrentHashSet; import org.jivesoftware.util.ConcurrentHashSet;
import org.jivesoftware.util.FastDateFormat; import org.jivesoftware.util.FastDateFormat;
import org.jivesoftware.util.JiveConstants; import org.jivesoftware.util.JiveConstants;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.interceptor.AgentInterceptorManager; import org.jivesoftware.xmpp.workgroup.interceptor.AgentInterceptorManager;
import org.jivesoftware.xmpp.workgroup.interceptor.InterceptorManager; import org.jivesoftware.xmpp.workgroup.interceptor.InterceptorManager;
import org.jivesoftware.xmpp.workgroup.interceptor.PacketRejectedException; import org.jivesoftware.xmpp.workgroup.interceptor.PacketRejectedException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
import org.xmpp.packet.Presence; import org.xmpp.packet.Presence;
...@@ -61,6 +62,8 @@ import org.xmpp.packet.Presence; ...@@ -61,6 +62,8 @@ import org.xmpp.packet.Presence;
*/ */
public class WorkgroupPresence { public class WorkgroupPresence {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupPresence.class);
private static final FastDateFormat UTC_FORMAT = FastDateFormat private static final FastDateFormat UTC_FORMAT = FastDateFormat
.getInstance(JiveConstants.XMPP_DELAY_DATETIME_FORMAT, TimeZone.getTimeZone("UTC")); .getInstance(JiveConstants.XMPP_DELAY_DATETIME_FORMAT, TimeZone.getTimeZone("UTC"));
...@@ -165,7 +168,7 @@ public class WorkgroupPresence { ...@@ -165,7 +168,7 @@ public class WorkgroupPresence {
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
Presence reply = new Presence(); Presence reply = new Presence();
reply.setError(new PacketError(PacketError.Condition.internal_server_error)); reply.setError(new PacketError(PacketError.Condition.internal_server_error));
reply.setTo(packet.getFrom()); reply.setTo(packet.getFrom());
...@@ -419,12 +422,12 @@ public class WorkgroupPresence { ...@@ -419,12 +422,12 @@ public class WorkgroupPresence {
} }
} }
private int getNumberOfAgentsOnline() { // private int getNumberOfAgentsOnline() {
int onlineAgents = 0; // int onlineAgents = 0;
WorkgroupManager workgroupManager = WorkgroupManager.getInstance(); // WorkgroupManager workgroupManager = WorkgroupManager.getInstance();
for (Workgroup workgroup : workgroupManager.getWorkgroups()) { // for (Workgroup workgroup : workgroupManager.getWorkgroups()) {
onlineAgents += workgroup.getAgentSessions().size(); // onlineAgents += workgroup.getAgentSessions().size();
} // }
return onlineAgents; // return onlineAgents;
} // }
} }
\ No newline at end of file
...@@ -127,13 +127,13 @@ public class WorkgroupResultFilter { ...@@ -127,13 +127,13 @@ public class WorkgroupResultFilter {
* @param rawResults Iterator over all support group members * @param rawResults Iterator over all support group members
* @return Iterator over group members fitting the current filter settings * @return Iterator over group members fitting the current filter settings
*/ */
public synchronized Iterator filter(Iterator rawResults) { public synchronized <E> Iterator<E> filter(Iterator<E> rawResults) {
Iterator result = null; Iterator<E> result = null;
if (startIndex == 0 && numResults == NO_RESULT_LIMIT) { if (startIndex == 0 && numResults == NO_RESULT_LIMIT) {
result = rawResults; result = rawResults;
} }
else { else {
LinkedList list = new LinkedList(); LinkedList<E> list = new LinkedList<E>();
while (rawResults.hasNext() && startIndex-- > 0) { while (rawResults.hasNext() && startIndex-- > 0) {
rawResults.next(); // skip over first x entries rawResults.next(); // skip over first x entries
} }
......
...@@ -20,17 +20,6 @@ ...@@ -20,17 +20,6 @@
package org.jivesoftware.xmpp.workgroup; package org.jivesoftware.xmpp.workgroup;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.FastDateFormat;
import org.jivesoftware.util.Log;
import org.xmpp.component.ComponentManagerFactory;
import org.xmpp.packet.IQ;
import org.xmpp.packet.PacketError;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
...@@ -42,8 +31,21 @@ import java.util.List; ...@@ -42,8 +31,21 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TimeZone; import java.util.TimeZone;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.FastDateFormat;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ;
import org.xmpp.packet.PacketError;
public class WorkgroupStats { public class WorkgroupStats {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupStats.class);
private static final String GET_SESSIONS_WITH_TRANSCRIPTS = private static final String GET_SESSIONS_WITH_TRANSCRIPTS =
"SELECT sessionID, startTime, endTime FROM fpSession WHERE workgroupID=? AND " + "SELECT sessionID, startTime, endTime FROM fpSession WHERE workgroupID=? AND " +
"userID=? AND transcript IS NOT NULL"; "userID=? AND transcript IS NOT NULL";
...@@ -55,8 +57,8 @@ public class WorkgroupStats { ...@@ -55,8 +57,8 @@ public class WorkgroupStats {
private static final FastDateFormat UTC_FORMAT = FastDateFormat private static final FastDateFormat UTC_FORMAT = FastDateFormat
.getInstance("yyyyMMdd'T'HH:mm:ss", TimeZone.getTimeZone("GMT+0")); .getInstance("yyyyMMdd'T'HH:mm:ss", TimeZone.getTimeZone("GMT+0"));
private List chatList = new ArrayList(); private List<Object[]> chatList = new ArrayList<Object[]>();
private List transferList = new ArrayList(); private List<Object[]> transferList = new ArrayList<Object[]>();
private Workgroup workgroup; private Workgroup workgroup;
// Defined Variables used in Stats // Defined Variables used in Stats
...@@ -75,30 +77,30 @@ public class WorkgroupStats { ...@@ -75,30 +77,30 @@ public class WorkgroupStats {
this.workgroup = workgroup; this.workgroup = workgroup;
} }
public void processStatistics(Map map) { public void processStatistics(Map<String, String> map) {
final String action = (String)map.get(ACTION); final String action = map.get(ACTION);
if (END_OF_CHAT.equals(action)) { if (END_OF_CHAT.equals(action)) {
String agent = (String)map.get(AGENT_JID); String agent = map.get(AGENT_JID);
Long startTime = new Long((String)map.get(START_TIME)); Long startTime = new Long(map.get(START_TIME));
Long endTime = new Long((String)map.get(END_TIME)); Long endTime = new Long(map.get(END_TIME));
// String chatRoom = (String)map.get(CHAT_ROOM); // String chatRoom = (String)map.get(CHAT_ROOM);
// String workgroupName = (String)map.get(WORKGROUP_NAME); // String workgroupName = (String)map.get(WORKGROUP_NAME);
chatList.add(new Object[]{agent, startTime, endTime}); chatList.add(new Object[]{agent, startTime, endTime});
} }
else if (AGENT_TRANSFER.equals(action)) { else if (AGENT_TRANSFER.equals(action)) {
final String agent = (String)map.get(AGENT_JID); final String agent = map.get(AGENT_JID);
final Long startTime = new Long((String)map.get(START_TIME)); final Long startTime = new Long(map.get(START_TIME));
final Long transferTime = new Long((String)map.get(END_TIME)); final Long transferTime = new Long(map.get(END_TIME));
final String agentTransferedTo = (String)map.get(OTHER_AGENT_JID); final String agentTransferedTo = map.get(OTHER_AGENT_JID);
transferList.add(new Object[]{agent, startTime, transferTime, agentTransferedTo}); transferList.add(new Object[]{agent, startTime, transferTime, agentTransferedTo});
} }
} }
public Iterator getCompletedChats() { public Iterator<Object[]> getCompletedChats() {
return chatList.iterator(); return chatList.iterator();
} }
public Iterator getChatsTransfered() { public Iterator<Object[]> getChatsTransfered() {
return transferList.iterator(); return transferList.iterator();
} }
...@@ -150,7 +152,7 @@ public class WorkgroupStats { ...@@ -150,7 +152,7 @@ public class WorkgroupStats {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
} }
...@@ -175,7 +177,7 @@ public class WorkgroupStats { ...@@ -175,7 +177,7 @@ public class WorkgroupStats {
} }
} }
catch (SQLException sqle) { catch (SQLException sqle) {
Log.error(sqle); Log.error(sqle.getMessage(), sqle);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -183,8 +185,8 @@ public class WorkgroupStats { ...@@ -183,8 +185,8 @@ public class WorkgroupStats {
if (transcriptXML != null) { if (transcriptXML != null) {
Document element = DocumentHelper.parseText(transcriptXML); Document element = DocumentHelper.parseText(transcriptXML);
// Add the Messages and Presences contained in the retrieved transcript element // Add the Messages and Presences contained in the retrieved transcript element
for (Iterator it = element.getRootElement().elementIterator(); it.hasNext();) { for (Iterator<Element> it = element.getRootElement().elementIterator(); it.hasNext();) {
Element packet = (Element)it.next(); Element packet = it.next();
transcript.add(packet.createCopy()); transcript.add(packet.createCopy());
} }
} }
...@@ -228,7 +230,7 @@ public class WorkgroupStats { ...@@ -228,7 +230,7 @@ public class WorkgroupStats {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -32,7 +32,6 @@ import org.jivesoftware.openfire.fastpath.history.ChatTranscriptManager; ...@@ -32,7 +32,6 @@ import org.jivesoftware.openfire.fastpath.history.ChatTranscriptManager;
import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettings; import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettings;
import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettingsManager; import org.jivesoftware.openfire.fastpath.settings.chat.ChatSettingsManager;
import org.jivesoftware.openfire.fastpath.settings.chat.KeyEnum; import org.jivesoftware.openfire.fastpath.settings.chat.KeyEnum;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException; import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.xmpp.workgroup.UnauthorizedException; import org.jivesoftware.xmpp.workgroup.UnauthorizedException;
import org.jivesoftware.xmpp.workgroup.UserCommunicationMethod; import org.jivesoftware.xmpp.workgroup.UserCommunicationMethod;
...@@ -43,6 +42,8 @@ import org.jivesoftware.xmpp.workgroup.interceptor.PacketRejectedException; ...@@ -43,6 +42,8 @@ import org.jivesoftware.xmpp.workgroup.interceptor.PacketRejectedException;
import org.jivesoftware.xmpp.workgroup.interceptor.QueueInterceptorManager; import org.jivesoftware.xmpp.workgroup.interceptor.QueueInterceptorManager;
import org.jivesoftware.xmpp.workgroup.request.Request; import org.jivesoftware.xmpp.workgroup.request.Request;
import org.jivesoftware.xmpp.workgroup.request.UserRequest; import org.jivesoftware.xmpp.workgroup.request.UserRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import org.xmpp.packet.Message; import org.xmpp.packet.Message;
...@@ -111,6 +112,8 @@ import org.xmpp.packet.Message; ...@@ -111,6 +112,8 @@ import org.xmpp.packet.Message;
*/ */
public class Chatbot implements UserCommunicationMethod { public class Chatbot implements UserCommunicationMethod {
private static final Logger Log = LoggerFactory.getLogger(Chatbot.class);
/** /**
* Holds the workgroup where the chatbot is working. This is a one-to-one relation so this * Holds the workgroup where the chatbot is working. This is a one-to-one relation so this
* chatbot is the only chatbot that will be answering Messages sent to the workgroup. * chatbot is the only chatbot that will be answering Messages sent to the workgroup.
......
...@@ -75,10 +75,9 @@ public class IQDiscoInfoHandler { ...@@ -75,10 +75,9 @@ public class IQDiscoInfoHandler {
public IQ handleIQ(IQ packet) { public IQ handleIQ(IQ packet) {
if (packet.getType() == IQ.Type.result) { if (packet.getType() == IQ.Type.result) {
List features = packet.getChildElement().elements("feature"); List<Element> features = packet.getChildElement().elements("feature");
// Detect if this item is the MUC service // Detect if this item is the MUC service
for (Iterator it=features.iterator(); it.hasNext(); ) { for (Element feature : features) {
Element feature = (Element) it.next();
String variable = feature.attributeValue("var"); String variable = feature.attributeValue("var");
if ("http://jabber.org/protocol/muc".equals(variable)) { if ("http://jabber.org/protocol/muc".equals(variable)) {
......
...@@ -51,10 +51,9 @@ public class IQDiscoItemsHandler { ...@@ -51,10 +51,9 @@ public class IQDiscoItemsHandler {
public IQ handleIQ(IQ packet) { public IQ handleIQ(IQ packet) {
if (packet.getType() == IQ.Type.result) { if (packet.getType() == IQ.Type.result) {
List items = packet.getChildElement().elements("item"); List<Element> items = packet.getChildElement().elements("item");
// Send a disco#info to each discovered item // Send a disco#info to each discovered item
for (Iterator it=items.iterator(); it.hasNext(); ) { for (Element item : items) {
Element item = (Element) it.next();
String jid = item.attributeValue("jid"); String jid = item.attributeValue("jid");
IQ disco = new IQ(IQ.Type.get); IQ disco = new IQ(IQ.Type.get);
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
package org.jivesoftware.xmpp.workgroup.dispatcher; package org.jivesoftware.xmpp.workgroup.dispatcher;
import org.jivesoftware.xmpp.workgroup.DbProperties; import org.jivesoftware.xmpp.workgroup.DbProperties;
import org.jivesoftware.xmpp.workgroup.Offer;
import org.jivesoftware.xmpp.workgroup.RequestQueue; import org.jivesoftware.xmpp.workgroup.RequestQueue;
import org.jivesoftware.xmpp.workgroup.UnauthorizedException; import org.jivesoftware.xmpp.workgroup.UnauthorizedException;
import org.jivesoftware.xmpp.workgroup.WorkgroupResultFilter; import org.jivesoftware.xmpp.workgroup.WorkgroupResultFilter;
...@@ -69,7 +70,7 @@ public interface Dispatcher extends DbProperties { ...@@ -69,7 +70,7 @@ public interface Dispatcher extends DbProperties {
* *
* @return An iterator over Offers currently being made * @return An iterator over Offers currently being made
*/ */
Iterator getOffers(); Iterator<Offer> getOffers();
/** /**
* <p>Obtain an iterator over the offers currently outstanding with results filtered by given filter.</p> * <p>Obtain an iterator over the offers currently outstanding with results filtered by given filter.</p>
...@@ -77,7 +78,7 @@ public interface Dispatcher extends DbProperties { ...@@ -77,7 +78,7 @@ public interface Dispatcher extends DbProperties {
* @param filter The filter to apply to the search results * @param filter The filter to apply to the search results
* @return An iterator over Offers currently being made * @return An iterator over Offers currently being made
*/ */
Iterator getOffers(WorkgroupResultFilter filter); Iterator<Offer> getOffers(WorkgroupResultFilter filter);
/** /**
* Returns the algorithm that selects the best agent of the queue for receiving an offer. * Returns the algorithm that selects the best agent of the queue for receiving an offer.
......
...@@ -35,7 +35,6 @@ import org.jivesoftware.util.BeanUtils; ...@@ -35,7 +35,6 @@ import org.jivesoftware.util.BeanUtils;
import org.jivesoftware.util.ClassUtils; import org.jivesoftware.util.ClassUtils;
import org.jivesoftware.util.ConcurrentHashSet; import org.jivesoftware.util.ConcurrentHashSet;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException; import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.AgentSessionList; import org.jivesoftware.xmpp.workgroup.AgentSessionList;
...@@ -49,6 +48,8 @@ import org.jivesoftware.xmpp.workgroup.request.Request; ...@@ -49,6 +48,8 @@ import org.jivesoftware.xmpp.workgroup.request.Request;
import org.jivesoftware.xmpp.workgroup.request.UserRequest; import org.jivesoftware.xmpp.workgroup.request.UserRequest;
import org.jivesoftware.xmpp.workgroup.spi.JiveLiveProperties; import org.jivesoftware.xmpp.workgroup.spi.JiveLiveProperties;
import org.jivesoftware.xmpp.workgroup.spi.dispatcher.DbDispatcherInfoProvider; import org.jivesoftware.xmpp.workgroup.spi.dispatcher.DbDispatcherInfoProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* <p>Implements simple round robin dispatching of offers to agents.</p> * <p>Implements simple round robin dispatching of offers to agents.</p>
...@@ -59,6 +60,9 @@ import org.jivesoftware.xmpp.workgroup.spi.dispatcher.DbDispatcherInfoProvider; ...@@ -59,6 +60,9 @@ import org.jivesoftware.xmpp.workgroup.spi.dispatcher.DbDispatcherInfoProvider;
* @author Iain Shigeoka * @author Iain Shigeoka
*/ */
public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener { public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener {
private static final Logger Log = LoggerFactory.getLogger(RoundRobinDispatcher.class);
/** /**
* <p>The circular list of agents in the pool.</p> * <p>The circular list of agents in the pool.</p>
*/ */
...@@ -232,7 +236,7 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener { ...@@ -232,7 +236,7 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -486,10 +490,10 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener { ...@@ -486,10 +490,10 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener {
this.info = info; this.info = info;
} }
catch (NotFoundException e) { catch (NotFoundException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
catch (UnsupportedOperationException e) { catch (UnsupportedOperationException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -497,11 +501,11 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener { ...@@ -497,11 +501,11 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener {
return offers.size(); return offers.size();
} }
public Iterator getOffers() { public Iterator<Offer> getOffers() {
return offers.iterator(); return offers.iterator();
} }
public Iterator getOffers(WorkgroupResultFilter filter) { public Iterator<Offer> getOffers(WorkgroupResultFilter filter) {
return filter.filter(offers.iterator()); return filter.filter(offers.iterator());
} }
...@@ -536,7 +540,7 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener { ...@@ -536,7 +540,7 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
// Save the agentSelectoras a property of the dispatcher // Save the agentSelectoras a property of the dispatcher
try { try {
...@@ -546,7 +550,7 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener { ...@@ -546,7 +550,7 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -594,7 +598,7 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener { ...@@ -594,7 +598,7 @@ public class RoundRobinDispatcher implements Dispatcher, AgentSessionListener {
BeanUtils.setProperties(agentSelector, agentSelectorProps); BeanUtils.setProperties(agentSelector, agentSelectorProps);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
......
...@@ -23,9 +23,10 @@ package org.jivesoftware.xmpp.workgroup.event; ...@@ -23,9 +23,10 @@ package org.jivesoftware.xmpp.workgroup.event;
import java.util.List; import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* Dispatches workgroup events. Since the dispatching is done on the "main" thread * Dispatches workgroup events. Since the dispatching is done on the "main" thread
...@@ -36,6 +37,8 @@ import org.jivesoftware.xmpp.workgroup.Workgroup; ...@@ -36,6 +37,8 @@ import org.jivesoftware.xmpp.workgroup.Workgroup;
*/ */
public class WorkgroupEventDispatcher { public class WorkgroupEventDispatcher {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupEventDispatcher.class);
private static List<WorkgroupEventListener> listeners = private static List<WorkgroupEventListener> listeners =
new CopyOnWriteArrayList<WorkgroupEventListener>(); new CopyOnWriteArrayList<WorkgroupEventListener>();
...@@ -75,7 +78,7 @@ public class WorkgroupEventDispatcher { ...@@ -75,7 +78,7 @@ public class WorkgroupEventDispatcher {
listener.workgroupCreated(workgroup); listener.workgroupCreated(workgroup);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -91,7 +94,7 @@ public class WorkgroupEventDispatcher { ...@@ -91,7 +94,7 @@ public class WorkgroupEventDispatcher {
listener.workgroupDeleting(workgroup); listener.workgroupDeleting(workgroup);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -107,7 +110,7 @@ public class WorkgroupEventDispatcher { ...@@ -107,7 +110,7 @@ public class WorkgroupEventDispatcher {
listener.workgroupDeleted(workgroup); listener.workgroupDeleted(workgroup);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -124,7 +127,7 @@ public class WorkgroupEventDispatcher { ...@@ -124,7 +127,7 @@ public class WorkgroupEventDispatcher {
listener.workgroupOpened(workgroup); listener.workgroupOpened(workgroup);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -141,7 +144,7 @@ public class WorkgroupEventDispatcher { ...@@ -141,7 +144,7 @@ public class WorkgroupEventDispatcher {
listener.workgroupClosed(workgroup); listener.workgroupClosed(workgroup);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -158,7 +161,7 @@ public class WorkgroupEventDispatcher { ...@@ -158,7 +161,7 @@ public class WorkgroupEventDispatcher {
listener.agentJoined(workgroup, agentSession); listener.agentJoined(workgroup, agentSession);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -175,7 +178,7 @@ public class WorkgroupEventDispatcher { ...@@ -175,7 +178,7 @@ public class WorkgroupEventDispatcher {
listener.agentDeparted(workgroup, agentSession); listener.agentDeparted(workgroup, agentSession);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -192,7 +195,7 @@ public class WorkgroupEventDispatcher { ...@@ -192,7 +195,7 @@ public class WorkgroupEventDispatcher {
listener.chatSupportStarted(workgroup, sessionID); listener.chatSupportStarted(workgroup, sessionID);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -209,7 +212,7 @@ public class WorkgroupEventDispatcher { ...@@ -209,7 +212,7 @@ public class WorkgroupEventDispatcher {
listener.chatSupportFinished(workgroup, sessionID); listener.chatSupportFinished(workgroup, sessionID);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -231,7 +234,7 @@ public class WorkgroupEventDispatcher { ...@@ -231,7 +234,7 @@ public class WorkgroupEventDispatcher {
listener.agentJoinedChatSupport(workgroup, sessionID, agentSession); listener.agentJoinedChatSupport(workgroup, sessionID, agentSession);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -250,7 +253,7 @@ public class WorkgroupEventDispatcher { ...@@ -250,7 +253,7 @@ public class WorkgroupEventDispatcher {
listener.agentLeftChatSupport(workgroup, sessionID, agentSession); listener.agentLeftChatSupport(workgroup, sessionID, agentSession);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
......
...@@ -20,20 +20,27 @@ ...@@ -20,20 +20,27 @@
package org.jivesoftware.xmpp.workgroup.interceptor; package org.jivesoftware.xmpp.workgroup.interceptor;
import org.jivesoftware.xmpp.workgroup.Workgroup; import java.util.ArrayList;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import java.util.Collection;
import org.jivesoftware.util.JiveGlobals; import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.BeanUtils; import org.jivesoftware.util.BeanUtils;
import org.jivesoftware.util.ClassUtils; import org.jivesoftware.util.ClassUtils;
import org.jivesoftware.util.Log; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import org.xmpp.packet.Packet; import org.xmpp.packet.Packet;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
/** /**
* Base class for fastpath packet interceptors. * Base class for fastpath packet interceptors.
* *
...@@ -41,6 +48,8 @@ import java.util.concurrent.CopyOnWriteArrayList; ...@@ -41,6 +48,8 @@ import java.util.concurrent.CopyOnWriteArrayList;
*/ */
public abstract class InterceptorManager { public abstract class InterceptorManager {
private static final Logger Log = LoggerFactory.getLogger(InterceptorManager.class);
private List<PacketInterceptor> availableInterceptors = private List<PacketInterceptor> availableInterceptors =
new CopyOnWriteArrayList<PacketInterceptor>(); new CopyOnWriteArrayList<PacketInterceptor>();
...@@ -195,7 +204,7 @@ public abstract class InterceptorManager { ...@@ -195,7 +204,7 @@ public abstract class InterceptorManager {
* @return true if the item was present in the list * @return true if the item was present in the list
*/ */
public boolean removeInterceptor(String workgroup, PacketInterceptor interceptor) { public boolean removeInterceptor(String workgroup, PacketInterceptor interceptor) {
List interceptors = getLocalInterceptors(workgroup); List<PacketInterceptor> interceptors = getLocalInterceptors(workgroup);
if (interceptors == null) { if (interceptors == null) {
return false; return false;
} }
...@@ -284,7 +293,7 @@ public abstract class InterceptorManager { ...@@ -284,7 +293,7 @@ public abstract class InterceptorManager {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -305,14 +314,14 @@ public abstract class InterceptorManager { ...@@ -305,14 +314,14 @@ public abstract class InterceptorManager {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
private Map getPropertiesMap(List<PacketInterceptor> interceptors, String context) { private Map<String, String> getPropertiesMap(List<PacketInterceptor> interceptors, String context) {
// Build the properties map that will be saved later // Build the properties map that will be saved later
Map propertyMap = new HashMap(); Map<String, String> propertyMap = new HashMap<String, String>();
if (!interceptors.isEmpty()) { if (!interceptors.isEmpty()) {
propertyMap.put(context + "interceptorCount", String.valueOf(interceptors.size())); propertyMap.put(context + "interceptorCount", String.valueOf(interceptors.size()));
...@@ -327,10 +336,10 @@ public abstract class InterceptorManager { ...@@ -327,10 +336,10 @@ public abstract class InterceptorManager {
propertyMap.put(interceptorContext + "className", interceptor.getClass().getName()); propertyMap.put(interceptorContext + "className", interceptor.getClass().getName());
// Write out all properties // Write out all properties
Map interceptorProps = BeanUtils.getProperties(interceptor); Map<String, String> interceptorProps = BeanUtils.getProperties(interceptor);
for (Iterator iter=interceptorProps.keySet().iterator(); iter.hasNext(); ) { for (Map.Entry<String, String> entry : interceptorProps.entrySet()) {
String name = (String) iter.next(); String name = entry.getKey();
String value = (String) interceptorProps.get(name); String value = entry.getValue();
if (value != null && !"".equals(value)) { if (value != null && !"".equals(value)) {
propertyMap.put(interceptorContext + "properties." + name, value); propertyMap.put(interceptorContext + "properties." + name, value);
} }
...@@ -416,11 +425,11 @@ public abstract class InterceptorManager { ...@@ -416,11 +425,11 @@ public abstract class InterceptorManager {
} }
// Now get custom interceptors. // Now get custom interceptors.
List classNames = JiveGlobals.getProperties("interceptor.interceptorClasses." + List<String> classNames = JiveGlobals.getProperties("interceptor.interceptorClasses." +
getPropertySuffix()); getPropertySuffix());
for (int i=0; i<classNames.size(); i++) { for (int i=0; i<classNames.size(); i++) {
install_interceptor: try { install_interceptor: try {
Class interceptorClass = loadClass((String)classNames.get(i)); Class interceptorClass = loadClass(classNames.get(i));
// Make sure that the interceptor isn't already installed. // Make sure that the interceptor isn't already installed.
for (int j=0; j<interceptorList.size(); j++) { for (int j=0; j<interceptorList.size(); j++) {
if (interceptorClass.equals(interceptorList.get(j).getClass())) { if (interceptorClass.equals(interceptorList.get(j).getClass())) {
...@@ -431,7 +440,7 @@ public abstract class InterceptorManager { ...@@ -431,7 +440,7 @@ public abstract class InterceptorManager {
interceptorList.add(interceptor); interceptorList.add(interceptor);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -454,12 +463,12 @@ public abstract class InterceptorManager { ...@@ -454,12 +463,12 @@ public abstract class InterceptorManager {
interceptorList.add((PacketInterceptor) interceptorClass.newInstance()); interceptorList.add((PacketInterceptor) interceptorClass.newInstance());
// Load properties. // Load properties.
List props = JiveGlobals.getPropertyNames(interceptorContext + "properties"); List<String> props = JiveGlobals.getPropertyNames(interceptorContext + "properties");
Map interceptorProps = new HashMap(); Map<String, String> interceptorProps = new HashMap<String, String>();
for (int k = 0; k < props.size(); k++) { for (int k = 0; k < props.size(); k++) {
String key = (String)props.get(k); String key = props.get(k);
String value = JiveGlobals.getProperty((String)props.get(k)); String value = JiveGlobals.getProperty(props.get(k));
// Get the bean property name, which is everything after the last '.' in the // Get the bean property name, which is everything after the last '.' in the
// xml property name. // xml property name.
interceptorProps.put(key.substring(key.lastIndexOf(".")+1), value); interceptorProps.put(key.substring(key.lastIndexOf(".")+1), value);
...@@ -499,7 +508,7 @@ public abstract class InterceptorManager { ...@@ -499,7 +508,7 @@ public abstract class InterceptorManager {
interceptorList.add((PacketInterceptor) interceptorClass.newInstance()); interceptorList.add((PacketInterceptor) interceptorClass.newInstance());
// Load properties. // Load properties.
Map interceptorProps = new HashMap(); Map<String, String> interceptorProps = new HashMap<String, String>();
for (String key : getChildrenPropertyNames(interceptorContext + "properties", for (String key : getChildrenPropertyNames(interceptorContext + "properties",
workgroup.getProperties().getPropertyNames())) workgroup.getProperties().getPropertyNames()))
{ {
...@@ -556,7 +565,7 @@ public abstract class InterceptorManager { ...@@ -556,7 +565,7 @@ public abstract class InterceptorManager {
interceptors = localInterceptors.get(workgroup); interceptors = localInterceptors.get(workgroup);
} }
catch (UserNotFoundException e) { catch (UserNotFoundException e) {
Log.warn(e); Log.warn(e.getMessage(), e);
} }
} }
} }
......
...@@ -23,7 +23,8 @@ package org.jivesoftware.xmpp.workgroup.interceptor; ...@@ -23,7 +23,8 @@ package org.jivesoftware.xmpp.workgroup.interceptor;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import org.jivesoftware.util.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.Packet; import org.xmpp.packet.Packet;
/** /**
...@@ -35,6 +36,8 @@ import org.xmpp.packet.Packet; ...@@ -35,6 +36,8 @@ import org.xmpp.packet.Packet;
*/ */
public class RoomInterceptorManager extends InterceptorManager { public class RoomInterceptorManager extends InterceptorManager {
private static final Logger Log = LoggerFactory.getLogger(RoomInterceptorManager.class);
private static RoomInterceptorManager instance = new RoomInterceptorManager(); private static RoomInterceptorManager instance = new RoomInterceptorManager();
/** /**
......
...@@ -20,6 +20,12 @@ ...@@ -20,6 +20,12 @@
package org.jivesoftware.xmpp.workgroup.request; package org.jivesoftware.xmpp.workgroup.request;
import java.util.Arrays;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.QName;
import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.xmpp.workgroup.AgentNotFoundException; import org.jivesoftware.xmpp.workgroup.AgentNotFoundException;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.RequestQueue; import org.jivesoftware.xmpp.workgroup.RequestQueue;
...@@ -27,25 +33,23 @@ import org.jivesoftware.xmpp.workgroup.Workgroup; ...@@ -27,25 +33,23 @@ import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.jivesoftware.xmpp.workgroup.interceptor.RoomInterceptorManager; import org.jivesoftware.xmpp.workgroup.interceptor.RoomInterceptorManager;
import org.jivesoftware.xmpp.workgroup.routing.RoutingManager; import org.jivesoftware.xmpp.workgroup.routing.RoutingManager;
import org.dom4j.DocumentHelper; import org.slf4j.Logger;
import org.dom4j.Element; import org.slf4j.LoggerFactory;
import org.dom4j.QName;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException;
import org.xmpp.muc.Invitation; import org.xmpp.muc.Invitation;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import org.xmpp.packet.Message; import org.xmpp.packet.Message;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
import java.util.Arrays;
/** /**
* Request sent by an agent to invite another agent or user. * Request sent by an agent to invite another agent or user.
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
public class InvitationRequest extends Request { public class InvitationRequest extends Request {
private static final Logger Log = LoggerFactory.getLogger(InvitationRequest.class);
/** /**
* Time limit to wait for the invitee to join the support room. The limit is verified once the agent * Time limit to wait for the invitee to join the support room. The limit is verified once the agent
* accepted the offer or a MUC invitation was sent to the user. * accepted the offer or a MUC invitation was sent to the user.
......
...@@ -33,7 +33,6 @@ import org.dom4j.DocumentHelper; ...@@ -33,7 +33,6 @@ import org.dom4j.DocumentHelper;
import org.dom4j.Element; import org.dom4j.Element;
import org.dom4j.QName; import org.dom4j.QName;
import org.jivesoftware.database.SequenceManager; import org.jivesoftware.database.SequenceManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException; import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
...@@ -41,6 +40,8 @@ import org.jivesoftware.xmpp.workgroup.Offer; ...@@ -41,6 +40,8 @@ import org.jivesoftware.xmpp.workgroup.Offer;
import org.jivesoftware.xmpp.workgroup.RequestQueue; import org.jivesoftware.xmpp.workgroup.RequestQueue;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.utils.FastpathConstants; import org.jivesoftware.xmpp.workgroup.utils.FastpathConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
...@@ -51,6 +52,8 @@ import org.xmpp.packet.JID; ...@@ -51,6 +52,8 @@ import org.xmpp.packet.JID;
*/ */
public abstract class Request { public abstract class Request {
private static final Logger Log = LoggerFactory.getLogger(Request.class);
private static final Map<String, Request> requests = new ConcurrentHashMap<String, Request>(); private static final Map<String, Request> requests = new ConcurrentHashMap<String, Request>();
protected final String requestID; protected final String requestID;
......
...@@ -20,6 +20,12 @@ ...@@ -20,6 +20,12 @@
package org.jivesoftware.xmpp.workgroup.request; package org.jivesoftware.xmpp.workgroup.request;
import java.util.Arrays;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.QName;
import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.xmpp.workgroup.AgentNotFoundException; import org.jivesoftware.xmpp.workgroup.AgentNotFoundException;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.RequestQueue; import org.jivesoftware.xmpp.workgroup.RequestQueue;
...@@ -27,25 +33,23 @@ import org.jivesoftware.xmpp.workgroup.Workgroup; ...@@ -27,25 +33,23 @@ import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.jivesoftware.xmpp.workgroup.interceptor.RoomInterceptorManager; import org.jivesoftware.xmpp.workgroup.interceptor.RoomInterceptorManager;
import org.jivesoftware.xmpp.workgroup.routing.RoutingManager; import org.jivesoftware.xmpp.workgroup.routing.RoutingManager;
import org.dom4j.DocumentHelper; import org.slf4j.Logger;
import org.dom4j.Element; import org.slf4j.LoggerFactory;
import org.dom4j.QName;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException;
import org.xmpp.muc.Invitation; import org.xmpp.muc.Invitation;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import org.xmpp.packet.Message; import org.xmpp.packet.Message;
import org.xmpp.packet.PacketError; import org.xmpp.packet.PacketError;
import java.util.Arrays;
/** /**
* Request sent by an agent to transfer a session support to another agent. * Request sent by an agent to transfer a session support to another agent.
* *
* @author Gaston Dombiak * @author Gaston Dombiak
*/ */
public class TransferRequest extends Request { public class TransferRequest extends Request {
private static final Logger Log = LoggerFactory.getLogger(TransferRequest.class);
/** /**
* Time limit to wait for the invitee to join the support room. The limit is verified once the agent * Time limit to wait for the invitee to join the support room. The limit is verified once the agent
* accepted the offer or a MUC invitation was sent to the user. * accepted the offer or a MUC invitation was sent to the user.
......
...@@ -35,7 +35,6 @@ import org.dom4j.DocumentHelper; ...@@ -35,7 +35,6 @@ import org.dom4j.DocumentHelper;
import org.dom4j.Element; import org.dom4j.Element;
import org.dom4j.QName; import org.dom4j.QName;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException; import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
...@@ -44,6 +43,8 @@ import org.jivesoftware.xmpp.workgroup.UserCommunicationMethod; ...@@ -44,6 +43,8 @@ import org.jivesoftware.xmpp.workgroup.UserCommunicationMethod;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.chatbot.ChatbotSession; import org.jivesoftware.xmpp.workgroup.chatbot.ChatbotSession;
import org.jivesoftware.xmpp.workgroup.spi.WorkgroupCompatibleClient; import org.jivesoftware.xmpp.workgroup.spi.WorkgroupCompatibleClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.forms.DataForm; import org.xmpp.forms.DataForm;
import org.xmpp.forms.FormField; import org.xmpp.forms.FormField;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
...@@ -56,6 +57,8 @@ import org.xmpp.packet.JID; ...@@ -56,6 +57,8 @@ import org.xmpp.packet.JID;
*/ */
public class UserRequest extends Request { public class UserRequest extends Request {
private static final Logger Log = LoggerFactory.getLogger(UserRequest.class);
private static final String INSERT_SESSION = private static final String INSERT_SESSION =
"INSERT INTO fpSession(sessionID, userID, workgroupID, state, queueWaitTime, " + "INSERT INTO fpSession(sessionID, userID, workgroupID, state, queueWaitTime, " +
"startTime, endTime) values(?,?,?,?,?,?,?)"; "startTime, endTime) values(?,?,?,?,?,?,?)";
...@@ -131,9 +134,9 @@ public class UserRequest extends Request { ...@@ -131,9 +134,9 @@ public class UserRequest extends Request {
// compatible client // compatible client
this.communicationMethod = WorkgroupCompatibleClient.getInstance(); this.communicationMethod = WorkgroupCompatibleClient.getInstance();
Iterator elementIter = packet.getChildElement().elementIterator(); Iterator<Element> elementIter = packet.getChildElement().elementIterator();
while (elementIter.hasNext()) { while (elementIter.hasNext()) {
Element element = (Element)elementIter.next(); Element element = elementIter.next();
if ("queue-notifications".equals(element.getName())) { if ("queue-notifications".equals(element.getName())) {
setNotify(true); setNotify(true);
} }
...@@ -145,8 +148,8 @@ public class UserRequest extends Request { ...@@ -145,8 +148,8 @@ public class UserRequest extends Request {
} }
} }
else if ("metadata".equals(element.getName())) { else if ("metadata".equals(element.getName())) {
for (Iterator i = element.elementIterator(); i.hasNext();) { for (Iterator<Element> i = element.elementIterator(); i.hasNext();) {
Element item = (Element)i.next(); Element item = i.next();
if ("value".equals(item.getName())) { if ("value".equals(item.getName())) {
String name = item.attributeValue("name"); String name = item.attributeValue("name");
if (name != null) { if (name != null) {
...@@ -207,7 +210,7 @@ public class UserRequest extends Request { ...@@ -207,7 +210,7 @@ public class UserRequest extends Request {
communicationMethod.notifyQueueStatus(workgroup.getJID(), userJID, this, isPolling); communicationMethod.notifyQueueStatus(workgroup.getJID(), userJID, this, isPolling);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -387,7 +390,7 @@ public class UserRequest extends Request { ...@@ -387,7 +390,7 @@ public class UserRequest extends Request {
communicationMethod.notifyQueueDepartued(sender, userJID, this, type); communicationMethod.notifyQueueDepartued(sender, userJID, this, type);
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -497,7 +500,7 @@ public class UserRequest extends Request { ...@@ -497,7 +500,7 @@ public class UserRequest extends Request {
pstmt.close(); pstmt.close();
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(con); DbConnectionManager.closeConnection(con);
......
...@@ -20,20 +20,24 @@ ...@@ -20,20 +20,24 @@
package org.jivesoftware.xmpp.workgroup.routing; package org.jivesoftware.xmpp.workgroup.routing;
import org.jivesoftware.xmpp.workgroup.RequestQueue;
import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.request.UserRequest;
import org.jivesoftware.xmpp.workgroup.spi.routers.WordMatchRouter;
import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException;
import org.xmpp.component.ComponentManagerFactory;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.*; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.xmpp.workgroup.RequestQueue;
import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.request.UserRequest;
import org.jivesoftware.xmpp.workgroup.spi.routers.WordMatchRouter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* Provides a registration and event processing for all <code>RequestRouter</code>s. * Provides a registration and event processing for all <code>RequestRouter</code>s.
...@@ -42,6 +46,8 @@ import java.util.*; ...@@ -42,6 +46,8 @@ import java.util.*;
*/ */
public final class RoutingManager { public final class RoutingManager {
private static final Logger Log = LoggerFactory.getLogger(RoutingManager.class);
private static final String ADD_ROUTING_RULE = private static final String ADD_ROUTING_RULE =
"INSERT INTO fpRouteRule (workgroupID, queueID, rulePosition, query) VALUES (?,?,?,?)"; "INSERT INTO fpRouteRule (workgroupID, queueID, rulePosition, query) VALUES (?,?,?,?)";
private static final String DELETE_ROUTING_RULE = private static final String DELETE_ROUTING_RULE =
...@@ -92,7 +98,7 @@ public final class RoutingManager { ...@@ -92,7 +98,7 @@ public final class RoutingManager {
return workgroup.getRequestQueue(rule.getQueueID()); return workgroup.getRequestQueue(rule.getQueueID());
} }
catch (NotFoundException e) { catch (NotFoundException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -143,7 +149,7 @@ public final class RoutingManager { ...@@ -143,7 +149,7 @@ public final class RoutingManager {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -171,7 +177,7 @@ public final class RoutingManager { ...@@ -171,7 +177,7 @@ public final class RoutingManager {
pstmt.execute(); pstmt.execute();
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -197,7 +203,7 @@ public final class RoutingManager { ...@@ -197,7 +203,7 @@ public final class RoutingManager {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -231,7 +237,7 @@ public final class RoutingManager { ...@@ -231,7 +237,7 @@ public final class RoutingManager {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -20,19 +20,16 @@ ...@@ -20,19 +20,16 @@
package org.jivesoftware.xmpp.workgroup.search; package org.jivesoftware.xmpp.workgroup.search;
import org.jivesoftware.xmpp.workgroup.Workgroup; import java.util.ArrayList;
import org.apache.lucene.document.DateField; import java.util.Collections;
import org.apache.lucene.document.Document; import java.util.Date;
import org.apache.lucene.queryParser.ParseException; import java.util.List;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.*;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.xmpp.component.ComponentManagerFactory; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
import java.util.*;
/** /**
* Encapsulates a search for transcripts in a workgroup. Use the public constructor * Encapsulates a search for transcripts in a workgroup. Use the public constructor
* {@link #ChatSearch(Workgroup, Date, Date, JID, String)} to create a search where * {@link #ChatSearch(Workgroup, Date, Date, JID, String)} to create a search where
...@@ -72,7 +69,7 @@ import java.util.*; ...@@ -72,7 +69,7 @@ import java.util.*;
*/ */
public class ChatSearch { public class ChatSearch {
private static final int MAX_RESULTS_SIZE; // private static final int MAX_RESULTS_SIZE;
/** /**
* Indicates whether wildcards should be enabled or ignored in searches. * Indicates whether wildcards should be enabled or ignored in searches.
*/ */
...@@ -89,19 +86,19 @@ public class ChatSearch { ...@@ -89,19 +86,19 @@ public class ChatSearch {
private transient List<QueryResult> results = new ArrayList<QueryResult>(); private transient List<QueryResult> results = new ArrayList<QueryResult>();
static { static {
// Load a custom max results size value from the Jive property file or // // Load a custom max results size value from the Jive property file or
// default to 500. // // default to 500.
int maxSize = 500; // int maxSize = 500;
String maxResultsSize = JiveGlobals.getProperty("workgroup.search.maxResultsSize"); // String maxResultsSize = JiveGlobals.getProperty("workgroup.search.maxResultsSize");
if (maxResultsSize != null) { // if (maxResultsSize != null) {
try { // try {
maxSize = Integer.parseInt(maxResultsSize); // maxSize = Integer.parseInt(maxResultsSize);
} // }
catch (NumberFormatException nfe) { // catch (NumberFormatException nfe) {
// Ignore. // // Ignore.
} // }
} // }
MAX_RESULTS_SIZE = maxSize; // MAX_RESULTS_SIZE = maxSize;
// Determine if wildcards should be ignored // Determine if wildcards should be ignored
wildcardIgnored = JiveGlobals.getBooleanProperty("workgroup.search.wildcardIgnored"); wildcardIgnored = JiveGlobals.getBooleanProperty("workgroup.search.wildcardIgnored");
} }
...@@ -320,7 +317,7 @@ public class ChatSearch { ...@@ -320,7 +317,7 @@ public class ChatSearch {
results.add(result); results.add(result);
} }
catch (NumberFormatException e) { catch (NumberFormatException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -332,7 +329,7 @@ public class ChatSearch { ...@@ -332,7 +329,7 @@ public class ChatSearch {
results.clear(); results.clear();
} }
catch(Exception e) { catch(Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
results.clear(); results.clear();
} }
finally { finally {
...@@ -351,9 +348,9 @@ public class ChatSearch { ...@@ -351,9 +348,9 @@ public class ChatSearch {
return string.indexOf('?') != -1 || string.indexOf('*') != -1 || string.indexOf('~') != -1; return string.indexOf('?') != -1 || string.indexOf('*') != -1 || string.indexOf('~') != -1;
} }
private String escapeBadCharacters(String queryString) { // private String escapeBadCharacters(String queryString) {
return StringUtils.replace(queryString, ":", "\\:"); // return StringUtils.replace(queryString, ":", "\\:");
} // }
private String lowerCaseQueryString(String queryString) { private String lowerCaseQueryString(String queryString) {
char[] chars = queryString.toCharArray(); char[] chars = queryString.toCharArray();
......
...@@ -57,12 +57,13 @@ import org.jivesoftware.openfire.fastpath.providers.ChatNotes; ...@@ -57,12 +57,13 @@ import org.jivesoftware.openfire.fastpath.providers.ChatNotes;
import org.jivesoftware.openfire.fastpath.util.TaskEngine; import org.jivesoftware.openfire.fastpath.util.TaskEngine;
import org.jivesoftware.util.ClassUtils; import org.jivesoftware.util.ClassUtils;
import org.jivesoftware.util.JiveGlobals; import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.AgentSession; import org.jivesoftware.xmpp.workgroup.AgentSession;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventDispatcher; import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventDispatcher;
import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventListener; import org.jivesoftware.xmpp.workgroup.event.WorkgroupEventListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
/** /**
...@@ -118,6 +119,8 @@ import org.xmpp.packet.JID; ...@@ -118,6 +119,8 @@ import org.xmpp.packet.JID;
*/ */
public class ChatSearchManager implements WorkgroupEventListener { public class ChatSearchManager implements WorkgroupEventListener {
private static final Logger Log = LoggerFactory.getLogger(ChatSearchManager.class);
private static final String CHATS_SINCE_DATE = private static final String CHATS_SINCE_DATE =
"SELECT sessionID,transcript,startTime FROM fpSession WHERE workgroupID=? AND " + "SELECT sessionID,transcript,startTime FROM fpSession WHERE workgroupID=? AND " +
"startTime>? AND transcript IS NOT NULL ORDER BY startTime"; "startTime>? AND transcript IS NOT NULL ORDER BY startTime";
...@@ -326,7 +329,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -326,7 +329,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
// get stop word list is there was one // get stop word list is there was one
List stopWords = new ArrayList(); List<String> stopWords = new ArrayList<String>();
if (words != null) { if (words != null) {
StringTokenizer st = new StringTokenizer(words, ","); StringTokenizer st = new StringTokenizer(words, ",");
while (st.hasMoreTokens()) { while (st.hasMoreTokens()) {
...@@ -342,7 +345,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -342,7 +345,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
// If the analyzer is null, use the standard analyzer. // If the analyzer is null, use the standard analyzer.
if (analyzer == null && stopWords.size() > 0) { if (analyzer == null && stopWords.size() > 0) {
analyzer = new StandardAnalyzer((String[])stopWords.toArray(new String[stopWords.size()])); analyzer = new StandardAnalyzer(stopWords.toArray(new String[stopWords.size()]));
} }
else if (analyzer == null) { else if (analyzer == null) {
analyzer = new StandardAnalyzer(); analyzer = new StandardAnalyzer();
...@@ -351,7 +354,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -351,7 +354,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
indexerAnalyzer = analyzer; indexerAnalyzer = analyzer;
} }
private Analyzer getAnalyzerInstance(String analyzerClass, List stopWords) throws Exception { private Analyzer getAnalyzerInstance(String analyzerClass, List<String> stopWords) throws Exception {
Analyzer analyzer = null; Analyzer analyzer = null;
// Load the class. // Load the class.
Class c = null; Class c = null;
...@@ -397,7 +400,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -397,7 +400,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
try { try {
...@@ -406,7 +409,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -406,7 +409,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
try { try {
...@@ -415,7 +418,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -415,7 +418,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
try { try {
if (con != null) { if (con != null) {
...@@ -423,7 +426,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -423,7 +426,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -644,7 +647,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -644,7 +647,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
// Reset the answer if an error happened // Reset the answer if an error happened
chats = new ArrayList<ChatInformation>(); chats = new ArrayList<ChatInformation>();
...@@ -656,7 +659,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -656,7 +659,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
...@@ -666,7 +669,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -666,7 +669,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
try { try {
...@@ -675,7 +678,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -675,7 +678,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
try { try {
...@@ -684,7 +687,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -684,7 +687,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
// Return the chats order by startTime // Return the chats order by startTime
...@@ -733,7 +736,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -733,7 +736,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
// Reset the lastDate if an error happened // Reset the lastDate if an error happened
lastDate = null; lastDate = null;
} }
...@@ -744,7 +747,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -744,7 +747,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -780,7 +783,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -780,7 +783,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
if (result != null) { if (result != null) {
...@@ -788,7 +791,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -788,7 +791,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
result.close(); result.close();
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
...@@ -822,7 +825,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -822,7 +825,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
try { try {
...@@ -831,7 +834,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -831,7 +834,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
try { try {
if (con != null) { if (con != null) {
...@@ -839,7 +842,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -839,7 +842,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -857,7 +860,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -857,7 +860,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
try { try {
...@@ -866,7 +869,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -866,7 +869,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
try { try {
if (con != null) { if (con != null) {
...@@ -874,7 +877,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -874,7 +877,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
...@@ -885,8 +888,8 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -885,8 +888,8 @@ public class ChatSearchManager implements WorkgroupEventListener {
boolean hasMessages = false; boolean hasMessages = false;
Document document = new Document(); Document document = new Document();
for (Iterator elements = chat.getTranscript().elementIterator(); elements.hasNext();) { for (Iterator<Element> elements = chat.getTranscript().elementIterator(); elements.hasNext();) {
Element element = (Element)elements.next(); Element element = elements.next();
// Only add Messages to the index (Presences are discarded) // Only add Messages to the index (Presences are discarded)
if ("message".equals(element.getName())) { if ("message".equals(element.getName())) {
// TODO Index XHTML bodies? // TODO Index XHTML bodies?
...@@ -1007,7 +1010,7 @@ public class ChatSearchManager implements WorkgroupEventListener { ...@@ -1007,7 +1010,7 @@ public class ChatSearchManager implements WorkgroupEventListener {
updateIndex(true); updateIndex(true);
} }
catch (IOException e) { catch (IOException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
}); });
......
...@@ -35,10 +35,11 @@ import java.util.Map; ...@@ -35,10 +35,11 @@ import java.util.Map;
import org.dom4j.Element; import org.dom4j.Element;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.AgentNotFoundException; import org.jivesoftware.xmpp.workgroup.AgentNotFoundException;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.forms.DataForm; import org.xmpp.forms.DataForm;
import org.xmpp.forms.FormField; import org.xmpp.forms.FormField;
import org.xmpp.packet.IQ; import org.xmpp.packet.IQ;
...@@ -55,6 +56,8 @@ import org.xmpp.packet.PacketError; ...@@ -55,6 +56,8 @@ import org.xmpp.packet.PacketError;
*/ */
public class IQChatSearchHandler { public class IQChatSearchHandler {
private static final Logger Log = LoggerFactory.getLogger(IQChatSearchHandler.class);
private static final String LOAD_META_DATA = private static final String LOAD_META_DATA =
"SELECT metadataName, metadataValue FROM fpSessionMetadata WHERE sessionID=?"; "SELECT metadataName, metadataValue FROM fpSessionMetadata WHERE sessionID=?";
...@@ -155,7 +158,7 @@ public class IQChatSearchHandler { ...@@ -155,7 +158,7 @@ public class IQChatSearchHandler {
fields.put("relevance", result.getRelevance()); fields.put("relevance", result.getRelevance());
// Add Metadata // Add Metadata
Map metadata = getMetadataMap(result.getSessionID()); Map<String, String> metadata = getMetadataMap(result.getSessionID());
if (metadata.containsKey("question")) { if (metadata.containsKey("question")) {
fields.put("question", metadata.get("question")); fields.put("question", metadata.get("question"));
} }
...@@ -242,7 +245,7 @@ public class IQChatSearchHandler { ...@@ -242,7 +245,7 @@ public class IQChatSearchHandler {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -11,11 +11,12 @@ import java.util.List; ...@@ -11,11 +11,12 @@ import java.util.List;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.openfire.user.UserNotFoundException; import org.jivesoftware.openfire.user.UserNotFoundException;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.jivesoftware.xmpp.workgroup.RequestQueue; import org.jivesoftware.xmpp.workgroup.RequestQueue;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.WorkgroupManager; import org.jivesoftware.xmpp.workgroup.WorkgroupManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xmpp.packet.JID; import org.xmpp.packet.JID;
...@@ -27,6 +28,8 @@ import org.xmpp.packet.JID; ...@@ -27,6 +28,8 @@ import org.xmpp.packet.JID;
*/ */
public final class ChatHistoryUtils { public final class ChatHistoryUtils {
private static final Logger Log = LoggerFactory.getLogger(ChatHistoryUtils.class);
private static final String ALL_SESSION_TIMES = private static final String ALL_SESSION_TIMES =
"SELECT startTime, endTime FROM fpSession"; "SELECT startTime, endTime FROM fpSession";
private static final String ACCEPTED_CHATS_COUNT = private static final String ACCEPTED_CHATS_COUNT =
...@@ -103,15 +106,15 @@ public final class ChatHistoryUtils { ...@@ -103,15 +106,15 @@ public final class ChatHistoryUtils {
} }
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
catch (NumberFormatException e) { catch (NumberFormatException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -134,7 +137,7 @@ public final class ChatHistoryUtils { ...@@ -134,7 +137,7 @@ public final class ChatHistoryUtils {
workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName)); workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName));
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
if (workgroup == null) { if (workgroup == null) {
return 0; return 0;
...@@ -157,7 +160,7 @@ public final class ChatHistoryUtils { ...@@ -157,7 +160,7 @@ public final class ChatHistoryUtils {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -179,7 +182,7 @@ public final class ChatHistoryUtils { ...@@ -179,7 +182,7 @@ public final class ChatHistoryUtils {
workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName)); workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName));
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
int totalWorkgroupChatTime = 0; int totalWorkgroupChatTime = 0;
...@@ -206,7 +209,7 @@ public final class ChatHistoryUtils { ...@@ -206,7 +209,7 @@ public final class ChatHistoryUtils {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -247,7 +250,7 @@ public final class ChatHistoryUtils { ...@@ -247,7 +250,7 @@ public final class ChatHistoryUtils {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -270,7 +273,7 @@ public final class ChatHistoryUtils { ...@@ -270,7 +273,7 @@ public final class ChatHistoryUtils {
workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName)); workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName));
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
if (workgroup == null) { if (workgroup == null) {
return 0; return 0;
...@@ -295,7 +298,7 @@ public final class ChatHistoryUtils { ...@@ -295,7 +298,7 @@ public final class ChatHistoryUtils {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -323,7 +326,7 @@ public final class ChatHistoryUtils { ...@@ -323,7 +326,7 @@ public final class ChatHistoryUtils {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -345,7 +348,7 @@ public final class ChatHistoryUtils { ...@@ -345,7 +348,7 @@ public final class ChatHistoryUtils {
workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName)); workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName));
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
if (workgroup == null) { if (workgroup == null) {
return 0; return 0;
...@@ -370,7 +373,7 @@ public final class ChatHistoryUtils { ...@@ -370,7 +373,7 @@ public final class ChatHistoryUtils {
} }
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -392,7 +395,7 @@ public final class ChatHistoryUtils { ...@@ -392,7 +395,7 @@ public final class ChatHistoryUtils {
workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName)); workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName));
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
int count = 0; int count = 0;
...@@ -457,7 +460,7 @@ public final class ChatHistoryUtils { ...@@ -457,7 +460,7 @@ public final class ChatHistoryUtils {
count = rs.getInt(1); count = rs.getInt(1);
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -483,7 +486,7 @@ public final class ChatHistoryUtils { ...@@ -483,7 +486,7 @@ public final class ChatHistoryUtils {
count = rs.getInt(1); count = rs.getInt(1);
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -509,7 +512,7 @@ public final class ChatHistoryUtils { ...@@ -509,7 +512,7 @@ public final class ChatHistoryUtils {
totalWaitTime = rs.getInt(1); totalWaitTime = rs.getInt(1);
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -531,7 +534,7 @@ public final class ChatHistoryUtils { ...@@ -531,7 +534,7 @@ public final class ChatHistoryUtils {
workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName)); workgroup = WorkgroupManager.getInstance().getWorkgroup(new JID(workgroupName));
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
if (workgroup == null) { if (workgroup == null) {
return 0; return 0;
...@@ -555,7 +558,7 @@ public final class ChatHistoryUtils { ...@@ -555,7 +558,7 @@ public final class ChatHistoryUtils {
waitTime = rs.getInt(1); waitTime = rs.getInt(1);
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
......
...@@ -19,19 +19,20 @@ ...@@ -19,19 +19,20 @@
*/ */
package org.jivesoftware.xmpp.workgroup.spi; package org.jivesoftware.xmpp.workgroup.spi;
import org.jivesoftware.xmpp.workgroup.DbProperties;
import org.jivesoftware.xmpp.workgroup.UnauthorizedException;
import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.xmpp.component.ComponentManagerFactory;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.*; import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.xmpp.workgroup.DbProperties;
import org.jivesoftware.xmpp.workgroup.UnauthorizedException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* Generic implementation of entity property manager will work against any standard * Generic implementation of entity property manager will work against any standard
* jiveXProp table. Several entities require property management. This class will * jiveXProp table. Several entities require property management. This class will
...@@ -41,6 +42,8 @@ import java.util.concurrent.ConcurrentHashMap; ...@@ -41,6 +42,8 @@ import java.util.concurrent.ConcurrentHashMap;
*/ */
public class JiveLiveProperties implements DbProperties { public class JiveLiveProperties implements DbProperties {
private static final Logger Log = LoggerFactory.getLogger(JiveLiveProperties.class);
private long id; private long id;
private Map<String, String> properties = new ConcurrentHashMap<String, String>(); private Map<String, String> properties = new ConcurrentHashMap<String, String>();
private String tableName; private String tableName;
...@@ -82,7 +85,7 @@ public class JiveLiveProperties implements DbProperties { ...@@ -82,7 +85,7 @@ public class JiveLiveProperties implements DbProperties {
properties.remove(name); properties.remove(name);
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -108,7 +111,7 @@ public class JiveLiveProperties implements DbProperties { ...@@ -108,7 +111,7 @@ public class JiveLiveProperties implements DbProperties {
} }
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(rs, pstmt, con); DbConnectionManager.closeConnection(rs, pstmt, con);
...@@ -127,7 +130,7 @@ public class JiveLiveProperties implements DbProperties { ...@@ -127,7 +130,7 @@ public class JiveLiveProperties implements DbProperties {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (SQLException e) { catch (SQLException e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -146,7 +149,7 @@ public class JiveLiveProperties implements DbProperties { ...@@ -146,7 +149,7 @@ public class JiveLiveProperties implements DbProperties {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (SQLException ex) { catch (SQLException ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
......
...@@ -20,21 +20,22 @@ ...@@ -20,21 +20,22 @@
package org.jivesoftware.xmpp.workgroup.spi.dispatcher; package org.jivesoftware.xmpp.workgroup.spi.dispatcher;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.xmpp.workgroup.UnauthorizedException; import org.jivesoftware.xmpp.workgroup.UnauthorizedException;
import org.jivesoftware.xmpp.workgroup.UserAlreadyExistsException; import org.jivesoftware.xmpp.workgroup.UserAlreadyExistsException;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.dispatcher.BasicDispatcherInfo; import org.jivesoftware.xmpp.workgroup.dispatcher.BasicDispatcherInfo;
import org.jivesoftware.xmpp.workgroup.dispatcher.DispatcherInfo; import org.jivesoftware.xmpp.workgroup.dispatcher.DispatcherInfo;
import org.jivesoftware.xmpp.workgroup.dispatcher.DispatcherInfoProvider; import org.jivesoftware.xmpp.workgroup.dispatcher.DispatcherInfoProvider;
import org.jivesoftware.database.DbConnectionManager; import org.slf4j.Logger;
import org.jivesoftware.util.LocaleUtils; import org.slf4j.LoggerFactory;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/** /**
* <p>The Jive default implementation of dispatch info provider relying on any standard * <p>The Jive default implementation of dispatch info provider relying on any standard
...@@ -44,6 +45,8 @@ import java.sql.SQLException; ...@@ -44,6 +45,8 @@ import java.sql.SQLException;
*/ */
public class DbDispatcherInfoProvider implements DispatcherInfoProvider { public class DbDispatcherInfoProvider implements DispatcherInfoProvider {
private static final Logger Log = LoggerFactory.getLogger(DbDispatcherInfoProvider.class);
private static final String INSERT_DISPATCHER = private static final String INSERT_DISPATCHER =
"INSERT INTO fpDispatcher (name, description, offerTimeout, requestTimeout, queueID) VALUES (?,?,?,?,?)"; "INSERT INTO fpDispatcher (name, description, offerTimeout, requestTimeout, queueID) VALUES (?,?,?,?,?)";
private static final String LOAD_DISPATCHER_BY_ID = private static final String LOAD_DISPATCHER_BY_ID =
......
...@@ -22,12 +22,13 @@ package org.jivesoftware.xmpp.workgroup.spi.routers; ...@@ -22,12 +22,13 @@ package org.jivesoftware.xmpp.workgroup.spi.routers;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.jivesoftware.util.Log;
import org.jivesoftware.xmpp.workgroup.DbProperties; import org.jivesoftware.xmpp.workgroup.DbProperties;
import org.jivesoftware.xmpp.workgroup.RequestQueue; import org.jivesoftware.xmpp.workgroup.RequestQueue;
import org.jivesoftware.xmpp.workgroup.Workgroup; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.request.UserRequest; import org.jivesoftware.xmpp.workgroup.request.UserRequest;
import org.jivesoftware.xmpp.workgroup.routing.RequestRouter; import org.jivesoftware.xmpp.workgroup.routing.RequestRouter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* <p>Routes requests to the queue with the most matching meta-data.</p> * <p>Routes requests to the queue with the most matching meta-data.</p>
...@@ -36,6 +37,8 @@ import org.jivesoftware.xmpp.workgroup.routing.RequestRouter; ...@@ -36,6 +37,8 @@ import org.jivesoftware.xmpp.workgroup.routing.RequestRouter;
*/ */
public class MetaDataRouter extends RequestRouter { public class MetaDataRouter extends RequestRouter {
private static final Logger Log = LoggerFactory.getLogger(MetaDataRouter.class);
public MetaDataRouter() { public MetaDataRouter() {
} }
...@@ -140,7 +143,7 @@ public class MetaDataRouter extends RequestRouter { ...@@ -140,7 +143,7 @@ public class MetaDataRouter extends RequestRouter {
} }
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
return currentMatch; return currentMatch;
} }
......
...@@ -20,24 +20,33 @@ ...@@ -20,24 +20,33 @@
package org.jivesoftware.xmpp.workgroup.spi.routers; package org.jivesoftware.xmpp.workgroup.spi.routers;
import org.jivesoftware.xmpp.workgroup.Workgroup; import java.io.Reader;
import org.jivesoftware.xmpp.workgroup.request.Request; import java.util.List;
import org.jivesoftware.xmpp.workgroup.request.UserRequest; import java.util.Map;
import org.jivesoftware.xmpp.workgroup.routing.RequestRouter;
import org.jivesoftware.xmpp.workgroup.utils.ModelUtil; import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.*; import org.apache.lucene.analysis.LowerCaseTokenizer;
import org.apache.lucene.analysis.PorterStemFilter;
import org.apache.lucene.analysis.StopFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document; import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field; import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.*; import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.store.RAMDirectory; import org.apache.lucene.store.RAMDirectory;
import org.jivesoftware.util.Log; import org.jivesoftware.xmpp.workgroup.Workgroup;
import org.jivesoftware.xmpp.workgroup.request.Request;
import java.io.Reader; import org.jivesoftware.xmpp.workgroup.request.UserRequest;
import java.util.List; import org.jivesoftware.xmpp.workgroup.routing.RequestRouter;
import java.util.Map; import org.jivesoftware.xmpp.workgroup.utils.ModelUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* The WordMatcheRouter using Lucense index to search individual metadata as specified * The WordMatcheRouter using Lucense index to search individual metadata as specified
...@@ -45,6 +54,8 @@ import java.util.Map; ...@@ -45,6 +54,8 @@ import java.util.Map;
*/ */
public class WordMatchRouter extends RequestRouter { public class WordMatchRouter extends RequestRouter {
private static final Logger Log = LoggerFactory.getLogger(WordMatchRouter.class);
private boolean stemmingEnabled; private boolean stemmingEnabled;
private Analyzer analyzer; private Analyzer analyzer;
...@@ -163,7 +174,7 @@ public class WordMatchRouter extends RequestRouter { ...@@ -163,7 +174,7 @@ public class WordMatchRouter extends RequestRouter {
searcher.close(); searcher.close();
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
return foundMatch; return foundMatch;
......
...@@ -25,14 +25,17 @@ import java.sql.PreparedStatement; ...@@ -25,14 +25,17 @@ import java.sql.PreparedStatement;
import java.util.Date; import java.util.Date;
import org.jivesoftware.database.DbConnectionManager; import org.jivesoftware.database.DbConnectionManager;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.StringUtils; import org.jivesoftware.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* Handles basic DB Operations. * Handles basic DB Operations.
*/ */
public class DbWorkgroup { public class DbWorkgroup {
private static final Logger Log = LoggerFactory.getLogger(DbWorkgroup.class);
private static final String UPDATE_TRANSCRIPT = private static final String UPDATE_TRANSCRIPT =
"UPDATE fpSession SET transcript=?, endTime=? WHERE sessionID=?"; "UPDATE fpSession SET transcript=?, endTime=? WHERE sessionID=?";
private static final String INSERT_AGENT_SESSION = private static final String INSERT_AGENT_SESSION =
...@@ -64,7 +67,7 @@ public class DbWorkgroup { ...@@ -64,7 +67,7 @@ public class DbWorkgroup {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
...@@ -101,7 +104,7 @@ public class DbWorkgroup { ...@@ -101,7 +104,7 @@ public class DbWorkgroup {
pstmt.executeUpdate(); pstmt.executeUpdate();
} }
catch (Exception ex) { catch (Exception ex) {
Log.error(ex); Log.error(ex.getMessage(), ex);
} }
finally { finally {
DbConnectionManager.closeConnection(pstmt, con); DbConnectionManager.closeConnection(pstmt, con);
......
...@@ -27,6 +27,7 @@ import java.util.*; ...@@ -27,6 +27,7 @@ import java.util.*;
* classes. * classes.
*/ */
public final class ModelUtil { public final class ModelUtil {
private ModelUtil() { private ModelUtil() {
// Prevents instantiation. // Prevents instantiation.
} }
...@@ -244,8 +245,8 @@ public final class ModelUtil { ...@@ -244,8 +245,8 @@ public final class ModelUtil {
final long MS_IN_AN_HOUR = 1000 * 60 * 60; final long MS_IN_AN_HOUR = 1000 * 60 * 60;
final long MS_IN_A_MINUTE = 1000 * 60; final long MS_IN_A_MINUTE = 1000 * 60;
final long MS_IN_A_SECOND = 1000; final long MS_IN_A_SECOND = 1000;
Date currentTime = new Date(); //Date currentTime = new Date();
long numDays = diff / MS_IN_A_DAY; //long numDays = diff / MS_IN_A_DAY;
diff = diff % MS_IN_A_DAY; diff = diff % MS_IN_A_DAY;
long numHours = diff / MS_IN_AN_HOUR; long numHours = diff / MS_IN_AN_HOUR;
diff = diff % MS_IN_AN_HOUR; diff = diff % MS_IN_AN_HOUR;
...@@ -253,7 +254,7 @@ public final class ModelUtil { ...@@ -253,7 +254,7 @@ public final class ModelUtil {
diff = diff % MS_IN_A_MINUTE; diff = diff % MS_IN_A_MINUTE;
long numSeconds = diff / MS_IN_A_SECOND; long numSeconds = diff / MS_IN_A_SECOND;
diff = diff % MS_IN_A_SECOND; diff = diff % MS_IN_A_SECOND;
long numMilliseconds = diff; //long numMilliseconds = diff;
StringBuilder buf = new StringBuilder(); StringBuilder buf = new StringBuilder();
if (numHours > 0) { if (numHours > 0) {
...@@ -274,8 +275,8 @@ public final class ModelUtil { ...@@ -274,8 +275,8 @@ public final class ModelUtil {
/** /**
* Build a List of all elements in an Iterator. * Build a List of all elements in an Iterator.
*/ */
public static List iteratorAsList(Iterator i) { public static <E> List<E> iteratorAsList(Iterator<E> i) {
ArrayList list = new ArrayList(10); ArrayList<E> list = new ArrayList<E>(10);
while (i.hasNext()) { while (i.hasNext()) {
list.add(i.next()); list.add(i.next());
} }
...@@ -285,18 +286,18 @@ public final class ModelUtil { ...@@ -285,18 +286,18 @@ public final class ModelUtil {
/** /**
* Creates an Iterator that is the reverse of a ListIterator. * Creates an Iterator that is the reverse of a ListIterator.
*/ */
public static Iterator reverseListIterator(ListIterator i) { public static <E> Iterator<E> reverseListIterator(ListIterator<E> i) {
return new ReverseListIterator(i); return new ReverseListIterator<E>(i);
} }
} }
/** /**
* An Iterator that is the reverse of a ListIterator. * An Iterator that is the reverse of a ListIterator.
*/ */
class ReverseListIterator implements Iterator { class ReverseListIterator<E> implements Iterator<E> {
private ListIterator _i; private ListIterator<E> _i;
ReverseListIterator(ListIterator i) { ReverseListIterator(ListIterator<E> i) {
_i = i; _i = i;
while (_i.hasNext()) while (_i.hasNext())
_i.next(); _i.next();
...@@ -306,7 +307,7 @@ class ReverseListIterator implements Iterator { ...@@ -306,7 +307,7 @@ class ReverseListIterator implements Iterator {
return _i.hasPrevious(); return _i.hasPrevious();
} }
public Object next() { public E next() {
return _i.previous(); return _i.previous();
} }
......
...@@ -20,7 +20,11 @@ ...@@ -20,7 +20,11 @@
package org.jivesoftware.xmpp.workgroup.utils; package org.jivesoftware.xmpp.workgroup.utils;
import org.jivesoftware.util.Log; import java.rmi.server.UID;
import java.util.Date;
import java.util.Properties;
import java.util.StringTokenizer;
import javax.mail.Authenticator; import javax.mail.Authenticator;
import javax.mail.Message; import javax.mail.Message;
import javax.mail.PasswordAuthentication; import javax.mail.PasswordAuthentication;
...@@ -32,12 +36,13 @@ import javax.mail.internet.MimeBodyPart; ...@@ -32,12 +36,13 @@ import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeMultipart;
import java.rmi.server.UID; import org.slf4j.Logger;
import java.util.Date; import org.slf4j.LoggerFactory;
import java.util.Properties;
import java.util.StringTokenizer;
public class SendMail { public class SendMail {
private static final Logger Log = LoggerFactory.getLogger(SendMail.class);
private String toField; private String toField;
private String subjectField; private String subjectField;
private String messageText; private String messageText;
......
...@@ -29,7 +29,8 @@ import java.lang.reflect.Method; ...@@ -29,7 +29,8 @@ import java.lang.reflect.Method;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import org.jivesoftware.util.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* <code>URLFileSystem</code> class handles some of the most common * <code>URLFileSystem</code> class handles some of the most common
...@@ -39,6 +40,9 @@ import org.jivesoftware.util.Log; ...@@ -39,6 +40,9 @@ import org.jivesoftware.util.Log;
*/ */
public class URLFileSystem { public class URLFileSystem {
private static final Logger Log = LoggerFactory.getLogger(URLFileSystem.class);
public static void main(String args[]) { public static void main(String args[]) {
} }
...@@ -469,7 +473,7 @@ public class URLFileSystem { ...@@ -469,7 +473,7 @@ public class URLFileSystem {
return seed; return seed;
} }
catch (Exception e) { catch (Exception e) {
Log.error(e); Log.error(e.getMessage(), e);
return null; return null;
} }
} }
......
...@@ -19,9 +19,6 @@ ...@@ -19,9 +19,6 @@
*/ */
package org.jivesoftware.xmpp.workgroup.utils; package org.jivesoftware.xmpp.workgroup.utils;
import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.Log;
import java.beans.BeanDescriptor; import java.beans.BeanDescriptor;
import java.beans.BeanInfo; import java.beans.BeanInfo;
import java.beans.EventSetDescriptor; import java.beans.EventSetDescriptor;
...@@ -35,12 +32,18 @@ import java.util.Locale; ...@@ -35,12 +32,18 @@ import java.util.Locale;
import java.util.MissingResourceException; import java.util.MissingResourceException;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import org.jivesoftware.util.JiveGlobals;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public abstract class WorkgroupBeanInfo implements BeanInfo { public abstract class WorkgroupBeanInfo implements BeanInfo {
private static final Logger Log = LoggerFactory.getLogger(WorkgroupBeanInfo.class);
private ResourceBundle bundle; private ResourceBundle bundle;
public WorkgroupBeanInfo() { public WorkgroupBeanInfo() {
List bundleNames = new ArrayList(); List<String> bundleNames = new ArrayList<String>();
String prefix = "bean_"; String prefix = "bean_";
// fully qualified class name: bean_com.foo.MyClass.properties // fully qualified class name: bean_com.foo.MyClass.properties
bundleNames.add(prefix + getClass().toString()); bundleNames.add(prefix + getClass().toString());
...@@ -49,7 +52,7 @@ public abstract class WorkgroupBeanInfo implements BeanInfo { ...@@ -49,7 +52,7 @@ public abstract class WorkgroupBeanInfo implements BeanInfo {
//Get the locale that should be used, then load the resource bundle. //Get the locale that should be used, then load the resource bundle.
Locale currentLocale = JiveGlobals.getLocale(); Locale currentLocale = JiveGlobals.getLocale();
for (int i = 0, n = bundleNames.size(); i < n; i++) { for (int i = 0, n = bundleNames.size(); i < n; i++) {
String name = (String)bundleNames.get(i); String name = bundleNames.get(i);
try { try {
// TODO - possibly use other class loaders? // TODO - possibly use other class loaders?
bundle = ResourceBundle.getBundle(name, currentLocale); bundle = ResourceBundle.getBundle(name, currentLocale);
...@@ -127,9 +130,9 @@ public abstract class WorkgroupBeanInfo implements BeanInfo { ...@@ -127,9 +130,9 @@ public abstract class WorkgroupBeanInfo implements BeanInfo {
catch (MissingResourceException ignored) { catch (MissingResourceException ignored) {
} }
// Add any other properties that are specified. // Add any other properties that are specified.
Enumeration e = bundle.getKeys(); Enumeration<String> e = bundle.getKeys();
while (e.hasMoreElements()) { while (e.hasMoreElements()) {
String key = (String)e.nextElement(); String key = e.nextElement();
try { try {
String value = bundle.getString(key); String value = bundle.getString(key);
if (value != null) { if (value != null) {
...@@ -186,7 +189,7 @@ public abstract class WorkgroupBeanInfo implements BeanInfo { ...@@ -186,7 +189,7 @@ public abstract class WorkgroupBeanInfo implements BeanInfo {
return descriptors; return descriptors;
} }
catch (IntrospectionException ie) { catch (IntrospectionException ie) {
Log.error(ie); Log.error(ie.getMessage(), ie);
throw new Error(ie.toString()); throw new Error(ie.toString());
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment