Example usage for com.liferay.portal.kernel.util StringBundler length

List of usage examples for com.liferay.portal.kernel.util StringBundler length

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util StringBundler length.

Prototype

public int length() 

Source Link

Usage

From source file:com.liferay.calendar.util.CalendarUtil.java

License:Open Source License

public static String[] splitKeywords(String keywords) {
    Set<String> keywordsSet = new LinkedHashSet<String>();

    StringBundler sb = new StringBundler();

    for (char c : keywords.toCharArray()) {
        if (Character.isWhitespace(c)) {
            if (sb.length() > 0) {
                keywordsSet.add(sb.toString());

                sb = new StringBundler();
            }/*from  w  w w .ja  v a 2  s.  c o m*/
        } else if (Character.isLetterOrDigit(c)) {
            sb.append(c);
        } else {
            return new String[] { keywords };
        }
    }

    if (sb.length() > 0) {
        keywordsSet.add(sb.toString());
    }

    return StringUtil.split(StringUtil.merge(keywordsSet));
}

From source file:com.liferay.dynamic.data.mapping.internal.render.BaseListDDMFormFieldValueRenderer.java

License:Open Source License

@Override
protected ValueAccessor getValueAcessor(Locale locale) {
    return new ValueAccessor(locale) {

        @Override//  w w w. j  av a2 s.  co m
        public String get(DDMFormFieldValue ddmFormFieldValue) {
            Value value = ddmFormFieldValue.getValue();

            JSONArray jsonArray = createJSONArray(value.getString(locale));

            if (jsonArray.length() == 0) {
                return StringPool.BLANK;
            }

            StringBundler sb = new StringBundler(jsonArray.length() * 2);

            for (int i = 0; i < jsonArray.length(); i++) {
                LocalizedValue label = getDDMFormFieldOptionLabel(ddmFormFieldValue, jsonArray.getString(i));

                if (label == null) {
                    continue;
                }

                sb.append(label.getString(locale));
                sb.append(StringPool.COMMA_AND_SPACE);
            }

            if (sb.length() == 0) {
                return StringPool.BLANK;
            }

            sb.setIndex(sb.index() - 1);

            return sb.toString();
        }

        protected JSONArray createJSONArray(String json) {
            try {
                return JSONFactoryUtil.createJSONArray(json);
            } catch (JSONException jsone) {
                throw new ValueAccessorException(jsone);
            }
        }

        protected LocalizedValue getDDMFormFieldOptionLabel(DDMFormFieldValue ddmFormFieldValue,
                String optionValue) {

            DDMFormField ddmFormField = getDDMFormField(ddmFormFieldValue);

            DDMFormFieldOptions ddmFormFieldOptions = ddmFormField.getDDMFormFieldOptions();

            return ddmFormFieldOptions.getOptionLabels(optionValue);
        }

    };
}

From source file:com.liferay.exportimport.content.processor.base.BaseTextExportImportContentProcessor.java

License:Open Source License

