Search in sources :

Example 1 with RepoRepository

use of org.opensolaris.opengrok.history.RepoRepository in project OpenGrok by OpenGrok.

the class ProjectHelperTestBase method createRepository.

protected static Project createRepository(int index, int number, int cnt, boolean grouped, boolean allowed, List<RepositoryInfo> rps, List<Project> prjs, Map<Project, List<RepositoryInfo>> map) {
    Project p = createProject(index, number, grouped, allowed, true, rps, prjs, map);
    for (int i = 0; i < cnt; i++) {
        RepositoryInfo info = new RepoRepository();
        info.setParent(p.getName() + "_" + i);
        info.setDirectoryName(p.getPath());
        rps.add(info);
        List<RepositoryInfo> infos = map.get(p);
        if (infos == null) {
            infos = new ArrayList<>();
        }
        infos.add(info);
        map.put(p, infos);
    }
    return p;
}
Also used : Project(org.opensolaris.opengrok.configuration.Project) RepositoryInfo(org.opensolaris.opengrok.history.RepositoryInfo) RepoRepository(org.opensolaris.opengrok.history.RepoRepository)

Example 2 with RepoRepository

use of org.opensolaris.opengrok.history.RepoRepository in project OpenGrok by OpenGrok.

the class ProjectHelperTest method testSynchronization.

/**
 * Test if projects and groups are always reloaded fully from the env.
 *
 * This ensures that when the RuntimeEnvironment changes that it also
 * updates the projects in the UI.
 */
@Test
public void testSynchronization() {
    HashMap<String, Project> oldProjects = new HashMap<>(env.getProjects());
    List<RepositoryInfo> oldRepositories = new ArrayList<>(env.getRepositories());
    Set<Group> oldGroups = new TreeSet<>(env.getGroups());
    Map<Project, List<RepositoryInfo>> oldMap = new TreeMap<>(getRepositoriesMap());
    env.getAuthorizationFramework().removeAll();
    // needed for setDirectoryName() below
    env.setSourceRoot("/src");
    cfg = PageConfig.get(getRequest());
    helper = cfg.getProjectHelper();
    // basic setup
    Assert.assertEquals("There should be 40 env projects", 40, env.getProjects().size());
    Assert.assertEquals("There should be 20 env repositories", 20, env.getRepositories().size());
    Assert.assertEquals("There should be 4 env groups", 4, env.getGroups().size());
    Assert.assertEquals("There are 8 ungrouped projects", 8, helper.getAllUngrouped().size());
    Assert.assertEquals("There are 40 projects", 40, helper.getAllProjects().size());
    Assert.assertEquals("There are 4 projects", 4, helper.getRepositories().size());
    Assert.assertEquals("There are 4 groups", 4, helper.getGroups().size());
    // project
    Project p = new Project("some random name not in any group");
    p.setIndexed(true);
    // group
    Group g = new Group("some random name of a group");
    // repository
    Project repo = new Project("some random name not in any other group");
    repo.setIndexed(true);
    RepositoryInfo info = new RepoRepository();
    info.setParent(repo.getName());
    info.setDirectoryName(new File("/foo"));
    List<RepositoryInfo> infos = getRepositoriesMap().get(repo);
    if (infos == null) {
        infos = new ArrayList<>();
    }
    infos.add(info);
    getRepositoriesMap().put(repo, infos);
    env.getRepositories().add(info);
    env.getProjects().put("foo", p);
    env.getProjects().put("bar", repo);
    env.getGroups().add(g);
    env.register();
    Assert.assertEquals(42, env.getProjects().size());
    Assert.assertEquals(21, env.getRepositories().size());
    Assert.assertEquals(5, env.getGroups().size());
    // simulate another request
    cfg = PageConfig.get(getRequest());
    helper = cfg.getProjectHelper();
    // check for updates
    Assert.assertEquals("The helper state should refresh", 10, helper.getAllUngrouped().size());
    Assert.assertEquals("The helper state should refresh", 42, helper.getAllProjects().size());
    Assert.assertEquals("The helper state should refresh", 5, helper.getRepositories().size());
    Assert.assertEquals("The helper state should refresh", 5, helper.getGroups().size());
    setRepositoriesMap(oldMap);
    env.setProjects(oldProjects);
    env.setRepositories(oldRepositories);
    env.setGroups(oldGroups);
    env.register();
}
Also used : Group(org.opensolaris.opengrok.configuration.Group) HashMap(java.util.HashMap) RepositoryInfo(org.opensolaris.opengrok.history.RepositoryInfo) ArrayList(java.util.ArrayList) RepoRepository(org.opensolaris.opengrok.history.RepoRepository) TreeMap(java.util.TreeMap) Project(org.opensolaris.opengrok.configuration.Project) TreeSet(java.util.TreeSet) ArrayList(java.util.ArrayList) List(java.util.List) File(java.io.File) Test(org.junit.Test)

Example 3 with RepoRepository

use of org.opensolaris.opengrok.history.RepoRepository in project OpenGrok by OpenGrok.

the class ProjectHelperTestBase method createRepository.

protected static Project createRepository(int index, int number, int cnt, boolean grouped, boolean allowed, List<RepositoryInfo> rps, Map<String, Project> prjs, Map<Project, List<RepositoryInfo>> map) {
    Project p = createProject(index, number, grouped, allowed, true, rps, prjs, map);
    for (int i = 0; i < cnt; i++) {
        RepositoryInfo info = new RepoRepository();
        info.setParent(p.getName() + "_" + i);
        info.setDirectoryNameRelative(p.getPath());
        rps.add(info);
        List<RepositoryInfo> infos = map.get(p);
        if (infos == null) {
            infos = new ArrayList<>();
        }
        infos.add(info);
        map.put(p, infos);
    }
    return p;
}
Also used : Project(org.opensolaris.opengrok.configuration.Project) RepositoryInfo(org.opensolaris.opengrok.history.RepositoryInfo) RepoRepository(org.opensolaris.opengrok.history.RepoRepository)

Aggregations

Project (org.opensolaris.opengrok.configuration.Project)3 RepoRepository (org.opensolaris.opengrok.history.RepoRepository)3 RepositoryInfo (org.opensolaris.opengrok.history.RepositoryInfo)3 File (java.io.File)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 List (java.util.List)1 TreeMap (java.util.TreeMap)1 TreeSet (java.util.TreeSet)1 Test (org.junit.Test)1 Group (org.opensolaris.opengrok.configuration.Group)1