Package com.ibm.sbt.bss.app

Source Code of com.ibm.sbt.bss.app.CustomerProvisioning

/*
* © Copyright IBM Corp. 2014
*
* Licensed 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.
*/
package com.ibm.sbt.bss.app;

import com.ibm.sbt.services.client.base.JsonEntity;
import com.ibm.sbt.services.client.smartcloud.bss.SubscriberManagementService;

/**
* @author mwallace
*
*/
public class CustomerProvisioning extends BaseBssApp {

  /**
   * @param url
   * @param user
   * @param password
   */
  public CustomerProvisioning(String url, String user, String password) {
    super(url, user, password);
  }

  /**
   * Demonstrate a Customer Provisioning workflow.
   *
   * @param args
   */
  public static void main(String[] args) {
    if (args.length < 3) {
      System.out.println("Usage: java com.ibm.sbt.bss.app.CustomerProvisioning <url> <user> <password>");
      return;
    }
   
    String url = args[0];
    String user = args[1];
    String password = args[2];
   
    CustomerProvisioning cp = null;
    try {
      cp = new CustomerProvisioning(url, user, password);

      String email = cp.getUniqueEmail("mailinator.com");
      System.out.println("Email: " + email);
      String customerId = cp.registerCustomer("Some Company", email);
      System.out.println("Customer Id: " + customerId);
     
      /*
      EntityList<JsonEntity> subscriptions = cp.getSubscriptionsById(customerId);
      System.out.println("Subscriptions: "+subscriptions.size());
      String subscriptionId = null;
      for (JsonEntity subscription : subscriptions) {
        long oid = subscription.getAsLong("Oid");
        String partNumber = subscription.getAsString("PartNumber");
        System.out.println(partNumber);
        // part number for IBM SmartCloud Connections
        if ("D0NWLLL".equalsIgnoreCase(partNumber)) {
          subscriptionId = "" + oid;
          break;
        }
      }
      if (StringUtil.isEmpty(subscriptionId)) {
          subscriptionId = cp.createSubscription(customerId, 3, "D0NWLLL", 5);
      }
      */
      String subscriptionId = cp.createSubscription(customerId, 3, "D0NWLLL", 5);
      System.out.println("Subscription Id: " + subscriptionId);
     
      SubscriberManagementService subscriberManagement = cp.getSubscriberManagementService();
      //EntityList<JsonEntity> subscribers = subscriberManagement.getSubscribersByEmail(email);
      //JsonEntity subscriber = subscribers.get(0);
      //String subscriberId = String.valueOf(subscriber.getAsLong("Oid"));
      String subscriberId = cp.addSubscriber(customerId, cp.getUniqueEmail("mailinator.com"), SubscriberManagementService.Role.CustomerAdministrator);
      System.out.println("Subscriber Id: " + subscriberId);
      JsonEntity subscriber = cp.getSubscriberById(subscriberId);
      System.out.println("Subscriber: " + subscriber.toJsonString(false));
         String loginName = subscriber.getAsString("Subscriber/Person/EmailAddress");
         System.out.println("Login Name: " + loginName);
      String subscriberState = subscriber.getAsString("Subscriber/SubscriberState");
      System.out.println("Subscriber State: " + subscriberState);
     
      if (!"ACTIVE".equals(subscriberState)) {
        subscriberManagement.activateSubscriber(subscriberId);
        System.out.println("Activated subscriber: " + subscriberId);
      }
     
      cp.setOneTimePassword(loginName, "one-time-123");
      cp.changePassword(loginName, "one-time-123", "password1");
      System.out.println("Changed password: " + loginName);
     
      cp.entitleSubscriber(subscriberId, subscriptionId, true);
      System.out.println("Entitled subscriber: " + subscriptionId);
     
      subscriber = subscriberManagement.getSubscriberById(subscriberId);
      System.out.println(subscriber.toJsonString(false))
     
      System.out.println("Customer provisioning successful");
     
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
 
}
TOP

Related Classes of com.ibm.sbt.bss.app.CustomerProvisioning

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.