List of usage examples for com.liferay.portal.kernel.util ListUtil copy
public static <E> List<E> copy(List<? extends E> master)
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()); } }