// Path: src/dosna/core/ContentMetadata.java
// public final class ContentMetadata implements Comparable<ContentMetadata>, Serializable
// {
// 
//     private KademliaId key;
//     private long updateTs;
//     private String ownerId;
//     private String type;
// 
//     /**
//      * Blank constructor used mainly by serializers.
//      */
//     public ContentMetadata()
//     {
// 
//     }
// 
//     /**
//      * Create a new ContentMetadata object for the given content
//      *
//      * @param content
//      */
//     public ContentMetadata(final DOSNAContent content)
//     {
//         this.key = content.getKey();
//         this.updateTs = content.getLastUpdatedTimestamp();
//         this.ownerId = content.getOwnerId();
//         this.type = content.getType();
//     }
// 
//     public KademliaId getKey()
//     {
//         return this.key;
//     }
// 
//     public long getLastUpdatedTimestamp()
//     {
//         return this.updateTs;
//     }
// 
//     public String getOwnerId()
//     {
//         return this.ownerId;
//     }
// 
//     public String getType()
//     {
//         return this.type;
//     }
// 
//     /**
//      * We compare content Metadata based on timestamp
//      */
//     @Override
//     public int compareTo(final ContentMetadata o)
//     {
//         if (this.getKey().equals(o.getKey()))
//         {
//             return 0;
//         }
// 
//         return this.getLastUpdatedTimestamp() > o.getLastUpdatedTimestamp() ? 1 : -1;
//     }
// 
//     @Override
//     public String toString()
//     {
//         StringBuilder sb = new StringBuilder("ContentMetadata: ");
// 
//         sb.append("[Type: ");
//         sb.append(this.getType());
//         sb.append("]");
// 
//         sb.append("[Owner: ");
//         sb.append(this.getOwnerId());
//         sb.append("]");
// 
//         sb.append("");
// 
//         return sb.toString();
//     }
// }


import dosna.core.ContentMetadata;
import java.util.ArrayList;
import java.util.Collection;
import java.util.TreeSet;
package dosna.osn.activitystream;


/**
 * An algorithm that selects which content to display on the user's home stream
 *
 * @author Joshua Kissoon
 * @since 20140505
 */
public class ActivityStreamContentSelector
{

    private final static int NUM_CONTENT_ON_HOME_STREAM = 35;

// Path: src/dosna/core/ContentMetadata.java
// public final class ContentMetadata implements Comparable<ContentMetadata>, Serializable
// {
// 
//     private KademliaId key;
//     private long updateTs;
//     private String ownerId;
//     private String type;
// 
//     /**
//      * Blank constructor used mainly by serializers.
//      */
//     public ContentMetadata()
//     {
// 
//     }
// 
//     /**
//      * Create a new ContentMetadata object for the given content
//      *
//      * @param content
//      */
//     public ContentMetadata(final DOSNAContent content)
//     {
//         this.key = content.getKey();
//         this.updateTs = content.getLastUpdatedTimestamp();
//         this.ownerId = content.getOwnerId();
//         this.type = content.getType();
//     }
// 
//     public KademliaId getKey()
//     {
//         return this.key;
//     }
// 
//     public long getLastUpdatedTimestamp()
//     {
//         return this.updateTs;
//     }
// 
//     public String getOwnerId()
//     {
//         return this.ownerId;
//     }
// 
//     public String getType()
//     {
//         return this.type;
//     }
// 
//     /**
//      * We compare content Metadata based on timestamp
//      */
//     @Override
//     public int compareTo(final ContentMetadata o)
//     {
//         if (this.getKey().equals(o.getKey()))
//         {
//             return 0;
//         }
// 
//         return this.getLastUpdatedTimestamp() > o.getLastUpdatedTimestamp() ? 1 : -1;
//     }
// 
//     @Override
//     public String toString()
//     {
//         StringBuilder sb = new StringBuilder("ContentMetadata: ");
// 
//         sb.append("[Type: ");
//         sb.append(this.getType());
//         sb.append("]");
// 
//         sb.append("[Owner: ");
//         sb.append(this.getOwnerId());
//         sb.append("]");
// 
//         sb.append("");
// 
//         return sb.toString();
//     }
// }


// Path: src/dosna/osn/activitystream/ActivityStreamContentSelector.java
import dosna.core.ContentMetadata;
import java.util.ArrayList;
import java.util.Collection;
import java.util.TreeSet;

package dosna.osn.activitystream;


/**
 * An algorithm that selects which content to display on the user's home stream
 *
 * @author Joshua Kissoon
 * @since 20140505
 */
public class ActivityStreamContentSelector
{

    private final static int NUM_CONTENT_ON_HOME_STREAM = 35;

    public TreeSet<ContentMetadata> contentMD;