You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/01/23 00:28:43 UTC
[1/2] incubator-usergrid git commit: remove excess methods
Repository: incubator-usergrid
Updated Branches:
refs/heads/USERGRID-323-Win-phone c3b2026af -> 1d003747c
remove excess methods
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/124b29b6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/124b29b6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/124b29b6
Branch: refs/heads/USERGRID-323-Win-phone
Commit: 124b29b6fe439fa2628a1be95906ccb53eedc85a
Parents: c3b2026
Author: Shawn Feldman <sf...@apache.org>
Authored: Thu Jan 22 15:44:02 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Thu Jan 22 15:44:02 2015 -0700
----------------------------------------------------------------------
.../Usergrid.Notifications/App.xaml | 22 +++++++++++++++++++-
.../Client/IUsergridClient.cs | 11 +---------
.../Usergrid.Notifications/Client/PushClient.cs | 19 ++---------------
.../Usergrid.Notifications/Client/Usergrid.cs | 7 +++----
.../Usergrid.Notifications/MainPage.xaml | 4 ----
.../Usergrid.Notifications/MainPage.xaml.cs | 10 +--------
.../impl/ApplicationQueueManagerImpl.java | 8 +++++--
.../services/notifications/wns/WNSAdapter.java | 4 ++++
8 files changed, 38 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/124b29b6/sdks/dotnet/samples/notifications/Usergrid.Notifications/App.xaml
----------------------------------------------------------------------
diff --git a/sdks/dotnet/samples/notifications/Usergrid.Notifications/App.xaml b/sdks/dotnet/samples/notifications/Usergrid.Notifications/App.xaml
index 8a36359..486a2fd 100644
--- a/sdks/dotnet/samples/notifications/Usergrid.Notifications/App.xaml
+++ b/sdks/dotnet/samples/notifications/Usergrid.Notifications/App.xaml
@@ -3,5 +3,25 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Usergrid.Notifications">
-
+<!--
+ /*
+ *
+ * * Licensed to the Apache Software Foundation (ASF) under one or more
+ * * contributor license agreements. The ASF licenses this file to You
+ * * under the Apache License, Version 2.0 (the "License"); you may not
+ * * use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License. For additional information regarding
+ * * copyright in this work, please see the NOTICE file in the top level
+ * * directory of this distribution.
+ *
+ */
+ -->
</Application>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/124b29b6/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/IUsergridClient.cs
----------------------------------------------------------------------
diff --git a/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/IUsergridClient.cs b/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/IUsergridClient.cs
index 96acf28..986b2a1 100644
--- a/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/IUsergridClient.cs
+++ b/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/IUsergridClient.cs
@@ -64,7 +64,7 @@ namespace Usergrid.Notifications.Client
/// <summary>
/// Only show http calls
/// </summary>
- public interface UsergridHttpClient
+ public interface IUsergridHttpClient
{
/// <summary>
/// Send Http call async
@@ -91,15 +91,6 @@ namespace Usergrid.Notifications.Client
public interface IPushClient
{
/// <summary>
- /// Add a new notifier, admin function
- /// </summary>
- /// <param name="name"></param>
- /// <param name="sid"></param>
- /// <param name="apiKey"></param>
- /// <returns></returns>
- Task AddNotifier(string name, string sid, string apiKey);
-
- /// <summary>
/// the notifier you are currently using
/// </summary>
string Notifier { get; set; }
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/124b29b6/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/PushClient.cs
----------------------------------------------------------------------
diff --git a/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/PushClient.cs b/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/PushClient.cs
index 915349d..8d23823 100644
--- a/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/PushClient.cs
+++ b/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/PushClient.cs
@@ -32,11 +32,11 @@ namespace Usergrid.Notifications.Client
public class PushClient : IPushClient
{
const string DEVICE_KEY = "currentDeviceId";
- private UsergridHttpClient usergrid;
+ private IUsergridHttpClient usergrid;
private ApplicationDataContainer settings;
private PushNotificationChannel channel;
- public PushClient(UsergridHttpClient usergrid)
+ public PushClient(IUsergridHttpClient usergrid)
{
this.usergrid = usergrid;
this.settings = ApplicationData.Current.LocalSettings;
@@ -105,21 +105,6 @@ namespace Usergrid.Notifications.Client
channel = channel != null ? channel : await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync().AsTask<PushNotificationChannel>();
}
- public async Task AddNotifier(string name, string sid, string apiKey)
- {
- JObject obj = new JObject();
- obj.Add("name", new JValue(name));
- obj.Add("sid", new JValue(sid));
- obj.Add("provider", new JValue("windows"));
- obj.Add("apiKey", new JValue(apiKey));
- obj.Add("logging", new JValue(true));
- var jsonResponse = await usergrid.SendAsync(HttpMethod.Post, "notifiers", obj);
- if (jsonResponse.StatusIsOk)
- {
- var body = jsonResponse.GetValue("entities").ToString();
- }
- }
-
private async Task<bool> DeviceExists(Guid deviceId)
{
var jsonResponse = await usergrid.SendAsync(HttpMethod.Get, "devices/" + deviceId, null);
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/124b29b6/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/Usergrid.cs
----------------------------------------------------------------------
diff --git a/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/Usergrid.cs b/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/Usergrid.cs
index 2f0adb0..a2d637d 100644
--- a/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/Usergrid.cs
+++ b/sdks/dotnet/samples/notifications/Usergrid.Notifications/Client/Usergrid.cs
@@ -30,7 +30,7 @@ namespace Usergrid.Notifications.Client
{
public class UsergridFactory
{
- public static async Task<IUsergridClient> GetInstance(string serverUrl, string org, string app)
+ public static IUsergridClient GetInstance(string serverUrl, string org, string app)
{
return new Usergrid(serverUrl, org, app);
}
@@ -40,7 +40,7 @@ namespace Usergrid.Notifications.Client
/// <summary>
/// Usergrid client
/// </summary>
- internal class Usergrid : UsergridHttpClient, IUsergridClient
+ internal class Usergrid : IUsergridHttpClient, IUsergridClient
{
private string appUrl;
private string token;
@@ -66,13 +66,12 @@ namespace Usergrid.Notifications.Client
public async Task Authenticate(string user, string password, bool isManagement)
{
- var url = "token";
var jsonObject = new JObject();
jsonObject.Add("username", user);
jsonObject.Add("password", password);
jsonObject.Add("grant_type", "password");
- var response = await SendAsync(HttpMethod.Post,url, jsonObject, isManagement);
+ var response = await SendAsync(HttpMethod.Post,"token", jsonObject, isManagement);
if (response.StatusIsOk)
{
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/124b29b6/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml
----------------------------------------------------------------------
diff --git a/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml b/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml
index d64eea8..9dc6118 100644
--- a/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml
+++ b/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml
@@ -11,10 +11,6 @@
<Grid>
<TextBox x:Name="pushText" HorizontalAlignment="Left" Margin="75,46,0,0" TextWrapping="Wrap" Text="Push Text" VerticalAlignment="Top" Width="261" TextChanged="pushText_TextChanged"/>
<Button x:Name="SendToast" Content="Toast" HorizontalAlignment="Left" Margin="75,118,0,0" VerticalAlignment="Top" Click="Button_Click" Width="39"/>
- <TextBox x:Name="NotifierName" HorizontalAlignment="Left" Margin="75,210,0,0" TextWrapping="Wrap" Text="Notifier Name" VerticalAlignment="Top" Width="261"/>
- <TextBox x:Name="Api_Key" HorizontalAlignment="Left" Margin="75,276,0,0" TextWrapping="Wrap" Text="Sid" VerticalAlignment="Top" Width="261"/>
- <TextBox x:Name="Sid" HorizontalAlignment="Left" Margin="75,348,0,0" TextWrapping="Wrap" Text="Api Key" VerticalAlignment="Top" Width="261"/>
- <Button x:Name="AddNotifierButton" Content="Add Notifier" HorizontalAlignment="Left" Margin="146,405,0,0" VerticalAlignment="Top" Click="AddNotifierButton_Click"/>
<Button x:Name="Badge" Content="Badge" HorizontalAlignment="Left" Margin="208,118,0,0" VerticalAlignment="Top" Click="Badge_Click"/>
</Grid>
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/124b29b6/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml.cs
----------------------------------------------------------------------
diff --git a/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml.cs b/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml.cs
index ca191f7..7a13a54 100644
--- a/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml.cs
+++ b/sdks/dotnet/samples/notifications/Usergrid.Notifications/MainPage.xaml.cs
@@ -38,9 +38,6 @@ namespace Usergrid.Notifications
private string org;
private string app;
private string notifier;
- private string apiKey;
- private string secret;
- private Guid deviceId;
public MainPage()
{
this.InitializeComponent();
@@ -55,7 +52,7 @@ namespace Usergrid.Notifications
private async Task setup()
{
- usergrid = await Client.UsergridFactory.GetInstance(serverUrl, org, app);
+ usergrid = Client.UsergridFactory.GetInstance(serverUrl, org, app);
await usergrid.Authenticate("superuser", "test", true);
await usergrid.Push.RegisterDevice(notifier);
}
@@ -81,11 +78,6 @@ namespace Usergrid.Notifications
}
- private async void AddNotifierButton_Click(object sender, RoutedEventArgs e)
- {
- await usergrid.Push.AddNotifier(NotifierName.Text,Sid.Text,Api_Key.Text);
- }
-
private async void Button_Click(object sender, RoutedEventArgs e)
{
var message = this.pushText.Text;
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/124b29b6/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
index c8c5165..8cc3450 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/impl/ApplicationQueueManagerImpl.java
@@ -396,15 +396,19 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
/**
- * Call the adapter with the notifier
+ * Validates that a notifier and adapter exists to send notifications to;
+ * {"winphone":"mymessage","apple":"mymessage"}
+ * TODO: document this method better
*/
private Map<String, Object> translatePayloads(Map<String, Object> payloads, Map<Object, ProviderAdapter> notifierMap) throws Exception {
Map<String, Object> translatedPayloads = new HashMap<String, Object>( payloads.size());
for (Map.Entry<String, Object> entry : payloads.entrySet()) {
String payloadKey = entry.getKey().toLowerCase();
Object payloadValue = entry.getValue();
+ //look for adapter from payload map
ProviderAdapter providerAdapter = notifierMap.get(payloadKey);
if (providerAdapter != null) {
+ //translate payload to usable information
Object translatedPayload = payloadValue != null ? providerAdapter.translatePayload(payloadValue) : null;
if (translatedPayload != null) {
translatedPayloads.put(payloadKey, translatedPayload);
@@ -520,4 +524,4 @@ public class ApplicationQueueManagerImpl implements ApplicationQueueManager {
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/124b29b6/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java
index e3f10d4..05b73d5 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java
@@ -106,8 +106,10 @@ public class WNSAdapter implements ProviderAdapter {
@Override
public Object translatePayload(Object payload) throws Exception {
+ //TODO: allow for badges and toasts at same time
TranslatedNotification translatedNotification = null;
if (payload instanceof Map) {
+ //{payloads:{winphone:{toast:"mymessage",badge:1}}}
Map<String, Object> map = (Map<String, Object>) payload;
if(map.containsKey("toast")) {
translatedNotification = new TranslatedNotification( map.get("toast").toString(),"toast");
@@ -117,6 +119,8 @@ public class WNSAdapter implements ProviderAdapter {
}
}
} else {
+ //{payloads:{winphone:"mymessage"}}
+ //make it a toast if its just a string
if (payload instanceof String) {
translatedNotification = new TranslatedNotification( (String) payload,"toast");
}else{
[2/2] incubator-usergrid git commit: add multiple notifications
Posted by sf...@apache.org.
add multiple notifications
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/1d003747
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/1d003747
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/1d003747
Branch: refs/heads/USERGRID-323-Win-phone
Commit: 1d003747c479f1fb30a0a9c1b303f9e2da1cb208
Parents: 124b29b
Author: Shawn Feldman <sf...@apache.org>
Authored: Thu Jan 22 16:28:34 2015 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Thu Jan 22 16:28:34 2015 -0700
----------------------------------------------------------------------
.../services/notifications/wns/WNSAdapter.java | 55 +++++++++++---------
1 file changed, 30 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/1d003747/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java
----------------------------------------------------------------------
diff --git a/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java b/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java
index 05b73d5..227f633 100644
--- a/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java
+++ b/stack/services/src/main/java/org/apache/usergrid/services/notifications/wns/WNSAdapter.java
@@ -26,6 +26,7 @@ import ar.com.fernandospr.wns.model.WnsBadge;
import ar.com.fernandospr.wns.model.WnsToast;
import ar.com.fernandospr.wns.model.builders.WnsBadgeBuilder;
import ar.com.fernandospr.wns.model.builders.WnsToastBuilder;
+import com.sun.jersey.api.client.ClientHandlerException;
import org.apache.usergrid.persistence.EntityManager;
import org.apache.usergrid.persistence.entities.Notification;
import org.apache.usergrid.persistence.entities.Notifier;
@@ -37,7 +38,9 @@ import org.mortbay.util.ajax.JSON;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
/**
@@ -61,31 +64,33 @@ public class WNSAdapter implements ProviderAdapter {
public void testConnection() throws ConnectionException {
WnsToast toast = new WnsToastBuilder().bindingTemplateToastText01("test").build();
try{
- //this fails every time due to
+ //this fails every time due to jax error which is ok
service.pushToast("s-1-15-2-2411381248-444863693-3819932088-4077691928-1194867744-112853457-373132695",toast);
- }catch (Exception e){
- LOG.error(e.toString());
+ }catch (ClientHandlerException e){
+ LOG.info("Windows Phone notifier added: "+e.toString());
}
}
@Override
public void sendNotification(String providerId, Object payload, Notification notification, TaskTracker tracker) throws Exception {
try {
- TranslatedNotification translatedNotification = (TranslatedNotification) payload;
- switch (translatedNotification.type){
- case "toast" :
- WnsToast toast = new WnsToastBuilder().bindingTemplateToastText01(translatedNotification.getPayload().toString()).build();
- service.pushToast(providerId, toast);
- break;
- case "badge" :
- WnsBadge badge;
- if(translatedNotification.getPayload() instanceof Integer){
- badge = new WnsBadgeBuilder().value((Integer)translatedNotification.getPayload()).build();
- }else{
- badge = new WnsBadgeBuilder().value(translatedNotification.getPayload().toString()).build();
- }
- service.pushBadge(providerId,badge);
- break;
+ List<TranslatedNotification> translatedNotifications = ( List<TranslatedNotification>) payload;
+ for(TranslatedNotification translatedNotification : translatedNotifications) {
+ switch (translatedNotification.type) {
+ case "toast":
+ WnsToast toast = new WnsToastBuilder().bindingTemplateToastText01(translatedNotification.getPayload().toString()).build();
+ service.pushToast(providerId, toast);
+ break;
+ case "badge":
+ WnsBadge badge;
+ if (translatedNotification.getPayload() instanceof Integer) {
+ badge = new WnsBadgeBuilder().value((Integer) translatedNotification.getPayload()).build();
+ } else {
+ badge = new WnsBadgeBuilder().value(translatedNotification.getPayload().toString()).build();
+ }
+ service.pushBadge(providerId, badge);
+ break;
+ }
}
tracker.completed();
} catch (Exception e) {
@@ -107,27 +112,27 @@ public class WNSAdapter implements ProviderAdapter {
@Override
public Object translatePayload(Object payload) throws Exception {
//TODO: allow for badges and toasts at same time
- TranslatedNotification translatedNotification = null;
+ List<TranslatedNotification> translatedNotifications = new ArrayList<>();
if (payload instanceof Map) {
//{payloads:{winphone:{toast:"mymessage",badge:1}}}
Map<String, Object> map = (Map<String, Object>) payload;
if(map.containsKey("toast")) {
- translatedNotification = new TranslatedNotification( map.get("toast").toString(),"toast");
- }else{
+ translatedNotifications.add(new TranslatedNotification( map.get("toast").toString(),"toast"));
+ }
if(map.containsKey("badge")){
- translatedNotification = new TranslatedNotification( map.get("badge"),"badge");
+ translatedNotifications.add(new TranslatedNotification( map.get("badge"),"badge"));
}
- }
+
} else {
//{payloads:{winphone:"mymessage"}}
//make it a toast if its just a string
if (payload instanceof String) {
- translatedNotification = new TranslatedNotification( (String) payload,"toast");
+ translatedNotifications.add(new TranslatedNotification( (String) payload,"toast"));
}else{
throw new IllegalArgumentException("format is messed up");
}
}
- return translatedNotification;
+ return translatedNotifications;
}
@Override