Java 类com.amazonaws.services.sns.model.CreatePlatformEndpointRequest 实例源码

项目:aws-java-sns-mobile-push-sample    文件:AmazonSNSClientWrapper.java   
private CreatePlatformEndpointResult createPlatformEndpoint(
        Platform platform, String customData, String platformToken,
        String applicationArn) {
    CreatePlatformEndpointRequest platformEndpointRequest = new CreatePlatformEndpointRequest();
    platformEndpointRequest.setCustomUserData(customData);
    String token = platformToken;
    String userId = null;
    if (platform == Platform.BAIDU) {
        String[] tokenBits = platformToken.split("\\|");
        token = tokenBits[0];
        userId = tokenBits[1];
        Map<String, String> endpointAttributes = new HashMap<String, String>();
        endpointAttributes.put("UserId", userId);
        endpointAttributes.put("ChannelId", token);
        platformEndpointRequest.setAttributes(endpointAttributes);
    }
    platformEndpointRequest.setToken(token);
    platformEndpointRequest.setPlatformApplicationArn(applicationArn);
    return snsClient.createPlatformEndpoint(platformEndpointRequest);
}
项目:DenunciaMXBackEnd    文件:AmazonSNSClientWrapper.java   
private CreatePlatformEndpointResult createPlatformEndpoint(
        Platform platform, String customData, String platformToken,
        String applicationArn) {
    CreatePlatformEndpointRequest platformEndpointRequest = new CreatePlatformEndpointRequest();
    platformEndpointRequest.setCustomUserData(customData);
    String token = platformToken;
    String userId = null;
    if (platform == Platform.BAIDU) {
        String[] tokenBits = platformToken.split("\\|");
        token = tokenBits[0];
        userId = tokenBits[1];
        Map<String, String> endpointAttributes = new HashMap<String, String>();
        endpointAttributes.put("UserId", userId);
        endpointAttributes.put("ChannelId", token);
        platformEndpointRequest.setAttributes(endpointAttributes);
    }
    platformEndpointRequest.setToken(token);
    platformEndpointRequest.setPlatformApplicationArn(applicationArn);
    return snsClient.createPlatformEndpoint(platformEndpointRequest);
}
项目:aws-sdk-java-resources    文件:PlatformApplicationIntegrationTest.java   
@Test
@Ignore
public void testActions() throws InterruptedException {

    String topicArn = TopicIntegrationTest.getOrCreateTopic().getArn();

    // setAttributes
    application.setAttributes(new SetPlatformApplicationAttributesRequest()
        .addAttributesEntry("EventEndpointCreated", topicArn)
        .addAttributesEntry("EventEndpointDeleted", topicArn)
        .addAttributesEntry("EventEndpointUpdated", topicArn)
        );
    refreshApplication();
    Assert.assertEquals(topicArn, application.getAttributes().get("EventEndpointCreated"));
    Assert.assertEquals(topicArn, application.getAttributes().get("EventEndpointDeleted"));
    Assert.assertEquals(topicArn, application.getAttributes().get("EventEndpointUpdated"));


    // createPlatformEndpoint
    application.createPlatformEndpoint(new CreatePlatformEndpointRequest()
        .withToken(GCM_DEVICE_TOKEN)
        .withCustomUserData("My custom user data")
        );

}
项目:Ignite    文件:AmazonSNSClientWrapper.java   
private CreatePlatformEndpointResult createPlatformEndpoint(
        Platform platform, String customData, String platformToken,
        String applicationArn) {
    CreatePlatformEndpointRequest platformEndpointRequest = new CreatePlatformEndpointRequest();
    platformEndpointRequest.setCustomUserData(customData);
    String token = platformToken;
    String userId = null;
    if (platform == Platform.BAIDU) {
        String[] tokenBits = platformToken.split("\\|");
        token = tokenBits[0];
        userId = tokenBits[1];
        Map<String, String> endpointAttributes = new HashMap<String, String>();
        endpointAttributes.put("UserId", userId);
        endpointAttributes.put("ChannelId", token);
        platformEndpointRequest.setAttributes(endpointAttributes);
    }
    platformEndpointRequest.setToken(token);
    platformEndpointRequest.setPlatformApplicationArn(applicationArn);
    return snsClient.createPlatformEndpoint(platformEndpointRequest);
}
项目:oxAuth    文件:PushSnsService.java   
public String createPlatformArn(AmazonSNS snsClient, String platformApplicationArn, String token, User user) {
    CreatePlatformEndpointRequest platformEndpointRequest = new CreatePlatformEndpointRequest();
    platformEndpointRequest.setPlatformApplicationArn(platformApplicationArn);
    platformEndpointRequest.setToken(token);

    String customUserData = getCustomUserData(user);
    platformEndpointRequest.setCustomUserData(customUserData);

    CreatePlatformEndpointResult platformEndpointResult = snsClient.createPlatformEndpoint(platformEndpointRequest);

    return platformEndpointResult.getEndpointArn();
}
项目:aws-sdk-java-resources    文件:PlatformApplicationImpl.java   
@Override
public PlatformEndpoint createPlatformEndpoint(CreatePlatformEndpointRequest
        request, ResultCapture<CreatePlatformEndpointResult> extractor) {

    ActionResult result = resource.performAction("CreatePlatformEndpoint",
            request, extractor);

    if (result == null) return null;
    return new PlatformEndpointImpl(result.getResource());
}
项目:aws-sns-builders    文件:CreatePlatformEndpointRequestBuilderTest.java   
@Test
public void testARNAndTokenConstructor() throws Exception {
    CreatePlatformEndpointRequest r = new CreatePlatformEndpointRequestBuilder(new ApplicationArn("a1"), "t1")
            .getRequest();
    assertEquals("a1", r.getPlatformApplicationArn());
    assertEquals("t1", r.getToken());
}
项目:aws-sns-builders    文件:CreatePlatformEndpointRequestBuilderTest.java   
@Test
public void testPlatformApplicationArn() throws Exception {
    CreatePlatformEndpointRequest r = new CreatePlatformEndpointRequestBuilder(new ApplicationArn("a1"), "t1")
            .platformApplicationArn(new ApplicationArn("a2"))
            .getRequest();
    assertEquals("a2", r.getPlatformApplicationArn());
}
项目:aws-sns-builders    文件:CreatePlatformEndpointRequestBuilderTest.java   
@Test
public void testToken() throws Exception {
    CreatePlatformEndpointRequest r = new CreatePlatformEndpointRequestBuilder(new ApplicationArn("a1"), "t1")
            .token("t2")
            .getRequest();
    assertEquals("t2", r.getToken());
}
项目:aws-sns-builders    文件:CreatePlatformEndpointRequestBuilderTest.java   
@Test
public void testCustomUserData() throws Exception {
    CreatePlatformEndpointRequest r = new CreatePlatformEndpointRequestBuilder(new ApplicationArn("a1"), "t1")
            .customUserData("c1")
            .getRequest();
    assertEquals("c1", r.getCustomUserData());
}
项目:aws-sns-builders    文件:CreatePlatformEndpointRequestBuilderTest.java   
@Test
public void testAttribute() throws Exception {
    CreatePlatformEndpointRequest r = new CreatePlatformEndpointRequestBuilder(new ApplicationArn("a1"), "t1")
            .attribute("ak1", "av1")
            .getRequest();
    assertEquals("av1", r.getAttributes().get("ak1"));
}
项目:aws-sns-builders    文件:CreatePlatformEndpointRequestBuilderTest.java   
@Test
public void testGetRequest() throws Exception {
    CreatePlatformEndpointRequest r = new CreatePlatformEndpointRequestBuilder(new ApplicationArn("a1"), "t1")
            .attribute("ak1", "av1")
            .customUserData("c1")
            .platformApplicationArn(new ApplicationArn("a2"))
            .token("t2")
            .getRequest();
    assertEquals("av1", r.getAttributes().get("ak1"));
    assertEquals("a2", r.getPlatformApplicationArn());
    assertEquals("c1", r.getCustomUserData());
    assertEquals("t2", r.getToken());
}
项目:aws-snsmobilepush    文件:SNSMobilePush.java   
private CreatePlatformEndpointResult createPlatformEndpoint(
        String customData, String platformToken, String applicationArn) {
    CreatePlatformEndpointRequest platformEndpointRequest = new CreatePlatformEndpointRequest();
    platformEndpointRequest.setCustomUserData(customData);
    platformEndpointRequest.setToken(platformToken);
    platformEndpointRequest.setPlatformApplicationArn(applicationArn);
    return snsClient.createPlatformEndpoint(platformEndpointRequest);
}
项目:unitstack    文件:MockSnsTest.java   
@Test
public void testNonInjectableMocks_shouldReturnNormal() {
  mockSns(new MockParameters());

  CheckIfPhoneNumberIsOptedOutRequest phoneRequest = new CheckIfPhoneNumberIsOptedOutRequest()
      .withPhoneNumber("555123456");
  CheckIfPhoneNumberIsOptedOutResult phoneResult = sns.checkIfPhoneNumberIsOptedOut(phoneRequest);
  assertNotNull(phoneResult);

  CreatePlatformApplicationRequest createPlatformRequest = new CreatePlatformApplicationRequest()
      .withAttributes(ImmutableMap.of("os","oreo"))
      .withName("android").withPlatform("mobile");
  assertNotNull(sns.createPlatformApplication(createPlatformRequest));

  CreatePlatformEndpointRequest createPlatformEndpointReq = new CreatePlatformEndpointRequest()
      .withAttributes(ImmutableMap.of("os","lollypop"))
      .withCustomUserData("something custom")
      .withPlatformApplicationArn("mobile")
      .withToken("5-euro-token");
  assertNotNull(sns.createPlatformEndpoint(createPlatformEndpointReq));

  DeleteEndpointRequest deleteEndpointReq = new DeleteEndpointRequest()
      .withEndpointArn("arn:aws:sms:us-east-1:123456789012:myc:02034b43-fefa-4e07-a5e");
  assertNotNull(sns.deleteEndpoint(deleteEndpointReq));

  DeletePlatformApplicationRequest delPlatformAppReq = new DeletePlatformApplicationRequest()
      .withPlatformApplicationArn("arn:aws:sms:us-east-1:123456789012:myc:02034b43-fefa-4e07-a5e");
  assertNotNull(sns.deletePlatformApplication(delPlatformAppReq));

  GetEndpointAttributesRequest getEndpointAttr = new GetEndpointAttributesRequest();
  assertNotNull(sns.getEndpointAttributes(getEndpointAttr));

  assertNotNull(sns.getPlatformApplicationAttributes(
      new GetPlatformApplicationAttributesRequest().withPlatformApplicationArn("some-arn")));

  assertNotNull(sns.getSMSAttributes(new GetSMSAttributesRequest().withAttributes("attr1","attr2")));

  assertNotNull(sns.listEndpointsByPlatformApplication(new ListEndpointsByPlatformApplicationRequest()
      .withNextToken("0-euro-token").withPlatformApplicationArn("cheap-arn")));

  assertNotNull(sns.listPhoneNumbersOptedOut(new ListPhoneNumbersOptedOutRequest().withNextToken("plastic-token")));

  assertNotNull(sns.listPlatformApplications(new ListPlatformApplicationsRequest().withNextToken("wooden-token")));

  assertNotNull(sns.listPlatformApplications());

  assertNotNull(sns.optInPhoneNumber(new OptInPhoneNumberRequest().withPhoneNumber("123456789")));

  assertNotNull(sns.setEndpointAttributes(new SetEndpointAttributesRequest().withEndpointArn("at the end of the world")
      .withAttributes(ImmutableMap.of("some-prop","some-value"))));

  assertNotNull(sns.setPlatformApplicationAttributes(new SetPlatformApplicationAttributesRequest().withPlatformApplicationArn("arnn:::")
      .withAttributes(ImmutableMap.of("super","mario"))));

  assertNotNull(sns.setSMSAttributes(new SetSMSAttributesRequest().withAttributes(ImmutableMap.of("wtf","mfg"))));

  assertNotNull(sns.removePermission(new RemovePermissionRequest().withLabel("fashion label").withTopicArn("fancy topic")));
}
项目:spacedog-server    文件:PushResource.java   
String createApplicationEndpoint(String backendId, String appId, PushService service, String token) {

        Optional<PlatformApplication> application = getApplication(appId, service);

        if (!application.isPresent())
            throw Exceptions.illegalArgument(//
                    "push service [%s] of mobile application [%s] not registered in AWS", //
                    appId, service);

        String applicationArn = application.get().getPlatformApplicationArn();

        String endpointArn = null;

        try {
            endpointArn = getSnsClient()
                    .createPlatformEndpoint(//
                            new CreatePlatformEndpointRequest()//
                                    .withPlatformApplicationArn(applicationArn)//
                                    .withToken(token))//
                    .getEndpointArn();

        } catch (InvalidParameterException e) {
            String message = e.getErrorMessage();
            Utils.info("Exception message: %s", message);
            Pattern p = Pattern.compile(".*Endpoint (arn:aws:sns[^ ]+) already exists " + "with the same token.*");
            Matcher m = p.matcher(message);
            if (m.matches()) {
                // The platform endpoint already exists for this token, but with
                // additional custom data that
                // createEndpoint doesn't want to overwrite. Just use the
                // existing platform endpoint.
                endpointArn = m.group(1);
            } else {
                throw e;
            }
        }

        if (endpointArn == null)
            throw new RuntimeException("failed to create device notification endpoint: try again later");

        boolean updateNeeded = false;

        try {
            GetEndpointAttributesResult endpointAttributes = getSnsClient()
                    .getEndpointAttributes(new GetEndpointAttributesRequest().withEndpointArn(endpointArn));

            updateNeeded = !endpointAttributes.getAttributes().get("Token").equals(token)
                    || !endpointAttributes.getAttributes().get("Enabled").equalsIgnoreCase("true");

        } catch (NotFoundException nfe) {
            // We had a stored ARN, but the platform endpoint associated with it
            // disappeared. Recreate it.
            endpointArn = null;
        }

        if (endpointArn == null)
            throw new RuntimeException("failed to create device notification endpoint: try again later");

        if (updateNeeded) {
            // The platform endpoint is out of sync with the current data;
            // update the token and enable it.
            Map<String, String> attribs = new HashMap<>();
            attribs.put("Token", token);
            attribs.put("Enabled", "true");
            getSnsClient().setEndpointAttributes(//
                    new SetEndpointAttributesRequest()//
                            .withEndpointArn(endpointArn)//
                            .withAttributes(attribs));
        }

        return endpointArn;
    }
