Example usage for com.liferay.portal.kernel.util ListUtil copy

List of usage examples for com.liferay.portal.kernel.util ListUtil copy

Introduction

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

Prototype

public static <E> List<E> copy(List<? extends E> master) 

Source Link

Usage

From source file:com.custom.portal.verify.CustomVerifyDocumentLibrary.java

License:Open Source License

protected void copyDLFileEntry(DLFileEntry dlFileEntry) throws PortalException, SystemException {

    long companyId = dlFileEntry.getCompanyId();
    long dataRepositoryId = dlFileEntry.getDataRepositoryId();
    String name = dlFileEntry.getName();
    String version = dlFileEntry.getVersion();

    if (DLStoreUtil.hasFile(companyId, dataRepositoryId, name, version)) {
        return;//  w w w . j  ava2  s . com
    }

    FileVersionVersionComparator comparator = new FileVersionVersionComparator();

    List<DLFileVersion> dlFileVersions = dlFileEntry.getFileVersions(WorkflowConstants.STATUS_APPROVED);

    if (dlFileVersions.isEmpty()) {
        dlFileVersions = dlFileEntry.getFileVersions(WorkflowConstants.STATUS_ANY);
    }

    if (dlFileVersions.isEmpty()) {
        DLStoreUtil.addFile(companyId, dataRepositoryId, name, new byte[0]);

        return;
    }

    dlFileVersions = ListUtil.copy(dlFileVersions);

    Collections.sort(dlFileVersions, comparator);

    DLFileVersion dlFileVersion = dlFileVersions.get(0);

    DLStoreUtil.copyFileVersion(companyId, dataRepositoryId, name, dlFileVersion.getVersion(), version);
}

From source file:com.liferay.asset.categories.internal.service.AssetCategoryPropertyAssetCategoryLocalServiceWrapper.java

License:Open Source License

@Override
public AssetCategory updateCategory(long userId, long categoryId, long parentCategoryId,
        Map<Locale, String> titleMap, Map<Locale, String> descriptionMap, long vocabularyId,
        String[] categoryProperties, ServiceContext serviceContext) throws PortalException {

    List<AssetCategoryProperty> oldCategoryProperties = _assetCategoryPropertyLocalService
            .getCategoryProperties(categoryId);

    oldCategoryProperties = ListUtil.copy(oldCategoryProperties);

    if (categoryProperties != null) {
        for (int i = 0; i < categoryProperties.length; i++) {
            String[] categoryProperty = StringUtil.split(categoryProperties[i],
                    AssetCategoryConstants.PROPERTY_KEY_VALUE_SEPARATOR);

            if (categoryProperty.length <= 1) {
                categoryProperty = StringUtil.split(categoryProperties[i], CharPool.COLON);
            }/*from w  ww.  j a  v  a2 s.  c o  m*/

            String key = StringPool.BLANK;

            if (categoryProperty.length > 0) {
                key = GetterUtil.getString(categoryProperty[0]);
            }

            String value = StringPool.BLANK;

            if (categoryProperty.length > 1) {
                value = GetterUtil.getString(categoryProperty[1]);
            }

            if (Validator.isNotNull(key)) {
                boolean addCategoryProperty = true;

                AssetCategoryProperty oldCategoryProperty = null;

                Iterator<AssetCategoryProperty> iterator = oldCategoryProperties.iterator();

                while (iterator.hasNext()) {
                    oldCategoryProperty = iterator.next();

                    if ((categoryId == oldCategoryProperty.getCategoryId())
                            && key.equals(oldCategoryProperty.getKey())) {

                        addCategoryProperty = false;

                        if (!value.equals(oldCategoryProperty.getValue())) {
                            _assetCategoryPropertyLocalService.updateCategoryProperty(userId,
                                    oldCategoryProperty.getCategoryPropertyId(), key, value);
                        }

                        iterator.remove();

                        break;
                    }
                }

                if (addCategoryProperty) {
                    _assetCategoryPropertyLocalService.addCategoryProperty(userId, categoryId, key, value);
                }
            }
        }
    }

    for (AssetCategoryProperty categoryProperty : oldCategoryProperties) {
        _assetCategoryPropertyLocalService.deleteAssetCategoryProperty(categoryProperty);
    }

    return super.updateCategory(userId, categoryId, parentCategoryId, titleMap, descriptionMap, vocabularyId,
            categoryProperties, serviceContext);
}

