You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by be...@apache.org on 2009/03/25 16:48:59 UTC
svn commit: r758315 - in
/labs/vysper/src/main/java/org/apache/vysper/xmpp/modules:
core/im/handler/PresenceSubscriptionHandler.java roster/RosterModule.java
Author: berndf
Date: Wed Mar 25 15:48:54 2009
New Revision: 758315
URL: http://svn.apache.org/viewvc?rev=758315&view=rev
Log:
[vysper] LABS-125 try to fix JCR roster persistence (completed)
Modified:
labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceSubscriptionHandler.java
labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterModule.java
Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceSubscriptionHandler.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceSubscriptionHandler.java?rev=758315&r1=758314&r2=758315&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceSubscriptionHandler.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/core/im/handler/PresenceSubscriptionHandler.java Wed Mar 25 15:48:54 2009
@@ -17,16 +17,17 @@
package org.apache.vysper.xmpp.modules.core.im.handler;
-import org.apache.vysper.compliance.SpecCompliant;
import org.apache.vysper.compliance.SpecCompliance;
-import static org.apache.vysper.compliance.SpecCompliant.ComplianceStatus.*;
+import org.apache.vysper.compliance.SpecCompliant;
+import static org.apache.vysper.compliance.SpecCompliant.ComplianceStatus.IN_PROGRESS;
+import static org.apache.vysper.compliance.SpecCompliant.ComplianceStatus.NOT_STARTED;
import org.apache.vysper.xmpp.addressing.Entity;
import org.apache.vysper.xmpp.addressing.EntityImpl;
import org.apache.vysper.xmpp.delivery.DeliveryException;
import org.apache.vysper.xmpp.delivery.StanzaRelay;
import org.apache.vysper.xmpp.delivery.failure.IgnoreFailureStrategy;
-import static org.apache.vysper.xmpp.modules.roster.AskSubscriptionType.ASK_SUBSCRIBE;
import static org.apache.vysper.xmpp.modules.roster.AskSubscriptionType.ASK_SUBSCRIBED;
+import static org.apache.vysper.xmpp.modules.roster.AskSubscriptionType.ASK_SUBSCRIBE;
import org.apache.vysper.xmpp.modules.roster.RosterException;
import org.apache.vysper.xmpp.modules.roster.RosterItem;
import org.apache.vysper.xmpp.modules.roster.RosterStanzaUtils;
@@ -51,6 +52,8 @@
/**
* handling presence stanzas of type subscription
+ *
+ * TODO: review all the printStackTraces and throws and turn them into logs or stanza errors
*/
public class PresenceSubscriptionHandler extends AbstractPresenceSpecializedHandler {
@@ -324,18 +327,19 @@
RosterItem rosterItem = null;
try {
rosterItem = getExistingOrNewRosterItem(rosterManager, userBareJid, contactBareJid);
+
+ RosterSubscriptionMutator.Result result = RosterSubscriptionMutator.getInstance().add(rosterItem, FROM);
+ if (result != OK) {
+ // TODO
+ return;
+ }
+
+ rosterManager.addContact(userBareJid, rosterItem);
} catch (RosterException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
- RosterSubscriptionMutator.Result result = RosterSubscriptionMutator.getInstance().add(rosterItem, FROM);
-
- if (result != OK) {
- // TODO
- return;
- }
-
relayStanza(contact, stanza, sessionContext);
// send roster push to all of the user's interested resources
@@ -359,7 +363,6 @@
RosterItem rosterItem = rosterManager.getContact(userJid, contactJid);
if (rosterItem == null) {
rosterItem = new RosterItem(contactJid, NONE);
- rosterManager.addContact(userJid, rosterItem);
}
return rosterItem;
}
@@ -381,15 +384,18 @@
Entity userBareJid = user.getBareJID();
RosterItem rosterItem;
+ RosterSubscriptionMutator.Result result;
try {
rosterItem = getExistingOrNewRosterItem(rosterManager, userBareJid, contact);
+
+ result = RosterSubscriptionMutator.getInstance().add(rosterItem, TO);
+
+ rosterManager.addContact(userBareJid, rosterItem);
} catch (RosterException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
- RosterSubscriptionMutator.Result result = RosterSubscriptionMutator.getInstance().add(rosterItem, TO);
-
if (result == OK || result == ALREADY_SET) {
// send roster push to all interested resources
@@ -419,22 +425,25 @@
Entity userBareJid = user.getBareJID();
RosterItem rosterItem;
+ RosterSubscriptionMutator.Result result;
try {
rosterItem = getExistingOrNewRosterItem(rosterManager, userBareJid, contact);
+
+ result = RosterSubscriptionMutator.getInstance().add(rosterItem, ASK_SUBSCRIBED);
+
+ rosterManager.addContact(userBareJid, rosterItem);
} catch (RosterException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
- RosterSubscriptionMutator.Result result = RosterSubscriptionMutator.getInstance().add(rosterItem, ASK_SUBSCRIBED);
-
// check whether user already has a subscription to contact
- if (result == ALREADY_SET) {
+ if (result == ALREADY_SET) {
Entity receiver = contact.getBareJID();
PresenceStanza alreadySubscribedResponse = buildPresenceStanza(userBareJid, receiver, SUBSCRIBED, null);
relayStanza(receiver, alreadySubscribedResponse, sessionContext);
return null;
- }
+ }
// user exists and doesn't have a subscription, so...
@@ -462,16 +471,17 @@
RosterItem rosterItem = null;
try {
rosterItem = getExistingOrNewRosterItem(rosterManager, user.getBareJID(), contact);
+
+ RosterSubscriptionMutator.Result result = RosterSubscriptionMutator.getInstance().add(rosterItem, ASK_SUBSCRIBE);
+ if (result != OK) {
+ return;
+ }
+
+ rosterManager.addContact(user.getBareJID(), rosterItem);
} catch (RosterException e) {
- e.printStackTrace();
throw new RuntimeException(e);
}
- RosterSubscriptionMutator.Result result = RosterSubscriptionMutator.getInstance().add(rosterItem, ASK_SUBSCRIBE);
- if (result != OK) {
- return;
- }
-
// relay the stanza to the contact (via the contact's server)
try {
stanzaRelay.relay(stanza.getTo(), stanza, new IgnoreFailureStrategy());
Modified: labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterModule.java
URL: http://svn.apache.org/viewvc/labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterModule.java?rev=758315&r1=758314&r2=758315&view=diff
==============================================================================
--- labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterModule.java (original)
+++ labs/vysper/src/main/java/org/apache/vysper/xmpp/modules/roster/RosterModule.java Wed Mar 25 15:48:54 2009
@@ -16,10 +16,9 @@
***********************************************************************/
package org.apache.vysper.xmpp.modules.roster;
-import org.apache.vysper.storage.jcr.JcrStorage;
-import org.apache.vysper.storage.jcr.roster.JcrRosterManager;
import org.apache.vysper.xmpp.modules.DefaultModule;
import org.apache.vysper.xmpp.modules.ServerRuntimeContextService;
+import org.apache.vysper.xmpp.modules.roster.persistence.MemoryRosterManager;
import org.apache.vysper.xmpp.protocol.HandlerDictionary;
import java.util.List;
@@ -46,7 +45,7 @@
@Override
protected void addServerServices(List<ServerRuntimeContextService> serviceList) {
- serviceList.add(new JcrRosterManager(JcrStorage.getInstance()));
- //serviceList.add(new MemoryRosterManager());
+ //serviceList.add(new JcrRosterManager(JcrStorage.getInstance()));
+ serviceList.add(new MemoryRosterManager());
}
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org