public String getPositionAndAffiliationString(int limit, int additionalLength, String tail) { if (null == tail) { tail = "..."; } StringBuilder sb = new StringBuilder(); if (!Strings.isEmpty(this.get_sPosition())) { sb.append(this.get_sPosition()); } if (!Strings.isEmpty(this.get_sPosition()) && !Strings.isEmpty(this.get_sAffiliation())) { sb.append(", "); } if (!Strings.isEmpty(this.get_sAffiliation())) { sb.append(this.get_sAffiliation()); } int max = limit - additionalLength; // capitalize if (sb.length() > 0) { sb.replace(0, 1, new Character(sb.charAt(0)).toString().toUpperCase()); } String result = null; if (sb.length() > max) { result = sb.substring(0, max) + tail; } else { result = sb.toString(); } return result; }
/** * 专家的Image地址由好多,这里按优先顺序取得人物头像地址。 * * @param imgType IMG_SIZE_ORI 原图,小图和中图。 @TODO Move this out. */ public String getDisplayImage(int imgType) { // FIXME can't different self upload image and downloaded image. ugly // code. // --user upload picture. if (null != this._sImgURL) { String trimed = this._sImgURL.trim(); if (trimed.startsWith("http://") && trimed.contains("arnetminer") && trimed.contains("/upload/")) { return _sImgURL; } } if (!Strings.isEmpty(imgName)) { if (imgName.toLowerCase().startsWith("http")) { // special, replace to new imgname; if (imgName.startsWith("http://arnetminer.org/pictures")) { return PageSpeedUtil.smartAppendPicturePrefix( imgName.replace("http://arnetminer.org/pictures", "")); } return imgName; } if (imgType == IMG_SIZE_SMALL) { return PageSpeedUtil.smartAppendPicturePrefix(res.picture_thumbnail + imgName); } else if (imgType == IMG_SIZE_MEDIUM) { return PageSpeedUtil.smartAppendPicturePrefix(res.picture_original + imgName); } else { return PageSpeedUtil.smartAppendPicturePrefix(res.picture_original + imgName); } } else if (!Strings.isEmpty(_sImgURL) && (_sImgURL.startsWith("http") || _sImgURL.startsWith("ftp"))) { return _sImgURL; } else if (!Strings.isEmpty(_sImgSrc) && (_sImgSrc.startsWith("http") || _sImgSrc.startsWith("ftp"))) { // deprecated return _sImgSrc; } else { return res.picture_url + res.picture_nopicture; } }