James Moger
2011-11-03 bab9c96e0f4730d52415469c45b92798e03f0733
src/com/gitblit/client/GitblitRegistration.java
@@ -16,8 +16,11 @@
package com.gitblit.client;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.gitblit.models.FeedModel;
import com.gitblit.utils.StringUtils;
/**
@@ -28,29 +31,51 @@
 */
public class GitblitRegistration implements Serializable, Comparable<GitblitRegistration> {
   public static final GitblitRegistration LOCALHOST = new GitblitRegistration("localhost",
         "https://localhost:8443", "admin", "admin".toCharArray());
   private static final long serialVersionUID = 1L;
   String name;
   String url;
   String account;
   char[] password;
   boolean savePassword;
   Date lastLogin;
   final List<FeedModel> feeds;
   public GitblitRegistration(String name, String url, String account, char[] password) {
      this.url = url;
      this.account = account;
      this.password = password;
      this.savePassword = password != null && password.length > 0;
      if (StringUtils.isEmpty(name)) {
         this.name = url.substring(url.indexOf("//") + 2);
      } else {
         this.name = name;
      }
      feeds = new ArrayList<FeedModel>();
   }
   public void updateSubscribedFeeds(List<FeedModel> list) {
      for (FeedModel feed : list) {
         if (feeds.contains(feed)) {
            // possibly unsubscribe/remove feed
            int index = feeds.indexOf(feed);
            FeedModel existingFeed = feeds.get(index);
            existingFeed.subscribed = feed.subscribed;
            if (!existingFeed.subscribed) {
               feeds.remove(index);
            }
         } else if (feed.subscribed) {
            // new subscription
            feeds.add(feed);
         }
      }
   }
   @Override
   public int compareTo(GitblitRegistration o) {
      return name.compareTo(o.name);
      return name.toLowerCase().compareTo(o.name.toLowerCase());
   }
   protected void cacheFeeds() {
   }
}