/* * Copyright 2006-2010 Daniel Henninger. All rights reserved. * * This software is published under the terms of the GNU Public License (GPL), * a copy of which is included in this distribution. */ package net.sf.kraken.protocols.gadugadu; import java.util.Arrays; import java.util.Collection; import java.util.List; import net.sf.kraken.pseudoroster.PseudoRosterItem; import net.sf.kraken.roster.TransportBuddy; import net.sf.kraken.roster.TransportBuddyManager; import pl.mn.communicator.LocalUser; /** * @author Daniel Henninger */ public class GaduGaduBuddy extends TransportBuddy { public GaduGaduBuddy(TransportBuddyManager<GaduGaduBuddy> manager, LocalUser localUser, PseudoRosterItem item) { super(manager, Integer.toString(localUser.getUin()), localUser.getDisplayName(), null); if (localUser.getGroup() != null) { this.groups = Arrays.asList(localUser.getGroup()); } gaduFirstName = localUser.getFirstName(); gaduLastName = localUser.getLastName(); gaduNickName = localUser.getNickName(); gaduTelephone = localUser.getTelephone(); gaduEmailAddress = localUser.getEmailAddress(); pseudoRosterItem = item; } public GaduGaduBuddy(TransportBuddyManager<GaduGaduBuddy> manager, PseudoRosterItem item) { super(manager, item.getUsername(), item.getNickname(), item.getGroups()); pseudoRosterItem = item; } public PseudoRosterItem pseudoRosterItem = null; private String gaduFirstName = null; private String gaduLastName = null; private String gaduNickName = null; private String gaduTelephone = null; private String gaduEmailAddress = null; public String getGaduFirstName() { return gaduFirstName; } public void setGaduFirstName(String gaduFirstName) { this.gaduFirstName = gaduFirstName; } public String getGaduLastName() { return gaduLastName; } public void setGaduLastName(String gaduLastName) { this.gaduLastName = gaduLastName; } public String getGaduNickName() { return gaduNickName; } public void setGaduNickName(String gaduNickName) { this.gaduNickName = gaduNickName; } public String getGaduTelephone() { return gaduTelephone; } public void setGaduTelephone(String gaduTelephone) { this.gaduTelephone = gaduTelephone; } public LocalUser toLocalUser() { LocalUser localUser = new LocalUser(); localUser.setUin(Integer.parseInt(this.getName())); localUser.setDisplayName(this.getNickname() != null ? this.getNickname() : this.getName()); Collection<String> groups = this.getGroups(); if (groups.size() > 0) { localUser.setGroup((String)groups.toArray()[0]); } localUser.setEmailAddress(this.getGaduEmailAddress()); localUser.setFirstName(this.getGaduFirstName() != null ? this.getGaduFirstName() : this.getName()); localUser.setLastName(this.getGaduLastName()); localUser.setNickName(this.getNickname()); localUser.setTelephone(this.getGaduTelephone()); return localUser; } public String getGaduEmailAddress() { return gaduEmailAddress; } public void setGaduEmailAddress(String gaduEmailAddress) { this.gaduEmailAddress = gaduEmailAddress; } public void setBuddyGroups(List<String> groups) { this.groups = groups; } public void setBuddyNickname(String nickname) { this.nickname = nickname; } }