From source file:com.liferay.asset.categories.internal.validator.CardinalityAssetEntryValidator.java

License:Open Source License

@Override
public void validate(long groupId, String className, long classPK, long classTypePK, long[] categoryIds,
        String[] entryNames) throws PortalException {

    List<AssetVocabulary> assetVocabularies = _assetVocabularyLocalService.getGroupVocabularies(groupId, false);

    Group group = _groupLocalService.getGroup(groupId);

    if (!group.isCompany()) {
        Group companyGroup = _groupLocalService.fetchCompanyGroup(group.getCompanyId());

        if (companyGroup != null) {
            assetVocabularies = ListUtil.copy(assetVocabularies);

            assetVocabularies//w ww  .  j av a  2 s  .com
                    .addAll(_assetVocabularyLocalService.getGroupVocabularies(companyGroup.getGroupId()));
        }
    }

    long classNameId = _classNameLocalService.getClassNameId(className);

    if (isCategorizable(groupId, classNameId, classPK)) {
        for (AssetVocabulary assetVocabulary : assetVocabularies) {
            validate(classNameId, classTypePK, categoryIds, assetVocabulary);
        }
    }
}

From source file:com.liferay.calendar.service.impl.CalendarBookingServiceImpl.java

License:Open Source License

protected List<CalendarBooking> filterCalendarBookings(List<CalendarBooking> calendarBookings, String actionId)
        throws PortalException {

    calendarBookings = ListUtil.copy(calendarBookings);

    Iterator<CalendarBooking> itr = calendarBookings.iterator();

    while (itr.hasNext()) {
        CalendarBooking calendarBooking = itr.next();

        if (!CalendarPermission.contains(getPermissionChecker(), calendarBooking.getCalendarId(),
                ActionKeys.VIEW_BOOKING_DETAILS)) {

            if (!CalendarPermission.contains(getPermissionChecker(), calendarBooking.getCalendarId(),
                    actionId)) {/*w  ww  .j  a  v a2s.c  o  m*/

                itr.remove();
            } else {
                filterCalendarBooking(calendarBooking);
            }
        }
    }

    return calendarBookings;
}

From source file:com.liferay.calendar.service.impl.CalendarServiceImpl.java

License:Open Source License

protected List<Calendar> filterCalendars(List<Calendar> calendars, String actionId) throws PrincipalException {

    calendars = ListUtil.copy(calendars);

    Iterator<Calendar> itr = calendars.iterator();

    while (itr.hasNext()) {
        Calendar calendar = itr.next();

        if (!CalendarPermission.contains(getPermissionChecker(), calendar, actionId)) {

            itr.remove();//from  www  . j a va 2  s  . co  m
        }
    }

    return calendars;
}

From source file:com.liferay.chat.poller.ChatPollerProcessor.java

License:Open Source License

