List of usage examples for com.liferay.portal.kernel.util ArrayUtil subset
public static <T> T[] subset(T[] array, int start, int end)
From source file:com.liferay.document.library.webserver.test.WebServerRangeTest.java
License:Open Source License
@Test public void testMultipartRange() throws Exception { String[] ranges = { "0-9", "25-25", "30-49", "70-79" }; String rangeHeader = "bytes="; for (int i = 0; i < ranges.length; i++) { rangeHeader += ranges[i];/*ww w.j ava2s . c o m*/ if (i != (ranges.length - 1)) { rangeHeader += StringPool.COMMA; } } MockHttpServletResponse mockHttpServletResponse = testRange(rangeHeader); String contentType = mockHttpServletResponse.getContentType(); Assert.assertTrue(contentType.startsWith(_BOUNDARY_PREFACE)); String boundary = contentType.substring(_BOUNDARY_PREFACE.length()); String responseBody = mockHttpServletResponse.getContentAsString(); Assert.assertTrue(responseBody.startsWith("\r\n--" + boundary + "\r\n")); Assert.assertTrue(responseBody.endsWith("--" + boundary + "--\r\n")); String[] responseBodies = StringUtil.split(responseBody, boundary); Assert.assertEquals(Arrays.toString(responseBodies), ranges.length + 2, responseBodies.length); Assert.assertEquals(StringPool.DOUBLE_DASH, responseBodies[0]); Assert.assertEquals(StringPool.DOUBLE_DASH, responseBodies[ranges.length + 1]); for (int i = 0; i < ranges.length; i++) { String[] lines = StringUtil.split(responseBodies[i + 1], StringPool.RETURN_NEW_LINE); Assert.assertEquals("Content-Type: text/plain", lines[0]); Assert.assertEquals("Content-Range: bytes " + ranges[i] + "/80", lines[1]); Assert.assertTrue(Validator.isNull(lines[2])); String[] rangePair = StringUtil.split(ranges[i], StringPool.DASH); int start = GetterUtil.getInteger(rangePair[0]); int end = GetterUtil.getInteger(rangePair[1]); byte[] bytes = ArrayUtil.subset(_SAMPLE_DATA.getBytes(), start, end + 1); Assert.assertArrayEquals(bytes, lines[3].getBytes("UTF-8")); Assert.assertEquals(StringPool.DOUBLE_DASH, lines[4]); } }
From source file:com.liferay.knowledgebase.service.impl.KBArticleServiceImpl.java
License:Open Source License
@Override public KBArticleSearchDisplay getKBArticleSearchDisplay(long groupId, String title, String content, int status, Date startDate, Date endDate, boolean andOperator, int[] curStartValues, int cur, int delta, OrderByComparator<KBArticle> orderByComparator) throws PortalException { // See LPS-9546 int start = 0; if (curStartValues.length > (cur - SearchContainer.DEFAULT_CUR)) { start = curStartValues[cur - SearchContainer.DEFAULT_CUR]; curStartValues = ArrayUtil.subset(curStartValues, 0, cur - SearchContainer.DEFAULT_CUR + 1); } else {// www . ja v a2s.c o m cur = SearchContainer.DEFAULT_CUR; curStartValues = new int[] { 0 }; } int end = start + _INTERVAL; List<KBArticle> kbArticles = new ArrayList<KBArticle>(); int curStartValue = 0; while (curStartValue == 0) { List<KBArticle> curKBArticles = kbArticleLocalService.search(groupId, title, content, status, startDate, endDate, andOperator, start, end, orderByComparator); if (curKBArticles.isEmpty()) { break; } for (int i = 0; i < curKBArticles.size(); i++) { KBArticle curKBArticle = curKBArticles.get(i); if (!KBArticlePermission.contains(getPermissionChecker(), curKBArticle, ActionKeys.VIEW)) { continue; } if (kbArticles.size() == delta) { curStartValue = start + i; break; } kbArticles.add(curKBArticle); } start = start + _INTERVAL; end = start + _INTERVAL; } int total = ((cur - 1) * delta) + kbArticles.size(); if (curStartValue > 0) { curStartValues = ArrayUtil.append(curStartValues, curStartValue); total = total + 1; } return new KBArticleSearchDisplayImpl(kbArticles, total, curStartValues); }
From source file:com.liferay.knowledgebase.service.impl.KBStructureServiceImpl.java
License:Open Source License
public KBStructureSearchDisplay getKBStructureSearchDisplay(long groupId, String title, String content, Date startDate, Date endDate, boolean andOperator, int[] curStartValues, int cur, int delta, OrderByComparator orderByComparator) throws PortalException, SystemException { // See LPS-9546 int start = 0; if (curStartValues.length > (cur - SearchContainer.DEFAULT_CUR)) { start = curStartValues[cur - SearchContainer.DEFAULT_CUR]; curStartValues = ArrayUtil.subset(curStartValues, 0, cur - SearchContainer.DEFAULT_CUR + 1); } else {//from w ww. j ava 2 s. com cur = SearchContainer.DEFAULT_CUR; curStartValues = new int[] { 0 }; } int end = start + _INTERVAL; List<KBStructure> kbStructures = new ArrayList<KBStructure>(); int curStartValue = 0; while (curStartValue == 0) { List<KBStructure> curKBStructures = kbStructureLocalService.search(groupId, title, content, startDate, endDate, andOperator, start, end, orderByComparator); if (curKBStructures.isEmpty()) { break; } for (int i = 0; i < curKBStructures.size(); i++) { KBStructure curKBStructure = curKBStructures.get(i); if (!KBStructurePermission.contains(getPermissionChecker(), curKBStructure, ActionKeys.VIEW)) { continue; } if (kbStructures.size() == delta) { curStartValue = start + i; break; } kbStructures.add(curKBStructure); } start = start + _INTERVAL; end = start + _INTERVAL; } int total = ((cur - 1) * delta) + kbStructures.size(); if (curStartValue > 0) { curStartValues = ArrayUtil.append(curStartValues, curStartValue); total = total + 1; } return new KBStructureSearchDisplayImpl(kbStructures, total, curStartValues); }
From source file:com.liferay.knowledgebase.service.impl.KBTemplateServiceImpl.java
License:Open Source License
@Override public KBTemplateSearchDisplay getKBTemplateSearchDisplay(long groupId, String title, String content, Date startDate, Date endDate, boolean andOperator, int[] curStartValues, int cur, int delta, OrderByComparator<KBTemplate> orderByComparator) throws PortalException { // See LPS-9546 int start = 0; if (curStartValues.length > (cur - SearchContainer.DEFAULT_CUR)) { start = curStartValues[cur - SearchContainer.DEFAULT_CUR]; curStartValues = ArrayUtil.subset(curStartValues, 0, cur - SearchContainer.DEFAULT_CUR + 1); } else {//w w w . j a va2s .com cur = SearchContainer.DEFAULT_CUR; curStartValues = new int[] { 0 }; } int end = start + _INTERVAL; List<KBTemplate> kbTemplates = new ArrayList<KBTemplate>(); int curStartValue = 0; while (curStartValue == 0) { List<KBTemplate> curKBTemplates = kbTemplateLocalService.search(groupId, title, content, startDate, endDate, andOperator, start, end, orderByComparator); if (curKBTemplates.isEmpty()) { break; } for (int i = 0; i < curKBTemplates.size(); i++) { KBTemplate curKBTemplate = curKBTemplates.get(i); if (!KBTemplatePermission.contains(getPermissionChecker(), curKBTemplate, ActionKeys.VIEW)) { continue; } if (kbTemplates.size() == delta) { curStartValue = start + i; break; } kbTemplates.add(curKBTemplate); } start = start + _INTERVAL; end = start + _INTERVAL; } int total = ((cur - 1) * delta) + kbTemplates.size(); if (curStartValue > 0) { curStartValues = ArrayUtil.append(curStartValues, curStartValue); total = total + 1; } return new KBTemplateSearchDisplayImpl(kbTemplates, total, curStartValues); }
From source file:com.liferay.knowledgebase.util.KnowledgeBaseUtil.java
License:Open Source License
public static Long[][] getParams(Long[] params) { if (ArrayUtil.isEmpty(params)) { return null; }/*from w w w . j a va 2s.co m*/ if (params.length <= _SQL_DATA_MAX_PARAMETERS) { return new Long[][] { new Long[0], params }; } return new Long[][] { ArrayUtil.subset(params, _SQL_DATA_MAX_PARAMETERS, params.length), ArrayUtil.subset(params, 0, _SQL_DATA_MAX_PARAMETERS) }; }
From source file:com.liferay.petra.mail.MailEngine.java
License:Open Source License
private static Address[] _getBatchAddresses(Address[] addresses, int index, int batchSize) { if ((batchSize == _BATCH_SIZE) && (index == 0)) { return addresses; } else if (batchSize == _BATCH_SIZE) { return null; }/*w w w .ja va2 s .com*/ int start = index * batchSize; if (start > addresses.length) { return null; } int end = (index + 1) * batchSize; if (end > addresses.length) { end = addresses.length; } return ArrayUtil.subset(addresses, start, end); }