1 /* Any copyright is dedicated to the Public Domain.
2    http://creativecommons.org/publicdomain/zero/1.0/ */
3 
4 package org.mozilla.gecko.background.sync.helpers;
5 
6 import org.json.simple.JSONArray;
7 import org.mozilla.gecko.sync.Utils;
8 import org.mozilla.gecko.sync.repositories.domain.BookmarkRecord;
9 
10 public class BookmarkHelpers {
11 
12   private static String mobileFolderGuid = "mobile";
13   private static String mobileFolderName = "mobile";
14   private static String topFolderGuid = Utils.generateGuid();
15   private static String topFolderName = "My Top Folder";
16   private static String middleFolderGuid = Utils.generateGuid();
17   private static String middleFolderName = "My Middle Folder";
18   private static String bottomFolderGuid = Utils.generateGuid();
19   private static String bottomFolderName = "My Bottom Folder";
20   private static String bmk1Guid = Utils.generateGuid();
21   private static String bmk2Guid = Utils.generateGuid();
22   private static String bmk3Guid = Utils.generateGuid();
23   private static String bmk4Guid = Utils.generateGuid();
24 
25   /*
26    * Helpers for creating bookmark records of different types
27    */
createBookmarkInMobileFolder1()28   public static BookmarkRecord createBookmarkInMobileFolder1() {
29     BookmarkRecord rec = createBookmark1();
30     rec.guid = Utils.generateGuid();
31     rec.parentID = mobileFolderGuid;
32     rec.parentName = mobileFolderName;
33     return rec;
34   }
35 
createBookmarkInMobileFolder2()36   public static BookmarkRecord createBookmarkInMobileFolder2() {
37     BookmarkRecord rec = createBookmark2();
38     rec.guid = Utils.generateGuid();
39     rec.parentID = mobileFolderGuid;
40     rec.parentName = mobileFolderName;
41     return rec;
42   }
43 
44   @SuppressWarnings("unchecked")
createBookmark1()45   public static BookmarkRecord createBookmark1() {
46     BookmarkRecord record = new BookmarkRecord();
47     JSONArray tags = new JSONArray();
48     tags.add("tag1");
49     tags.add("tag2");
50     tags.add("tag3");
51     record.guid = bmk1Guid;
52     record.title = "Foo!!!";
53     record.bookmarkURI = "http://foo.bar.com";
54     record.description = "This is a description for foo.bar.com";
55     record.tags = tags;
56     record.keyword = "fooooozzzzz";
57     record.parentID = topFolderGuid;
58     record.parentName = topFolderName;
59     record.type = "bookmark";
60     return record;
61   }
62 
63   @SuppressWarnings("unchecked")
createBookmark2()64   public static BookmarkRecord createBookmark2() {
65     BookmarkRecord record = new BookmarkRecord();
66     JSONArray tags = new JSONArray();
67     tags.add("tag1");
68     tags.add("tag2");
69     record.guid = bmk2Guid;
70     record.title = "Bar???";
71     record.bookmarkURI = "http://bar.foo.com";
72     record.description = "This is a description for Bar???";
73     record.tags = tags;
74     record.keyword = "keywordzzz";
75     record.parentID = topFolderGuid;
76     record.parentName = topFolderName;
77     record.type = "bookmark";
78     return record;
79   }
80 
81   @SuppressWarnings("unchecked")
createBookmark3()82   public static BookmarkRecord createBookmark3() {
83     BookmarkRecord record = new BookmarkRecord();
84     JSONArray tags = new JSONArray();
85     tags.add("tag1");
86     tags.add("tag2");
87     record.guid = bmk3Guid;
88     record.title = "Bmk3";
89     record.bookmarkURI = "http://bmk3.com";
90     record.description = "This is a description for bmk3";
91     record.tags = tags;
92     record.keyword = "snooozzz";
93     record.parentID = middleFolderGuid;
94     record.parentName = middleFolderName;
95     record.type = "bookmark";
96     return record;
97   }
98 
99   @SuppressWarnings("unchecked")
createBookmark4()100   public static BookmarkRecord createBookmark4() {
101     BookmarkRecord record = new BookmarkRecord();
102     JSONArray tags = new JSONArray();
103     tags.add("tag1");
104     tags.add("tag2");
105     record.guid = bmk4Guid;
106     record.title = "Bmk4";
107     record.bookmarkURI = "http://bmk4.com";
108     record.description = "This is a description for bmk4?";
109     record.tags = tags;
110     record.keyword = "booooozzz";
111     record.parentID = bottomFolderGuid;
112     record.parentName = bottomFolderName;
113     record.type = "bookmark";
114     return record;
115   }
116 
117   @SuppressWarnings("unchecked")
createMicrosummary()118   public static BookmarkRecord createMicrosummary() {
119     BookmarkRecord record = new BookmarkRecord();
120     JSONArray tags = new JSONArray();
121     tags.add("tag1");
122     tags.add("tag2");
123     record.guid = Utils.generateGuid();
124     record.title = "Microsummary 1";
125     record.bookmarkURI = "www.bmkuri.com";
126     record.description = "microsummary description";
127     record.tags = tags;
128     record.keyword = "keywordzzz";
129     record.parentID = topFolderGuid;
130     record.parentName = topFolderName;
131     record.type = "microsummary";
132     return record;
133   }
134 
createQuery()135   public static BookmarkRecord createQuery() {
136     BookmarkRecord record = new BookmarkRecord();
137     record.guid = Utils.generateGuid();
138     record.title = "Query 1";
139     record.bookmarkURI = "http://www.query.com";
140     record.description = "Query 1 description";
141     record.tags = new JSONArray();
142     record.keyword = "queryKeyword";
143     record.parentID = topFolderGuid;
144     record.parentName = topFolderName;
145     record.type = "query";
146     return record;
147   }
148 
149   @SuppressWarnings("unchecked")
createFolder1()150   public static BookmarkRecord createFolder1() {
151     BookmarkRecord record = new BookmarkRecord();
152     record.guid = topFolderGuid;
153     record.title = topFolderName;
154     record.parentID = "mobile";
155     record.parentName = "mobile";
156     JSONArray children = new JSONArray();
157     children.add(bmk1Guid);
158     children.add(bmk2Guid);
159     record.children = children;
160     record.type = "folder";
161     return record;
162   }
163 
164   @SuppressWarnings("unchecked")
createFolder2()165   public static BookmarkRecord createFolder2() {
166     BookmarkRecord record = new BookmarkRecord();
167     record.guid = middleFolderGuid;
168     record.title = middleFolderName;
169     record.parentID = topFolderGuid;
170     record.parentName = topFolderName;
171     JSONArray children = new JSONArray();
172     children.add(bmk3Guid);
173     record.children = children;
174     record.type = "folder";
175     return record;
176   }
177 
178   @SuppressWarnings("unchecked")
createFolder3()179   public static BookmarkRecord createFolder3() {
180     BookmarkRecord record = new BookmarkRecord();
181     record.guid = bottomFolderGuid;
182     record.title = bottomFolderName;
183     record.parentID = middleFolderGuid;
184     record.parentName = middleFolderName;
185     JSONArray children = new JSONArray();
186     children.add(bmk4Guid);
187     record.children = children;
188     record.type = "folder";
189     return record;
190   }
191 
192   @SuppressWarnings("unchecked")
createLivemark()193   public static BookmarkRecord createLivemark() {
194     BookmarkRecord record = new BookmarkRecord();
195     record.guid = Utils.generateGuid();
196     record.title = "Livemark title";
197     record.parentID = topFolderGuid;
198     record.parentName = topFolderName;
199     JSONArray children = new JSONArray();
200     children.add(Utils.generateGuid());
201     children.add(Utils.generateGuid());
202     record.children = children;
203     record.type = "livemark";
204     return record;
205   }
206 
createSeparator()207   public static BookmarkRecord createSeparator() {
208     BookmarkRecord record = new BookmarkRecord();
209     record.guid = Utils.generateGuid();
210     record.androidPosition = 3;
211     record.parentID = topFolderGuid;
212     record.parentName = topFolderName;
213     record.type = "separator";
214     return record;
215   }
216 }
217