Package com.ibm.xsp.extlib.sbt.services.client

Source Code of com.ibm.xsp.extlib.sbt.services.client.SmartCLoudContactsService

/* ***************************************************************** */
/*
* © Copyright IBM Corp. 2012
*
* 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.xsp.extlib.sbt.services.client;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.ibm.commons.util.StringUtil;
import com.ibm.sbt.services.client.ClientService;
import com.ibm.sbt.services.endpoints.Endpoint;
import com.ibm.sbt.util.DataNavigator;
import com.ibm.sbt.util.JsonNavigator;

/**
* @author doconnor
*
*/
public class SmartCLoudContactsService extends ClientService {
   
    public static class LLContact implements Serializable{
        /**
         *
         */
        private static final long serialVersionUID = 2500126733627058535L;
        private String photo;
        private String name;
        private String phone;
        private String email;
        private String url;
        /**
         * @return the photo
         */
        public String getPhoto() {
            return photo;
        }
        /**
         * @param photo the photo to set
         */
        public void setPhoto(String photo) {
            if(StringUtil.isNotEmpty(photo)){
                this.photo = "https://apps.na.collabserv.com/contacts/img/photos/" + photo;
            }
        }
        /**
         * @return the name
         */
        public String getName() {
            return name;
        }
        /**
         * @param name the name to set
         */
        public void setName(String name) {
            this.name = name;
        }
        /**
         * @return the phone
         */
        public String getPhone() {
            return phone;
        }
        /**
         * @param phone the phone to set
         */
        public void setPhone(String phone) {
            this.phone = phone;
        }
        /**
         * @return the email
         */
        public String getEmail() {
            return email;
        }
        /**
         * @param email the email to set
         */
        public void setEmail(String email) {
            this.email = email;
        }
        /**
         * @return the url
         */
        public String getUrl() {
            return url;
        }
        /**
         * @param url the url to set
         */
        public void setUrl(String url) {
            this.url = url;
        }
    }
    /**
     * @param endpoint
     * @param serviceUrl
     */
    public SmartCLoudContactsService(Endpoint endpoint, String serviceUrl) {
        super(endpoint.getLabel());
    }
   
    public static LLContact[] parseContacts(Object json){
        DataNavigator navigator  = new JsonNavigator(json).get("entry");
        List<LLContact> contacts = new ArrayList<LLContact>();
        if(navigator != null){
            for(int i = 0; i < navigator.getCount(); i++){
                DataNavigator nav = navigator.get(i);
                DataNavigator photo = nav.get("photos").selectEq("type", "Photo");
                String val = photo.stringValue("value");
                LLContact contact = new LLContact();
                contact.setPhoto(val);
                val = nav.stringValue("displayName");
                contact.setName(val);
                val = nav.stringValue("emailAddress");
                contact.setEmail(val);
                val = nav.stringValue("profileUrl");
                contact.setUrl(val);
                contacts.add(contact);
            }
        }
        return contacts.toArray(new LLContact[0]);
    }
}
TOP

Related Classes of com.ibm.xsp.extlib.sbt.services.client.SmartCLoudContactsService

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.