⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldapuserprofile.java

📁 基于Jabber协议的即时消息服务器
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        homeMobile = "";        homeFax = "";        homePager = "";        businessStreet = "{postalAddress}";        businessCity = "{l}";        businessState = "{st}";        businessZip = "{postalCode}";        businessCountry = "";        businessJobTitle = "{title}";        businessDepartment = "{departmentNumber}";        businessPhone = "{telephoneNumber}";        businessMobile = "{mobile}";        businessFax = "";        businessPager = "{pager}";    }    /**     * Saves current configuration as XML properties.     */    public void saveProperties() {        Element vCard = DocumentHelper.createElement(QName.get("vCard", "vcard-temp"));        Element subelement;        // Add name        if (name != null && name.trim().length() > 0) {            subelement = vCard.addElement("N");            subelement.addElement("GIVEN").setText(name.trim());        }        // Add email        if (email != null && email.trim().length() > 0) {            subelement = vCard.addElement("EMAIL");            subelement.addElement("INTERNET");            subelement.addElement("USERID").setText(email.trim());        }        // Add Full Name        vCard.addElement("FN").setText(fullName.trim());        // Add nickname        if (nickname != null && nickname.trim().length() > 0) {            vCard.addElement("NICKNAME").setText(nickname.trim());        }        // Add birthday        if (birthday != null && birthday.trim().length() > 0) {            vCard.addElement("BDAY").setText(birthday.trim());        }        // Add home address        subelement = vCard.addElement("ADR");        subelement.addElement("HOME");        if (homeStreet != null && homeStreet.trim().length() > 0) {            subelement.addElement("STREET").setText(homeStreet.trim());        }        if (homeCity != null && homeCity.trim().length() > 0) {            subelement.addElement("LOCALITY").setText(homeCity.trim());        }        if (homeState != null && homeState.trim().length() > 0) {            subelement.addElement("REGION").setText(homeState.trim());        }        if (homeZip != null && homeZip.trim().length() > 0) {            subelement.addElement("PCODE").setText(homeZip.trim());        }        if (homeCountry != null && homeCountry.trim().length() > 0) {            subelement.addElement("CTRY").setText(homeCountry.trim());        }        // Add business address        subelement = vCard.addElement("ADR");        subelement.addElement("WORK");        if (businessStreet != null && businessStreet.trim().length() > 0) {            subelement.addElement("STREET").setText(businessStreet.trim());        }        if (businessCity != null && businessCity.trim().length() > 0) {            subelement.addElement("LOCALITY").setText(businessCity.trim());        }        if (businessState != null && businessState.trim().length() > 0) {            subelement.addElement("REGION").setText(businessState.trim());        }        if (businessZip != null && businessZip.trim().length() > 0) {            subelement.addElement("PCODE").setText(businessZip.trim());        }        if (businessCountry != null && businessCountry.trim().length() > 0) {            subelement.addElement("CTRY").setText(businessCountry.trim());        }        // Add home phone        if (homePhone != null && homePhone.trim().length() > 0) {            subelement = vCard.addElement("TEL");            subelement.addElement("HOME");            subelement.addElement("VOICE");            subelement.addElement("NUMBER").setText(homePhone.trim());        }        // Add home mobile        if (homeMobile != null && homeMobile.trim().length() > 0) {            subelement = vCard.addElement("TEL");            subelement.addElement("HOME");            subelement.addElement("CELL");            subelement.addElement("NUMBER").setText(homeMobile.trim());        }        // Add home fax        if (homeFax != null && homeFax.trim().length() > 0) {            subelement = vCard.addElement("TEL");            subelement.addElement("HOME");            subelement.addElement("FAX");            subelement.addElement("NUMBER").setText(homeFax.trim());        }        // Add home pager        if (homePager != null && homePager.trim().length() > 0) {            subelement = vCard.addElement("TEL");            subelement.addElement("HOME");            subelement.addElement("PAGER");            subelement.addElement("NUMBER").setText(homePager.trim());        }        // Add business phone        if (businessPhone != null && businessPhone.trim().length() > 0) {            subelement = vCard.addElement("TEL");            subelement.addElement("WORK");            subelement.addElement("VOICE");            subelement.addElement("NUMBER").setText(businessPhone.trim());        }        // Add business mobile        if (businessMobile != null && businessMobile.trim().length() > 0) {            subelement = vCard.addElement("TEL");            subelement.addElement("WORK");            subelement.addElement("CELL");            subelement.addElement("NUMBER").setText(businessMobile.trim());        }        // Add business fax        if (businessFax != null && businessFax.trim().length() > 0) {            subelement = vCard.addElement("TEL");            subelement.addElement("WORK");            subelement.addElement("FAX");            subelement.addElement("NUMBER").setText(businessFax.trim());        }        // Add business pager        if (businessPager != null && businessPager.trim().length() > 0) {            subelement = vCard.addElement("TEL");            subelement.addElement("WORK");            subelement.addElement("PAGER");            subelement.addElement("NUMBER").setText(businessPager.trim());        }        // Add job title        if (businessJobTitle != null && businessJobTitle.trim().length() > 0) {            vCard.addElement("TITLE").setText(businessJobTitle.trim());        }        // Add job department        if (businessDepartment != null && businessDepartment.trim().length() > 0) {            vCard.addElement("ORG").addElement("ORGUNIT").setText(businessDepartment.trim());        }        // Generate content to store in property        String vcardXML;        StringWriter writer = new StringWriter();        OutputFormat prettyPrinter = OutputFormat.createPrettyPrint();        XMLWriter xmlWriter = new XMLWriter(writer, prettyPrinter);        try {            xmlWriter.write(vCard);            vcardXML = writer.toString();        }        catch (IOException e) {            Log.error("Error pretty formating XML", e);            vcardXML = vCard.asXML();        }        StringBuilder sb = new StringBuilder(vcardXML.length());        sb.append("<![CDATA[").append(vcardXML).append("]]>");        // Save mapping as an XML property        JiveGlobals.setXMLProperty("ldap.vcard-mapping", sb.toString());        // Set that the vcard provider is LdapVCardProvider        JiveGlobals.setXMLProperty("provider.vcard.className", LdapVCardProvider.class.getName());        // Save duplicated fields in LdapManager (should be removed in the future)        LdapManager.getInstance().setNameField(name.replaceAll("(\\{)([\\d\\D]+)(})", "$2"));        LdapManager.getInstance().setEmailField(email.replaceAll("(\\{)([\\d\\D]+)(})", "$2"));    }    /**     * Returns true if the vCard mappings where successfully loaded from the XML     * property.     *     * @return true if mappings where loaded from saved property.     */    public boolean loadFromProperties() {        String xmlProperty = JiveGlobals.getXMLProperty("ldap.vcard-mapping");        if (xmlProperty == null || xmlProperty.trim().length() == 0) {            return false;        }        try {            // Remove CDATA wrapping element            if (xmlProperty.startsWith("<![CDATA[")) {                xmlProperty = xmlProperty.substring(9, xmlProperty.length()-3);            }            // Parse XML            Document document = DocumentHelper.parseText(xmlProperty);            Element vCard = document.getRootElement();            Element element = vCard.element("N");            if (element != null) {                name = element.elementTextTrim("GIVEN");            }            element = vCard.element("EMAIL");            if (element != null) {                email = element.elementTextTrim("USERID");            }            element = vCard.element("FN");            if (element != null) {                fullName = element.getTextTrim();            }            element = vCard.element("NICKNAME");            if (element != null) {                nickname = element.getTextTrim();            }            element = vCard.element("BDAY");            if (element != null) {                birthday = element.getTextTrim();            }            // Parse addresses            Iterator addresses = vCard.elementIterator("ADR");            while (addresses.hasNext()) {                element = (Element) addresses.next();                if (element.element("HOME") != null) {                    if (element.element("STREET") != null) {                        homeStreet = element.elementTextTrim("STREET");                    }                    if (element.element("LOCALITY") != null) {                        homeCity = element.elementTextTrim("LOCALITY");                    }                    if (element.element("REGION") != null) {                        homeState = element.elementTextTrim("REGION");                    }                    if (element.element("PCODE") != null) {                        homeZip = element.elementTextTrim("PCODE");                    }                    if (element.element("CTRY") != null) {                        homeCountry = element.elementTextTrim("CTRY");                    }                }                else if (element.element("WORK") != null) {                    if (element.element("STREET") != null) {                        businessStreet = element.elementTextTrim("STREET");                    }                    if (element.element("LOCALITY") != null) {                        businessCity = element.elementTextTrim("LOCALITY");                    }                    if (element.element("REGION") != null) {                        businessState = element.elementTextTrim("REGION");                    }                    if (element.element("PCODE") != null) {                        businessZip = element.elementTextTrim("PCODE");                    }                    if (element.element("CTRY") != null) {                        businessCountry = element.elementTextTrim("CTRY");                    }                }            }            // Parse telephones            Iterator telephones = vCard.elementIterator("TEL");            while (telephones.hasNext()) {                element = (Element) telephones.next();                if (element.element("HOME") != null) {                    if (element.element("VOICE") != null) {                        homePhone = element.elementTextTrim("NUMBER");                    }                    else if (element.element("CELL") != null) {                        homeMobile = element.elementTextTrim("NUMBER");                    }                    else if (element.element("FAX") != null) {                        homeFax = element.elementTextTrim("NUMBER");                    }                    else if (element.element("PAGER") != null) {                        homePager = element.elementTextTrim("NUMBER");                    }                }                else if (element.element("WORK") != null) {                    if (element.element("VOICE") != null) {                        businessPhone = element.elementTextTrim("NUMBER");                    }                    else if (element.element("CELL") != null) {                        businessMobile = element.elementTextTrim("NUMBER");                    }                    else if (element.element("FAX") != null) {                        businessFax = element.elementTextTrim("NUMBER");                    }                    else if (element.element("PAGER") != null) {                        businessPager = element.elementTextTrim("NUMBER");                    }                }            }            element = vCard.element("TITLE");            if (element != null) {                businessJobTitle = element.getTextTrim();            }            element = vCard.element("ORG");            if (element != null) {                if (element.element("ORGUNIT") != null) {                    businessDepartment = element.elementTextTrim("ORGUNIT");                }            }        }        catch (DocumentException e) {            Log.error("Error loading vcard mappings from property", e);            return false;        }        return true;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -