Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@

import ar.com.fernandospr.wns.model.WnsAbstractNotification;
import ar.com.fernandospr.wns.model.WnsNotificationRequestOptional;
import ar.com.fernandospr.wns.model.types.WnsCachePolicyTypeEnum;
import ar.com.fernandospr.wns.model.types.WnsNotificationType;
import ar.com.fernandospr.wns.model.types.WnsRequestForStatusTypeEnum;


public abstract class WnsResourceBuilder {
Expand All @@ -24,10 +26,10 @@ public Invocation.Builder build(WebTarget target, WnsAbstractNotification notifi

protected void addOptionalHeaders(Invocation.Builder webResourceBuilder, WnsNotificationRequestOptional optional) {
if (optional != null) {
if (!emptyString(optional.cachePolicy)) {
if (optional.cachePolicy != WnsCachePolicyTypeEnum.DEFAULT) {
webResourceBuilder.header("X-WNS-Cache-Policy", optional.cachePolicy);
}
if (!emptyString(optional.requestForStatus)) {
if (optional.requestForStatus != WnsRequestForStatusTypeEnum.DEFAULT) {
webResourceBuilder.header("X-WNS-RequestForStatus", optional.requestForStatus);
}
if (!emptyString(optional.tag)) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
package ar.com.fernandospr.wns.model;

import ar.com.fernandospr.wns.model.types.WnsCachePolicyTypeEnum;
import ar.com.fernandospr.wns.model.types.WnsRequestForStatusTypeEnum;

/**
* Optional headers from <a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx#send_notification_request">http://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx#send_notification_request</a>
*/
public class WnsNotificationRequestOptional {
/**
* Should be any of {@link ar.com.fernandospr.wns.model.types.WnsCachePolicyType}
* Should be any of {@link ar.com.fernandospr.wns.model.types.WnsCachePolicyTypeEnum}
*/
public String cachePolicy;
public WnsCachePolicyTypeEnum cachePolicy;

/**
* Should be any of {@link ar.com.fernandospr.wns.model.types.WnsRequestForStatusType}
* Should be any of {@link ar.com.fernandospr.wns.model.types.WnsRequestForStatusTypeEnum}
*/
public String requestForStatus;
public WnsRequestForStatusTypeEnum requestForStatus;

public String tag;

public String ttl;


}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,19 @@
/**
* From <a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx#send_notification_request">http://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx#send_notification_request</a>
*/
public final class WnsRequestForStatusType {
public static final String TRUE = "true";
public static final String FALSE = "false";
}
public enum WnsCachePolicyTypeEnum{
DEFAULT(0, ""),
CACHE(1,"cache"),
NOCACHE(2,"no-cache")
;

private int type;
private String label;

private WnsCachePolicyTypeEnum(int type, String label)
{
this.type = type;
this.label = label;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,18 @@
/**
* From <a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx#send_notification_request">http://msdn.microsoft.com/en-us/library/windows/apps/hh465435.aspx#send_notification_request</a>
*/
public final class WnsCachePolicyType {
public static final String CACHE = "cache";
public static final String NOCACHE = "no-cache";
public enum WnsRequestForStatusTypeEnum {
DEFAULT(0,""),
TRUE(1,"true"),
FALSE(2,"false")
;

private int type;
private String label;
private WnsRequestForStatusTypeEnum(int type, String label)
{
this.type = type;
this.label = label;
}

}