protected void getEntries(PollerRequest pollerRequest, PollerResponse pollerResponse) throws Exception {

    Status status = StatusLocalServiceUtil.getUserStatus(pollerRequest.getUserId());

    long createDate = 0;

    if (pollerRequest.isInitialRequest()) {
        createDate = status.getModifiedDate() - Time.DAY;
    }/* w  ww  .  j a  va 2 s .c  o m*/

    List<Entry> entries = EntryLocalServiceUtil.getNewEntries(pollerRequest.getUserId(), createDate, 0,
            PortletPropsValues.BUDDY_LIST_MAX_BUDDIES);

    entries = ListUtil.copy(entries);

    Collections.reverse(entries);

    JSONArray entriesJSONArray = JSONFactoryUtil.createJSONArray();

    for (Entry entry : entries) {
        JSONObject entryJSONObject = JSONFactoryUtil.createJSONObject();

        entryJSONObject.put("entryId", entry.getEntryId());
        entryJSONObject.put("createDate", entry.getCreateDate());
        entryJSONObject.put("fromUserId", entry.getFromUserId());

        if (entry.getFromUserId() != pollerRequest.getUserId()) {
            try {
                User fromUser = UserLocalServiceUtil.getUserById(entry.getFromUserId());

                entryJSONObject.put("fromFullName", fromUser.getFullName());
                entryJSONObject.put("fromPortraitId", fromUser.getPortraitId());
            } catch (NoSuchUserException nsue) {
                continue;
            }
        }

        entryJSONObject.put("toUserId", entry.getToUserId());
        entryJSONObject.put("content", HtmlUtil.escape(entry.getContent()));
        entryJSONObject.put("flag", entry.getFlag());

        entriesJSONArray.put(entryJSONObject);
    }

    pollerResponse.setParameter("entries", entriesJSONArray);

    if (!entries.isEmpty()) {
        pollerResponse.setParameter(PollerResponse.POLLER_HINT_HIGH_CONNECTIVITY, Boolean.TRUE.toString());
    }

    boolean updatePresence = getBoolean(pollerRequest, "updatePresence");

    if (updatePresence) {
    } else if (!entries.isEmpty()) {
        updatePresence = true;
    } else {
        long onlineTimestamp = status.getModifiedDate() + ChatConstants.ONLINE_DELTA
                - ChatConstants.MAX_POLL_LATENCY;

        if (onlineTimestamp < pollerRequest.getTimestamp()) {
            updatePresence = true;
        }
    }

    if (updatePresence) {
        StatusLocalServiceUtil.updateStatus(pollerRequest.getUserId(), pollerRequest.getTimestamp());
    }
}

From source file:com.liferay.content.targeting.portlet.ContentTargetingPortlet.java

License:Open Source License

protected List<InvalidRuleException> updateRules(long userSegmentId, PortletRequest request,
        PortletResponse response) throws Exception {

    List<RuleInstance> requestRuleInstances = getRulesFromRequest(request, response);

    List<RuleInstance> ruleInstances = ListUtil.copy(_ruleInstanceService.getRuleInstances(userSegmentId));

    List<InvalidRuleException> ruleExceptions = new ArrayList<InvalidRuleException>();

    if (requestRuleInstances.isEmpty()) {
        deleteRuleInstances(ruleInstances);

        return ruleExceptions;
    }/*from w  ww  .  j a v  a  2 s . c  om*/

    ServiceContext serviceContext = ServiceContextFactory.getInstance(RuleInstance.class.getName(), request);

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

    for (RuleInstance requestRuleInstance : requestRuleInstances) {
        Rule rule = _rulesRegistry.getRule(requestRuleInstance.getRuleKey());

        if (rule == null) {
            continue;
        }

        String typeSettings = null;

        try {
            typeSettings = rule.processRule(request, response, requestRuleInstance.getRuleGuid(),
                    requestRuleInstance.getValues());
        } catch (InvalidRuleException ire) {
            ire.setRuleGuid(requestRuleInstance.getRuleGuid());

            ruleExceptions.add(ire);
        } catch (Exception e) {
            ruleExceptions.add(new InvalidRuleException(e.getMessage()));
        }

        try {
            if (requestRuleInstance.getRuleInstanceId() > 0) {
                RuleInstance ruleInstance = _ruleInstanceService.updateRuleInstance(
                        requestRuleInstance.getRuleInstanceId(), typeSettings, serviceContext);

                ruleInstances.remove(ruleInstance);
            } else {
                _ruleInstanceService.addRuleInstance(themeDisplay.getUserId(), requestRuleInstance.getRuleKey(),
                        userSegmentId, typeSettings, serviceContext);
            }
        } catch (PortalException pe) {
            _log.error("Cannot update rule", pe);
        }
    }

    // Delete removed rules

    deleteRuleInstances(ruleInstances);

    return ruleExceptions;
}

