/* * © 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(); } } }