项目:spacedog-server    文件:PushResource2.java   
String createApplicationEndpoint(String backendId, String appId, PushServices service, String token) {

        PlatformApplication application = getApplication(backendId, appId, service)//
                .orElseThrow(//
                        () -> Exceptions.illegalArgument(//
                                "push service [%s] not registered for mobile    application [%s]", //
                                appId, service));

        String endpointArn = null;
        String applicationArn = application.getPlatformApplicationArn();

        try {
            endpointArn = getSnsClient()
                    .createPlatformEndpoint(//
                            new CreatePlatformEndpointRequest()//
                                    .withPlatformApplicationArn(applicationArn)//
                                    .withToken(token))//
                    .getEndpointArn();

        } catch (InvalidParameterException e) {
            String message = e.getErrorMessage();
            Utils.info("Exception message: %s", message);
            Pattern p = Pattern.compile(".*Endpoint (arn:aws:sns[^ ]+) already exists " + "with the same token.*");
            Matcher m = p.matcher(message);
            if (m.matches()) {
                // The platform endpoint already exists for this token, but with
                // additional custom data that
                // createEndpoint doesn't want to overwrite. Just use the
                // existing platform endpoint.
                endpointArn = m.group(1);
            } else {
                throw e;
            }
        }

        if (endpointArn == null)
            throw new RuntimeException("failed to create device notification endpoint: try again later");

        boolean updateNeeded = false;

        try {
            GetEndpointAttributesResult endpointAttributes = getSnsClient()
                    .getEndpointAttributes(new GetEndpointAttributesRequest().withEndpointArn(endpointArn));

            updateNeeded = !endpointAttributes.getAttributes().get("Token").equals(token)
                    || !endpointAttributes.getAttributes().get("Enabled").equalsIgnoreCase("true");

        } catch (NotFoundException nfe) {
            // We had a stored ARN, but the platform endpoint associated with it
            // disappeared. Recreate it.
            endpointArn = null;
        }

        if (endpointArn == null)
            throw new RuntimeException("failed to create device notification endpoint: try again later");

        if (updateNeeded) {
            // The platform endpoint is out of sync with the current data;
            // update the token and enable it.
            Map<String, String> attribs = new HashMap<String, String>();
            attribs.put("Token", token);
            attribs.put("Enabled", "true");
            getSnsClient().setEndpointAttributes(//
                    new SetEndpointAttributesRequest()//
                            .withEndpointArn(endpointArn)//
                            .withAttributes(attribs));
        }

        return endpointArn;
    }