protected String replaceExportLayoutReferences(PortletDataContext portletDataContext, StagedModel stagedModel,
        String content) throws Exception {

    Group group = GroupLocalServiceUtil.getGroup(portletDataContext.getScopeGroupId());

    StringBuilder sb = new StringBuilder(content);

    String[] patterns = { "href=", "[[" };

    int beginPos = -1;
    int endPos = content.length();
    int offset = 0;

    while (true) {
        if (beginPos > -1) {
            endPos = beginPos - 1;/*from   w w  w .  j a  v  a 2  s . com*/
        }

        beginPos = StringUtil.lastIndexOfAny(content, patterns, endPos);

        if (beginPos == -1) {
            break;
        }

        if (content.startsWith("href=", beginPos)) {
            offset = 5;

            char c = content.charAt(beginPos + offset);

            if ((c == CharPool.APOSTROPHE) || (c == CharPool.QUOTE)) {
                offset++;
            }
        } else if (content.charAt(beginPos) == CharPool.OPEN_BRACKET) {
            offset = 2;
        }

        endPos = StringUtil.indexOfAny(content, LAYOUT_REFERENCE_STOP_CHARS, beginPos + offset, endPos);

        if (endPos == -1) {
            continue;
        }

        String url = content.substring(beginPos + offset, endPos);

        if (url.endsWith(StringPool.SLASH)) {
            url = url.substring(0, url.length() - 1);
        }

        StringBundler urlSB = new StringBundler(6);

        try {
            url = replaceExportHostname(portletDataContext.getScopeGroupId(), url, urlSB);

            if (!url.startsWith(StringPool.SLASH)) {
                continue;
            }

            String pathContext = PortalUtil.getPathContext();

            if (pathContext.length() > 1) {
                if (!url.startsWith(pathContext)) {
                    continue;
                }

                urlSB.append(DATA_HANDLER_PATH_CONTEXT);

                url = url.substring(pathContext.length());
            }

            if (!url.startsWith(StringPool.SLASH)) {
                continue;
            }

            int pos = url.indexOf(StringPool.SLASH, 1);

            String localePath = StringPool.BLANK;

            Locale locale = null;

            if (pos != -1) {
                localePath = url.substring(0, pos);

                locale = LocaleUtil.fromLanguageId(localePath.substring(1), true, false);
            }

            if (locale != null) {
                String urlWithoutLocale = url.substring(localePath.length());

                if (urlWithoutLocale.startsWith(PRIVATE_GROUP_SERVLET_MAPPING)
                        || urlWithoutLocale.startsWith(PRIVATE_USER_SERVLET_MAPPING)
                        || urlWithoutLocale.startsWith(PUBLIC_GROUP_SERVLET_MAPPING)) {

                    urlSB.append(localePath);

                    url = urlWithoutLocale;
                }
            }

            boolean privateLayout = false;

            if (url.startsWith(PRIVATE_GROUP_SERVLET_MAPPING)) {
                urlSB.append(DATA_HANDLER_PRIVATE_GROUP_SERVLET_MAPPING);

                url = url.substring(PRIVATE_GROUP_SERVLET_MAPPING.length() - 1);

                privateLayout = true;
            } else if (url.startsWith(PRIVATE_USER_SERVLET_MAPPING)) {
                urlSB.append(DATA_HANDLER_PRIVATE_USER_SERVLET_MAPPING);

                url = url.substring(PRIVATE_USER_SERVLET_MAPPING.length() - 1);

                privateLayout = true;
            } else if (url.startsWith(PUBLIC_GROUP_SERVLET_MAPPING)) {
                urlSB.append(DATA_HANDLER_PUBLIC_SERVLET_MAPPING);

                url = url.substring(PUBLIC_GROUP_SERVLET_MAPPING.length() - 1);
            } else {
                String urlSBString = urlSB.toString();

                LayoutSet layoutSet = null;

                if (urlSBString.contains(DATA_HANDLER_PUBLIC_LAYOUT_SET_SECURE_URL)
                        || urlSBString.contains(DATA_HANDLER_PUBLIC_LAYOUT_SET_URL)) {

                    layoutSet = group.getPublicLayoutSet();
                } else if (urlSBString.contains(DATA_HANDLER_PRIVATE_LAYOUT_SET_SECURE_URL)
                        || urlSBString.contains(DATA_HANDLER_PRIVATE_LAYOUT_SET_URL)) {

                    layoutSet = group.getPrivateLayoutSet();
                }

                if (layoutSet == null) {
                    continue;
                }

                privateLayout = layoutSet.isPrivateLayout();

                LayoutFriendlyURL layoutFriendlyUrl = LayoutFriendlyURLLocalServiceUtil
                        .fetchFirstLayoutFriendlyURL(group.getGroupId(), privateLayout, url);

                if (layoutFriendlyUrl == null) {
                    continue;
                }

                if (privateLayout) {
                    if (group.isUser()) {
                        urlSB.append(DATA_HANDLER_PRIVATE_USER_SERVLET_MAPPING);
                    } else {
                        urlSB.append(DATA_HANDLER_PRIVATE_GROUP_SERVLET_MAPPING);
                    }
                } else {
                    urlSB.append(DATA_HANDLER_PUBLIC_SERVLET_MAPPING);
                }

                urlSB.append(DATA_HANDLER_GROUP_FRIENDLY_URL);

                continue;
            }

            long groupId = group.getGroupId();

            Layout layout = LayoutLocalServiceUtil.fetchLayoutByFriendlyURL(groupId, privateLayout, url);

            if (layout != null) {
                Element entityElement = portletDataContext.getExportDataElement(stagedModel);

                portletDataContext.addReferenceElement(stagedModel, entityElement, layout,
                        PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true);

                continue;
            }

            pos = url.indexOf(StringPool.SLASH, 1);

            String groupFriendlyURL = url;

            if (pos != -1) {
                groupFriendlyURL = url.substring(0, pos);
            }

            Group urlGroup = GroupLocalServiceUtil.fetchFriendlyURLGroup(group.getCompanyId(),
                    groupFriendlyURL);

            if (urlGroup == null) {
                throw new NoSuchLayoutException();
            }

            urlSB.append(DATA_HANDLER_GROUP_FRIENDLY_URL);

            // Append the UUID. This information will be used during the
            // import process when looking up the proper group for the link.

            urlSB.append(StringPool.AT);

            if (urlGroup.isStagedRemotely()) {
                String remoteGroupUuid = urlGroup.getTypeSettingsProperty("remoteGroupUUID");

                if (Validator.isNotNull(remoteGroupUuid)) {
                    urlSB.append(remoteGroupUuid);
                }
            } else if (urlGroup.isStaged()) {
                Group liveGroup = urlGroup.getLiveGroup();

                urlSB.append(liveGroup.getUuid());
            } else if (group.getGroupId() == urlGroup.getGroupId()) {
                urlSB.append(urlGroup.getFriendlyURL());
            } else {
                urlSB.append(urlGroup.getUuid());
            }

            urlSB.append(StringPool.AT);

            String siteAdminURL = GroupConstants.CONTROL_PANEL_FRIENDLY_URL
                    + PropsValues.CONTROL_PANEL_LAYOUT_FRIENDLY_URL;

            if (url.endsWith(siteAdminURL)) {
                urlSB.append(DATA_HANDLER_SITE_ADMIN_URL);

                url = StringPool.BLANK;

                continue;
            }

            if (pos == -1) {
                url = StringPool.BLANK;

                continue;
            }

            url = url.substring(pos);

            layout = LayoutLocalServiceUtil.getFriendlyURLLayout(urlGroup.getGroupId(), privateLayout, url);

            Element entityElement = portletDataContext.getExportDataElement(stagedModel);

            portletDataContext.addReferenceElement(stagedModel, entityElement, layout,
                    PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true);
        } catch (Exception e) {
            if (e instanceof NoSuchLayoutException && !isValidateLayoutReferences()) {

                continue;
            }

            if (_log.isDebugEnabled()) {
                _log.debug(e, e);
            } else if (_log.isWarnEnabled()) {
                StringBundler exceptionSB = new StringBundler(6);

                exceptionSB.append("Unable to process layout URL ");
                exceptionSB.append(url);
                exceptionSB.append(" for staged model ");
                exceptionSB.append(stagedModel.getModelClassName());
                exceptionSB.append(" with primary key ");
                exceptionSB.append(stagedModel.getPrimaryKeyObj());

                _log.warn(exceptionSB.toString());
            }
        } finally {
            if (urlSB.length() > 0) {
                urlSB.append(url);

                url = urlSB.toString();
            }

            sb.replace(beginPos + offset, endPos, url);
        }
    }

    return sb.toString();
}