From source file:com.liferay.content.targeting.portlet.ContentTargetingPortlet.java

License:Open Source License

protected List<InvalidTrackingActionException> updateTrackingActions(long campaignId, PortletRequest request,
        PortletResponse response) throws Exception {

    List<TrackingActionInstance> requestTrackingActionInstances = getTrackingActionsFromRequest(request,
            response);/*from www.j a v  a  2s .c om*/

    List<TrackingActionInstance> trackingActionInstances = ListUtil
            .copy(_trackingActionInstanceService.getTrackingActionInstances(campaignId));

    List<InvalidTrackingActionException> trackingActionExceptions = new ArrayList<InvalidTrackingActionException>();

    if (requestTrackingActionInstances.isEmpty()) {
        deleteTrackingActionInstances(trackingActionInstances);

        return trackingActionExceptions;
    }

    ServiceContext serviceContext = ServiceContextFactory.getInstance(TrackingActionInstance.class.getName(),
            request);

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

    for (TrackingActionInstance requestTrackingActionInstance : requestTrackingActionInstances) {

        TrackingAction trackingAction = _trackingActionsRegistry
                .getTrackingAction(requestTrackingActionInstance.getTrackingActionKey());

        if (trackingAction == null) {
            continue;
        }

        String typeSettings = null;

        Map<String, String> trackingActionValues = requestTrackingActionInstance.getValues();

        try {
            typeSettings = trackingAction.processTrackingAction(request, response,
                    requestTrackingActionInstance.getTrackingActionGuid(), trackingActionValues);
        } catch (InvalidTrackingActionException itae) {
            itae.setTrackingActionGuid(requestTrackingActionInstance.getTrackingActionGuid());

            trackingActionExceptions.add(itae);
        } catch (Exception e) {
            trackingActionExceptions.add(new InvalidTrackingActionException(e.getMessage()));
        }

        String alias = trackingActionValues.get("alias");
        String referrerClassName = trackingActionValues.get("referrerClassName");
        long referrerClassPK = GetterUtil.getLong(trackingActionValues.get("referrerClassPK"));
        String elementId = trackingActionValues.get("elementId");
        String eventType = trackingActionValues.get("eventType");

        long trackingActionInstanceId = requestTrackingActionInstance.getTrackingActionInstanceId();

        try {
            if (trackingActionInstanceId > 0) {
                TrackingActionInstance trackingActionInstance = _trackingActionInstanceService
                        .updateTrackingActionInstance(trackingActionInstanceId, alias, referrerClassName,
                                referrerClassPK, elementId, eventType, typeSettings, serviceContext);

                trackingActionInstances.remove(trackingActionInstance);
            } else {
                _trackingActionInstanceService.addTrackingActionInstance(themeDisplay.getUserId(),
                        requestTrackingActionInstance.getTrackingActionKey(), campaignId, alias,
                        referrerClassName, referrerClassPK, elementId, eventType, typeSettings, serviceContext);
            }
        } catch (PortalException pe) {
            _log.error("Cannot update tracking action", pe);
        }
    }

    // Delete removed Tracking Actions

    deleteTrackingActionInstances(trackingActionInstances);

    return trackingActionExceptions;
}

From source file:com.liferay.content.targeting.service.test.lar.BaseStagedModelDataHandlerTestCase.java

License:Open Source License

