Coverage Report - models.Tag
 
Classes in this File Line Coverage Branch Coverage Complexity
Tag
100 %
14/14
100 %
2/2
1,2
 
 1  6
 package models;
 2  
  
 3  
 import java.util.*;
 4  
 import javax.persistence.*;
 5  
  
 6  
 import play.db.jpa.*;
 7  
 import play.data.validation.*;
 8  
  
 9  
 @Entity
 10  
 public class Tag extends Model implements Comparable<Tag> {
 11  
  
 12  
     @Required
 13  
     public String name;
 14  
     
 15  9
     private Tag(String name) {
 16  9
         this.name = name;
 17  9
     }
 18  
     
 19  
     public static Tag findOrCreateByName(String name) {
 20  12
         Tag tag = Tag.find("byName", name).first();
 21  12
         if(tag == null) {
 22  9
             tag = new Tag(name);
 23  
         }
 24  12
         return tag;
 25  
     }
 26  
     
 27  
     public static List<Map> getCloud() {
 28  6
         List<Map> result = Tag.find(
 29  3
             "select new map(t.name as tag, count(p.id) as pound) from Post p join p.tags as t group by t.name"
 30  3
         ).fetch();
 31  3
         return result;
 32  
     }
 33  
     
 34  
     public String toString() {
 35  10
         return name;
 36  
     }
 37  
     
 38  
     public int compareTo(Tag otherTag) {
 39  6
         return name.compareTo(otherTag.name);
 40  
     }
 41  
  
 42  
 }