From source file:com.liferay.exportimport.internal.content.processor.LayoutReferencesExportImportContentProcessor.java

License:Open Source License

protected String replaceExportLayoutReferences(PortletDataContext portletDataContext, StagedModel stagedModel,
        String content) throws Exception {

    Group group = _groupLocalService.getGroup(portletDataContext.getScopeGroupId());

    StringBuilder sb = new StringBuilder(content);

    String[] patterns = { "href=", "[[" };

    int beginPos = -1;
    int endPos = content.length();
    int offset = 0;

    while (true) {
        if (beginPos > -1) {
            endPos = beginPos - 1;/*from  w w  w .  ja v a2  s  .c om*/
        }

        beginPos = StringUtil.lastIndexOfAny(content, patterns, endPos);

        if (beginPos == -1) {
            break;
        }

        if (content.startsWith("href=", beginPos)) {
            offset = 5;

            char c = content.charAt(beginPos + offset);

            if ((c == CharPool.APOSTROPHE) || (c == CharPool.QUOTE)) {
                offset++;
            }
        } else if (content.charAt(beginPos) == CharPool.OPEN_BRACKET) {
            offset = 2;
        }

        endPos = StringUtil.indexOfAny(content, _LAYOUT_REFERENCE_STOP_CHARS, beginPos + offset, endPos);

        if (endPos == -1) {
            continue;
        }

        String url = content.substring(beginPos + offset, endPos);

        if (url.endsWith(StringPool.SLASH)) {
            url = url.substring(0, url.length() - 1);
        }

        StringBundler urlSB = new StringBundler(6);

        try {
            url = replaceExportHostname(portletDataContext.getScopeGroupId(), url, urlSB);

            if (!url.startsWith(StringPool.SLASH)) {
                continue;
            }

            String pathContext = _portal.getPathContext();

            if (pathContext.length() > 1) {
                if (!url.startsWith(pathContext)) {
                    continue;
                }

                urlSB.append(_DATA_HANDLER_PATH_CONTEXT);

                url = url.substring(pathContext.length());
            }

            if (!url.startsWith(StringPool.SLASH)) {
                continue;
            }

            int pos = url.indexOf(StringPool.SLASH, 1);

            String localePath = StringPool.BLANK;

            Locale locale = null;

            if (pos != -1) {
                localePath = url.substring(0, pos);

                locale = LocaleUtil.fromLanguageId(localePath.substring(1), true, false);
            }

            if (locale != null) {
                String urlWithoutLocale = url.substring(localePath.length());

                if (urlWithoutLocale.startsWith(_PRIVATE_GROUP_SERVLET_MAPPING)
                        || urlWithoutLocale.startsWith(_PRIVATE_USER_SERVLET_MAPPING)
                        || urlWithoutLocale.startsWith(_PUBLIC_GROUP_SERVLET_MAPPING)) {

                    urlSB.append(localePath);

                    url = urlWithoutLocale;
                }
            }

            boolean privateLayout = false;

            if (url.startsWith(_PRIVATE_GROUP_SERVLET_MAPPING)) {
                urlSB.append(_DATA_HANDLER_PRIVATE_GROUP_SERVLET_MAPPING);

                url = url.substring(_PRIVATE_GROUP_SERVLET_MAPPING.length() - 1);

                privateLayout = true;
            } else if (url.startsWith(_PRIVATE_USER_SERVLET_MAPPING)) {
                urlSB.append(_DATA_HANDLER_PRIVATE_USER_SERVLET_MAPPING);

                url = url.substring(_PRIVATE_USER_SERVLET_MAPPING.length() - 1);

                privateLayout = true;
            } else if (url.startsWith(_PUBLIC_GROUP_SERVLET_MAPPING)) {
                urlSB.append(_DATA_HANDLER_PUBLIC_SERVLET_MAPPING);

                url = url.substring(_PUBLIC_GROUP_SERVLET_MAPPING.length() - 1);
            } else {
                String urlSBString = urlSB.toString();

                LayoutSet layoutSet = null;

                if (urlSBString.contains(_DATA_HANDLER_PUBLIC_LAYOUT_SET_SECURE_URL)
                        || urlSBString.contains(_DATA_HANDLER_PUBLIC_LAYOUT_SET_URL)) {

                    layoutSet = group.getPublicLayoutSet();
                } else if (urlSBString.contains(_DATA_HANDLER_PRIVATE_LAYOUT_SET_SECURE_URL)
                        || urlSBString.contains(_DATA_HANDLER_PRIVATE_LAYOUT_SET_URL)) {

                    layoutSet = group.getPrivateLayoutSet();
                }

                if (layoutSet == null) {
                    continue;
                }

                privateLayout = layoutSet.isPrivateLayout();

                LayoutFriendlyURL layoutFriendlyUrl = _layoutFriendlyURLLocalService
                        .fetchFirstLayoutFriendlyURL(group.getGroupId(), privateLayout, url);

                if (layoutFriendlyUrl == null) {
                    continue;
                }

                if (privateLayout) {
                    if (group.isUser()) {
                        urlSB.append(_DATA_HANDLER_PRIVATE_USER_SERVLET_MAPPING);
                    } else {
                        urlSB.append(_DATA_HANDLER_PRIVATE_GROUP_SERVLET_MAPPING);
                    }
                } else {
                    urlSB.append(_DATA_HANDLER_PUBLIC_SERVLET_MAPPING);
                }

                urlSB.append(_DATA_HANDLER_GROUP_FRIENDLY_URL);

                continue;
            }

            long groupId = group.getGroupId();

            Layout layout = _layoutLocalService.fetchLayoutByFriendlyURL(groupId, privateLayout, url);

            if (layout != null) {
                Element entityElement = portletDataContext.getExportDataElement(stagedModel);

                portletDataContext.addReferenceElement(stagedModel, entityElement, layout,
                        PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true);

                continue;
            }

            pos = url.indexOf(StringPool.SLASH, 1);

            String groupFriendlyURL = url;

            if (pos != -1) {
                groupFriendlyURL = url.substring(0, pos);
            }

            Group urlGroup = _groupLocalService.fetchFriendlyURLGroup(group.getCompanyId(), groupFriendlyURL);

            if (urlGroup == null) {
                throw new NoSuchLayoutException();
            }

            urlSB.append(_DATA_HANDLER_GROUP_FRIENDLY_URL);

            // Append the UUID. This information will be used during the
            // import process when looking up the proper group for the link.

            urlSB.append(StringPool.AT);

            if (urlGroup.isStagedRemotely()) {
                String remoteGroupUuid = urlGroup.getTypeSettingsProperty("remoteGroupUUID");

                if (Validator.isNotNull(remoteGroupUuid)) {
                    urlSB.append(remoteGroupUuid);
                }
            } else if (urlGroup.isStaged()) {
                Group liveGroup = urlGroup.getLiveGroup();

                urlSB.append(liveGroup.getUuid());
            } else if (group.getGroupId() == urlGroup.getGroupId()) {
                urlSB.append(urlGroup.getFriendlyURL());
            } else {
                urlSB.append(urlGroup.getUuid());
            }

            urlSB.append(StringPool.AT);

            String siteAdminURL = GroupConstants.CONTROL_PANEL_FRIENDLY_URL
                    + PropsValues.CONTROL_PANEL_LAYOUT_FRIENDLY_URL;

            if (url.endsWith(siteAdminURL)) {
                urlSB.append(_DATA_HANDLER_SITE_ADMIN_URL);

                url = StringPool.BLANK;

                continue;
            }

            if (pos == -1) {
                url = StringPool.BLANK;

                continue;
            }

            url = url.substring(pos);

            layout = _layoutLocalService.getFriendlyURLLayout(urlGroup.getGroupId(), privateLayout, url);

            Element entityElement = portletDataContext.getExportDataElement(stagedModel);

            portletDataContext.addReferenceElement(stagedModel, entityElement, layout,
                    PortletDataContext.REFERENCE_TYPE_DEPENDENCY, true);
        } catch (Exception e) {
            if (e instanceof NoSuchLayoutException
                    && !_exportImportServiceConfiguration.validateLayoutReferences()) {

                continue;
            }

            if (_log.isDebugEnabled()) {
                _log.debug(e, e);
            } else if (_log.isWarnEnabled()) {
                StringBundler exceptionSB = new StringBundler(6);

                exceptionSB.append("Unable to process layout URL ");
                exceptionSB.append(url);
                exceptionSB.append(" for staged model ");
                exceptionSB.append(stagedModel.getModelClassName());
                exceptionSB.append(" with primary key ");
                exceptionSB.append(stagedModel.getPrimaryKeyObj());

                _log.warn(exceptionSB.toString());
            }
        } finally {
            if (urlSB.length() > 0) {
                urlSB.append(url);

                url = urlSB.toString();
            }

            sb.replace(beginPos + offset, endPos, url);
        }
    }

    return sb.toString();
}

