com.aimluck.eip.modules.actions.project.util.ProjectTestUtil.java Source code

Java tutorial

Introduction

Here is the source code for com.aimluck.eip.modules.actions.project.util.ProjectTestUtil.java

Source

/*
 * Aipo is a groupware program developed by Aimluck,Inc.
 * Copyright (C) 2004-2015 Aimluck,Inc.
 * http://www.aipo.com
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package com.aimluck.eip.modules.actions.project.util;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

import org.apache.commons.lang.StringUtils;

public class ProjectTestUtil {

    public static final String FS = System.getProperty("file.separator");

    public static String fileSeparatorJoin(String... args) {
        List<String> list = Arrays.asList(args);
        return join(list, FS);
    }

    public static String join(List<String> list, String separator) {
        StringBuilder features = new StringBuilder();
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            String word = it.next();
            if (StringUtils.isEmpty(word)) {
                continue;
            }
            features.append(word);
            if (it.hasNext()) {
                features.append(separator);
            }
        }
        return features.toString();
    }

    public static <T> List<List<T>> devide(List<T> origin, int size) {
        if (origin == null || origin.isEmpty() || size <= 0) {
            return Collections.emptyList();
        }

        int block = origin.size() / size + (origin.size() % size > 0 ? 1 : 0);

        List<List<T>> devidedList = new ArrayList<List<T>>(block);
        for (int i = 0; i < block; i++) {
            int start = i * size;
            int end = Math.min(start + size, origin.size());
            devidedList.add(new ArrayList<T>(origin.subList(start, end)));
        }
        return devidedList;
    }

}