001
014
015 package com.liferay.portal.tools.samplesqlbuilder;
016
017 import com.liferay.counter.model.Counter;
018 import com.liferay.counter.model.CounterModel;
019 import com.liferay.counter.model.impl.CounterModelImpl;
020 import com.liferay.portal.kernel.io.unsync.UnsyncBufferedReader;
021 import com.liferay.portal.kernel.util.CharPool;
022 import com.liferay.portal.kernel.util.ContentTypes;
023 import com.liferay.portal.kernel.util.FastDateFormatFactoryUtil;
024 import com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil;
025 import com.liferay.portal.kernel.util.GetterUtil;
026 import com.liferay.portal.kernel.util.IntegerWrapper;
027 import com.liferay.portal.kernel.util.StringBundler;
028 import com.liferay.portal.kernel.util.StringPool;
029 import com.liferay.portal.kernel.util.StringUtil;
030 import com.liferay.portal.kernel.util.Time;
031 import com.liferay.portal.kernel.util.UnicodeProperties;
032 import com.liferay.portal.kernel.util.Validator;
033 import com.liferay.portal.kernel.workflow.WorkflowConstants;
034 import com.liferay.portal.model.AccountModel;
035 import com.liferay.portal.model.ClassNameModel;
036 import com.liferay.portal.model.Company;
037 import com.liferay.portal.model.CompanyModel;
038 import com.liferay.portal.model.ContactConstants;
039 import com.liferay.portal.model.ContactModel;
040 import com.liferay.portal.model.Group;
041 import com.liferay.portal.model.GroupConstants;
042 import com.liferay.portal.model.GroupModel;
043 import com.liferay.portal.model.Layout;
044 import com.liferay.portal.model.LayoutConstants;
045 import com.liferay.portal.model.LayoutFriendlyURLModel;
046 import com.liferay.portal.model.LayoutModel;
047 import com.liferay.portal.model.LayoutSetModel;
048 import com.liferay.portal.model.LayoutTypePortletConstants;
049 import com.liferay.portal.model.ModelHintsUtil;
050 import com.liferay.portal.model.PortletConstants;
051 import com.liferay.portal.model.PortletPreferencesModel;
052 import com.liferay.portal.model.ResourceConstants;
053 import com.liferay.portal.model.ResourcePermission;
054 import com.liferay.portal.model.ResourcePermissionModel;
055 import com.liferay.portal.model.Role;
056 import com.liferay.portal.model.RoleConstants;
057 import com.liferay.portal.model.RoleModel;
058 import com.liferay.portal.model.SubscriptionConstants;
059 import com.liferay.portal.model.SubscriptionModel;
060 import com.liferay.portal.model.User;
061 import com.liferay.portal.model.UserModel;
062 import com.liferay.portal.model.VirtualHostModel;
063 import com.liferay.portal.model.impl.AccountModelImpl;
064 import com.liferay.portal.model.impl.ClassNameModelImpl;
065 import com.liferay.portal.model.impl.CompanyModelImpl;
066 import com.liferay.portal.model.impl.ContactModelImpl;
067 import com.liferay.portal.model.impl.GroupModelImpl;
068 import com.liferay.portal.model.impl.LayoutFriendlyURLModelImpl;
069 import com.liferay.portal.model.impl.LayoutModelImpl;
070 import com.liferay.portal.model.impl.LayoutSetModelImpl;
071 import com.liferay.portal.model.impl.PortletPreferencesModelImpl;
072 import com.liferay.portal.model.impl.ResourcePermissionModelImpl;
073 import com.liferay.portal.model.impl.RoleModelImpl;
074 import com.liferay.portal.model.impl.SubscriptionModelImpl;
075 import com.liferay.portal.model.impl.UserModelImpl;
076 import com.liferay.portal.model.impl.VirtualHostModelImpl;
077 import com.liferay.portal.security.auth.FullNameGenerator;
078 import com.liferay.portal.security.auth.FullNameGeneratorFactory;
079 import com.liferay.portal.service.permission.PortletPermissionUtil;
080 import com.liferay.portal.util.PortletKeys;
081 import com.liferay.portal.util.PropsValues;
082 import com.liferay.portlet.PortletPreferencesFactory;
083 import com.liferay.portlet.PortletPreferencesFactoryImpl;
084 import com.liferay.portlet.asset.model.AssetCategory;
085 import com.liferay.portlet.asset.model.AssetCategoryConstants;
086 import com.liferay.portlet.asset.model.AssetCategoryModel;
087 import com.liferay.portlet.asset.model.AssetEntryModel;
088 import com.liferay.portlet.asset.model.AssetTag;
089 import com.liferay.portlet.asset.model.AssetTagModel;
090 import com.liferay.portlet.asset.model.AssetTagStatsModel;
091 import com.liferay.portlet.asset.model.AssetVocabulary;
092 import com.liferay.portlet.asset.model.AssetVocabularyModel;
093 import com.liferay.portlet.asset.model.impl.AssetCategoryModelImpl;
094 import com.liferay.portlet.asset.model.impl.AssetEntryModelImpl;
095 import com.liferay.portlet.asset.model.impl.AssetTagModelImpl;
096 import com.liferay.portlet.asset.model.impl.AssetTagStatsModelImpl;
097 import com.liferay.portlet.asset.model.impl.AssetVocabularyModelImpl;
098 import com.liferay.portlet.blogs.model.BlogsEntry;
099 import com.liferay.portlet.blogs.model.BlogsEntryModel;
100 import com.liferay.portlet.blogs.model.BlogsStatsUserModel;
101 import com.liferay.portlet.blogs.model.impl.BlogsEntryModelImpl;
102 import com.liferay.portlet.blogs.model.impl.BlogsStatsUserModelImpl;
103 import com.liferay.portlet.blogs.social.BlogsActivityKeys;
104 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
105 import com.liferay.portlet.documentlibrary.model.DLFileEntryConstants;
106 import com.liferay.portlet.documentlibrary.model.DLFileEntryMetadata;
107 import com.liferay.portlet.documentlibrary.model.DLFileEntryMetadataModel;
108 import com.liferay.portlet.documentlibrary.model.DLFileEntryModel;
109 import com.liferay.portlet.documentlibrary.model.DLFileEntryTypeConstants;
110 import com.liferay.portlet.documentlibrary.model.DLFileEntryTypeModel;
111 import com.liferay.portlet.documentlibrary.model.DLFileVersionModel;
112 import com.liferay.portlet.documentlibrary.model.DLFolder;
113 import com.liferay.portlet.documentlibrary.model.DLFolderModel;
114 import com.liferay.portlet.documentlibrary.model.impl.DLFileEntryMetadataModelImpl;
115 import com.liferay.portlet.documentlibrary.model.impl.DLFileEntryModelImpl;
116 import com.liferay.portlet.documentlibrary.model.impl.DLFileEntryTypeModelImpl;
117 import com.liferay.portlet.documentlibrary.model.impl.DLFileVersionModelImpl;
118 import com.liferay.portlet.documentlibrary.model.impl.DLFolderModelImpl;
119 import com.liferay.portlet.documentlibrary.social.DLActivityKeys;
120 import com.liferay.portlet.dynamicdatalists.model.DDLRecordConstants;
121 import com.liferay.portlet.dynamicdatalists.model.DDLRecordModel;
122 import com.liferay.portlet.dynamicdatalists.model.DDLRecordSet;
123 import com.liferay.portlet.dynamicdatalists.model.DDLRecordSetConstants;
124 import com.liferay.portlet.dynamicdatalists.model.DDLRecordSetModel;
125 import com.liferay.portlet.dynamicdatalists.model.DDLRecordVersionModel;
126 import com.liferay.portlet.dynamicdatalists.model.impl.DDLRecordModelImpl;
127 import com.liferay.portlet.dynamicdatalists.model.impl.DDLRecordSetModelImpl;
128 import com.liferay.portlet.dynamicdatalists.model.impl.DDLRecordVersionModelImpl;
129 import com.liferay.portlet.dynamicdatamapping.model.DDMContent;
130 import com.liferay.portlet.dynamicdatamapping.model.DDMContentModel;
131 import com.liferay.portlet.dynamicdatamapping.model.DDMStorageLink;
132 import com.liferay.portlet.dynamicdatamapping.model.DDMStorageLinkModel;
133 import com.liferay.portlet.dynamicdatamapping.model.DDMStructure;
134 import com.liferay.portlet.dynamicdatamapping.model.DDMStructureLinkModel;
135 import com.liferay.portlet.dynamicdatamapping.model.DDMStructureModel;
136 import com.liferay.portlet.dynamicdatamapping.model.impl.DDMContentModelImpl;
137 import com.liferay.portlet.dynamicdatamapping.model.impl.DDMStorageLinkModelImpl;
138 import com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureLinkModelImpl;
139 import com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureModelImpl;
140 import com.liferay.portlet.dynamicdatamapping.util.DDMImpl;
141 import com.liferay.portlet.journal.model.JournalArticle;
142 import com.liferay.portlet.journal.model.JournalArticleConstants;
143 import com.liferay.portlet.journal.model.JournalArticleModel;
144 import com.liferay.portlet.journal.model.JournalArticleResourceModel;
145 import com.liferay.portlet.journal.model.JournalContentSearchModel;
146 import com.liferay.portlet.journal.model.impl.JournalArticleModelImpl;
147 import com.liferay.portlet.journal.model.impl.JournalArticleResourceModelImpl;
148 import com.liferay.portlet.journal.model.impl.JournalContentSearchModelImpl;
149 import com.liferay.portlet.journal.social.JournalActivityKeys;
150 import com.liferay.portlet.messageboards.model.MBCategory;
151 import com.liferay.portlet.messageboards.model.MBCategoryConstants;
152 import com.liferay.portlet.messageboards.model.MBCategoryModel;
153 import com.liferay.portlet.messageboards.model.MBDiscussion;
154 import com.liferay.portlet.messageboards.model.MBDiscussionModel;
155 import com.liferay.portlet.messageboards.model.MBMailingListModel;
156 import com.liferay.portlet.messageboards.model.MBMessage;
157 import com.liferay.portlet.messageboards.model.MBMessageConstants;
158 import com.liferay.portlet.messageboards.model.MBMessageModel;
159 import com.liferay.portlet.messageboards.model.MBStatsUserModel;
160 import com.liferay.portlet.messageboards.model.MBThread;
161 import com.liferay.portlet.messageboards.model.MBThreadFlagModel;
162 import com.liferay.portlet.messageboards.model.MBThreadModel;
163 import com.liferay.portlet.messageboards.model.impl.MBCategoryModelImpl;
164 import com.liferay.portlet.messageboards.model.impl.MBDiscussionModelImpl;
165 import com.liferay.portlet.messageboards.model.impl.MBMailingListModelImpl;
166 import com.liferay.portlet.messageboards.model.impl.MBMessageModelImpl;
167 import com.liferay.portlet.messageboards.model.impl.MBStatsUserModelImpl;
168 import com.liferay.portlet.messageboards.model.impl.MBThreadFlagModelImpl;
169 import com.liferay.portlet.messageboards.model.impl.MBThreadModelImpl;
170 import com.liferay.portlet.messageboards.social.MBActivityKeys;
171 import com.liferay.portlet.social.model.SocialActivity;
172 import com.liferay.portlet.social.model.SocialActivityConstants;
173 import com.liferay.portlet.social.model.SocialActivityModel;
174 import com.liferay.portlet.social.model.impl.SocialActivityModelImpl;
175 import com.liferay.portlet.wiki.model.WikiNode;
176 import com.liferay.portlet.wiki.model.WikiNodeModel;
177 import com.liferay.portlet.wiki.model.WikiPage;
178 import com.liferay.portlet.wiki.model.WikiPageConstants;
179 import com.liferay.portlet.wiki.model.WikiPageModel;
180 import com.liferay.portlet.wiki.model.WikiPageResourceModel;
181 import com.liferay.portlet.wiki.model.impl.WikiNodeModelImpl;
182 import com.liferay.portlet.wiki.model.impl.WikiPageModelImpl;
183 import com.liferay.portlet.wiki.model.impl.WikiPageResourceModelImpl;
184 import com.liferay.portlet.wiki.social.WikiActivityKeys;
185 import com.liferay.util.SimpleCounter;
186
187 import java.io.IOException;
188 import java.io.InputStream;
189 import java.io.InputStreamReader;
190
191 import java.text.Format;
192
193 import java.util.ArrayList;
194 import java.util.Collections;
195 import java.util.Date;
196 import java.util.HashMap;
197 import java.util.List;
198 import java.util.Map;
199 import java.util.Properties;
200
201
204 public class DataFactory {
205
206 public DataFactory(Properties properties) throws Exception {
207 initContext(properties);
208
209 _counter = new SimpleCounter(_maxGroupsCount + 1);
210 _timeCounter = new SimpleCounter();
211 _futureDateCounter = new SimpleCounter();
212 _resourcePermissionCounter = new SimpleCounter();
213 _socialActivityCounter = new SimpleCounter();
214 _userScreenNameCounter = new SimpleCounter();
215
216 _classNameModels = new ArrayList<ClassNameModel>();
217
218 List<String> models = ModelHintsUtil.getModels();
219
220 for (String model : models) {
221 ClassNameModel classNameModel = new ClassNameModelImpl();
222
223 long classNameId = _counter.get();
224
225 classNameModel.setClassNameId(classNameId);
226
227 classNameModel.setValue(model);
228
229 _classNameModels.add(classNameModel);
230
231 _classNameModelsMap.put(model, classNameId);
232 }
233
234 _accountId = _counter.get();
235 _companyId = _counter.get();
236 _defaultUserId = _counter.get();
237 _globalGroupId = _counter.get();
238 _guestGroupId = _counter.get();
239 _sampleUserId = _counter.get();
240
241 _dlDDMStructureContent = StringUtil.read(
242 getResourceInputStream("ddm_structure_basic_document.xml"));
243
244 initAssetCategoryModels();
245 initAssetTagModels();
246 initCompanyModel();
247 initDLFileEntryTypeModel();
248 initGroupModels();
249
250 int maxJournalArticleSize = GetterUtil.getInteger(
251 properties.getProperty("sample.sql.max.journal.article.size"));
252
253 initJournalArticleContent(maxJournalArticleSize);
254
255 initRoleModels();
256 initUserNames();
257 initUserModels();
258 initVirtualHostModel();
259 }
260
261 public AccountModel getAccountModel() {
262 return _accountModel;
263 }
264
265 public RoleModel getAdministratorRoleModel() {
266 return _administratorRoleModel;
267 }
268
269 public List<Long> getAssetCategoryIds(long groupId) {
270 SimpleCounter counter = _assetCategoryCounters.get(groupId);
271
272 if (counter == null) {
273 counter = new SimpleCounter(0);
274
275 _assetCategoryCounters.put(groupId, counter);
276 }
277
278 List<AssetCategoryModel> assetCategoryModels =
279 _assetCategoryModelsArray[(int)groupId - 1];
280
281 if ((assetCategoryModels == null) || assetCategoryModels.isEmpty()) {
282 return Collections.emptyList();
283 }
284
285 List<Long> assetCategoryIds = new ArrayList<Long>(
286 _maxAssetEntryToAssetCategoryCount);
287
288 for (int i = 0; i < _maxAssetEntryToAssetCategoryCount; i++) {
289 int index = (int)counter.get() % assetCategoryModels.size();
290
291 AssetCategoryModel assetCategoryModel = assetCategoryModels.get(
292 index);
293
294 assetCategoryIds.add(assetCategoryModel.getCategoryId());
295 }
296
297 return assetCategoryIds;
298 }
299
300 public List<AssetCategoryModel> getAssetCategoryModels() {
301 List<AssetCategoryModel> allAssetCategoryModels =
302 new ArrayList<AssetCategoryModel>();
303
304 for (List<AssetCategoryModel> assetCategoryModels :
305 _assetCategoryModelsArray) {
306
307 allAssetCategoryModels.addAll(assetCategoryModels);
308 }
309
310 return allAssetCategoryModels;
311 }
312
313 public List<Long> getAssetTagIds(long groupId) {
314 SimpleCounter counter = _assetTagCounters.get(groupId);
315
316 if (counter == null) {
317 counter = new SimpleCounter(0);
318
319 _assetTagCounters.put(groupId, counter);
320 }
321
322 List<AssetTagModel> assetTagModels =
323 _assetTagModelsArray[(int)groupId - 1];
324
325 if ((assetTagModels == null) || assetTagModels.isEmpty()) {
326 return Collections.emptyList();
327 }
328
329 List<Long> assetTagIds = new ArrayList<Long>(
330 _maxAssetEntryToAssetTagCount);
331
332 for (int i = 0; i < _maxAssetEntryToAssetTagCount; i++) {
333 int index = (int)counter.get() % assetTagModels.size();
334
335 AssetTagModel assetTagModel = assetTagModels.get(index);
336
337 assetTagIds.add(assetTagModel.getTagId());
338 }
339
340 return assetTagIds;
341 }
342
343 public List<AssetTagModel> getAssetTagModels() {
344 List<AssetTagModel> allAssetTagModels = new ArrayList<AssetTagModel>();
345
346 for (List<AssetTagModel> assetTagModels : _assetTagModelsArray) {
347 allAssetTagModels.addAll(assetTagModels);
348 }
349
350 return allAssetTagModels;
351 }
352
353 public List<AssetTagStatsModel> getAssetTagStatsModels() {
354 List<AssetTagStatsModel> allAssetTagStatsModels =
355 new ArrayList<AssetTagStatsModel>();
356
357 for (List<AssetTagStatsModel> assetTagStatsModels :
358 _assetTagStatsModelsArray) {
359
360 allAssetTagStatsModels.addAll(assetTagStatsModels);
361 }
362
363 return allAssetTagStatsModels;
364 }
365
366 public List<AssetVocabularyModel> getAssetVocabularyModels() {
367 List<AssetVocabularyModel> allAssetVocabularyModels =
368 new ArrayList<AssetVocabularyModel>();
369
370 allAssetVocabularyModels.add(_defaultAssetVocabularyModel);
371
372 for (List<AssetVocabularyModel> assetVocabularyModels :
373 _assetVocabularyModelsArray) {
374
375 allAssetVocabularyModels.addAll(assetVocabularyModels);
376 }
377
378 return allAssetVocabularyModels;
379 }
380
381 public long getBlogsEntryClassNameId() {
382 return _classNameModelsMap.get(BlogsEntry.class.getName());
383 }
384
385 public List<ClassNameModel> getClassNameModels() {
386 return _classNameModels;
387 }
388
389 public CompanyModel getCompanyModel() {
390 return _companyModel;
391 }
392
393 public SimpleCounter getCounter() {
394 return _counter;
395 }
396
397 public long getCounterNext() {
398 return _counter.get();
399 }
400
401 public String getDateLong(Date date) {
402 return String.valueOf(date.getTime());
403 }
404
405 public String getDateString(Date date) {
406 if (date == null) {
407 return null;
408 }
409
410 return _simpleDateFormat.format(date);
411 }
412
413 public long getDDLRecordSetClassNameId() {
414 return _classNameModelsMap.get(DDLRecordSet.class.getName());
415 }
416
417 public long getDefaultDLDDMStructureId() {
418 return _defaultDLDDMStructureModel.getStructureId();
419 }
420
421 public DDMStructureModel getDefaultDLDDMStructureModel() {
422 return _defaultDLDDMStructureModel;
423 }
424
425 public DLFileEntryTypeModel getDefaultDLFileEntryTypeModel() {
426 return _defaultDLFileEntryTypeModel;
427 }
428
429 public UserModel getDefaultUserModel() {
430 return _defaultUserModel;
431 }
432
433 public long getDLFileEntryClassNameId() {
434 return _classNameModelsMap.get(DLFileEntry.class.getName());
435 }
436
437 public GroupModel getGlobalGroupModel() {
438 return _globalGroupModel;
439 }
440
441 public long getGroupClassNameId() {
442 return _classNameModelsMap.get(Group.class.getName());
443 }
444
445 public List<GroupModel> getGroupModels() {
446 return _groupModels;
447 }
448
449 public GroupModel getGuestGroupModel() {
450 return _guestGroupModel;
451 }
452
453 public UserModel getGuestUserModel() {
454 return _guestUserModel;
455 }
456
457 public long getJournalArticleClassNameId() {
458 return _classNameModelsMap.get(JournalArticle.class.getName());
459 }
460
461 public String getJournalArticleLayoutColumn(String portletPrefix) {
462 StringBundler sb = new StringBundler(3 * _maxJournalArticleCount);
463
464 for (int i = 1; i <= _maxJournalArticleCount; i++) {
465 sb.append(portletPrefix);
466 sb.append(i);
467 sb.append(StringPool.COMMA);
468 }
469
470 return sb.toString();
471 }
472
473 public long getLayoutClassNameId() {
474 return _classNameModelsMap.get(Layout.class.getName());
475 }
476
477 public int getMaxAssetPublisherPageCount() {
478 return _maxAssetPublisherPageCount;
479 }
480
481 public int getMaxBlogsEntryCommentCount() {
482 return _maxBlogsEntryCommentCount;
483 }
484
485 public int getMaxDDLRecordCount() {
486 return _maxDDLRecordCount;
487 }
488
489 public int getMaxDDLRecordSetCount() {
490 return _maxDDLRecordSetCount;
491 }
492
493 public int getMaxDLFolderDepth() {
494 return _maxDLFolderDepth;
495 }
496
497 public int getMaxGroupCount() {
498 return _maxGroupsCount;
499 }
500
501 public int getMaxJournalArticleCount() {
502 return _maxJournalArticleCount;
503 }
504
505 public int getMaxJournalArticlePageCount() {
506 return _maxJournalArticlePageCount;
507 }
508
509 public int getMaxJournalArticleVersionCount() {
510 return _maxJournalArticleVersionCount;
511 }
512
513 public int getMaxWikiPageCommentCount() {
514 return _maxWikiPageCommentCount;
515 }
516
517 public List<Long> getNewUserGroupIds(long groupId) {
518 List<Long> groupIds = new ArrayList<Long>(_maxUserToGroupCount + 1);
519
520 groupIds.add(_guestGroupModel.getGroupId());
521
522 if ((groupId + _maxUserToGroupCount) > _maxGroupsCount) {
523 groupId = groupId - _maxUserToGroupCount + 1;
524 }
525
526 for (int i = 0; i < _maxUserToGroupCount; i++) {
527 groupIds.add(groupId + i);
528 }
529
530 return groupIds;
531 }
532
533 public RoleModel getPowerUserRoleModel() {
534 return _powerUserRoleModel;
535 }
536
537 public List<RoleModel> getRoleModels() {
538 return _roleModels;
539 }
540
541 public UserModel getSampleUserModel() {
542 return _sampleUserModel;
543 }
544
545 public List<Integer> getSequence(int size) {
546 List<Integer> sequence = new ArrayList<Integer>(size);
547
548 for (int i = 1; i <= size; i++) {
549 sequence.add(i);
550 }
551
552 return sequence;
553 }
554
555 public RoleModel getUserRoleModel() {
556 return _userRoleModel;
557 }
558
559 public VirtualHostModel getVirtualHostModel() {
560 return _virtualHostModel;
561 }
562
563 public long getWikiPageClassNameId() {
564 return _classNameModelsMap.get(WikiPage.class.getName());
565 }
566
567 public void initAssetCategoryModels() {
568 _assetCategoryModelsArray =
569 (List<AssetCategoryModel>[])new List<?>[_maxGroupsCount];
570 _assetVocabularyModelsArray =
571 (List<AssetVocabularyModel>[])new List<?>[_maxGroupsCount];
572 _defaultAssetVocabularyModel = newAssetVocabularyModel(
573 _globalGroupId, _defaultUserId, null,
574 PropsValues.ASSET_VOCABULARY_DEFAULT);
575
576 StringBundler sb = new StringBundler(4);
577
578 for (int i = 1; i <= _maxGroupsCount; i++) {
579 List<AssetVocabularyModel> assetVocabularyModels =
580 new ArrayList<AssetVocabularyModel>(_maxAssetVocabularyCount);
581 List<AssetCategoryModel> assetCategoryModels =
582 new ArrayList<AssetCategoryModel>(
583 _maxAssetVocabularyCount * _maxAssetCategoryCount);
584
585 long lastRightCategoryId = 2;
586
587 for (int j = 0; j < _maxAssetVocabularyCount; j++) {
588 sb.setIndex(0);
589
590 sb.append("TestVocabulary_");
591 sb.append(i);
592 sb.append(StringPool.UNDERLINE);
593 sb.append(j);
594
595 AssetVocabularyModel assetVocabularyModel =
596 newAssetVocabularyModel(
597 i, _sampleUserId, _SAMPLE_USER_NAME, sb.toString());
598
599 assetVocabularyModels.add(assetVocabularyModel);
600
601 for (int k = 0; k < _maxAssetCategoryCount; k++) {
602 sb.setIndex(0);
603
604 sb.append("TestCategory_");
605 sb.append(assetVocabularyModel.getVocabularyId());
606 sb.append(StringPool.UNDERLINE);
607 sb.append(k);
608
609 AssetCategoryModel assetCategoryModel =
610 newAssetCategoryModel(
611 i, lastRightCategoryId, sb.toString(),
612 assetVocabularyModel.getVocabularyId());
613
614 lastRightCategoryId += 2;
615
616 assetCategoryModels.add(assetCategoryModel);
617 }
618 }
619
620 _assetCategoryModelsArray[i - 1] = assetCategoryModels;
621 _assetVocabularyModelsArray[i - 1] = assetVocabularyModels;
622 }
623 }
624
625 public void initAssetTagModels() {
626 _assetTagModelsArray =
627 (List<AssetTagModel>[])new List<?>[_maxGroupsCount];
628 _assetTagStatsModelsArray =
629 (List<AssetTagStatsModel>[])new List<?>[_maxGroupsCount];
630
631 for (int i = 1; i <= _maxGroupsCount; i++) {
632 List<AssetTagModel> assetTagModels = new ArrayList<AssetTagModel>(
633 _maxAssetTagCount);
634 List<AssetTagStatsModel> assetTagStatsModels =
635 new ArrayList<AssetTagStatsModel>(_maxAssetTagCount * 3);
636
637 for (int j = 0; j < _maxAssetTagCount; j++) {
638 AssetTagModel assetTagModel = new AssetTagModelImpl();
639
640 assetTagModel.setTagId(_counter.get());
641 assetTagModel.setGroupId(i);
642 assetTagModel.setCompanyId(_companyId);
643 assetTagModel.setUserId(_sampleUserId);
644 assetTagModel.setUserName(_SAMPLE_USER_NAME);
645 assetTagModel.setCreateDate(new Date());
646 assetTagModel.setModifiedDate(new Date());
647 assetTagModel.setName("TestTag_" + i + "_" + j);
648
649 assetTagModels.add(assetTagModel);
650
651 AssetTagStatsModel assetTagStatsModel = newAssetTagStatsModel(
652 assetTagModel.getTagId(),
653 _classNameModelsMap.get(BlogsEntry.class.getName()));
654
655 assetTagStatsModels.add(assetTagStatsModel);
656
657 assetTagStatsModel = newAssetTagStatsModel(
658 assetTagModel.getTagId(),
659 _classNameModelsMap.get(JournalArticle.class.getName()));
660
661 assetTagStatsModels.add(assetTagStatsModel);
662
663 assetTagStatsModel = newAssetTagStatsModel(
664 assetTagModel.getTagId(),
665 _classNameModelsMap.get(WikiPage.class.getName()));
666
667 assetTagStatsModels.add(assetTagStatsModel);
668 }
669
670 _assetTagModelsArray[i - 1] = assetTagModels;
671 _assetTagStatsModelsArray[i - 1] = assetTagStatsModels;
672 }
673 }
674
675 public void initCompanyModel() {
676 _companyModel = new CompanyModelImpl();
677
678 _companyModel.setCompanyId(_companyId);
679 _companyModel.setAccountId(_accountId);
680 _companyModel.setWebId("liferay.com");
681 _companyModel.setMx("liferay.com");
682 _companyModel.setActive(true);
683
684 _accountModel = new AccountModelImpl();
685
686 _accountModel.setAccountId(_accountId);
687 _accountModel.setCompanyId(_companyId);
688 _accountModel.setCreateDate(new Date());
689 _accountModel.setModifiedDate(new Date());
690 _accountModel.setName("Liferay");
691 _accountModel.setLegalName("Liferay, Inc.");
692 }
693
694 public void initContext(Properties properties) {
695 _assetPublisherQueryName = GetterUtil.getString(
696 properties.getProperty("sample.sql.asset.publisher.query.name"));
697
698 if (!_assetPublisherQueryName.equals("assetCategories")) {
699 _assetPublisherQueryName = "assetTags";
700 }
701
702 _maxAssetCategoryCount = GetterUtil.getInteger(
703 properties.getProperty("sample.sql.max.asset.category.count"));
704 _maxAssetEntryToAssetCategoryCount = GetterUtil.getInteger(
705 properties.getProperty(
706 "sample.sql.max.asset.entry.to.asset.category.count"));
707 _maxAssetEntryToAssetTagCount = GetterUtil.getInteger(
708 properties.getProperty(
709 "sample.sql.max.asset.entry.to.asset.tag.count"));
710 _maxAssetPublisherPageCount = GetterUtil.getInteger(
711 properties.getProperty(
712 "sample.sql.max.asset.publisher.page.count"));
713 _maxAssetTagCount = GetterUtil.getInteger(
714 properties.getProperty("sample.sql.max.asset.tag.count"));
715 _maxAssetVocabularyCount = GetterUtil.getInteger(
716 properties.getProperty("sample.sql.max.asset.vocabulary.count"));
717 _maxBlogsEntryCommentCount = GetterUtil.getInteger(
718 properties.getProperty("sample.sql.max.blogs.entry.comment.count"));
719 _maxBlogsEntryCount = GetterUtil.getInteger(
720 properties.getProperty("sample.sql.max.blogs.entry.count"));
721 _maxDDLCustomFieldCount = GetterUtil.getInteger(
722 properties.getProperty("sample.sql.max.ddl.custom.field.count"));
723 _maxDDLRecordCount = GetterUtil.getInteger(
724 properties.getProperty("sample.sql.max.ddl.record.count"));
725 _maxDDLRecordSetCount = GetterUtil.getInteger(
726 properties.getProperty("sample.sql.max.ddl.record.set.count"));
727 _maxDLFileEntryCount = GetterUtil.getInteger(
728 properties.getProperty("sample.sql.max.dl.file.entry.count"));
729 _maxDLFileEntrySize = GetterUtil.getInteger(
730 properties.getProperty("sample.sql.max.dl.file.entry.size"));
731 _maxDLFolderCount = GetterUtil.getInteger(
732 properties.getProperty("sample.sql.max.dl.folder.count"));
733 _maxDLFolderDepth = GetterUtil.getInteger(
734 properties.getProperty("sample.sql.max.dl.folder.depth"));
735 _maxGroupsCount = GetterUtil.getInteger(
736 properties.getProperty("sample.sql.max.group.count"));
737 _maxJournalArticleCount = GetterUtil.getInteger(
738 properties.getProperty("sample.sql.max.journal.article.count"));
739 _maxJournalArticlePageCount = GetterUtil.getInteger(
740 properties.getProperty(
741 "sample.sql.max.journal.article.page.count"));
742 _maxJournalArticleVersionCount = GetterUtil.getInteger(
743 properties.getProperty(
744 "sample.sql.max.journal.article.version.count"));
745 _maxMBCategoryCount = GetterUtil.getInteger(
746 properties.getProperty("sample.sql.max.mb.category.count"));
747 _maxMBMessageCount = GetterUtil.getInteger(
748 properties.getProperty("sample.sql.max.mb.message.count"));
749 _maxMBThreadCount = GetterUtil.getInteger(
750 properties.getProperty("sample.sql.max.mb.thread.count"));
751 _maxUserCount = GetterUtil.getInteger(
752 properties.getProperty("sample.sql.max.user.count"));
753 _maxUserToGroupCount = GetterUtil.getInteger(
754 properties.getProperty("sample.sql.max.user.to.group.count"));
755 _maxWikiNodeCount = GetterUtil.getInteger(
756 properties.getProperty("sample.sql.max.wiki.node.count"));
757 _maxWikiPageCommentCount = GetterUtil.getInteger(
758 properties.getProperty("sample.sql.max.wiki.page.comment.count"));
759 _maxWikiPageCount = GetterUtil.getInteger(
760 properties.getProperty("sample.sql.max.wiki.page.count"));
761 }
762
763 public void initDLFileEntryTypeModel() {
764 _defaultDLFileEntryTypeModel = new DLFileEntryTypeModelImpl();
765
766 _defaultDLFileEntryTypeModel.setUuid(SequentialUUID.generate());
767 _defaultDLFileEntryTypeModel.setFileEntryTypeId(
768 DLFileEntryTypeConstants.FILE_ENTRY_TYPE_ID_BASIC_DOCUMENT);
769 _defaultDLFileEntryTypeModel.setCreateDate(nextFutureDate());
770 _defaultDLFileEntryTypeModel.setModifiedDate(nextFutureDate());
771 _defaultDLFileEntryTypeModel.setFileEntryTypeKey(
772 StringUtil.toUpperCase(
773 DLFileEntryTypeConstants.NAME_BASIC_DOCUMENT));
774
775 StringBundler sb = new StringBundler(5);
776
777 sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root ");
778 sb.append("available-locales=\"en_US\" default-locale=\"en_US\">");
779 sb.append("<name language-id=\"en_US\">");
780 sb.append(DLFileEntryTypeConstants.NAME_BASIC_DOCUMENT);
781 sb.append("</name></root>");
782
783 _defaultDLFileEntryTypeModel.setName(sb.toString());
784
785 _defaultDLDDMStructureModel = newDDMStructureModel(
786 _guestGroupId, getDLFileEntryClassNameId(), "TIKARAWMETADATA",
787 _dlDDMStructureContent);
788 }
789
790 public void initGroupModels() throws Exception {
791 long groupClassNameId = getGroupClassNameId();
792
793 _globalGroupModel = newGroupModel(
794 _globalGroupId, _classNameModelsMap.get(Company.class.getName()),
795 _companyId, GroupConstants.GLOBAL, false);
796
797 _guestGroupModel = newGroupModel(
798 _guestGroupId, groupClassNameId, _guestGroupId,
799 GroupConstants.GUEST, true);
800
801 _groupModels = new ArrayList<GroupModel>(_maxGroupsCount);
802
803 for (int i = 1; i <= _maxGroupsCount; i++) {
804 GroupModel groupModel = newGroupModel(
805 i, groupClassNameId, i, "Site " + i, true);
806
807 _groupModels.add(groupModel);
808 }
809 }
810
811 public void initJournalArticleContent(int maxJournalArticleSize) {
812 StringBundler sb = new StringBundler(5);
813
814 sb.append("<?xml version=\"1.0\"?><root available-locales=\"en_US\" ");
815 sb.append("default-locale=\"en_US\"><static-content language-id=");
816 sb.append("\"en_US\"><![CDATA[<p>");
817
818 if (maxJournalArticleSize <= 0) {
819 maxJournalArticleSize = 1;
820 }
821
822 char[] chars = new char[maxJournalArticleSize];
823
824 for (int i = 0; i < maxJournalArticleSize; i++) {
825 chars[i] = (char)(CharPool.LOWER_CASE_A + (i % 26));
826 }
827
828 sb.append(new String(chars));
829
830 sb.append("</p>]]></static-content></root>");
831
832 _journalArticleContent = sb.toString();
833 }
834
835 public void initRoleModels() {
836 _roleModels = new ArrayList<RoleModel>();
837
838
839
840 _administratorRoleModel = newRoleModel(
841 RoleConstants.ADMINISTRATOR, RoleConstants.TYPE_REGULAR);
842
843 _roleModels.add(_administratorRoleModel);
844
845
846
847 _guestRoleModel = newRoleModel(
848 RoleConstants.GUEST, RoleConstants.TYPE_REGULAR);
849
850 _roleModels.add(_guestRoleModel);
851
852
853
854 RoleModel organizationAdministratorRoleModel = newRoleModel(
855 RoleConstants.ORGANIZATION_ADMINISTRATOR,
856 RoleConstants.TYPE_ORGANIZATION);
857
858 _roleModels.add(organizationAdministratorRoleModel);
859
860
861
862 RoleModel organizationOwnerRoleModel = newRoleModel(
863 RoleConstants.ORGANIZATION_OWNER, RoleConstants.TYPE_ORGANIZATION);
864
865 _roleModels.add(organizationOwnerRoleModel);
866
867
868
869 RoleModel organizationUserRoleModel = newRoleModel(
870 RoleConstants.ORGANIZATION_USER, RoleConstants.TYPE_ORGANIZATION);
871
872 _roleModels.add(organizationUserRoleModel);
873
874
875
876 _ownerRoleModel = newRoleModel(
877 RoleConstants.OWNER, RoleConstants.TYPE_REGULAR);
878
879 _roleModels.add(_ownerRoleModel);
880
881
882
883 _powerUserRoleModel = newRoleModel(
884 RoleConstants.POWER_USER, RoleConstants.TYPE_REGULAR);
885
886 _roleModels.add(_powerUserRoleModel);
887
888
889
890 RoleModel siteAdministratorRoleModel = newRoleModel(
891 RoleConstants.SITE_ADMINISTRATOR, RoleConstants.TYPE_SITE);
892
893 _roleModels.add(siteAdministratorRoleModel);
894
895
896
897 _siteMemberRoleModel = newRoleModel(
898 RoleConstants.SITE_MEMBER, RoleConstants.TYPE_SITE);
899
900 _roleModels.add(_siteMemberRoleModel);
901
902
903
904 RoleModel siteOwnerRoleModel = newRoleModel(
905 RoleConstants.SITE_OWNER, RoleConstants.TYPE_SITE);
906
907 _roleModels.add(siteOwnerRoleModel);
908
909
910
911 _userRoleModel = newRoleModel(
912 RoleConstants.USER, RoleConstants.TYPE_REGULAR);
913
914 _roleModels.add(_userRoleModel);
915 }
916
917 public void initUserModels() {
918 _defaultUserModel = newUserModel(
919 _defaultUserId, StringPool.BLANK, StringPool.BLANK,
920 StringPool.BLANK, true);
921 _guestUserModel = newUserModel(
922 _counter.get(), "Test", "Test", "Test", false);
923 _sampleUserModel = newUserModel(
924 _sampleUserId, _SAMPLE_USER_NAME, _SAMPLE_USER_NAME,
925 _SAMPLE_USER_NAME, false);
926 }
927
928 public void initUserNames() throws IOException {
929 _firstNames = new ArrayList<String>();
930
931 UnsyncBufferedReader unsyncBufferedReader = new UnsyncBufferedReader(
932 new InputStreamReader(getResourceInputStream("first_names.txt")));
933
934 String line = null;
935
936 while ((line = unsyncBufferedReader.readLine()) != null) {
937 _firstNames.add(line);
938 }
939
940 unsyncBufferedReader.close();
941
942 _lastNames = new ArrayList<String>();
943
944 unsyncBufferedReader = new UnsyncBufferedReader(
945 new InputStreamReader(getResourceInputStream("last_names.txt")));
946
947 while ((line = unsyncBufferedReader.readLine()) != null) {
948 _lastNames.add(line);
949 }
950
951 unsyncBufferedReader.close();
952 }
953
954 public void initVirtualHostModel() {
955 _virtualHostModel = new VirtualHostModelImpl();
956
957 _virtualHostModel.setVirtualHostId(_counter.get());
958 _virtualHostModel.setCompanyId(_companyId);
959 _virtualHostModel.setHostname("localhost");
960 }
961
962 public AssetEntryModel newAssetEntryModel(BlogsEntryModel blogsEntryModel) {
963 return newAssetEntryModel(
964 blogsEntryModel.getGroupId(), blogsEntryModel.getCreateDate(),
965 blogsEntryModel.getModifiedDate(), getBlogsEntryClassNameId(),
966 blogsEntryModel.getEntryId(), blogsEntryModel.getUuid(), 0, true,
967 ContentTypes.TEXT_HTML, blogsEntryModel.getTitle());
968 }
969
970 public AssetEntryModel newAssetEntryModel(
971 DLFileEntryModel dLFileEntryModel) {
972
973 return newAssetEntryModel(
974 dLFileEntryModel.getGroupId(), dLFileEntryModel.getCreateDate(),
975 dLFileEntryModel.getModifiedDate(), getDLFileEntryClassNameId(),
976 dLFileEntryModel.getFileEntryId(), dLFileEntryModel.getUuid(),
977 dLFileEntryModel.getFileEntryTypeId(), true,
978 dLFileEntryModel.getMimeType(), dLFileEntryModel.getTitle());
979 }
980
981 public AssetEntryModel newAssetEntryModel(DLFolderModel dLFolderModel) {
982 return newAssetEntryModel(
983 dLFolderModel.getGroupId(), dLFolderModel.getCreateDate(),
984 dLFolderModel.getModifiedDate(),
985 _classNameModelsMap.get(DLFolder.class.getName()),
986 dLFolderModel.getFolderId(), dLFolderModel.getUuid(), 0, true, null,
987 dLFolderModel.getName());
988 }
989
990 public AssetEntryModel newAssetEntryModel(
991 JournalArticleModel journalArticleModel) {
992
993 return newAssetEntryModel(
994 journalArticleModel.getGroupId(),
995 journalArticleModel.getCreateDate(),
996 journalArticleModel.getModifiedDate(),
997 getJournalArticleClassNameId(),
998 journalArticleModel.getResourcePrimKey(),
999 journalArticleModel.getUuid(), 0, true, ContentTypes.TEXT_HTML,
1000 journalArticleModel.getTitle());
1001 }
1002
1003 public AssetEntryModel newAssetEntryModel(MBMessageModel mbMessageModel) {
1004 long classNameId = 0;
1005 boolean visible = false;
1006
1007 if (mbMessageModel.getCategoryId() ==
1008 MBCategoryConstants.DISCUSSION_CATEGORY_ID) {
1009
1010 classNameId = _classNameModelsMap.get(MBDiscussion.class.getName());
1011 }
1012 else {
1013 classNameId = _classNameModelsMap.get(MBMessage.class.getName());
1014 visible = true;
1015 }
1016
1017 return newAssetEntryModel(
1018 mbMessageModel.getGroupId(), mbMessageModel.getCreateDate(),
1019 mbMessageModel.getModifiedDate(), classNameId,
1020 mbMessageModel.getMessageId(), mbMessageModel.getUuid(), 0, visible,
1021 ContentTypes.TEXT_HTML, mbMessageModel.getSubject());
1022 }
1023
1024 public AssetEntryModel newAssetEntryModel(MBThreadModel mbThreadModel) {
1025 return newAssetEntryModel(
1026 mbThreadModel.getGroupId(), mbThreadModel.getCreateDate(),
1027 mbThreadModel.getModifiedDate(),
1028 _classNameModelsMap.get(MBThread.class.getName()),
1029 mbThreadModel.getThreadId(), mbThreadModel.getUuid(), 0, false,
1030 StringPool.BLANK, String.valueOf(mbThreadModel.getRootMessageId()));
1031 }
1032
1033 public AssetEntryModel newAssetEntryModel(WikiPageModel wikiPageModel) {
1034 return newAssetEntryModel(
1035 wikiPageModel.getGroupId(), wikiPageModel.getCreateDate(),
1036 wikiPageModel.getModifiedDate(), getWikiPageClassNameId(),
1037 wikiPageModel.getResourcePrimKey(), wikiPageModel.getUuid(), 0,
1038 true, ContentTypes.TEXT_HTML, wikiPageModel.getTitle());
1039 }
1040
1041 public List<PortletPreferencesModel>
1042 newAssetPublisherPortletPreferencesModels(long plid) {
1043
1044 List<PortletPreferencesModel> portletPreferencesModels =
1045 new ArrayList<PortletPreferencesModel>(4);
1046
1047 portletPreferencesModels.add(
1048 newPortletPreferencesModel(
1049 plid, PortletKeys.BLOGS, PortletConstants.DEFAULT_PREFERENCES));
1050 portletPreferencesModels.add(
1051 newPortletPreferencesModel(
1052 plid, PortletKeys.DOCKBAR,
1053 PortletConstants.DEFAULT_PREFERENCES));
1054 portletPreferencesModels.add(
1055 newPortletPreferencesModel(
1056 plid, PortletKeys.JOURNAL,
1057 PortletConstants.DEFAULT_PREFERENCES));
1058 portletPreferencesModels.add(
1059 newPortletPreferencesModel(
1060 plid, PortletKeys.WIKI, PortletConstants.DEFAULT_PREFERENCES));
1061
1062 return portletPreferencesModels;
1063 }
1064
1065 public List<BlogsEntryModel> newBlogsEntryModels(long groupId) {
1066 List<BlogsEntryModel> blogEntryModels = new ArrayList<BlogsEntryModel>(
1067 _maxBlogsEntryCount);
1068
1069 for (int i = 1; i <= _maxBlogsEntryCount; i++) {
1070 blogEntryModels.add(newBlogsEntryModel(groupId, i));
1071 }
1072
1073 return blogEntryModels;
1074 }
1075
1076 public BlogsStatsUserModel newBlogsStatsUserModel(long groupId) {
1077 BlogsStatsUserModel blogsStatsUserModel = new BlogsStatsUserModelImpl();
1078
1079 blogsStatsUserModel.setStatsUserId(_counter.get());
1080 blogsStatsUserModel.setGroupId(groupId);
1081 blogsStatsUserModel.setCompanyId(_companyId);
1082 blogsStatsUserModel.setUserId(_sampleUserId);
1083 blogsStatsUserModel.setEntryCount(_maxBlogsEntryCount);
1084 blogsStatsUserModel.setLastPostDate(new Date());
1085
1086 return blogsStatsUserModel;
1087 }
1088
1089 public ContactModel newContactModel(UserModel userModel) {
1090 ContactModel contactModel = new ContactModelImpl();
1091
1092 contactModel.setContactId(userModel.getContactId());
1093 contactModel.setCompanyId(userModel.getCompanyId());
1094 contactModel.setUserId(userModel.getUserId());
1095
1096 FullNameGenerator fullNameGenerator =
1097 FullNameGeneratorFactory.getInstance();
1098
1099 String fullName = fullNameGenerator.getFullName(
1100 userModel.getFirstName(), userModel.getMiddleName(),
1101 userModel.getLastName());
1102
1103 contactModel.setUserName(fullName);
1104 contactModel.setCreateDate(new Date());
1105 contactModel.setModifiedDate(new Date());
1106 contactModel.setClassNameId(
1107 _classNameModelsMap.get(User.class.getName()));
1108 contactModel.setClassPK(userModel.getUserId());
1109 contactModel.setAccountId(_accountId);
1110 contactModel.setParentContactId(
1111 ContactConstants.DEFAULT_PARENT_CONTACT_ID);
1112 contactModel.setEmailAddress(userModel.getEmailAddress());
1113 contactModel.setFirstName(userModel.getFirstName());
1114 contactModel.setLastName(userModel.getLastName());
1115 contactModel.setMale(true);
1116 contactModel.setBirthday(new Date());
1117
1118 return contactModel;
1119 }
1120
1121 public List<CounterModel> newCounterModels() {
1122 List<CounterModel> counterModels = new ArrayList<CounterModel>();
1123
1124
1125
1126 CounterModel counterModel = new CounterModelImpl();
1127
1128 counterModel.setName(Counter.class.getName());
1129 counterModel.setCurrentId(_counter.get());
1130
1131 counterModels.add(counterModel);
1132
1133
1134
1135 counterModel = new CounterModelImpl();
1136
1137 counterModel.setName(ResourcePermission.class.getName());
1138 counterModel.setCurrentId(_resourcePermissionCounter.get());
1139
1140 counterModels.add(counterModel);
1141
1142
1143
1144 counterModel = new CounterModelImpl();
1145
1146 counterModel.setName(SocialActivity.class.getName());
1147 counterModel.setCurrentId(_socialActivityCounter.get());
1148
1149 counterModels.add(counterModel);
1150
1151 return counterModels;
1152 }
1153
1154 public DDMStructureModel newDDLDDMStructureModel(long groupId) {
1155 StringBundler sb = new StringBundler(3 + _maxDDLCustomFieldCount * 10);
1156
1157 sb.append("<?xml version=\"1.0\"?>");
1158 sb.append(
1159 "<root available-locales=\"en_US\" default-locale=\"en_US\">");
1160
1161 for (int i = 0; i < _maxDDLCustomFieldCount; i++) {
1162 sb.append(
1163 "<dynamic-element dataType=\"string\" indexType=\"keyword\"");
1164 sb.append(" name=\"");
1165 sb.append(nextDDLCustomFieldName(groupId, i));
1166 sb.append(
1167 "\" readOnly=\"false\" repeatable=\"false\" required=\"false");
1168 sb.append(
1169 "\" showLabel=\"true\" type=\"text\" width=\"25\"><meta-data");
1170 sb.append(" locale=\"en_US\"><entry name=\"label\"><![CDATA[Text");
1171 sb.append(i);
1172 sb.append(
1173 "]]></entry><entry name=\"predefinedValue\"><![CDATA[]]>");
1174 sb.append("</entry><entry name=\"tip\"><![CDATA[]]></entry>");
1175 sb.append("</meta-data></dynamic-element>");
1176 }
1177
1178 sb.append("</root>");
1179
1180 return newDDMStructureModel(
1181 groupId, _classNameModelsMap.get(DDLRecordSet.class.getName()),
1182 "Test DDM Structure", sb.toString());
1183 }
1184
1185 public DDLRecordModel newDDLRecordModel(
1186 DDLRecordSetModel dDLRecordSetModel) {
1187
1188 DDLRecordModel ddlRecordModel = new DDLRecordModelImpl();
1189
1190 ddlRecordModel.setUuid(SequentialUUID.generate());
1191 ddlRecordModel.setRecordId(_counter.get());
1192 ddlRecordModel.setGroupId(dDLRecordSetModel.getGroupId());
1193 ddlRecordModel.setCompanyId(_companyId);
1194 ddlRecordModel.setUserId(_sampleUserId);
1195 ddlRecordModel.setUserName(_SAMPLE_USER_NAME);
1196 ddlRecordModel.setVersionUserId(_sampleUserId);
1197 ddlRecordModel.setVersionUserName(_SAMPLE_USER_NAME);
1198 ddlRecordModel.setCreateDate(new Date());
1199 ddlRecordModel.setModifiedDate(new Date());
1200 ddlRecordModel.setDDMStorageId(_counter.get());
1201 ddlRecordModel.setRecordSetId(dDLRecordSetModel.getRecordSetId());
1202 ddlRecordModel.setVersion(DDLRecordConstants.VERSION_DEFAULT);
1203 ddlRecordModel.setDisplayIndex(
1204 DDLRecordConstants.DISPLAY_INDEX_DEFAULT);
1205
1206 return ddlRecordModel;
1207 }
1208
1209 public DDLRecordSetModel newDDLRecordSetModel(
1210 DDMStructureModel ddmStructureModel, int currentIndex) {
1211
1212 DDLRecordSetModel ddlRecordSetModel = new DDLRecordSetModelImpl();
1213
1214 ddlRecordSetModel.setUuid(SequentialUUID.generate());
1215 ddlRecordSetModel.setRecordSetId(_counter.get());
1216 ddlRecordSetModel.setGroupId(ddmStructureModel.getGroupId());
1217 ddlRecordSetModel.setCompanyId(_companyId);
1218 ddlRecordSetModel.setUserId(_sampleUserId);
1219 ddlRecordSetModel.setUserName(_SAMPLE_USER_NAME);
1220 ddlRecordSetModel.setCreateDate(new Date());
1221 ddlRecordSetModel.setModifiedDate(new Date());
1222 ddlRecordSetModel.setDDMStructureId(ddmStructureModel.getStructureId());
1223 ddlRecordSetModel.setRecordSetKey(String.valueOf(_counter.get()));
1224
1225 StringBundler sb = new StringBundler(5);
1226
1227 sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root ");
1228 sb.append("available-locales=\"en_US\" default-locale=\"en_US\">");
1229 sb.append("<name language-id=\"en_US\">Test DDL Record Set ");
1230 sb.append(currentIndex);
1231 sb.append("</name></root>");
1232
1233 ddlRecordSetModel.setName(sb.toString());
1234
1235 ddlRecordSetModel.setMinDisplayRows(
1236 DDLRecordSetConstants.MIN_DISPLAY_ROWS_DEFAULT);
1237 ddlRecordSetModel.setScope(
1238 DDLRecordSetConstants.SCOPE_DYNAMIC_DATA_LISTS);
1239
1240 return ddlRecordSetModel;
1241 }
1242
1243 public DDLRecordVersionModel newDDLRecordVersionModel(
1244 DDLRecordModel dDLRecordModel) {
1245
1246 DDLRecordVersionModel ddlRecordVersionModel =
1247 new DDLRecordVersionModelImpl();
1248
1249 ddlRecordVersionModel.setRecordVersionId(_counter.get());
1250 ddlRecordVersionModel.setGroupId(dDLRecordModel.getGroupId());
1251 ddlRecordVersionModel.setCompanyId(_companyId);
1252 ddlRecordVersionModel.setUserId(_sampleUserId);
1253 ddlRecordVersionModel.setUserName(_SAMPLE_USER_NAME);
1254 ddlRecordVersionModel.setCreateDate(dDLRecordModel.getModifiedDate());
1255 ddlRecordVersionModel.setDDMStorageId(dDLRecordModel.getDDMStorageId());
1256 ddlRecordVersionModel.setRecordSetId(dDLRecordModel.getRecordSetId());
1257 ddlRecordVersionModel.setRecordId(dDLRecordModel.getRecordId());
1258 ddlRecordVersionModel.setVersion(dDLRecordModel.getVersion());
1259 ddlRecordVersionModel.setDisplayIndex(dDLRecordModel.getDisplayIndex());
1260 ddlRecordVersionModel.setStatus(WorkflowConstants.STATUS_APPROVED);
1261 ddlRecordVersionModel.setStatusDate(dDLRecordModel.getModifiedDate());
1262
1263 return ddlRecordVersionModel;
1264 }
1265
1266 public DDMContentModel newDDMContentModel(
1267 DDLRecordModel ddlRecordModel, int currentIndex) {
1268
1269 StringBundler sb = new StringBundler(3 + _maxDDLCustomFieldCount * 10);
1270
1271 sb.append("<?xml version=\"1.0\"?><root>");
1272
1273 for (int i = 0; i < _maxDDLCustomFieldCount; i++) {
1274 sb.append("<dynamic-element default-language-id=\"en_US\" name=\"");
1275 sb.append(nextDDLCustomFieldName(ddlRecordModel.getGroupId(), i));
1276 sb.append("\"><dynamic-content language-id=\"en_US\">");
1277 sb.append("<![CDATA[Test Record ");
1278 sb.append(currentIndex);
1279 sb.append("]]></dynamic-content></dynamic-element>");
1280 }
1281
1282 sb.append("<dynamic-element default-language-id=\"en_US\" name=\"_");
1283 sb.append(
1284 "fieldsDisplay\"><dynamic-content language-id=\"en_US\"><![CDATA[");
1285
1286 for (int i = 0; i < _maxDDLCustomFieldCount; i++) {
1287 sb.append(nextDDLCustomFieldName(ddlRecordModel.getGroupId(), i));
1288 sb.append(DDMImpl.INSTANCE_SEPARATOR);
1289 sb.append(StringUtil.randomId());
1290 sb.append(StringPool.COMMA);
1291 }
1292
1293 sb.setStringAt(
1294 "]]></dynamic-content></dynamic-element></root>", sb.index() - 1);
1295
1296 return newDDMContentModel(
1297 ddlRecordModel.getDDMStorageId(), ddlRecordModel.getGroupId(),
1298 sb.toString());
1299 }
1300
1301 public DDMContentModel newDDMContentModel(
1302 DLFileEntryModel dlFileEntryModel) {
1303
1304 StringBundler sb = new StringBundler(5);
1305
1306 sb.append("<?xml version=\"1.0\"?><root><dynamic-element ");
1307 sb.append("name=\"CONTENT_TYPE\"><dynamic-content>");
1308 sb.append("<![CDATA[text/plain]]></dynamic-content></dynamic-element>");
1309 sb.append("<dynamic-element <![CDATA[ISO-8859-1]]></dynamic-content>");
1310 sb.append("</dynamic-element></root>");
1311
1312 return newDDMContentModel(
1313 _counter.get(), dlFileEntryModel.getGroupId(), sb.toString());
1314 }
1315
1316 public DDMStorageLinkModel newDDMStorageLinkModel(
1317 long ddmStorageLinkId, DDMContentModel ddmContentModel,
1318 long structureId) {
1319
1320 DDMStorageLinkModel ddmStorageLinkModel = new DDMStorageLinkModelImpl();
1321
1322 ddmStorageLinkModel.setUuid(SequentialUUID.generate());
1323 ddmStorageLinkModel.setStorageLinkId(ddmStorageLinkId);
1324 ddmStorageLinkModel.setClassNameId(
1325 _classNameModelsMap.get(DDMContent.class.getName()));
1326 ddmStorageLinkModel.setClassPK(ddmContentModel.getContentId());
1327 ddmStorageLinkModel.setStructureId(structureId);
1328
1329 return ddmStorageLinkModel;
1330 }
1331
1332 public DDMStructureLinkModel newDDMStructureLinkModel(
1333 DDLRecordSetModel ddlRecordSetModel) {
1334
1335 return newDDMStructureLinkModel(
1336 _classNameModelsMap.get(DDLRecordSet.class.getName()),
1337 ddlRecordSetModel.getRecordSetId(),
1338 ddlRecordSetModel.getDDMStructureId());
1339 }
1340
1341 public DDMStructureLinkModel newDDMStructureLinkModel(
1342 DLFileEntryMetadataModel dLFileEntryMetadataModel) {
1343
1344 return newDDMStructureLinkModel(
1345 _classNameModelsMap.get(DLFileEntryMetadata.class.getName()),
1346 dLFileEntryMetadataModel.getFileEntryMetadataId(),
1347 dLFileEntryMetadataModel.getDDMStructureId());
1348 }
1349
1350 public DLFileEntryMetadataModel newDLFileEntryMetadataModel(
1351 long ddmStorageLinkId, long ddmStructureId,
1352 DLFileVersionModel dlFileVersionModel) {
1353
1354 DLFileEntryMetadataModel dlFileEntryMetadataModel =
1355 new DLFileEntryMetadataModelImpl();
1356
1357 dlFileEntryMetadataModel.setUuid(SequentialUUID.generate());
1358 dlFileEntryMetadataModel.setFileEntryMetadataId(_counter.get());
1359 dlFileEntryMetadataModel.setDDMStorageId(ddmStorageLinkId);
1360 dlFileEntryMetadataModel.setDDMStructureId(ddmStructureId);
1361 dlFileEntryMetadataModel.setFileEntryTypeId(
1362 dlFileVersionModel.getFileEntryTypeId());
1363 dlFileEntryMetadataModel.setFileEntryId(
1364 dlFileVersionModel.getFileEntryId());
1365 dlFileEntryMetadataModel.setFileVersionId(
1366 dlFileVersionModel.getFileVersionId());
1367
1368 return dlFileEntryMetadataModel;
1369 }
1370
1371 public List<DLFileEntryModel> newDlFileEntryModels(
1372 DLFolderModel dlFolerModel) {
1373
1374 List<DLFileEntryModel> dlFileEntryModels =
1375 new ArrayList<DLFileEntryModel>(_maxDLFileEntryCount);
1376
1377 for (int i = 1; i <= _maxDLFileEntryCount; i++) {
1378 dlFileEntryModels.add(newDlFileEntryModel(dlFolerModel, i));
1379 }
1380
1381 return dlFileEntryModels;
1382 }
1383
1384 public DLFileVersionModel newDLFileVersionModel(
1385 DLFileEntryModel dlFileEntryModel) {
1386
1387 DLFileVersionModel dlFileVersionModel = new DLFileVersionModelImpl();
1388
1389 dlFileVersionModel.setUuid(SequentialUUID.generate());
1390 dlFileVersionModel.setFileVersionId(_counter.get());
1391 dlFileVersionModel.setGroupId(dlFileEntryModel.getGroupId());
1392 dlFileVersionModel.setCompanyId(_companyId);
1393 dlFileVersionModel.setUserId(_sampleUserId);
1394 dlFileVersionModel.setUserName(_SAMPLE_USER_NAME);
1395 dlFileVersionModel.setCreateDate(nextFutureDate());
1396 dlFileVersionModel.setModifiedDate(nextFutureDate());
1397 dlFileVersionModel.setRepositoryId(dlFileEntryModel.getRepositoryId());
1398 dlFileVersionModel.setFolderId(dlFileEntryModel.getFolderId());
1399 dlFileVersionModel.setFileEntryId(dlFileEntryModel.getFileEntryId());
1400 dlFileVersionModel.setExtension(dlFileEntryModel.getExtension());
1401 dlFileVersionModel.setMimeType(dlFileEntryModel.getMimeType());
1402 dlFileVersionModel.setTitle(dlFileEntryModel.getTitle());
1403 dlFileVersionModel.setFileEntryTypeId(
1404 dlFileEntryModel.getFileEntryTypeId());
1405 dlFileVersionModel.setVersion(dlFileEntryModel.getVersion());
1406 dlFileVersionModel.setSize(dlFileEntryModel.getSize());
1407
1408 return dlFileVersionModel;
1409 }
1410
1411 public List<DLFolderModel> newDLFolderModels(
1412 long groupId, long parentFolderId) {
1413
1414 List<DLFolderModel> dlFolderModels = new ArrayList<DLFolderModel>(
1415 _maxDLFolderCount);
1416
1417 for (int i = 1; i <= _maxDLFolderCount; i++) {
1418 dlFolderModels.add(newDLFolderModel(groupId, parentFolderId, i));
1419 }
1420
1421 return dlFolderModels;
1422 }
1423
1424 public GroupModel newGroupModel(UserModel userModel) throws Exception {
1425 return newGroupModel(
1426 _counter.get(), _classNameModelsMap.get(User.class.getName()),
1427 userModel.getUserId(), userModel.getScreenName(), false);
1428 }
1429
1430 public IntegerWrapper newInteger() {
1431 return new IntegerWrapper();
1432 }
1433
1434 public JournalArticleModel newJournalArticleModel(
1435 JournalArticleResourceModel journalArticleResourceModel,
1436 int articleIndex, int versionIndex) {
1437
1438 JournalArticleModel journalArticleModel = new JournalArticleModelImpl();
1439
1440 journalArticleModel.setUuid(SequentialUUID.generate());
1441 journalArticleModel.setId(_counter.get());
1442 journalArticleModel.setResourcePrimKey(
1443 journalArticleResourceModel.getResourcePrimKey());
1444 journalArticleModel.setGroupId(
1445 journalArticleResourceModel.getGroupId());
1446 journalArticleModel.setCompanyId(_companyId);
1447 journalArticleModel.setUserId(_sampleUserId);
1448 journalArticleModel.setUserName(_SAMPLE_USER_NAME);
1449 journalArticleModel.setCreateDate(new Date());
1450 journalArticleModel.setModifiedDate(new Date());
1451 journalArticleModel.setClassNameId(
1452 JournalArticleConstants.CLASSNAME_ID_DEFAULT);
1453 journalArticleModel.setArticleId(
1454 journalArticleResourceModel.getArticleId());
1455 journalArticleModel.setVersion(versionIndex);
1456
1457 StringBundler sb = new StringBundler(4);
1458
1459 sb.append("TestJournalArticle_");
1460 sb.append(articleIndex);
1461 sb.append(StringPool.UNDERLINE);
1462 sb.append(versionIndex);
1463
1464 String urlTitle = sb.toString();
1465
1466 sb = new StringBundler(5);
1467
1468 sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root ");
1469 sb.append("available-locales=\"en_US\" default-locale=\"en_US\">");
1470 sb.append("<Title language-id=\"en_US\">");
1471 sb.append(urlTitle);
1472 sb.append("</Title></root>");
1473
1474 String title = sb.toString();
1475
1476 journalArticleModel.setTitle(title);
1477 journalArticleModel.setUrlTitle(urlTitle);
1478
1479 journalArticleModel.setContent(_journalArticleContent);
1480 journalArticleModel.setType("general");
1481 journalArticleModel.setDisplayDate(new Date());
1482 journalArticleModel.setExpirationDate(nextFutureDate());
1483 journalArticleModel.setReviewDate(new Date());
1484 journalArticleModel.setIndexable(true);
1485 journalArticleModel.setStatusDate(new Date());
1486
1487 return journalArticleModel;
1488 }
1489
1490 public JournalArticleResourceModel newJournalArticleResourceModel(
1491 long groupId) {
1492
1493 JournalArticleResourceModel journalArticleResourceModel =
1494 new JournalArticleResourceModelImpl();
1495
1496 journalArticleResourceModel.setUuid(SequentialUUID.generate());
1497 journalArticleResourceModel.setResourcePrimKey(_counter.get());
1498 journalArticleResourceModel.setGroupId(groupId);
1499 journalArticleResourceModel.setArticleId(
1500 String.valueOf(_counter.get()));
1501
1502 return journalArticleResourceModel;
1503 }
1504
1505 public JournalContentSearchModel newJournalContentSearchModel(
1506 JournalArticleModel journalArticleModel, long layoutId) {
1507
1508 JournalContentSearchModel journalContentSearchModel =
1509 new JournalContentSearchModelImpl();
1510
1511 journalContentSearchModel.setContentSearchId(_counter.get());
1512 journalContentSearchModel.setGroupId(journalArticleModel.getGroupId());
1513 journalContentSearchModel.setCompanyId(_companyId);
1514 journalContentSearchModel.setLayoutId(layoutId);
1515 journalContentSearchModel.setPortletId(PortletKeys.JOURNAL_CONTENT);
1516 journalContentSearchModel.setArticleId(
1517 journalArticleModel.getArticleId());
1518
1519 return journalContentSearchModel;
1520 }
1521
1522 public LayoutFriendlyURLModel newLayoutFriendlyURLModel(
1523 LayoutModel layoutModel) {
1524
1525 LayoutFriendlyURLModel layoutFriendlyURLModel =
1526 new LayoutFriendlyURLModelImpl();
1527
1528 layoutFriendlyURLModel.setUuid(SequentialUUID.generate());
1529 layoutFriendlyURLModel.setLayoutFriendlyURLId(_counter.get());
1530 layoutFriendlyURLModel.setGroupId(layoutModel.getGroupId());
1531 layoutFriendlyURLModel.setCompanyId(_companyId);
1532 layoutFriendlyURLModel.setUserId(_sampleUserId);
1533 layoutFriendlyURLModel.setUserName(_SAMPLE_USER_NAME);
1534 layoutFriendlyURLModel.setCreateDate(new Date());
1535 layoutFriendlyURLModel.setModifiedDate(new Date());
1536 layoutFriendlyURLModel.setPlid(layoutModel.getPlid());
1537 layoutFriendlyURLModel.setFriendlyURL(layoutModel.getFriendlyURL());
1538 layoutFriendlyURLModel.setLanguageId("en_US");
1539
1540 return layoutFriendlyURLModel;
1541 }
1542
1543 public LayoutModel newLayoutModel(
1544 long groupId, String name, String column1, String column2) {
1545
1546 SimpleCounter simpleCounter = _layoutCounters.get(groupId);
1547
1548 if (simpleCounter == null) {
1549 simpleCounter = new SimpleCounter();
1550
1551 _layoutCounters.put(groupId, simpleCounter);
1552 }
1553
1554 LayoutModel layoutModel = new LayoutModelImpl();
1555
1556 layoutModel.setUuid(SequentialUUID.generate());
1557 layoutModel.setPlid(_counter.get());
1558 layoutModel.setGroupId(groupId);
1559 layoutModel.setCompanyId(_companyId);
1560 layoutModel.setUserId(_sampleUserId);
1561 layoutModel.setUserName(_SAMPLE_USER_NAME);
1562 layoutModel.setCreateDate(new Date());
1563 layoutModel.setModifiedDate(new Date());
1564 layoutModel.setLayoutId(simpleCounter.get());
1565 layoutModel.setName(
1566 "<?xml version=\"1.0\"?><root><name>" + name + "</name></root>");
1567 layoutModel.setType(LayoutConstants.TYPE_PORTLET);
1568 layoutModel.setFriendlyURL(StringPool.FORWARD_SLASH + name);
1569
1570 UnicodeProperties typeSettingsProperties = new UnicodeProperties(true);
1571
1572 typeSettingsProperties.setProperty(
1573 LayoutTypePortletConstants.LAYOUT_TEMPLATE_ID, "2_columns_ii");
1574 typeSettingsProperties.setProperty("column-1", column1);
1575 typeSettingsProperties.setProperty("column-2", column2);
1576
1577 String typeSettings = StringUtil.replace(
1578 typeSettingsProperties.toString(), "\n", "\\n");
1579
1580 layoutModel.setTypeSettings(typeSettings);
1581
1582 return layoutModel;
1583 }
1584
1585 public List<LayoutSetModel> newLayoutSetModels(
1586 long groupId, int publicLayoutSetPageCount) {
1587
1588 List<LayoutSetModel> layoutSetModels = new ArrayList<LayoutSetModel>(2);
1589
1590 layoutSetModels.add(newLayoutSetModel(groupId, true, 0));
1591 layoutSetModels.add(
1592 newLayoutSetModel(groupId, false, publicLayoutSetPageCount));
1593
1594 return layoutSetModels;
1595 }
1596
1597 public List<MBCategoryModel> newMBCategoryModels(long groupId) {
1598 List<MBCategoryModel> mbCategoryModels = new ArrayList<MBCategoryModel>(
1599 _maxMBCategoryCount);
1600
1601 for (int i = 1; i <= _maxMBCategoryCount; i++) {
1602 mbCategoryModels.add(newMBCategoryModel(groupId, i));
1603 }
1604
1605 return mbCategoryModels;
1606 }
1607
1608 public MBDiscussionModel newMBDiscussionModel(
1609 long groupId, long classNameId, long classPK, long threadId) {
1610
1611 MBDiscussionModel mbDiscussionModel = new MBDiscussionModelImpl();
1612
1613 mbDiscussionModel.setUuid(SequentialUUID.generate());
1614 mbDiscussionModel.setDiscussionId(_counter.get());
1615 mbDiscussionModel.setGroupId(groupId);
1616 mbDiscussionModel.setCompanyId(_companyId);
1617 mbDiscussionModel.setUserId(_sampleUserId);
1618 mbDiscussionModel.setUserName(_SAMPLE_USER_NAME);
1619 mbDiscussionModel.setCreateDate(new Date());
1620 mbDiscussionModel.setModifiedDate(new Date());
1621 mbDiscussionModel.setClassNameId(classNameId);
1622 mbDiscussionModel.setClassPK(classPK);
1623 mbDiscussionModel.setThreadId(threadId);
1624
1625 return mbDiscussionModel;
1626 }
1627
1628 public MBMailingListModel newMBMailingListModel(
1629 MBCategoryModel mbCategoryModel) {
1630
1631 MBMailingListModel mbMailingListModel = new MBMailingListModelImpl();
1632
1633 mbMailingListModel.setUuid(SequentialUUID.generate());
1634 mbMailingListModel.setMailingListId(_counter.get());
1635 mbMailingListModel.setGroupId(mbCategoryModel.getGroupId());
1636 mbMailingListModel.setCompanyId(_companyId);
1637 mbMailingListModel.setUserId(_sampleUserId);
1638 mbMailingListModel.setUserName(_SAMPLE_USER_NAME);
1639 mbMailingListModel.setCreateDate(new Date());
1640 mbMailingListModel.setModifiedDate(new Date());
1641 mbMailingListModel.setCategoryId(mbCategoryModel.getCategoryId());
1642 mbMailingListModel.setInProtocol("pop3");
1643 mbMailingListModel.setInServerPort(110);
1644 mbMailingListModel.setInUserName(_sampleUserModel.getEmailAddress());
1645 mbMailingListModel.setInPassword(_sampleUserModel.getPassword());
1646 mbMailingListModel.setInReadInterval(5);
1647 mbMailingListModel.setOutServerPort(25);
1648
1649 return mbMailingListModel;
1650 }
1651
1652 public MBMessageModel newMBMessageModel(
1653 MBThreadModel mbThreadModel, long classNameId, long classPK,
1654 int index) {
1655
1656 long messageId = 0;
1657 long parentMessageId = 0;
1658 String subject = null;
1659 String body = null;
1660
1661 if (index == 0) {
1662 messageId = mbThreadModel.getRootMessageId();
1663 parentMessageId = MBMessageConstants.DEFAULT_PARENT_MESSAGE_ID;
1664 subject = String.valueOf(classPK);
1665 body = String.valueOf(classPK);
1666 }
1667 else {
1668 messageId = _counter.get();
1669 parentMessageId = mbThreadModel.getRootMessageId();
1670 subject = "N/A";
1671 body = "This is test comment " + index + ".";
1672 }
1673
1674 return newMBMessageModel(
1675 mbThreadModel.getGroupId(), classNameId, classPK,
1676 MBCategoryConstants.DISCUSSION_CATEGORY_ID,
1677 mbThreadModel.getThreadId(), messageId,
1678 mbThreadModel.getRootMessageId(), parentMessageId, subject, body);
1679 }
1680
1681 public List<MBMessageModel> newMBMessageModels(
1682 MBThreadModel mbThreadModel) {
1683
1684 List<MBMessageModel> mbMessageModels = new ArrayList<MBMessageModel>(
1685 _maxMBMessageCount);
1686
1687 mbMessageModels.add(
1688 newMBMessageModel(
1689 mbThreadModel.getGroupId(), 0, 0, mbThreadModel.getCategoryId(),
1690 mbThreadModel.getThreadId(), mbThreadModel.getRootMessageId(),
1691 mbThreadModel.getRootMessageId(),
1692 MBMessageConstants.DEFAULT_PARENT_MESSAGE_ID, "Test Message 1",
1693 "This is test message 1."));
1694
1695 for (int i = 2; i <= _maxMBMessageCount; i++) {
1696 mbMessageModels.add(
1697 newMBMessageModel(
1698 mbThreadModel.getGroupId(), 0, 0,
1699 mbThreadModel.getCategoryId(), mbThreadModel.getThreadId(),
1700 _counter.get(), mbThreadModel.getRootMessageId(),
1701 mbThreadModel.getRootMessageId(), "Test Message " + i,
1702 "This is test message " + i + "."));
1703 }
1704
1705 return mbMessageModels;
1706 }
1707
1708 public List<MBMessageModel> newMBMessageModels(
1709 MBThreadModel mbThreadModel, long classNameId, long classPK,
1710 int maxMessageCount) {
1711
1712 List<MBMessageModel> mbMessageModels = new ArrayList<MBMessageModel>(
1713 maxMessageCount);
1714
1715 for (int i = 1; i <= maxMessageCount; i++) {
1716 mbMessageModels.add(
1717 newMBMessageModel(mbThreadModel, classNameId, classPK, i));
1718 }
1719
1720 return mbMessageModels;
1721 }
1722
1723 public MBStatsUserModel newMBStatsUserModel(long groupId) {
1724 MBStatsUserModel mbStatsUserModel = new MBStatsUserModelImpl();
1725
1726 mbStatsUserModel.setStatsUserId(_counter.get());
1727 mbStatsUserModel.setGroupId(groupId);
1728 mbStatsUserModel.setUserId(_sampleUserId);
1729 mbStatsUserModel.setMessageCount(
1730 _maxMBCategoryCount * _maxMBThreadCount * _maxMBMessageCount);
1731 mbStatsUserModel.setLastPostDate(new Date());
1732
1733 return mbStatsUserModel;
1734 }
1735
1736 public MBThreadFlagModel newMBThreadFlagModel(MBThreadModel mbThreadModel) {
1737 MBThreadFlagModel mbThreadFlagModel = new MBThreadFlagModelImpl();
1738
1739 mbThreadFlagModel.setUuid(SequentialUUID.generate());
1740 mbThreadFlagModel.setThreadFlagId(_counter.get());
1741 mbThreadFlagModel.setGroupId(mbThreadModel.getGroupId());
1742 mbThreadFlagModel.setCompanyId(_companyId);
1743 mbThreadFlagModel.setUserId(_sampleUserId);
1744 mbThreadFlagModel.setUserName(_SAMPLE_USER_NAME);
1745 mbThreadFlagModel.setCreateDate(new Date());
1746 mbThreadFlagModel.setModifiedDate(new Date());
1747 mbThreadFlagModel.setThreadId(mbThreadModel.getThreadId());
1748
1749 return mbThreadFlagModel;
1750 }
1751
1752 public MBThreadModel newMBThreadModel(
1753 long threadId, long groupId, long rootMessageId, int messageCount) {
1754
1755 if (messageCount == 0) {
1756 messageCount = 1;
1757 }
1758
1759 return newMBThreadModel(
1760 threadId, groupId, MBCategoryConstants.DISCUSSION_CATEGORY_ID,
1761 rootMessageId, messageCount);
1762 }
1763
1764 public List<MBThreadModel> newMBThreadModels(
1765 MBCategoryModel mbCategoryModel) {
1766
1767 List<MBThreadModel> mbThreadModels = new ArrayList<MBThreadModel>(
1768 _maxMBThreadCount);
1769
1770 for (int i = 0; i < _maxMBThreadCount; i++) {
1771 mbThreadModels.add(
1772 newMBThreadModel(
1773 _counter.get(), mbCategoryModel.getGroupId(),
1774 mbCategoryModel.getCategoryId(), _counter.get(),
1775 _maxMBMessageCount));
1776 }
1777
1778 return mbThreadModels;
1779 }
1780
1781 public PortletPreferencesModel newPortletPreferencesModel(
1782 long plid, long groupId, String portletId, int currentIndex)
1783 throws Exception {
1784
1785 if (currentIndex == 1) {
1786 return newPortletPreferencesModel(
1787 plid, portletId, PortletConstants.DEFAULT_PREFERENCES);
1788 }
1789
1790 SimpleCounter counter = _assetPublisherQueryCounter.get(groupId);
1791
1792 if (counter == null) {
1793 counter = new SimpleCounter(0);
1794
1795 _assetPublisherQueryCounter.put(groupId, counter);
1796 }
1797
1798 String[] assetPublisherQueryValues = null;
1799
1800 if (_assetPublisherQueryName.equals("assetCategories")) {
1801 List<AssetCategoryModel> assetCategoryModels =
1802 _assetCategoryModelsArray[(int)groupId - 1];
1803
1804 if ((assetCategoryModels == null) ||
1805 assetCategoryModels.isEmpty()) {
1806
1807 return newPortletPreferencesModel(
1808 plid, portletId, PortletConstants.DEFAULT_PREFERENCES);
1809 }
1810
1811 assetPublisherQueryValues =
1812 getAssetPublisherAssetCategoriesQueryValues(
1813 assetCategoryModels, (int)counter.get());
1814 }
1815 else {
1816 List<AssetTagModel> assetTagModels =
1817 _assetTagModelsArray[(int)groupId - 1];
1818
1819 if ((assetTagModels == null) || assetTagModels.isEmpty()) {
1820 return newPortletPreferencesModel(
1821 plid, portletId, PortletConstants.DEFAULT_PREFERENCES);
1822 }
1823
1824 assetPublisherQueryValues = getAssetPublisherAssetTagsQueryValues(
1825 assetTagModels, (int)counter.get());
1826 }
1827
1828 javax.portlet.PortletPreferences jxPortletPreferences =
1829 new com.liferay.portlet.PortletPreferencesImpl();
1830
1831 jxPortletPreferences.setValue("queryAndOperator0", "false");
1832 jxPortletPreferences.setValue("queryContains0", "true");
1833 jxPortletPreferences.setValue("queryName0", _assetPublisherQueryName);
1834 jxPortletPreferences.setValues(
1835 "queryValues0",
1836 new String[] {
1837 assetPublisherQueryValues[0], assetPublisherQueryValues[1],
1838 assetPublisherQueryValues[2]
1839 });
1840 jxPortletPreferences.setValue("queryAndOperator1", "false");
1841 jxPortletPreferences.setValue("queryContains1", "false");
1842 jxPortletPreferences.setValue("queryName1", _assetPublisherQueryName);
1843 jxPortletPreferences.setValue(
1844 "queryValues1", assetPublisherQueryValues[3]);
1845
1846 return newPortletPreferencesModel(
1847 plid, portletId,
1848 _portletPreferencesFactory.toXML(jxPortletPreferences));
1849 }
1850
1851 public PortletPreferencesModel newPortletPreferencesModel(
1852 long plid, String portletId, DDLRecordSetModel ddlRecordSetModel)
1853 throws Exception {
1854
1855 javax.portlet.PortletPreferences jxPortletPreferences =
1856 new com.liferay.portlet.PortletPreferencesImpl();
1857
1858 jxPortletPreferences.setValue("editable", "true");
1859 jxPortletPreferences.setValue(
1860 "recordSetId", String.valueOf(ddlRecordSetModel.getRecordSetId()));
1861 jxPortletPreferences.setValue("spreadsheet", "false");
1862
1863 return newPortletPreferencesModel(
1864 plid, portletId,
1865 _portletPreferencesFactory.toXML(jxPortletPreferences));
1866 }
1867
1868 public PortletPreferencesModel newPortletPreferencesModel(
1869 long plid, String portletId,
1870 JournalArticleResourceModel journalArticleResourceModel)
1871 throws Exception {
1872
1873 javax.portlet.PortletPreferences jxPortletPreferences =
1874 new com.liferay.portlet.PortletPreferencesImpl();
1875
1876 jxPortletPreferences.setValue(
1877 "articleId", journalArticleResourceModel.getArticleId());
1878 jxPortletPreferences.setValue("enableCommentRatings", "false");
1879 jxPortletPreferences.setValue("enableComments", "false");
1880 jxPortletPreferences.setValue("enablePrint", "false");
1881 jxPortletPreferences.setValue("enableRatings", "false");
1882 jxPortletPreferences.setValue("enableRelatedAssets", "true");
1883 jxPortletPreferences.setValue("enableViewCountIncrement", "false");
1884 jxPortletPreferences.setValue(
1885 "groupId",
1886 String.valueOf(journalArticleResourceModel.getGroupId()));
1887 jxPortletPreferences.setValue("showAvailableLocales", "false");
1888
1889 return newPortletPreferencesModel(
1890 plid, portletId,
1891 _portletPreferencesFactory.toXML(jxPortletPreferences));
1892 }
1893
1894 public List<PortletPreferencesModel> newPortletPreferencesModels(
1895 long plid) {
1896
1897 List<PortletPreferencesModel> portletPreferencesModels =
1898 new ArrayList<PortletPreferencesModel>(2);
1899
1900 portletPreferencesModels.add(
1901 newPortletPreferencesModel(
1902 plid, PortletKeys.DOCKBAR,
1903 PortletConstants.DEFAULT_PREFERENCES));
1904 portletPreferencesModels.add(
1905 newPortletPreferencesModel(
1906 plid, PortletKeys.PORTLET_CONFIGURATION,
1907 PortletConstants.DEFAULT_PREFERENCES));
1908
1909 return portletPreferencesModels;
1910 }
1911
1912 public List<LayoutModel> newPublicLayoutModels(long groupId) {
1913 List<LayoutModel> layoutModels = new ArrayList<LayoutModel>();
1914
1915 layoutModels.add(newLayoutModel(groupId, "welcome", "58,", "47,"));
1916 layoutModels.add(newLayoutModel(groupId, "blogs", "", "33,"));
1917 layoutModels.add(
1918 newLayoutModel(groupId, "document_library", "", "20,"));
1919 layoutModels.add(newLayoutModel(groupId, "forums", "", "19,"));
1920 layoutModels.add(newLayoutModel(groupId, "wiki", "", "36,"));
1921
1922 return layoutModels;
1923 }
1924
1925 public List<ResourcePermissionModel> newResourcePermissionModels(
1926 AssetCategoryModel assetCategoryModel) {
1927
1928 return newResourcePermissionModels(
1929 AssetCategory.class.getName(),
1930 String.valueOf(assetCategoryModel.getCategoryId()), _sampleUserId);
1931 }
1932
1933 public List<ResourcePermissionModel> newResourcePermissionModels(
1934 AssetTagModel assetTagModel) {
1935
1936 return newResourcePermissionModels(
1937 AssetTag.class.getName(), String.valueOf(assetTagModel.getTagId()),
1938 _sampleUserId);
1939 }
1940
1941 public List<ResourcePermissionModel> newResourcePermissionModels(
1942 AssetVocabularyModel assetVocabularyModel) {
1943
1944 if (assetVocabularyModel.getUserId() == _defaultUserId) {
1945 List<ResourcePermissionModel> resourcePermissionModels =
1946 new ArrayList<ResourcePermissionModel>(1);
1947
1948 resourcePermissionModels.add(
1949 newResourcePermissionModel(
1950 AssetVocabulary.class.getName(),
1951 String.valueOf(assetVocabularyModel.getVocabularyId()),
1952 _ownerRoleModel.getRoleId(), _defaultUserId));
1953
1954 return resourcePermissionModels;
1955 }
1956
1957 return newResourcePermissionModels(
1958 AssetVocabulary.class.getName(),
1959 String.valueOf(assetVocabularyModel.getVocabularyId()),
1960 _sampleUserId);
1961 }
1962
1963 public List<ResourcePermissionModel> newResourcePermissionModels(
1964 BlogsEntryModel blogsEntryModel) {
1965
1966 return newResourcePermissionModels(
1967 BlogsEntry.class.getName(),
1968 String.valueOf(blogsEntryModel.getEntryId()), _sampleUserId);
1969 }
1970
1971 public List<ResourcePermissionModel> newResourcePermissionModels(
1972 DDLRecordSetModel ddlRecordSetModel) {
1973
1974 List<ResourcePermissionModel> resourcePermissionModels =
1975 new ArrayList<ResourcePermissionModel>(1);
1976
1977 resourcePermissionModels.add(
1978 newResourcePermissionModel(
1979 DDLRecordSet.class.getName(),
1980 String.valueOf(ddlRecordSetModel.getRecordSetId()),
1981 _ownerRoleModel.getRoleId(), _defaultUserId));
1982
1983 return resourcePermissionModels;
1984 }
1985
1986 public List<ResourcePermissionModel> newResourcePermissionModels(
1987 DDMStructureModel ddmStructureModel) {
1988
1989 List<ResourcePermissionModel> resourcePermissionModels =
1990 new ArrayList<ResourcePermissionModel>(1);
1991
1992 resourcePermissionModels.add(
1993 newResourcePermissionModel(
1994 DDMStructure.class.getName(),
1995 String.valueOf(ddmStructureModel.getStructureId()),
1996 _ownerRoleModel.getRoleId(), _defaultUserId));
1997
1998 return resourcePermissionModels;
1999 }
2000
2001 public List<ResourcePermissionModel> newResourcePermissionModels(
2002 DLFileEntryModel dlFileEntryModel) {
2003
2004 return newResourcePermissionModels(
2005 DLFileEntry.class.getName(),
2006 String.valueOf(dlFileEntryModel.getFileEntryId()), _sampleUserId);
2007 }
2008
2009 public List<ResourcePermissionModel> newResourcePermissionModels(
2010 DLFolderModel dlFolderModel) {
2011
2012 return newResourcePermissionModels(
2013 DLFolder.class.getName(),
2014 String.valueOf(dlFolderModel.getFolderId()), _sampleUserId);
2015 }
2016
2017 public List<ResourcePermissionModel> newResourcePermissionModels(
2018 JournalArticleResourceModel journalArticleResourceModel) {
2019
2020 return newResourcePermissionModels(
2021 JournalArticle.class.getName(),
2022 String.valueOf(journalArticleResourceModel.getResourcePrimKey()),
2023 _sampleUserId);
2024 }
2025
2026 public List<ResourcePermissionModel> newResourcePermissionModels(
2027 LayoutModel layoutModel) {
2028
2029 return newResourcePermissionModels(
2030 Layout.class.getName(), String.valueOf(layoutModel.getPlid()),
2031 _sampleUserId);
2032 }
2033
2034 public List<ResourcePermissionModel> newResourcePermissionModels(
2035 MBCategoryModel mbCategoryModel) {
2036
2037 return newResourcePermissionModels(
2038 MBCategory.class.getName(),
2039 String.valueOf(mbCategoryModel.getCategoryId()), _sampleUserId);
2040 }
2041
2042 public List<ResourcePermissionModel> newResourcePermissionModels(
2043 MBMessageModel mbMessageModel) {
2044
2045 return newResourcePermissionModels(
2046 MBMessage.class.getName(),
2047 String.valueOf(mbMessageModel.getMessageId()), _sampleUserId);
2048 }
2049
2050 public List<ResourcePermissionModel> newResourcePermissionModels(
2051 PortletPreferencesModel portletPreferencesModel) {
2052
2053 String portletId = portletPreferencesModel.getPortletId();
2054
2055 String name = portletId;
2056
2057 int index = portletId.indexOf(StringPool.UNDERLINE);
2058
2059 if (index > 0) {
2060 name = portletId.substring(0, index);
2061 }
2062
2063 String primKey = PortletPermissionUtil.getPrimaryKey(
2064 portletPreferencesModel.getPlid(), portletId);
2065
2066 return newResourcePermissionModels(name, primKey, 0);
2067 }
2068
2069 public List<ResourcePermissionModel> newResourcePermissionModels(
2070 WikiNodeModel wikiNodeModel) {
2071
2072 return newResourcePermissionModels(
2073 WikiNode.class.getName(), String.valueOf(wikiNodeModel.getNodeId()),
2074 _sampleUserId);
2075 }
2076
2077 public List<ResourcePermissionModel> newResourcePermissionModels(
2078 WikiPageModel wikiPageModel) {
2079
2080 return newResourcePermissionModels(
2081 WikiPage.class.getName(),
2082 String.valueOf(wikiPageModel.getResourcePrimKey()), _sampleUserId);
2083 }
2084
2085 public SocialActivityModel newSocialActivityModel(
2086 BlogsEntryModel blogsEntryModel) {
2087
2088 return newSocialActivityModel(
2089 blogsEntryModel.getGroupId(),
2090 _classNameModelsMap.get(BlogsEntry.class.getName()),
2091 blogsEntryModel.getEntryId(), BlogsActivityKeys.ADD_ENTRY,
2092 "{\"title\":\""+ blogsEntryModel.getTitle() +"\"}");
2093 }
2094
2095 public SocialActivityModel newSocialActivityModel(
2096 DLFileEntryModel dlFileEntryModel) {
2097
2098 return newSocialActivityModel(
2099 dlFileEntryModel.getGroupId(), getDLFileEntryClassNameId(),
2100 dlFileEntryModel.getFileEntryId(), DLActivityKeys.ADD_FILE_ENTRY,
2101 StringPool.BLANK);
2102 }
2103
2104 public SocialActivityModel newSocialActivityModel(
2105 JournalArticleModel journalArticleModel) {
2106
2107 int type = JournalActivityKeys.UPDATE_ARTICLE;
2108
2109 if (journalArticleModel.getVersion() ==
2110 JournalArticleConstants.VERSION_DEFAULT) {
2111
2112 type = JournalActivityKeys.ADD_ARTICLE;
2113 }
2114
2115 return newSocialActivityModel(
2116 journalArticleModel.getGroupId(), getJournalArticleClassNameId(),
2117 journalArticleModel.getResourcePrimKey(), type,
2118 "{\"title\":\""+ journalArticleModel.getUrlTitle() +"\"}");
2119 }
2120
2121 public SocialActivityModel newSocialActivityModel(
2122 MBMessageModel mbMessageModel) {
2123
2124 long classNameId = mbMessageModel.getClassNameId();
2125 long classPK = mbMessageModel.getClassPK();
2126
2127 int type = 0;
2128 String extraData = null;
2129
2130 if (classNameId == _classNameModelsMap.get(WikiPage.class.getName())) {
2131 extraData = "{\"version\":1}";
2132
2133 type = WikiActivityKeys.ADD_PAGE;
2134 }
2135 else if (classNameId == 0) {
2136 extraData = "{\"title\":\"" + mbMessageModel.getSubject() + "\"}";
2137
2138 type = MBActivityKeys.ADD_MESSAGE;
2139
2140 classNameId = _classNameModelsMap.get(MBMessage.class.getName());
2141 classPK = mbMessageModel.getMessageId();
2142 }
2143 else {
2144 StringBundler sb = new StringBundler(5);
2145
2146 sb.append("{\"messageId\":\"");
2147 sb.append(mbMessageModel.getMessageId());
2148 sb.append("\", \"title\":");
2149 sb.append(mbMessageModel.getSubject());
2150 sb.append("}");
2151
2152 extraData = sb.toString();
2153
2154 type = SocialActivityConstants.TYPE_ADD_COMMENT;
2155 }
2156
2157 return newSocialActivityModel(
2158 mbMessageModel.getGroupId(), classNameId, classPK, type, extraData);
2159 }
2160
2161 public SubscriptionModel newSubscriptionModel(
2162 BlogsEntryModel blogsEntryModel) {
2163
2164 return newSubscriptionModel(
2165 _classNameModelsMap.get(BlogsEntry.class.getName()),
2166 blogsEntryModel.getEntryId());
2167 }
2168
2169 public SubscriptionModel newSubscriptionModel(MBThreadModel mBThreadModel) {
2170 return newSubscriptionModel(
2171 _classNameModelsMap.get(MBThread.class.getName()),
2172 mBThreadModel.getThreadId());
2173 }
2174
2175 public SubscriptionModel newSubscriptionModel(WikiPageModel wikiPageModel) {
2176 return newSubscriptionModel(
2177 _classNameModelsMap.get(WikiPage.class.getName()),
2178 wikiPageModel.getResourcePrimKey());
2179 }
2180
2181 public List<UserModel> newUserModels() {
2182 List<UserModel> userModels = new ArrayList<UserModel>(_maxUserCount);
2183
2184 for (int i = 0; i < _maxUserCount; i++) {
2185 String[] userName = nextUserName(i);
2186 userModels.add(
2187 newUserModel(
2188 _counter.get(), userName[0], userName[1],
2189 "test" + _userScreenNameCounter.get(), false));
2190 }
2191
2192 return userModels;
2193 }
2194
2195 public List<WikiNodeModel> newWikiNodeModels(long groupId) {
2196 List<WikiNodeModel> wikiNodeModels = new ArrayList<WikiNodeModel>(
2197 _maxWikiNodeCount);
2198
2199 for (int i = 1; i <= _maxWikiNodeCount; i++) {
2200 wikiNodeModels.add(newWikiNodeModel(groupId, i));
2201 }
2202
2203 return wikiNodeModels;
2204 }
2205
2206 public List<WikiPageModel> newWikiPageModels(WikiNodeModel wikiNodeModel) {
2207 List<WikiPageModel> wikiPageModels = new ArrayList<WikiPageModel>(
2208 _maxWikiPageCount);
2209
2210 for (int i = 1; i <= _maxWikiPageCount; i++) {
2211 wikiPageModels.add(newWikiPageModel(wikiNodeModel, i));
2212 }
2213
2214 return wikiPageModels;
2215 }
2216
2217 public WikiPageResourceModel newWikiPageResourceModel(
2218 WikiPageModel wikiPageModel) {
2219
2220 WikiPageResourceModel wikiPageResourceModel =
2221 new WikiPageResourceModelImpl();
2222
2223 wikiPageResourceModel.setUuid(SequentialUUID.generate());
2224 wikiPageResourceModel.setResourcePrimKey(
2225 wikiPageModel.getResourcePrimKey());
2226 wikiPageResourceModel.setNodeId(wikiPageModel.getNodeId());
2227 wikiPageResourceModel.setTitle(wikiPageModel.getTitle());
2228
2229 return wikiPageResourceModel;
2230 }
2231
2232 public String[] nextUserName(long index) {
2233 String[] userName = new String[2];
2234
2235 userName[0] = _firstNames.get(
2236 (int)(index / _lastNames.size()) % _firstNames.size());
2237 userName[1] = _lastNames.get((int)(index % _lastNames.size()));
2238
2239 return userName;
2240 }
2241
2242 protected String[] getAssetPublisherAssetCategoriesQueryValues(
2243 List<AssetCategoryModel> assetCategoryModels, int index) {
2244
2245 AssetCategoryModel assetCategoryModel0 = assetCategoryModels.get(
2246 index % assetCategoryModels.size());
2247 AssetCategoryModel assetCategoryModel1 = assetCategoryModels.get(
2248 (index + _maxAssetEntryToAssetCategoryCount) %
2249 assetCategoryModels.size());
2250 AssetCategoryModel assetCategoryModel2 = assetCategoryModels.get(
2251 (index + _maxAssetEntryToAssetCategoryCount * 2) %
2252 assetCategoryModels.size());
2253 AssetCategoryModel assetCategoryModel3 = assetCategoryModels.get(
2254 (index + _maxAssetEntryToAssetCategoryCount * 3) %
2255 assetCategoryModels.size());
2256
2257 return new String[] {
2258 String.valueOf(assetCategoryModel0.getCategoryId()),
2259 String.valueOf(assetCategoryModel1.getCategoryId()),
2260 String.valueOf(assetCategoryModel2.getCategoryId()),
2261 String.valueOf(assetCategoryModel3.getCategoryId())
2262 };
2263 }
2264
2265 protected String[] getAssetPublisherAssetTagsQueryValues(
2266 List<AssetTagModel> assetTagModels, int index) {
2267
2268 AssetTagModel assetTagModel0 = assetTagModels.get(
2269 index % assetTagModels.size());
2270 AssetTagModel assetTagModel1 = assetTagModels.get(
2271 (index + _maxAssetEntryToAssetTagCount) % assetTagModels.size());
2272 AssetTagModel assetTagModel2 = assetTagModels.get(
2273 (index + _maxAssetEntryToAssetTagCount * 2) %
2274 assetTagModels.size());
2275 AssetTagModel assetTagModel3 = assetTagModels.get(
2276 (index + _maxAssetEntryToAssetTagCount * 3) %
2277 assetTagModels.size());
2278
2279 return new String[] {
2280 assetTagModel0.getName(), assetTagModel1.getName(),
2281 assetTagModel2.getName(), assetTagModel3.getName()
2282 };
2283 }
2284
2285 protected InputStream getResourceInputStream(String resourceName) {
2286 Class<?> clazz = getClass();
2287
2288 ClassLoader classLoader = clazz.getClassLoader();
2289
2290 return classLoader.getResourceAsStream(
2291 _DEPENDENCIES_DIR + resourceName);
2292 }
2293
2294 protected AssetCategoryModel newAssetCategoryModel(
2295 long groupId, long lastRightCategoryId, String name,
2296 long vocabularyId) {
2297
2298 AssetCategoryModel assetCategoryModel = new AssetCategoryModelImpl();
2299
2300 assetCategoryModel.setUuid(SequentialUUID.generate());
2301 assetCategoryModel.setCategoryId(_counter.get());
2302 assetCategoryModel.setGroupId(groupId);
2303 assetCategoryModel.setCompanyId(_companyId);
2304 assetCategoryModel.setUserId(_sampleUserId);
2305 assetCategoryModel.setUserName(_SAMPLE_USER_NAME);
2306 assetCategoryModel.setCreateDate(new Date());
2307 assetCategoryModel.setModifiedDate(new Date());
2308 assetCategoryModel.setParentCategoryId(
2309 AssetCategoryConstants.DEFAULT_PARENT_CATEGORY_ID);
2310 assetCategoryModel.setLeftCategoryId(lastRightCategoryId++);
2311 assetCategoryModel.setRightCategoryId(lastRightCategoryId++);
2312 assetCategoryModel.setName(name);
2313
2314 StringBundler sb = new StringBundler(5);
2315
2316 sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root ");
2317 sb.append("available-locales=\"en_US\" default-locale=\"en_US\">");
2318 sb.append("<Title language-id=\"en_US\">");
2319 sb.append(name);
2320 sb.append("</Title></root>");
2321
2322 assetCategoryModel.setTitle(sb.toString());
2323
2324 assetCategoryModel.setVocabularyId(vocabularyId);
2325
2326 return assetCategoryModel;
2327 }
2328
2329 protected AssetEntryModel newAssetEntryModel(
2330 long groupId, Date createDate, Date modifiedDate, long classNameId,
2331 long classPK, String uuid, long classTypeId, boolean visible,
2332 String mimeType, String title) {
2333
2334 AssetEntryModel assetEntryModel = new AssetEntryModelImpl();
2335
2336 assetEntryModel.setEntryId(_counter.get());
2337 assetEntryModel.setGroupId(groupId);
2338 assetEntryModel.setCompanyId(_companyId);
2339 assetEntryModel.setUserId(_sampleUserId);
2340 assetEntryModel.setUserName(_SAMPLE_USER_NAME);
2341 assetEntryModel.setCreateDate(createDate);
2342 assetEntryModel.setModifiedDate(modifiedDate);
2343 assetEntryModel.setClassNameId(classNameId);
2344 assetEntryModel.setClassPK(classPK);
2345 assetEntryModel.setClassUuid(uuid);
2346 assetEntryModel.setClassTypeId(classTypeId);
2347 assetEntryModel.setVisible(visible);
2348 assetEntryModel.setStartDate(createDate);
2349 assetEntryModel.setEndDate(nextFutureDate());
2350 assetEntryModel.setPublishDate(createDate);
2351 assetEntryModel.setExpirationDate(nextFutureDate());
2352 assetEntryModel.setMimeType(mimeType);
2353 assetEntryModel.setTitle(title);
2354
2355 return assetEntryModel;
2356 }
2357
2358 protected AssetTagStatsModel newAssetTagStatsModel(
2359 long tagId, long classNameId) {
2360
2361 AssetTagStatsModel assetTagStatsModel = new AssetTagStatsModelImpl();
2362
2363 assetTagStatsModel.setTagStatsId(_counter.get());
2364 assetTagStatsModel.setTagId(tagId);
2365 assetTagStatsModel.setClassNameId(classNameId);
2366
2367 return assetTagStatsModel;
2368 }
2369
2370 protected AssetVocabularyModel newAssetVocabularyModel(
2371 long grouId, long userId, String userName, String name) {
2372
2373 AssetVocabularyModel assetVocabularyModel =
2374 new AssetVocabularyModelImpl();
2375
2376 assetVocabularyModel.setUuid(SequentialUUID.generate());
2377 assetVocabularyModel.setVocabularyId(_counter.get());
2378 assetVocabularyModel.setGroupId(grouId);
2379 assetVocabularyModel.setCompanyId(_companyId);
2380 assetVocabularyModel.setUserId(userId);
2381 assetVocabularyModel.setUserName(userName);
2382 assetVocabularyModel.setCreateDate(new Date());
2383 assetVocabularyModel.setModifiedDate(new Date());
2384 assetVocabularyModel.setName(name);
2385
2386 StringBundler sb = new StringBundler(5);
2387
2388 sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root ");
2389 sb.append("available-locales=\"en_US\" default-locale=\"en_US\">");
2390 sb.append("<Title language-id=\"en_US\">");
2391 sb.append(name);
2392 sb.append("</Title></root>");
2393
2394 assetVocabularyModel.setTitle(sb.toString());
2395
2396 assetVocabularyModel.setSettings(
2397 "multiValued=true\\nselectedClassNameIds=0");
2398
2399 return assetVocabularyModel;
2400 }
2401
2402 protected BlogsEntryModel newBlogsEntryModel(long groupId, int index) {
2403 BlogsEntryModel blogsEntryModel = new BlogsEntryModelImpl();
2404
2405 blogsEntryModel.setUuid(SequentialUUID.generate());
2406 blogsEntryModel.setEntryId(_counter.get());
2407 blogsEntryModel.setGroupId(groupId);
2408 blogsEntryModel.setCompanyId(_companyId);
2409 blogsEntryModel.setUserId(_sampleUserId);
2410 blogsEntryModel.setUserName(_SAMPLE_USER_NAME);
2411 blogsEntryModel.setCreateDate(new Date());
2412 blogsEntryModel.setModifiedDate(new Date());
2413 blogsEntryModel.setTitle("Test Blog " + index);
2414 blogsEntryModel.setUrlTitle("testblog" + index);
2415 blogsEntryModel.setContent("This is test blog " + index + ".");
2416 blogsEntryModel.setDisplayDate(new Date());
2417 blogsEntryModel.setStatusDate(new Date());
2418
2419 return blogsEntryModel;
2420 }
2421
2422 protected DDMContentModel newDDMContentModel(
2423 long contentId, long groupId, String xml) {
2424
2425 DDMContentModel ddmContentModel = new DDMContentModelImpl();
2426
2427 ddmContentModel.setUuid(SequentialUUID.generate());
2428 ddmContentModel.setContentId(contentId);
2429 ddmContentModel.setGroupId(groupId);
2430 ddmContentModel.setCompanyId(_companyId);
2431 ddmContentModel.setUserId(_sampleUserId);
2432 ddmContentModel.setUserName(_SAMPLE_USER_NAME);
2433 ddmContentModel.setCreateDate(nextFutureDate());
2434 ddmContentModel.setModifiedDate(nextFutureDate());
2435 ddmContentModel.setName(DDMStorageLink.class.getName());
2436 ddmContentModel.setXml(xml);
2437
2438 return ddmContentModel;
2439 }
2440
2441 protected DDMStructureLinkModel newDDMStructureLinkModel(
2442 long classNameId, long classPK, long structureId) {
2443
2444 DDMStructureLinkModel ddmStructureLinkModel =
2445 new DDMStructureLinkModelImpl();
2446
2447 ddmStructureLinkModel.setStructureLinkId(_counter.get());
2448 ddmStructureLinkModel.setClassNameId(classNameId);
2449 ddmStructureLinkModel.setClassPK(classPK);
2450 ddmStructureLinkModel.setStructureId(structureId);
2451
2452 return ddmStructureLinkModel;
2453 }
2454
2455 protected DDMStructureModel newDDMStructureModel(
2456 long groupId, long classNameId, String structureKey, String xsd) {
2457
2458 DDMStructureModel dDMStructureModel = new DDMStructureModelImpl();
2459
2460 dDMStructureModel.setUuid(SequentialUUID.generate());
2461 dDMStructureModel.setStructureId(_counter.get());
2462 dDMStructureModel.setGroupId(groupId);
2463 dDMStructureModel.setCompanyId(_companyId);
2464 dDMStructureModel.setUserId(_sampleUserId);
2465 dDMStructureModel.setUserName(_SAMPLE_USER_NAME);
2466 dDMStructureModel.setCreateDate(nextFutureDate());
2467 dDMStructureModel.setModifiedDate(nextFutureDate());
2468 dDMStructureModel.setClassNameId(classNameId);
2469 dDMStructureModel.setStructureKey(structureKey);
2470
2471 StringBundler sb = new StringBundler(5);
2472
2473 sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root ");
2474 sb.append("available-locales=\"en_US\" default-locale=\"en_US\">");
2475 sb.append("<name language-id=\"en_US\">");
2476 sb.append(structureKey);
2477 sb.append("</name></root>");
2478
2479 dDMStructureModel.setName(sb.toString());
2480
2481 dDMStructureModel.setXsd(xsd);
2482 dDMStructureModel.setStorageType("xml");
2483
2484 return dDMStructureModel;
2485 }
2486
2487 protected DLFileEntryModel newDlFileEntryModel(
2488 DLFolderModel dlFolerModel, int index) {
2489
2490 DLFileEntryModel dlFileEntryModel = new DLFileEntryModelImpl();
2491
2492 dlFileEntryModel.setUuid(SequentialUUID.generate());
2493 dlFileEntryModel.setFileEntryId(_counter.get());
2494 dlFileEntryModel.setGroupId(dlFolerModel.getGroupId());
2495 dlFileEntryModel.setCompanyId(_companyId);
2496 dlFileEntryModel.setUserId(_sampleUserId);
2497 dlFileEntryModel.setUserName(_SAMPLE_USER_NAME);
2498 dlFileEntryModel.setCreateDate(nextFutureDate());
2499 dlFileEntryModel.setModifiedDate(nextFutureDate());
2500 dlFileEntryModel.setRepositoryId(dlFolerModel.getRepositoryId());
2501 dlFileEntryModel.setFolderId(dlFolerModel.getFolderId());
2502 dlFileEntryModel.setName("TestFile" + index);
2503 dlFileEntryModel.setExtension("txt");
2504 dlFileEntryModel.setMimeType(ContentTypes.TEXT_PLAIN);
2505 dlFileEntryModel.setTitle("TestFile" + index + ".txt");
2506 dlFileEntryModel.setFileEntryTypeId(
2507 DLFileEntryTypeConstants.FILE_ENTRY_TYPE_ID_BASIC_DOCUMENT);
2508 dlFileEntryModel.setVersion(DLFileEntryConstants.VERSION_DEFAULT);
2509 dlFileEntryModel.setSize(_maxDLFileEntrySize);
2510
2511 return dlFileEntryModel;
2512 }
2513
2514 protected DLFolderModel newDLFolderModel(
2515 long groupId, long parentFolderId, int index) {
2516
2517 DLFolderModel dlFolderModel = new DLFolderModelImpl();
2518
2519 dlFolderModel.setUuid(SequentialUUID.generate());
2520 dlFolderModel.setFolderId(_counter.get());
2521 dlFolderModel.setGroupId(groupId);
2522 dlFolderModel.setCompanyId(_companyId);
2523 dlFolderModel.setUserId(_sampleUserId);
2524 dlFolderModel.setUserName(_SAMPLE_USER_NAME);
2525 dlFolderModel.setCreateDate(nextFutureDate());
2526 dlFolderModel.setModifiedDate(nextFutureDate());
2527 dlFolderModel.setRepositoryId(groupId);
2528 dlFolderModel.setParentFolderId(parentFolderId);
2529 dlFolderModel.setName("Test Folder " + index);
2530 dlFolderModel.setLastPostDate(nextFutureDate());
2531 dlFolderModel.setDefaultFileEntryTypeId(
2532 _defaultDLFileEntryTypeModel.getFileEntryTypeId());
2533 dlFolderModel.setStatusDate(nextFutureDate());
2534
2535 return dlFolderModel;
2536 }
2537
2538 protected GroupModel newGroupModel(
2539 long groupId, long classNameId, long classPK, String name,
2540 boolean site)
2541 throws Exception {
2542
2543 GroupModel groupModel = new GroupModelImpl();
2544
2545 groupModel.setUuid(SequentialUUID.generate());
2546 groupModel.setGroupId(groupId);
2547 groupModel.setCompanyId(_companyId);
2548 groupModel.setCreatorUserId(_sampleUserId);
2549 groupModel.setClassNameId(classNameId);
2550 groupModel.setClassPK(classPK);
2551 groupModel.setTreePath(
2552 StringPool.SLASH + groupModel.getGroupId() + StringPool.SLASH);
2553 groupModel.setName(name);
2554 groupModel.setManualMembership(true);
2555 groupModel.setMembershipRestriction(
2556 GroupConstants.DEFAULT_MEMBERSHIP_RESTRICTION);
2557 groupModel.setFriendlyURL(
2558 StringPool.FORWARD_SLASH +
2559 FriendlyURLNormalizerUtil.normalize(name));
2560 groupModel.setSite(site);
2561 groupModel.setActive(true);
2562
2563 return groupModel;
2564 }
2565
2566 protected LayoutSetModel newLayoutSetModel(
2567 long groupId, boolean privateLayout, int pageCount) {
2568
2569 LayoutSetModel layoutSetModel = new LayoutSetModelImpl();
2570
2571 layoutSetModel.setLayoutSetId(_counter.get());
2572 layoutSetModel.setGroupId(groupId);
2573 layoutSetModel.setCompanyId(_companyId);
2574 layoutSetModel.setCreateDate(new Date());
2575 layoutSetModel.setModifiedDate(new Date());
2576 layoutSetModel.setPrivateLayout(privateLayout);
2577 layoutSetModel.setThemeId("classic");
2578 layoutSetModel.setColorSchemeId("01");
2579 layoutSetModel.setWapThemeId("mobile");
2580 layoutSetModel.setWapColorSchemeId("01");
2581 layoutSetModel.setPageCount(pageCount);
2582
2583 return layoutSetModel;
2584 }
2585
2586 protected MBCategoryModel newMBCategoryModel(long groupId, int index) {
2587 MBCategoryModel mbCategoryModel = new MBCategoryModelImpl();
2588
2589 mbCategoryModel.setUuid(SequentialUUID.generate());
2590 mbCategoryModel.setCategoryId(_counter.get());
2591 mbCategoryModel.setGroupId(groupId);
2592 mbCategoryModel.setCompanyId(_companyId);
2593 mbCategoryModel.setUserId(_sampleUserId);
2594 mbCategoryModel.setUserName(_SAMPLE_USER_NAME);
2595 mbCategoryModel.setCreateDate(new Date());
2596 mbCategoryModel.setModifiedDate(new Date());
2597 mbCategoryModel.setParentCategoryId(
2598 MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID);
2599 mbCategoryModel.setName("Test Category " + index);
2600 mbCategoryModel.setDisplayStyle(
2601 MBCategoryConstants.DEFAULT_DISPLAY_STYLE);
2602 mbCategoryModel.setThreadCount(_maxMBThreadCount);
2603 mbCategoryModel.setMessageCount(_maxMBThreadCount * _maxMBMessageCount);
2604 mbCategoryModel.setLastPostDate(new Date());
2605 mbCategoryModel.setStatusDate(new Date());
2606
2607 return mbCategoryModel;
2608 }
2609
2610 protected MBMessageModel newMBMessageModel(
2611 long groupId, long classNameId, long classPK, long categoryId,
2612 long threadId, long messageId, long rootMessageId, long parentMessageId,
2613 String subject, String body) {
2614
2615 MBMessageModel mBMessageModel = new MBMessageModelImpl();
2616
2617 mBMessageModel.setUuid(SequentialUUID.generate());
2618 mBMessageModel.setMessageId(messageId);
2619 mBMessageModel.setGroupId(groupId);
2620 mBMessageModel.setCompanyId(_companyId);
2621 mBMessageModel.setUserId(_sampleUserId);
2622 mBMessageModel.setUserName(_SAMPLE_USER_NAME);
2623 mBMessageModel.setCreateDate(new Date());
2624 mBMessageModel.setModifiedDate(new Date());
2625 mBMessageModel.setClassNameId(classNameId);
2626 mBMessageModel.setClassPK(classPK);
2627 mBMessageModel.setCategoryId(categoryId);
2628 mBMessageModel.setThreadId(threadId);
2629 mBMessageModel.setRootMessageId(rootMessageId);
2630 mBMessageModel.setParentMessageId(parentMessageId);
2631 mBMessageModel.setSubject(subject);
2632 mBMessageModel.setBody(body);
2633 mBMessageModel.setFormat(MBMessageConstants.DEFAULT_FORMAT);
2634 mBMessageModel.setStatusDate(new Date());
2635
2636 return mBMessageModel;
2637 }
2638
2639 protected MBThreadModel newMBThreadModel(
2640 long threadId, long groupId, long categoryId, long rootMessageId,
2641 int messageCount) {
2642
2643 MBThreadModel mbThreadModel = new MBThreadModelImpl();
2644
2645 mbThreadModel.setUuid(SequentialUUID.generate());
2646 mbThreadModel.setThreadId(threadId);
2647 mbThreadModel.setGroupId(groupId);
2648 mbThreadModel.setCompanyId(_companyId);
2649 mbThreadModel.setUserId(_sampleUserId);
2650 mbThreadModel.setUserName(_SAMPLE_USER_NAME);
2651 mbThreadModel.setCreateDate(new Date());
2652 mbThreadModel.setModifiedDate(new Date());
2653 mbThreadModel.setCategoryId(categoryId);
2654 mbThreadModel.setRootMessageId(rootMessageId);
2655 mbThreadModel.setRootMessageUserId(_sampleUserId);
2656 mbThreadModel.setMessageCount(messageCount);
2657 mbThreadModel.setLastPostByUserId(_sampleUserId);
2658 mbThreadModel.setLastPostDate(new Date());
2659 mbThreadModel.setStatusDate(new Date());
2660
2661 return mbThreadModel;
2662 }
2663
2664 protected PortletPreferencesModel newPortletPreferencesModel(
2665 long plid, String portletId, String preferences) {
2666
2667 PortletPreferencesModel portletPreferencesModel =
2668 new PortletPreferencesModelImpl();
2669
2670 portletPreferencesModel.setPortletPreferencesId(_counter.get());
2671 portletPreferencesModel.setOwnerId(PortletKeys.PREFS_OWNER_ID_DEFAULT);
2672 portletPreferencesModel.setOwnerType(
2673 PortletKeys.PREFS_OWNER_TYPE_LAYOUT);
2674 portletPreferencesModel.setPlid(plid);
2675 portletPreferencesModel.setPortletId(portletId);
2676 portletPreferencesModel.setPreferences(preferences);
2677
2678 return portletPreferencesModel;
2679 }
2680
2681 protected ResourcePermissionModel newResourcePermissionModel(
2682 String name, String primKey, long roleId, long ownerId) {
2683
2684 ResourcePermissionModel resourcePermissionModel =
2685 new ResourcePermissionModelImpl();
2686
2687 resourcePermissionModel.setResourcePermissionId(
2688 _resourcePermissionCounter.get());
2689 resourcePermissionModel.setCompanyId(_companyId);
2690 resourcePermissionModel.setName(name);
2691 resourcePermissionModel.setScope(ResourceConstants.SCOPE_INDIVIDUAL);
2692 resourcePermissionModel.setPrimKey(primKey);
2693 resourcePermissionModel.setRoleId(roleId);
2694 resourcePermissionModel.setOwnerId(ownerId);
2695 resourcePermissionModel.setActionIds(1);
2696
2697 return resourcePermissionModel;
2698 }
2699
2700 protected List<ResourcePermissionModel> newResourcePermissionModels(
2701 String name, String primKey, long ownerId) {
2702
2703 List<ResourcePermissionModel> resourcePermissionModels =
2704 new ArrayList<ResourcePermissionModel>(3);
2705
2706 resourcePermissionModels.add(
2707 newResourcePermissionModel(
2708 name, primKey, _guestRoleModel.getRoleId(), 0));
2709 resourcePermissionModels.add(
2710 newResourcePermissionModel(
2711 name, primKey, _ownerRoleModel.getRoleId(), ownerId));
2712 resourcePermissionModels.add(
2713 newResourcePermissionModel(
2714 name, primKey, _siteMemberRoleModel.getRoleId(), 0));
2715
2716 return resourcePermissionModels;
2717 }
2718
2719 protected RoleModel newRoleModel(String name, int type) {
2720 RoleModel roleModel = new RoleModelImpl();
2721
2722 roleModel.setUuid(SequentialUUID.generate());
2723 roleModel.setRoleId(_counter.get());
2724 roleModel.setCompanyId(_companyId);
2725 roleModel.setUserId(_sampleUserId);
2726 roleModel.setUserName(_SAMPLE_USER_NAME);
2727 roleModel.setCreateDate(new Date());
2728 roleModel.setModifiedDate(new Date());
2729 roleModel.setClassNameId(_classNameModelsMap.get(Role.class.getName()));
2730 roleModel.setClassPK(roleModel.getRoleId());
2731 roleModel.setName(name);
2732 roleModel.setType(type);
2733
2734 return roleModel;
2735 }
2736
2737 protected SocialActivityModel newSocialActivityModel(
2738 long groupId, long classNameId, long classPK, int type,
2739 String extraData) {
2740
2741 SocialActivityModel socialActivityModel = new SocialActivityModelImpl();
2742
2743 socialActivityModel.setActivityId(_socialActivityCounter.get());
2744 socialActivityModel.setGroupId(groupId);
2745 socialActivityModel.setCompanyId(_companyId);
2746 socialActivityModel.setUserId(_sampleUserId);
2747 socialActivityModel.setCreateDate(_CURRENT_TIME + _timeCounter.get());
2748 socialActivityModel.setClassNameId(classNameId);
2749 socialActivityModel.setClassPK(classPK);
2750 socialActivityModel.setType(type);
2751 socialActivityModel.setExtraData(extraData);
2752
2753 return socialActivityModel;
2754 }
2755
2756 protected SubscriptionModel newSubscriptionModel(
2757 long classNameId, long classPK) {
2758
2759 SubscriptionModel subscriptionModel = new SubscriptionModelImpl();
2760
2761 subscriptionModel.setSubscriptionId(_counter.get());
2762 subscriptionModel.setCompanyId(_companyId);
2763 subscriptionModel.setUserId(_sampleUserId);
2764 subscriptionModel.setUserName(_SAMPLE_USER_NAME);
2765 subscriptionModel.setCreateDate(new Date());
2766 subscriptionModel.setModifiedDate(new Date());
2767 subscriptionModel.setClassNameId(classNameId);
2768 subscriptionModel.setClassPK(classPK);
2769 subscriptionModel.setFrequency(SubscriptionConstants.FREQUENCY_INSTANT);
2770
2771 return subscriptionModel;
2772 }
2773
2774 protected UserModel newUserModel(
2775 long userId, String firstName, String lastName, String screenName,
2776 boolean defaultUser) {
2777
2778 if (Validator.isNull(screenName)) {
2779 screenName = String.valueOf(userId);
2780 }
2781
2782 UserModel userModel = new UserModelImpl();
2783
2784 userModel.setUuid(SequentialUUID.generate());
2785 userModel.setUserId(userId);
2786 userModel.setCompanyId(_companyId);
2787 userModel.setCreateDate(new Date());
2788 userModel.setModifiedDate(new Date());
2789 userModel.setDefaultUser(defaultUser);
2790 userModel.setContactId(_counter.get());
2791 userModel.setPassword("test");
2792 userModel.setPasswordModifiedDate(new Date());
2793 userModel.setReminderQueryQuestion("What is your screen name?");
2794 userModel.setReminderQueryAnswer(screenName);
2795 userModel.setEmailAddress(screenName + "@liferay.com");
2796 userModel.setScreenName(screenName);
2797 userModel.setLanguageId("en_US");
2798 userModel.setGreeting("Welcome " + screenName + StringPool.EXCLAMATION);
2799 userModel.setFirstName(firstName);
2800 userModel.setLastName(lastName);
2801 userModel.setLoginDate(new Date());
2802 userModel.setLastLoginDate(new Date());
2803 userModel.setLastFailedLoginDate(new Date());
2804 userModel.setLockoutDate(new Date());
2805 userModel.setAgreedToTermsOfUse(true);
2806 userModel.setEmailAddressVerified(true);
2807
2808 return userModel;
2809 }
2810
2811 protected WikiNodeModel newWikiNodeModel(long groupId, int index) {
2812 WikiNodeModel wikiNodeModel = new WikiNodeModelImpl();
2813
2814 wikiNodeModel.setUuid(SequentialUUID.generate());
2815 wikiNodeModel.setNodeId(_counter.get());
2816 wikiNodeModel.setGroupId(groupId);
2817 wikiNodeModel.setCompanyId(_companyId);
2818 wikiNodeModel.setUserId(_sampleUserId);
2819 wikiNodeModel.setUserName(_SAMPLE_USER_NAME);
2820 wikiNodeModel.setCreateDate(new Date());
2821 wikiNodeModel.setModifiedDate(new Date());
2822 wikiNodeModel.setName("Test Node " + index);
2823 wikiNodeModel.setLastPostDate(new Date());
2824 wikiNodeModel.setStatusDate(new Date());
2825
2826 return wikiNodeModel;
2827 }
2828
2829 protected WikiPageModel newWikiPageModel(
2830 WikiNodeModel wikiNodeModel, int index) {
2831
2832 WikiPageModel wikiPageModel = new WikiPageModelImpl();
2833
2834 wikiPageModel.setUuid(SequentialUUID.generate());
2835 wikiPageModel.setPageId(_counter.get());
2836 wikiPageModel.setResourcePrimKey(_counter.get());
2837 wikiPageModel.setGroupId(wikiNodeModel.getGroupId());
2838 wikiPageModel.setCompanyId(_companyId);
2839 wikiPageModel.setUserId(_sampleUserId);
2840 wikiPageModel.setUserName(_SAMPLE_USER_NAME);
2841 wikiPageModel.setCreateDate(new Date());
2842 wikiPageModel.setModifiedDate(new Date());
2843 wikiPageModel.setNodeId(wikiNodeModel.getNodeId());
2844 wikiPageModel.setTitle("Test Page " + index);
2845 wikiPageModel.setVersion(WikiPageConstants.VERSION_DEFAULT);
2846 wikiPageModel.setContent("This is test page " + index + ".");
2847 wikiPageModel.setFormat(WikiPageConstants.DEFAULT_FORMAT);
2848 wikiPageModel.setHead(true);
2849
2850 return wikiPageModel;
2851 }
2852
2853 protected String nextDDLCustomFieldName(
2854 long groupId, int customFieldIndex) {
2855
2856 StringBundler sb = new StringBundler(4);
2857
2858 sb.append("costom_field_text_");
2859 sb.append(groupId);
2860 sb.append("_");
2861 sb.append(customFieldIndex);
2862
2863 return sb.toString();
2864 }
2865
2866 protected Date nextFutureDate() {
2867 return new Date(
2868 _FUTURE_TIME + (_futureDateCounter.get() * Time.SECOND));
2869 }
2870
2871 private static final long _CURRENT_TIME = System.currentTimeMillis();
2872
2873 private static final String _DEPENDENCIES_DIR =
2874 "com/liferay/portal/tools/samplesqlbuilder/dependencies/";
2875
2876 private static final long _FUTURE_TIME =
2877 System.currentTimeMillis() + Time.YEAR;
2878
2879 private static final String _SAMPLE_USER_NAME = "Sample";
2880
2881 private static PortletPreferencesFactory _portletPreferencesFactory =
2882 new PortletPreferencesFactoryImpl();
2883
2884 private long _accountId;
2885 private AccountModel _accountModel;
2886 private RoleModel _administratorRoleModel;
2887 private Map<Long, SimpleCounter> _assetCategoryCounters =
2888 new HashMap<Long, SimpleCounter>();
2889 private List<AssetCategoryModel>[] _assetCategoryModelsArray;
2890 private Map<Long, SimpleCounter> _assetPublisherQueryCounter =
2891 new HashMap<Long, SimpleCounter>();
2892 private String _assetPublisherQueryName;
2893 private Map<Long, SimpleCounter> _assetTagCounters =
2894 new HashMap<Long, SimpleCounter>();
2895 private List<AssetTagModel>[] _assetTagModelsArray;
2896 private List<AssetTagStatsModel>[] _assetTagStatsModelsArray;
2897 private List<AssetVocabularyModel>[] _assetVocabularyModelsArray;
2898 private List<ClassNameModel> _classNameModels;
2899 private Map<String, Long> _classNameModelsMap = new HashMap<String, Long>();
2900 private long _companyId;
2901 private CompanyModel _companyModel;
2902 private SimpleCounter _counter;
2903 private AssetVocabularyModel _defaultAssetVocabularyModel;
2904 private DDMStructureModel _defaultDLDDMStructureModel;
2905 private DLFileEntryTypeModel _defaultDLFileEntryTypeModel;
2906 private long _defaultUserId;
2907 private UserModel _defaultUserModel;
2908 private String _dlDDMStructureContent;
2909 private List<String> _firstNames;
2910 private SimpleCounter _futureDateCounter;
2911 private long _globalGroupId;
2912 private GroupModel _globalGroupModel;
2913 private List<GroupModel> _groupModels;
2914 private long _guestGroupId;
2915 private GroupModel _guestGroupModel;
2916 private RoleModel _guestRoleModel;
2917 private UserModel _guestUserModel;
2918 private String _journalArticleContent;
2919 private List<String> _lastNames;
2920 private Map<Long, SimpleCounter> _layoutCounters =
2921 new HashMap<Long, SimpleCounter>();
2922 private int _maxAssetCategoryCount;
2923 private int _maxAssetEntryToAssetCategoryCount;
2924 private int _maxAssetEntryToAssetTagCount;
2925 private int _maxAssetPublisherPageCount;
2926 private int _maxAssetTagCount;
2927 private int _maxAssetVocabularyCount;
2928 private int _maxBlogsEntryCommentCount;
2929 private int _maxBlogsEntryCount;
2930 private int _maxDDLCustomFieldCount;
2931 private int _maxDDLRecordCount;
2932 private int _maxDDLRecordSetCount;
2933 private int _maxDLFileEntryCount;
2934 private int _maxDLFileEntrySize;
2935 private int _maxDLFolderCount;
2936 private int _maxDLFolderDepth;
2937 private int _maxGroupsCount;
2938 private int _maxJournalArticleCount;
2939 private int _maxJournalArticlePageCount;
2940 private int _maxJournalArticleVersionCount;
2941 private int _maxMBCategoryCount;
2942 private int _maxMBMessageCount;
2943 private int _maxMBThreadCount;
2944 private int _maxUserCount;
2945 private int _maxUserToGroupCount;
2946 private int _maxWikiNodeCount;
2947 private int _maxWikiPageCommentCount;
2948 private int _maxWikiPageCount;
2949 private RoleModel _ownerRoleModel;
2950 private RoleModel _powerUserRoleModel;
2951 private SimpleCounter _resourcePermissionCounter;
2952 private List<RoleModel> _roleModels;
2953 private long _sampleUserId;
2954 private UserModel _sampleUserModel;
2955 private Format _simpleDateFormat =
2956 FastDateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2957 private RoleModel _siteMemberRoleModel;
2958 private SimpleCounter _socialActivityCounter;
2959 private SimpleCounter _timeCounter;
2960 private RoleModel _userRoleModel;
2961 private SimpleCounter _userScreenNameCounter;
2962 private VirtualHostModel _virtualHostModel;
2963
2964 }