From source file:com.liferay.faces.bridge.container.liferay.internal.PortletContainerLiferayCompatImpl.java

License:Open Source License

/**
 * This method is called prior to the {@link PhaseId#RENDER_RESPONSE} phase of the JSF lifecycle.
 *//*from  w w w .ja  v  a  2s .  c o  m*/
public void beforePhase(PhaseEvent phaseEvent) {

    // Determine if there are any resources in the LIFERAY_SHARED_PAGE_TOP request attribute, so that execution of
    // the {@link #afterPhase(PhaseEvent)} can be optimized.
    liferaySharedPageTopLength = 0;

    BridgeContext bridgeContext = BridgeContext.getCurrentInstance();
    PortletRequest portletRequest = bridgeContext.getPortletRequest();
    StringBundler pageTop = getPageTop(portletRequest);

    if (pageTop != null) {
        liferaySharedPageTopLength = pageTop.length();
    }
}

From source file:com.liferay.faces.bridge.container.liferay.PortletContainerLiferayCompatImpl.java

License:Open Source License

/**
 * This method is called prior to the {@link PhaseId#RENDER_RESPONSE} phase of the JSF lifecycle.
 *///from w  w  w .  j a v a 2s  .c o m
@Override
public void beforePhase(PhaseEvent phaseEvent) {

    // Determine if there are any resources in the LIFERAY_SHARED_PAGE_TOP request attribute, so that execution of
    // the {@link #afterPhase(PhaseEvent)} can be optimized.
    liferaySharedPageTopLength = 0;

    BridgeContext bridgeContext = BridgeContext.getCurrentInstance();
    PortletRequest portletRequest = bridgeContext.getPortletRequest();
    StringBundler pageTop = getPageTop(portletRequest);

    if (pageTop != null) {
        liferaySharedPageTopLength = pageTop.length();
    }
}

