Package com.gitblit.models

Examples of com.gitblit.models.RepositoryModel


    return r;
  }

  protected RepositoryModel getRepositoryModel() {
    if (m == null) {
      RepositoryModel model = app().repositories().getRepositoryModel(
          GitBlitWebSession.get().getUser(), repositoryName);
      if (model == null) {
        if (app().repositories().hasRepository(repositoryName, true)) {
          // has repository, but unauthorized
          authenticationError(getString("gb.unauthorizedAccessForRepository") + " " + repositoryName);
View Full Code Here


  protected void addRefs(Repository r, RevCommit c) {
    add(new RefsPanel("refsPanel", repositoryName, c, JGitUtils.getAllRefs(r, getRepositoryModel().showRemoteBranches)));
  }

  protected void addFullText(String wicketId, String text) {
    RepositoryModel model = getRepositoryModel();
    String content = bugtraqProcessor().processCommitMessage(r, model, text);
    String html;
    switch (model.commitMessageRenderer) {
    case MARKDOWN:
      html = MessageFormat.format("<div class='commit_message'>{0}</div>", content);
View Full Code Here

  protected void setLastModified() {
    if (getClass().isAnnotationPresent(CacheControl.class)) {
      CacheControl cacheControl = getClass().getAnnotation(CacheControl.class);
      switch (cacheControl.value()) {
      case REPOSITORY:
        RepositoryModel repository = getRepositoryModel();
        if (repository != null) {
          setLastModified(repository.lastChange);
        }
        break;
      case COMMIT:
View Full Code Here

              .trim();
          break;
        }
      }
      Class<? extends BasePage> searchPageClass = GitSearchPage.class;
      RepositoryModel model = app().repositories().getRepositoryModel(repositoryName);
      if (app().settings().getBoolean(Keys.web.allowLuceneIndexing, true)
          && !ArrayUtils.isEmpty(model.indexedBranches)) {
        // this repository is Lucene-indexed
        searchPageClass = LuceneSearchPage.class;
      }
View Full Code Here

          Change newComment = new Change(user.username);
          newComment.comment(txt);
          if (!ticket.isWatching(user.username)) {
            newComment.watch(user.username);
          }
          RepositoryModel repository = app().repositories().getRepositoryModel(ticket.repository);
          TicketModel updatedTicket = app().tickets().updateTicket(repository, ticket.number, newComment);
          if (updatedTicket != null) {
            app().tickets().createNotifier().sendMailing(updatedTicket);
            setResponsePage(pageClass, WicketUtils.newObjectParameter(updatedTicket.repository, "" + ticket.number));
          } else {
View Full Code Here

    if (!(event instanceof ReceiveCommandEvent)) {
      return;
    }

    ReceiveCommandEvent branchUpdate = (ReceiveCommandEvent) event;
    RepositoryModel repository = branchUpdate.model;
    ReceiveCommand cmd = branchUpdate.cmd;
    try {
      switch (cmd.getType()) {
      case CREATE:
      case UPDATE_NONFASTFORWARD:
View Full Code Here

        counter = 0;
      }

      @Override
      public void populateItem(final Item<RepositoryModel> item) {
        final RepositoryModel entry = item.getModelObject();
        if (entry instanceof GroupRepositoryModel) {
          GroupRepositoryModel groupRow = (GroupRepositoryModel) entry;
          currGroupName = entry.name;
          Fragment row = new Fragment("rowContent", "groupRepositoryRow", this);
          item.add(row);

          String name = groupRow.name;
          if (name.startsWith(ModelUtils.getUserRepoPrefix())) {
            // user page
            String username = ModelUtils.getUserNameFromRepoPath(name);
            UserModel user = app().users().getUserModel(username);
            row.add(new LinkPanel("groupName", null, (user == null ? username : user.getDisplayName()) + " (" + groupRow.count + ")", UserPage.class, WicketUtils.newUsernameParameter(username)));
            row.add(new Label("groupDescription", getString("gb.personalRepositories")));
          } else {
            // project page
            row.add(new LinkPanel("groupName", null, groupRow.toString(), ProjectPage.class, WicketUtils.newProjectParameter(entry.name)));
            row.add(new Label("groupDescription", entry.description == null ? "":entry.description));
          }
          WicketUtils.setCssClass(item, "group");
          // reset counter so that first row is light background
          counter = 0;
          return;
        }
        Fragment row = new Fragment("rowContent", "repositoryRow", this);
        item.add(row);

        // try to strip group name for less cluttered list
        String repoName = entry.toString();
        if (!StringUtils.isEmpty(currGroupName) && (repoName.indexOf('/') > -1)) {
          repoName = repoName.substring(currGroupName.length() + 1);
        }

        // repository swatch
        Component swatch;
        if (entry.isBare){
          swatch = new Label("repositorySwatch", "&nbsp;").setEscapeModelStrings(false);
        } else {
          swatch = new Label("repositorySwatch", "!");
          WicketUtils.setHtmlTooltip(swatch, getString("gb.workingCopyWarning"));
        }
        WicketUtils.setCssBackground(swatch, entry.toString());
        row.add(swatch);
        swatch.setVisible(showSwatch);

        if (linksActive) {
          Class<? extends BasePage> linkPage;
          if (entry.hasCommits) {
            // repository has content
            linkPage = SummaryPage.class;
          } else {
            // new/empty repository OR proposed repository
            linkPage = EmptyRepositoryPage.class;
          }

          PageParameters pp = WicketUtils.newRepositoryParameter(entry.name);
          row.add(new LinkPanel("repositoryName", "list", repoName, linkPage, pp));
          row.add(new LinkPanel("repositoryDescription", "list", entry.description,
              linkPage, pp));
        } else {
          // no links like on a federation page
          row.add(new Label("repositoryName", repoName));
          row.add(new Label("repositoryDescription", entry.description));
        }
        if (entry.hasCommits) {
          // Existing repository
          row.add(new Label("repositorySize", entry.size).setVisible(showSize));
        } else {
          // New repository
          row.add(new Label("repositorySize", "<span class='empty'>(" + getString("gb.empty") + ")</span>")
              .setEscapeModelStrings(false));
        }

        if (entry.isSparkleshared()) {
          row.add(WicketUtils.newImage("sparkleshareIcon", "star_16x16.png",
              getString("gb.isSparkleshared")));
        } else {
          row.add(WicketUtils.newClearPixel("sparkleshareIcon").setVisible(false));
        }

        if (entry.isMirror) {
          row.add(WicketUtils.newImage("mirrorIcon", "mirror_16x16.png",
              getString("gb.isMirror")));
        } else {
          row.add(WicketUtils.newClearPixel("mirrorIcon").setVisible(false));
        }

        if (entry.isFork()) {
          row.add(WicketUtils.newImage("forkIcon", "commit_divide_16x16.png",
              getString("gb.isFork")));
        } else {
          row.add(WicketUtils.newClearPixel("forkIcon").setVisible(false));
        }

        if (entry.isFrozen) {
          row.add(WicketUtils.newImage("frozenIcon", "cold_16x16.png",
              getString("gb.isFrozen")));
        } else {
          row.add(WicketUtils.newClearPixel("frozenIcon").setVisible(false));
        }

        if (entry.isFederated) {
          row.add(WicketUtils.newImage("federatedIcon", "federated_16x16.png",
              getString("gb.isFederated")));
        } else {
          row.add(WicketUtils.newClearPixel("federatedIcon").setVisible(false));
        }
        switch (entry.accessRestriction) {
        case NONE:
          row.add(WicketUtils.newBlankImage("accessRestrictionIcon"));
          break;
        case PUSH:
          row.add(WicketUtils.newImage("accessRestrictionIcon", "lock_go_16x16.png",
              accessRestrictionTranslations.get(entry.accessRestriction)));
          break;
        case CLONE:
          row.add(WicketUtils.newImage("accessRestrictionIcon", "lock_pull_16x16.png",
              accessRestrictionTranslations.get(entry.accessRestriction)));
          break;
        case VIEW:
          row.add(WicketUtils.newImage("accessRestrictionIcon", "shield_16x16.png",
              accessRestrictionTranslations.get(entry.accessRestriction)));
          break;
        default:
          row.add(WicketUtils.newBlankImage("accessRestrictionIcon"));
        }

        String owner = "";
        if (!ArrayUtils.isEmpty(entry.owners)) {
          // display first owner
          for (String username : entry.owners) {
            UserModel ownerModel = app().users().getUserModel(username);
            if (ownerModel != null) {
              owner = ownerModel.getDisplayName();
              break;
            }
          }
          if (entry.owners.size() > 1) {
            owner += ", ...";
          }
        }
        Label ownerLabel = new Label("repositoryOwner", owner);
        WicketUtils.setHtmlTooltip(ownerLabel, ArrayUtils.toString(entry.owners));
        row.add(ownerLabel);

        String lastChange;
        if (entry.lastChange.getTime() == 0) {
          lastChange = "--";
        } else {
          lastChange = getTimeUtils().timeAgo(entry.lastChange);
        }
        Label lastChangeLabel = new Label("repositoryLastChange", lastChange);
        row.add(lastChangeLabel);
        WicketUtils.setCssClass(lastChangeLabel, getTimeUtils().timeAgoCss(entry.lastChange));
        if (!StringUtils.isEmpty(entry.lastChangeAuthor)) {
          WicketUtils.setHtmlTooltip(lastChangeLabel, getString("gb.author") + ": " + entry.lastChangeAuthor);
        }

        boolean showOwner = user != null && entry.isOwner(user.username);
        boolean myPersonalRepository = showOwner && entry.isUsersPersonalRepository(user.username);
        if (showAdmin || myPersonalRepository) {
          Fragment repositoryLinks = new Fragment("repositoryLinks",
              "repositoryAdminLinks", this);
          repositoryLinks.add(new BookmarkablePageLink<Void>("editRepository",
              EditRepositoryPage.class, WicketUtils
View Full Code Here

    Set<RegistrantAccessPermission> set = new LinkedHashSet<RegistrantAccessPermission>();
    set.addAll(user.getRepositoryPermissions());
    // Flag missing repositories
    for (RegistrantAccessPermission permission : set) {
      if (permission.mutable && PermissionType.EXPLICIT.equals(permission.permissionType)) {
        RepositoryModel rm = getRepositoryModel(permission.registrant);
        if (rm == null) {
          permission.permissionType = PermissionType.MISSING;
          permission.mutable = false;
          continue;
        }
      }
    }

    // TODO reconsider ownership as a user property
    // manually specify personal repository ownerships
    for (RepositoryModel rm : repositoryListCache.values()) {
      if (rm.isUsersPersonalRepository(user.username) || rm.isOwner(user.username)) {
        RegistrantAccessPermission rp = new RegistrantAccessPermission(rm.name, AccessPermission.REWIND,
            PermissionType.OWNER, RegistrantType.REPOSITORY, null, false);
        // user may be owner of a repository to which they've inherited
        // a team permission, replace any existing perm with owner perm
        set.remove(rp);
View Full Code Here

      // update the fork origin repository with this repository clone
      if (!StringUtils.isEmpty(model.originRepository)) {
        String originKey = model.originRepository.toLowerCase();
        if (repositoryListCache.containsKey(originKey)) {
          RepositoryModel origin = repositoryListCache.get(originKey);
          origin.addFork(model.name);
        }
      }
    }
  }
View Full Code Here

        // rebuild fork networks
        for (RepositoryModel model : repositoryListCache.values()) {
          if (!StringUtils.isEmpty(model.originRepository)) {
            String originKey = model.originRepository.toLowerCase();
            if (repositoryListCache.containsKey(originKey)) {
              RepositoryModel origin = repositoryListCache.get(originKey);
              origin.addFork(model.name);
            }
          }
        }

        long duration = System.currentTimeMillis() - startTime;
View Full Code Here

TOP

Related Classes of com.gitblit.models.RepositoryModel

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.