/** * Prepares the partitions. * * @param parts Partitions. */ protected int[] prepare(int[] parts) { if (parts == null) return null; A.notEmpty(parts, "Partitions"); boolean sorted = true; // Try to do validation in one pass, if array is already sorted. for (int i = 0; i < parts.length; i++) { if (i < parts.length - 1) if (parts[i] > parts[i + 1]) sorted = false; else if (sorted) validateDups(parts[i], parts[i + 1]); A.ensure(0 <= parts[i] && parts[i] < CacheConfiguration.MAX_PARTITIONS_COUNT, "Illegal partition"); } // Sort and validate again. if (!sorted) { Arrays.sort(parts); for (int i = 0; i < parts.length; i++) { if (i < parts.length - 1) validateDups(parts[i], parts[i + 1]); } } return parts; }
/** * Prepares the partitions. * * @param parts Partitions. */ protected int[] prepare(int[] parts) { if (parts == null) return null; A.notEmpty(parts, "Partitions"); boolean sorted = true; // Try to do validation in one pass, if array is already sorted. for (int i = 0; i < parts.length; i++) { if (i < parts.length - 1) if (parts[i] > parts[i + 1]) sorted = false; else if (sorted) validateDups(parts[i], parts[i + 1]); A.ensure(0 <= parts[i] && parts[i] < CacheConfiguration.MAX_PARTITIONS_COUNT, "Illegal partition"); } // Sort and validate again. if (!sorted) { Arrays.sort(parts); for (int i = 0; i < parts.length; i++) { if (i < parts.length - 1) validateDups(parts[i], parts[i + 1]); } } return parts; }