From source file:com.liferay.faces.bridge.ext.event.internal.LiferayPageTopPhaseListenerCompat.java

License:Open Source License

/**
 * This method is called prior to the {@link PhaseId#RENDER_RESPONSE} phase of the JSF lifecycle.
 *//* w w w.j  av a2 s . com*/
@Override
public void beforePhase(PhaseEvent phaseEvent) {

    // Determine if there are any resources in the LIFERAY_SHARED_PAGE_TOP request attribute, so that execution of
    // the {@link #afterPhase(PhaseEvent)} can be optimized.
    liferaySharedPageTopLength = 0;

    FacesContext facesContext = FacesContext.getCurrentInstance();
    ExternalContext externalContext = facesContext.getExternalContext();
    PortletRequest portletRequest = (PortletRequest) externalContext.getRequest();
    StringBundler pageTop = getPageTop(portletRequest);

    if (pageTop != null) {
        liferaySharedPageTopLength = pageTop.length();
    }
}

From source file:com.liferay.frontend.js.loader.modules.extender.internal.npm.flat.FlatNPMBundleProcessor.java

License:Open Source License

private String _canonicalizePath(String path) {
    int parents = 0;
    String[] parts = path.split(StringPool.SLASH);
    List<String> processedParts = new ArrayList<>();

    for (int i = parts.length - 1; i >= 0; i--) {
        String part = parts[i];//ww w. ja  v a  2s  .com

        if (part.equals(".")) {
            continue;
        } else if (part.equals("..")) {
            parents++;
        } else {
            if (parents > 0) {
                parents--;
            } else {
                processedParts.add(part);
            }
        }
    }

    Collections.reverse(processedParts);

    StringBundler sb = new StringBundler(2 * processedParts.size() - 1);

    for (String processedPart : processedParts) {
        if (sb.length() != 0) {
            sb.append(StringPool.SLASH);
        }

        sb.append(processedPart);
    }

    return sb.toString();
}