protected void validateExport(PortletDataContext portletDataContext, StagedModel stagedModel,
        Map<String, List<StagedModel>> dependentStagedModelsMap) throws Exception {

    Element rootElement = portletDataContext.getExportDataRootElement();

    List<Element> stagedModelGroupElements = rootElement.elements();

    for (Element stagedModelGroupElement : stagedModelGroupElements) {
        String className = stagedModelGroupElement.getName();

        List<StagedModel> dependentStagedModels = dependentStagedModelsMap.get(className);

        if (dependentStagedModels == null) {
            dependentStagedModels = new ArrayList<StagedModel>();
        } else {//from w w  w . j a va  2  s  .c om
            dependentStagedModels = ListUtil.copy(dependentStagedModels);
        }

        Class<?> stagedModelClass = getStagedModelClass();

        if (className.equals(stagedModelClass.getSimpleName())) {
            dependentStagedModels.add(stagedModel);
        }

        List<Element> elements = stagedModelGroupElement.elements();

        Assert.assertEquals(dependentStagedModels.size(), elements.size());

        for (Element element : elements) {
            String path = element.attributeValue("path");

            Assert.assertNotNull(path);

            Iterator<StagedModel> iterator = dependentStagedModels.iterator();

            while (iterator.hasNext()) {
                StagedModel dependentStagedModel = iterator.next();

                String dependentStagedModelPath = ExportImportPathUtil.getModelPath(dependentStagedModel);

                if (path.equals(dependentStagedModelPath)) {
                    iterator.remove();
                }
            }
        }

        Assert.assertTrue("There is more than one element exported with the same path",
                dependentStagedModels.isEmpty());
    }
}

From source file:com.liferay.contenttargeting.portlet.ContentTargetingPortlet.java

License:Open Source License

protected void updateRules(long userSegmentId, ActionRequest request, ActionResponse response)
        throws Exception {

    String userSegmentRules = ParamUtil.getString(request, "userSegmentRules");

    if (Validator.isNull(userSegmentRules)) {
        return;/*from   w  w w.j  a  va  2  s  .co  m*/
    }

    ServiceContext serviceContext = ServiceContextFactory.getInstance(RuleInstance.class.getName(), request);

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

    JSONObject jSONObject = JSONFactoryUtil.createJSONObject(userSegmentRules);

    String rules = jSONObject.getString("fields");

    JSONArray jSONArray = JSONFactoryUtil.createJSONArray(rules);

    List<RuleInstance> ruleInstances = ListUtil.copy(_ruleInstanceService.getRuleInstances(userSegmentId));

    for (int i = 0; i < jSONArray.length(); i++) {
        JSONObject jSONObjectRule = jSONArray.getJSONObject(i);

        long ruleInstanceId = 0;
        String type = jSONObjectRule.getString("type");

        if (type.contains(StringPool.UNDERLINE)) {
            String[] ids = type.split(StringPool.UNDERLINE);

            ruleInstanceId = GetterUtil.getLong(ids[1]);
            type = ids[0];
        }

        Rule rule = _rulesRegistry.getRule(type);

        String id = jSONObjectRule.getString("id");

        Map<String, String> ruleValues = getJSONValues(jSONObjectRule.getJSONArray("data"),
                response.getNamespace(), id);

        String typeSettings = rule.processRule(request, response, id, ruleValues);

        try {
            if (ruleInstanceId > 0) {
                RuleInstance ruleInstance = _ruleInstanceService.updateRuleInstance(ruleInstanceId,
                        typeSettings, serviceContext);

                ruleInstances.remove(ruleInstance);
            } else {
                _ruleInstanceService.addRuleInstance(themeDisplay.getUserId(), type, userSegmentId,
                        typeSettings, serviceContext);
            }
        } catch (Exception e) {
            _log.error("Cannot update rule", e);
        }
    }

    // Delete removed rules

    for (RuleInstance ruleInstance : ruleInstances) {
        _ruleInstanceService.deleteRuleInstance(ruleInstance.getRuleInstanceId());
    }
}