Package com.gitblit.models

Examples of com.gitblit.models.ProjectModel


      if (!includeUsers && repository.isPersonalRepository()) {
        // exclude personal repositories
        continue;
      }
      if (!projects.containsKey(repository.projectPath)) {
        ProjectModel project = getProjectModel(repository.projectPath);
        if (project == null) {
          logger.warn(MessageFormat.format("excluding project \"{0}\" from project list because it is empty!",
              repository.projectPath));
          continue;
        }
        projects.put(repository.projectPath, project);
        // clear the repo list in the project because that is the system
        // list, not the user-accessible list and start building the
        // user-accessible list
        project.repositories.clear();
        project.repositories.add(repository.name);
        project.lastChange = repository.lastChange;
      } else {
        // update the user-accessible list
        // this is used for repository count
        ProjectModel project = projects.get(repository.projectPath);
        project.repositories.add(repository.name);
        if (project.lastChange.before(repository.lastChange)) {
          project.lastChange = repository.lastChange;
        }
      }
View Full Code Here


      // try to find a project
      UserModel user = null;
      if (request instanceof AuthenticatedRequest) {
        user = ((AuthenticatedRequest) request).getUser();
      }
      ProjectModel project = projectManager.getProjectModel(repositoryName, user);
      if (project != null) {
        isProjectFeed = true;
        repositories = new ArrayList<String>(project.repositories);

        // project feed
View Full Code Here

    HttpServletResponse httpResponse = (HttpServletResponse) response;

    String fullUrl = getFullUrl(httpRequest);
    String name = extractRequestedName(fullUrl);

    ProjectModel project = projectManager.getProjectModel(name);
    RepositoryModel model = null;

    if (project == null) {
      // try loading a repository model
      model = repositoryManager.getRepositoryModel(name);
View Full Code Here

      }

      List<RepositoryModel> groupedModels = new ArrayList<RepositoryModel>();
      for (String root : roots) {
        List<RepositoryModel> subModels = groups.get(root);
        ProjectModel project = app().projects().getProjectModel(root);
        GroupRepositoryModel group = new GroupRepositoryModel(project == null ? root : project.name, subModels.size());
        if (project != null) {
          group.title = project.title;
          group.description = project.description;
        }
View Full Code Here

        counter = 0;
      }

      @Override
      public void populateItem(final Item<ProjectModel> item) {
        final ProjectModel entry = item.getModelObject();

        PageParameters pp = WicketUtils.newProjectParameter(entry.name);
        item.add(new LinkPanel("projectTitle", "list", entry.getDisplayName(),
            ProjectPage.class, pp));
        item.add(new LinkPanel("projectDescription", "list", entry.description,
            ProjectPage.class, pp));

        item.add(new Label("repositoryCount", entry.repositories.size()
View Full Code Here

  }

  @Override
  protected void setupPage(String repositoryName, String pageName) {
    String projectName = StringUtils.getFirstPathElement(repositoryName);
    ProjectModel project = app().projects().getProjectModel(projectName);
    if (project.isUserProject()) {
      // user-as-project
      add(new LinkPanel("projectTitle", null, project.getDisplayName(),
          UserPage.class, WicketUtils.newUsernameParameter(project.name.substring(1))));
    } else {
      // project
      add(new LinkPanel("projectTitle", null, project.name,
          ProjectPage.class, WicketUtils.newProjectParameter(project.name)));
View Full Code Here

      } catch (Exception e) {
      }

      // project configs
      String rootName = settings.getString(Keys.web.repositoryRootGroupName, "main");
      ProjectModel rootProject = new ProjectModel(rootName, true);

      Map<String, ProjectModel> configs = new HashMap<String, ProjectModel>();
      // cache the root project under its alias and an empty path
      configs.put("", rootProject);
      configs.put(rootProject.name.toLowerCase(), rootProject);

      for (String name : projectConfigs.getSubsections("project")) {
        ProjectModel project;
        if (name.equalsIgnoreCase(rootName)) {
          project = rootProject;
        } else {
          project = new ProjectModel(name);
        }
        project.title = projectConfigs.getString("project", name, "title");
        project.description = projectConfigs.getString("project", name, "description");

        reloadProjectMarkdown(project);
View Full Code Here

    for (RepositoryModel model : repositoryManager.getRepositoryModels(user)) {
      String projectPath = StringUtils.getRootPath(model.name);
      String projectKey = projectPath.toLowerCase();
      if (!map.containsKey(projectKey)) {
        ProjectModel project;
        if (configs.containsKey(projectKey)) {
          // clone the project model because it's repository list will
          // be tailored for the requesting user
          project = DeepCopier.copy(configs.get(projectKey));
        } else {
          project = new ProjectModel(projectPath);
        }
        map.put(projectKey, project);
      }
      map.get(projectKey).addRepository(model);
    }

    // sort projects, root project first
    List<ProjectModel> projects;
    if (includeUsers) {
      // all projects
      projects = new ArrayList<ProjectModel>(map.values());
      Collections.sort(projects);
      projects.remove(map.get(""));
      projects.add(0, map.get(""));
    } else {
      // all non-user projects
      projects = new ArrayList<ProjectModel>();
      ProjectModel root = map.remove("");
      for (ProjectModel model : map.values()) {
        if (!model.isUserProject()) {
          projects.add(model);
        }
      }
View Full Code Here

   * @return a project model or null if the project does not exist
   */
  @Override
  public ProjectModel getProjectModel(String name) {
    Map<String, ProjectModel> configs = getProjectConfigs();
    ProjectModel project = configs.get(name.toLowerCase());
    if (project == null) {
      project = new ProjectModel(name);
      if (ModelUtils.isPersonalRepository(name)) {
        UserModel user = userManager.getUserModel(ModelUtils.getUserNameFromRepoPath(name));
        if (user != null) {
          project.title = user.getDisplayName();
          project.description = "personal repositories";
        }
      }
    } else {
      // clone the object
      project = DeepCopier.copy(project);
    }
    if (StringUtils.isEmpty(name)) {
      // get root repositories
      for (String repository : repositoryManager.getRepositoryList()) {
        if (repository.indexOf('/') == -1) {
          project.addRepository(repository);
        }
      }
    } else {
      // get repositories in subfolder
      String folder = name.toLowerCase() + "/";
      for (String repository : repositoryManager.getRepositoryList()) {
        if (repository.toLowerCase().startsWith(folder)) {
          project.addRepository(repository);
        }
      }
    }
    if (project.repositories.size() == 0) {
      // no repositories == no project
View Full Code Here

      if (!includeUsers && repository.isPersonalRepository()) {
        // exclude personal repositories
        continue;
      }
      if (!projects.containsKey(repository.projectPath)) {
        ProjectModel project = getProjectModel(repository.projectPath);
        if (project == null) {
          logger.warn(MessageFormat.format("excluding project \"{0}\" from project list because it is empty!",
              repository.projectPath));
          continue;
        }
        projects.put(repository.projectPath, project);
        // clear the repo list in the project because that is the system
        // list, not the user-accessible list and start building the
        // user-accessible list
        project.repositories.clear();
        project.repositories.add(repository.name);
        project.lastChange = repository.lastChange;
      } else {
        // update the user-accessible list
        // this is used for repository count
        ProjectModel project = projects.get(repository.projectPath);
        project.repositories.add(repository.name);
        if (project.lastChange.before(repository.lastChange)) {
          project.lastChange = repository.lastChange;
        }
      }
View Full Code Here

TOP

Related Classes of com.gitblit.models.ProjectModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.