From source file:com.liferay.frontend.js.top.head.extender.internal.servlet.taglib.TopHeadDynamicInclude.java

License:Open Source License

private void _renderBundleComboURLs(HttpServletRequest request, HttpServletResponse response, List<String> urls)
        throws IOException {

    PrintWriter printWriter = response.getWriter();

    StringBundler sb = new StringBundler();

    long jsLastModified = -1;

    if (_portalWebResources != null) {
        jsLastModified = _portalWebResources.getLastModified();
    }/*from   ww w . j a  v  a2s. co m*/

    String comboURL = _portal.getStaticResourceURL(request, _comboContextPath, "minifierType=js",
            jsLastModified);

    for (String url : urls) {
        if (sb.length() == 0) {
            sb.append("<script data-senna-track=\"permanent\" src=\"");

            ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);

            sb.append(themeDisplay.getCDNBaseURL() + comboURL);
        }

        sb.append(StringPool.AMPERSAND);
        sb.append(url);

        if (sb.length() >= 2048) {
            sb.append("\" type = \"text/javascript\"></script>");

            printWriter.println(sb.toString());

            sb = new StringBundler();
        }
    }

    if (sb.length() > 0) {
        sb.append("\" type = \"text/javascript\"></script>");

        printWriter.println(sb.toString());
    }
}

