Commit 8aa04ea1 authored by Dele Olajide's avatar Dele Olajide Committed by daryl herzmann

OF-1461 - Making fastpath plugin compatible with openfire meetings (#995)

parent f5d8af4c
...@@ -44,6 +44,11 @@ ...@@ -44,6 +44,11 @@
Fastpath Plugin Changelog Fastpath Plugin Changelog
</h1> </h1>
<p><b>4.4.3</b> -- January 3, 2017</p>
<ul>
<li>[<a href='https://issues.igniterealtime.org/browse/OF-1461'>OF-1461</a>] - Making fastpath plugin compatible with openfire meetings.</li>
</ul>
<p><b>4.4.2</b> -- December 2, 2016</p> <p><b>4.4.2</b> -- December 2, 2016</p>
<ul> <ul>
<li>[<a href='https://issues.igniterealtime.org/browse/OF-1232'>OF-1232</a>] - Fastpath now has JiveSharedSecretSaslServer requirement found in 4.1 Openfire.</li> <li>[<a href='https://issues.igniterealtime.org/browse/OF-1232'>OF-1232</a>] - Fastpath now has JiveSharedSecretSaslServer requirement found in 4.1 Openfire.</li>
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<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.4.2</version> <version>4.4.3</version>
<date>12/2/2016</date> <date>01/3/2017</date>
<minServerVersion>4.1.0</minServerVersion> <minServerVersion>4.1.0</minServerVersion>
<databaseKey>fastpath</databaseKey> <databaseKey>fastpath</databaseKey>
<databaseVersion>0</databaseVersion> <databaseVersion>0</databaseVersion>
......
...@@ -18,6 +18,7 @@ package org.jivesoftware.openfire.fastpath; ...@@ -18,6 +18,7 @@ package org.jivesoftware.openfire.fastpath;
import java.io.File; import java.io.File;
import java.io.FileFilter; import java.io.FileFilter;
import java.util.Collection;
import org.jivesoftware.openfire.cluster.ClusterEventListener; import org.jivesoftware.openfire.cluster.ClusterEventListener;
import org.jivesoftware.openfire.cluster.ClusterManager; import org.jivesoftware.openfire.cluster.ClusterManager;
...@@ -44,7 +45,7 @@ import org.xmpp.packet.JID; ...@@ -44,7 +45,7 @@ import org.xmpp.packet.JID;
public class FastpathPlugin implements Plugin, ClusterEventListener { public class FastpathPlugin implements Plugin, ClusterEventListener {
private static final Logger Log = LoggerFactory.getLogger(FastpathPlugin.class); 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.
*/ */
...@@ -134,6 +135,14 @@ public class FastpathPlugin implements Plugin, ClusterEventListener { ...@@ -134,6 +135,14 @@ public class FastpathPlugin implements Plugin, ClusterEventListener {
workgroupManager = null; workgroupManager = null;
} }
public WorkgroupManager getWorkgroupManager() {
return workgroupManager;
}
public Collection<Workgroup> getWorkgroups() {
return workgroupManager.getWorkgroups();
}
public void joinedCluster() { public void joinedCluster() {
workgroupManagerStop(); workgroupManagerStop();
} }
......
...@@ -87,7 +87,7 @@ import org.xmpp.packet.Presence; ...@@ -87,7 +87,7 @@ import org.xmpp.packet.Presence;
public class Workgroup { public class Workgroup {
private static final Logger Log = LoggerFactory.getLogger(Workgroup.class); 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, " +
...@@ -819,10 +819,11 @@ public class Workgroup { ...@@ -819,10 +819,11 @@ public class Workgroup {
values = new ArrayList<String>(); values = new ArrayList<String>();
values.add("0"); values.add("0");
fields.put("anonymous", values); fields.put("anonymous", values);
// Only broadcast presences of participants and visitors // Broadcast presences of moderators, participants and visitors
values = new ArrayList<String>(); values = new ArrayList<String>();
values.add("participant"); values.add("participant");
values.add("visitor"); values.add("visitor");
values.add("moderators");
fields.put("muc#roomconfig_presencebroadcast", values); fields.put("muc#roomconfig_presencebroadcast", values);
RoomConfiguration conf = new RoomConfiguration(fields); RoomConfiguration conf = new RoomConfiguration(fields);
...@@ -1058,7 +1059,7 @@ public class Workgroup { ...@@ -1058,7 +1059,7 @@ public class Workgroup {
public Status getStatus() { public Status getStatus() {
// TODO: The logic in this method appears too complex. May need refactor after // TODO: The logic in this method appears too complex. May need refactor after
// TODO: removing schedule feature. // TODO: removing schedule feature.
boolean actualOpenStatus = open; boolean actualOpenStatus = open;
// Workgroup can only be open if there are agents in the workgroup. // Workgroup can only be open if there are agents in the workgroup.
......
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