项目:aws-sdk-java-resources    文件:PlatformApplicationImpl.java   
@Override
public PlatformEndpoint createPlatformEndpoint(CreatePlatformEndpointRequest
        request) {

    return createPlatformEndpoint(request, null);
}
项目:aws-sns-builders    文件:CreatePlatformEndpointRequestBuilder.java   
public CreatePlatformEndpointRequest getRequest() {
    return request;
}
项目:aws-sdk-java-resources    文件:PlatformApplication.java   
/**
 * Performs the <code>CreatePlatformEndpoint</code> action.
 *
 * <p>
 * The following request parameters will be populated from the data of this
 * <code>PlatformApplication</code> resource, and any conflicting parameter
 * value set in the request will be overridden:
 * <ul>
 *   <li>
 *     <b><code>PlatformApplicationArn</code></b>
 *         - mapped from the <code>Arn</code> identifier.
 *   </li>
 * </ul>
 *
 * <p>
 *
 * @return The <code>PlatformEndpoint</code> resource object associated with
 *         the result of this action.
 * @see CreatePlatformEndpointRequest
 */
PlatformEndpoint createPlatformEndpoint(CreatePlatformEndpointRequest
        request);
项目:aws-sdk-java-resources    文件:PlatformApplication.java   
/**
 * Performs the <code>CreatePlatformEndpoint</code> action and use a
 * ResultCapture to retrieve the low-level client response.
 *
 * <p>
 * The following request parameters will be populated from the data of this
 * <code>PlatformApplication</code> resource, and any conflicting parameter
 * value set in the request will be overridden:
 * <ul>
 *   <li>
 *     <b><code>PlatformApplicationArn</code></b>
 *         - mapped from the <code>Arn</code> identifier.
 *   </li>
 * </ul>
 *
 * <p>
 *
 * @return The <code>PlatformEndpoint</code> resource object associated with
 *         the result of this action.
 * @see CreatePlatformEndpointRequest
 */
PlatformEndpoint createPlatformEndpoint(CreatePlatformEndpointRequest
        request, ResultCapture<CreatePlatformEndpointResult> extractor);
项目:aws-sns-builders    文件:SNSMobilePush.java   
/**
 * Create an Endpoint. This corresponds to an app on a device. Use {@link CreatePlatformEndpointRequestBuilder}.
 *
 * @param request
 * @return The endpoint Arn
 */
public EndpointArn createEndpoint(CreatePlatformEndpointRequest request);