From source file:com.liferay.mail.imap.IMAPAccessor.java

License:Open Source License

public void storeContents(long folderId, long[] remoteMessageIds) throws IOException, PortalException {

    Folder jxFolder = null;//from w  w  w .j  a  v  a  2s  .c  o m

    try {
        jxFolder = openFolder(folderId);

        Message[] jxMessages = getMessagesByUID(jxFolder, remoteMessageIds);

        FetchProfile fetchProfile = new FetchProfile();

        fetchProfile.add(UIDFolder.FetchProfileItem.CONTENT_INFO);
        fetchProfile.add(UIDFolder.FetchProfileItem.FLAGS);
        fetchProfile.add(UIDFolder.FetchProfileItem.UID);

        jxFolder.fetch(jxMessages, fetchProfile);

        for (Message jxMessage : jxMessages) {
            String flags = getFlags(jxMessage);

            long remoteMessageId = getUID(jxFolder, jxMessage);

            com.liferay.mail.model.Message message = MessageLocalServiceUtil.getMessage(folderId,
                    remoteMessageId);

            StringBundler bodyPlain = new StringBundler();
            StringBundler bodyHtml = new StringBundler();
            List<MailFile> mailFiles = new ArrayList<MailFile>();

            getParts(_user.getUserId(), bodyPlain, bodyHtml, StringPool.BLANK, jxMessage, mailFiles);

            if (bodyHtml.length() == 0) {
                if (bodyPlain.length() == 0) {
                    bodyHtml.append("&nbsp;");
                } else {
                    bodyHtml = bodyPlain;
                }
            }

            if (flags.indexOf(MailConstants.FLAG_SEEN) == -1) {
                jxMessage.setFlag(Flags.Flag.SEEN, false);
            }

            AttachmentLocalServiceUtil.deleteAttachments(message.getCompanyId(), message.getMessageId());

            for (MailFile mailFile : mailFiles) {
                AttachmentLocalServiceUtil.addAttachment(_user.getUserId(), message.getMessageId(),
                        mailFile.getContentPath(), mailFile.getFileName(), mailFile.getSize(),
                        mailFile.getFile());
            }

            MessageLocalServiceUtil.updateContent(message.getMessageId(), bodyHtml.toString(), flags);
        }
    } catch (MessagingException me) {
        throw new MailException(me);
    } finally {
        closeFolder(jxFolder, false);
    }
}