package se.idega.idegaweb.commune.printing.business; import java.rmi.RemoteException; import java.text.DateFormat; import java.util.HashMap; import se.idega.idegaweb.commune.business.CommuneUserBusiness; import com.idega.business.IBOLookup; import com.idega.core.location.data.Address; import com.idega.idegaweb.IWApplicationContext; import com.idega.user.data.User; import com.lowagie.text.ElementTags; import com.lowagie.text.xml.XmlPeer; /** * The <CODE>Tags</CODE> -class maps several XHTML-tags to iText-objects. */ public class CommuneUserTagMap extends HashMap { /** * Constructs an HtmlTagMap. */ public CommuneUserTagMap(IWApplicationContext iwac, User user) { super(); DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, iwac.getApplicationSettings().getDefaultLocale()); CommuneUserBusiness ub = getUserBusiness(iwac); XmlPeer peer = new XmlPeer(ElementTags.ITEXT, CommuneUserTags.USERLETTER); put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.NAME); peer.setContent(user.getName()); put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.FULLNAME); peer.setContent(user.getName()); put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.FIRSTNAME); peer.setContent(user.getFirstName()); put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.MIDDLENAME); peer.setContent(user.getMiddleName()); put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.LASTNAME); peer.setContent(user.getLastName()); put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.PERSONALID); peer.setContent(user.getPersonalID()); put(peer.getAlias(), peer); if (user.getDateOfBirth() != null) { peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.BIRTHDATE); peer.setContent(df.format(user.getDateOfBirth())); put(peer.getAlias(), peer); } if (ub != null) { try { peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.EMAIL); peer.setContent(ub.getUsersMainEmail(user).getEmailAddress()); put(peer.getAlias(), peer); Address address = getUserMailReceiveAddress(ub, user); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.STREETADDRESS); peer.setContent(address.getStreetAddress()); put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.POSTALADDRESS); peer.setContent(address.getPostalAddress()); put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.ADDRESSCOUNTRY); peer.setContent(address.getCountry().getName()); put(peer.getAlias(), peer); peer = new XmlPeer(ElementTags.CHUNK, CommuneUserTags.PHONE); peer.setContent(ub.getUsersHomePhone(user).getNumber()); put(peer.getAlias(), peer); } catch (Exception ex) { } } } private Address getUserMailReceiveAddress(CommuneUserBusiness ub, User user) throws RemoteException { try { return ub.getPostalAddress(user); } catch (Exception e) { throw new RemoteException(e.getMessage()); } } private CommuneUserBusiness getUserBusiness(IWApplicationContext iwac) { try { return (CommuneUserBusiness) IBOLookup.getServiceInstance(iwac, CommuneUserBusiness.class); } catch (RemoteException ex) { } return null; } }