| | |
| | | public String frequency;
|
| | |
|
| | | public String folder;
|
| | | |
| | | public boolean bare;
|
| | |
|
| | | public boolean mirror;
|
| | |
|
| | |
| | | */
|
| | | public FederationModel(String serverName) {
|
| | | this.name = serverName;
|
| | | bare = true;
|
| | | mirror = true;
|
| | | this.lastPull = new Date(0);
|
| | | this.nextPull = new Date(0);
|
| | | }
|
| | |
| | | * @param status
|
| | | */
|
| | | public void updateStatus(RepositoryModel repository, FederationPullStatus status) {
|
| | | if (!results.containsKey(repository)) {
|
| | | if (!results.containsKey(repository.name)) {
|
| | | results.put(repository.name, FederationPullStatus.PENDING);
|
| | | }
|
| | | if (status != null) {
|
| | |
| | | if (results.size() == 0) {
|
| | | return FederationPullStatus.PENDING;
|
| | | }
|
| | | FederationPullStatus status = FederationPullStatus.PULLED;
|
| | | FederationPullStatus status = FederationPullStatus.MIRRORED;
|
| | | for (FederationPullStatus result : results.values()) {
|
| | | if (result.ordinal() < status.ordinal()) {
|
| | | status = result;
|
| | |
| | | @Override
|
| | | public int compareTo(RepositoryStatus o) {
|
| | | if (status.equals(o.status)) {
|
| | | // sort root repositories first, alphabetically
|
| | | // then sort grouped repositories, alphabetically
|
| | | int s1 = name.indexOf('/');
|
| | | int s2 = o.name.indexOf('/');
|
| | | if (s1 == -1 && s2 == -1) {
|
| | | // neither grouped
|
| | | return name.compareTo(o.name);
|
| | | } else if (s1 > -1 && s2 > -1) {
|
| | | // both grouped
|
| | | return name.compareTo(o.name);
|
| | | } else if (s1 == -1) {
|
| | | return -1;
|
| | | } else if (s2 == -1) {
|
| | | return 1;
|
| | | }
|
| | | return 0;
|
| | | return StringUtils.compareRepositoryNames(name, o.name);
|
| | | }
|
| | | return status.compareTo(o.status);
|
| | | }
|