001
014
015 package com.liferay.portal.tools.samplesqlbuilder;
016
017 import com.liferay.counter.model.Counter;
018 import com.liferay.counter.model.impl.CounterModelImpl;
019 import com.liferay.portal.kernel.util.CharPool;
020 import com.liferay.portal.kernel.util.FastDateFormatFactoryUtil;
021 import com.liferay.portal.kernel.util.IntegerWrapper;
022 import com.liferay.portal.kernel.util.ListUtil;
023 import com.liferay.portal.kernel.util.StringUtil;
024 import com.liferay.portal.kernel.util.Time;
025 import com.liferay.portal.kernel.util.UnicodeProperties;
026 import com.liferay.portal.kernel.util.Validator;
027 import com.liferay.portal.model.ClassName;
028 import com.liferay.portal.model.Company;
029 import com.liferay.portal.model.Contact;
030 import com.liferay.portal.model.Group;
031 import com.liferay.portal.model.GroupConstants;
032 import com.liferay.portal.model.Layout;
033 import com.liferay.portal.model.LayoutTypePortletConstants;
034 import com.liferay.portal.model.ModelHintsUtil;
035 import com.liferay.portal.model.PortletPreferences;
036 import com.liferay.portal.model.ResourceConstants;
037 import com.liferay.portal.model.ResourcePermission;
038 import com.liferay.portal.model.Role;
039 import com.liferay.portal.model.RoleConstants;
040 import com.liferay.portal.model.User;
041 import com.liferay.portal.model.impl.ClassNameImpl;
042 import com.liferay.portal.model.impl.CompanyImpl;
043 import com.liferay.portal.model.impl.ContactImpl;
044 import com.liferay.portal.model.impl.GroupImpl;
045 import com.liferay.portal.model.impl.LayoutImpl;
046 import com.liferay.portal.model.impl.PortletPreferencesImpl;
047 import com.liferay.portal.model.impl.ResourcePermissionImpl;
048 import com.liferay.portal.model.impl.RoleImpl;
049 import com.liferay.portal.model.impl.UserImpl;
050 import com.liferay.portal.util.PortletKeys;
051 import com.liferay.portlet.asset.model.AssetEntry;
052 import com.liferay.portlet.asset.model.impl.AssetEntryImpl;
053 import com.liferay.portlet.blogs.model.BlogsEntry;
054 import com.liferay.portlet.blogs.model.BlogsStatsUser;
055 import com.liferay.portlet.blogs.model.impl.BlogsEntryImpl;
056 import com.liferay.portlet.blogs.model.impl.BlogsStatsUserImpl;
057 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
058 import com.liferay.portlet.documentlibrary.model.DLFileEntryMetadata;
059 import com.liferay.portlet.documentlibrary.model.DLFileRank;
060 import com.liferay.portlet.documentlibrary.model.DLFileVersion;
061 import com.liferay.portlet.documentlibrary.model.DLFolder;
062 import com.liferay.portlet.documentlibrary.model.DLSync;
063 import com.liferay.portlet.documentlibrary.model.DLSyncConstants;
064 import com.liferay.portlet.documentlibrary.model.impl.DLFileEntryImpl;
065 import com.liferay.portlet.documentlibrary.model.impl.DLFileEntryMetadataImpl;
066 import com.liferay.portlet.documentlibrary.model.impl.DLFileRankImpl;
067 import com.liferay.portlet.documentlibrary.model.impl.DLFileVersionImpl;
068 import com.liferay.portlet.documentlibrary.model.impl.DLFolderImpl;
069 import com.liferay.portlet.documentlibrary.model.impl.DLSyncImpl;
070 import com.liferay.portlet.dynamicdatalists.model.DDLRecord;
071 import com.liferay.portlet.dynamicdatalists.model.DDLRecordSet;
072 import com.liferay.portlet.dynamicdatalists.model.DDLRecordVersion;
073 import com.liferay.portlet.dynamicdatalists.model.impl.DDLRecordImpl;
074 import com.liferay.portlet.dynamicdatalists.model.impl.DDLRecordSetImpl;
075 import com.liferay.portlet.dynamicdatalists.model.impl.DDLRecordVersionImpl;
076 import com.liferay.portlet.dynamicdatamapping.model.DDMContent;
077 import com.liferay.portlet.dynamicdatamapping.model.DDMStorageLink;
078 import com.liferay.portlet.dynamicdatamapping.model.DDMStructure;
079 import com.liferay.portlet.dynamicdatamapping.model.DDMStructureLink;
080 import com.liferay.portlet.dynamicdatamapping.model.impl.DDMContentImpl;
081 import com.liferay.portlet.dynamicdatamapping.model.impl.DDMStorageLinkImpl;
082 import com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureImpl;
083 import com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureLinkImpl;
084 import com.liferay.portlet.journal.model.JournalArticle;
085 import com.liferay.portlet.journal.model.JournalArticleResource;
086 import com.liferay.portlet.journal.model.impl.JournalArticleImpl;
087 import com.liferay.portlet.journal.model.impl.JournalArticleResourceImpl;
088 import com.liferay.portlet.messageboards.model.MBCategory;
089 import com.liferay.portlet.messageboards.model.MBCategoryConstants;
090 import com.liferay.portlet.messageboards.model.MBDiscussion;
091 import com.liferay.portlet.messageboards.model.MBMessage;
092 import com.liferay.portlet.messageboards.model.MBStatsUser;
093 import com.liferay.portlet.messageboards.model.MBThread;
094 import com.liferay.portlet.messageboards.model.impl.MBCategoryImpl;
095 import com.liferay.portlet.messageboards.model.impl.MBDiscussionImpl;
096 import com.liferay.portlet.messageboards.model.impl.MBMessageImpl;
097 import com.liferay.portlet.messageboards.model.impl.MBStatsUserImpl;
098 import com.liferay.portlet.messageboards.model.impl.MBThreadImpl;
099 import com.liferay.portlet.social.model.SocialActivity;
100 import com.liferay.portlet.social.model.impl.SocialActivityImpl;
101 import com.liferay.portlet.wiki.model.WikiNode;
102 import com.liferay.portlet.wiki.model.WikiPage;
103 import com.liferay.portlet.wiki.model.impl.WikiNodeImpl;
104 import com.liferay.portlet.wiki.model.impl.WikiPageImpl;
105 import com.liferay.util.SimpleCounter;
106
107 import java.io.File;
108
109 import java.text.Format;
110
111 import java.util.ArrayList;
112 import java.util.Date;
113 import java.util.List;
114
115
118 public class DataFactory {
119
120 public DataFactory(
121 String baseDir, int maxGroupsCount, int maxJournalArticleSize,
122 int maxUserToGroupCount, SimpleCounter counter,
123 SimpleCounter dlDateCounter, SimpleCounter permissionCounter,
124 SimpleCounter resourceCounter, SimpleCounter resourcePermissionCounter,
125 SimpleCounter socialActivityCounter) {
126
127 try {
128 _baseDir = baseDir;
129 _maxGroupsCount = maxGroupsCount;
130 _maxUserToGroupCount = maxUserToGroupCount;
131
132 _counter = counter;
133 _dlDateCounter = dlDateCounter;
134 _resourcePermissionCounter = resourcePermissionCounter;
135 _socialActivityCounter = socialActivityCounter;
136
137 initClassNames();
138 initCompany();
139 initDefaultUser();
140 initGroups();
141 initJournalArticle(maxJournalArticleSize);
142 initRoles();
143 initUserNames();
144 }
145 catch (Exception e) {
146 e.printStackTrace();
147 }
148 }
149
150 public AssetEntry addAssetEntry(
151 long groupId, long userId, long classNameId, long classPK,
152 boolean visible, String mimeType, String title) {
153
154 AssetEntry assetEntry = new AssetEntryImpl();
155
156 assetEntry.setGroupId(groupId);
157 assetEntry.setUserId(userId);
158 assetEntry.setClassNameId(classNameId);
159 assetEntry.setClassPK(classPK);
160 assetEntry.setVisible(visible);
161 assetEntry.setMimeType(mimeType);
162 assetEntry.setTitle(title);
163
164 return assetEntry;
165 }
166
167 public BlogsEntry addBlogsEntry(
168 long groupId, long userId, String title, String urlTitle,
169 String content) {
170
171 BlogsEntry blogsEntry = new BlogsEntryImpl();
172
173 blogsEntry.setEntryId(_counter.get());
174 blogsEntry.setGroupId(groupId);
175 blogsEntry.setUserId(userId);
176 blogsEntry.setTitle(title);
177 blogsEntry.setUrlTitle(urlTitle);
178 blogsEntry.setContent(content);
179
180 return blogsEntry;
181 }
182
183 public BlogsStatsUser addBlogsStatsUser(long groupId, long userId) {
184 BlogsStatsUser blogsStatsUser = new BlogsStatsUserImpl();
185
186 blogsStatsUser.setGroupId(groupId);
187 blogsStatsUser.setUserId(userId);
188
189 return blogsStatsUser;
190 }
191
192 public Contact addContact(String firstName, String lastName) {
193 Contact contact = new ContactImpl();
194
195 contact.setContactId(_counter.get());
196 contact.setAccountId(_company.getAccountId());
197 contact.setFirstName(firstName);
198 contact.setLastName(lastName);
199
200 return contact;
201 }
202
203 public DDLRecord addDDLRecord(
204 long groupId, long companyId, long userId, long ddlRecordSetId) {
205
206 DDLRecord ddlRecord = new DDLRecordImpl();
207
208 ddlRecord.setRecordId(_counter.get());
209 ddlRecord.setGroupId(groupId);
210 ddlRecord.setCompanyId(companyId);
211 ddlRecord.setUserId(userId);
212 ddlRecord.setCreateDate(newCreateDate());
213 ddlRecord.setRecordSetId(ddlRecordSetId);
214
215 return ddlRecord;
216 }
217
218 public DDLRecordSet addDDLRecordSet(
219 long groupId, long companyId, long userId, long ddmStructureId) {
220
221 DDLRecordSet ddlRecordSet = new DDLRecordSetImpl();
222
223 ddlRecordSet.setRecordSetId(_counter.get());
224 ddlRecordSet.setGroupId(groupId);
225 ddlRecordSet.setCompanyId(companyId);
226 ddlRecordSet.setUserId(userId);
227 ddlRecordSet.setDDMStructureId(ddmStructureId);
228
229 return ddlRecordSet;
230 }
231
232 public DDLRecordVersion addDDLRecordVersion(DDLRecord ddlRecord) {
233 DDLRecordVersion ddlRecordVersion = new DDLRecordVersionImpl();
234
235 ddlRecordVersion.setRecordVersionId(_counter.get());
236 ddlRecordVersion.setGroupId(ddlRecord.getGroupId());
237 ddlRecordVersion.setCompanyId(ddlRecord.getCompanyId());
238 ddlRecordVersion.setUserId(ddlRecord.getUserId());
239 ddlRecordVersion.setRecordSetId(ddlRecord.getRecordSetId());
240 ddlRecordVersion.setRecordId(ddlRecord.getRecordId());
241
242 return ddlRecordVersion;
243 }
244
245 public DDMContent addDDMContent(long groupId, long companyId, long userId) {
246 DDMContent ddmContent = new DDMContentImpl();
247
248 ddmContent.setContentId(_counter.get());
249 ddmContent.setGroupId(groupId);
250 ddmContent.setCompanyId(companyId);
251 ddmContent.setUserId(userId);
252
253 return ddmContent;
254 }
255
256 public DDMStorageLink addDDMStorageLink(
257 long classNameId, long classPK, long structureId) {
258
259 DDMStorageLink ddmStorageLink = new DDMStorageLinkImpl();
260
261 ddmStorageLink.setStorageLinkId(_counter.get());
262 ddmStorageLink.setClassNameId(classNameId);
263 ddmStorageLink.setClassPK(classPK);
264 ddmStorageLink.setStructureId(structureId);
265
266 return ddmStorageLink;
267 }
268
269 public DDMStructure addDDMStructure(
270 long groupId, long companyId, long userId, long classNameId) {
271
272 DDMStructure ddmStructure = new DDMStructureImpl();
273
274 ddmStructure.setStructureId(_counter.get());
275 ddmStructure.setGroupId(groupId);
276 ddmStructure.setCompanyId(companyId);
277 ddmStructure.setUserId(userId);
278 ddmStructure.setCreateDate(newCreateDate());
279 ddmStructure.setClassNameId(classNameId);
280
281 return ddmStructure;
282 }
283
284 public DDMStructureLink addDDMStructureLink(
285 long classPK, long structureId) {
286
287 DDMStructureLink ddmStructureLink = new DDMStructureLinkImpl();
288
289 ddmStructureLink.setStructureLinkId(_counter.get());
290 ddmStructureLink.setClassNameId(_dlFileEntryClassName.getClassNameId());
291 ddmStructureLink.setClassPK(classPK);
292 ddmStructureLink.setStructureId(structureId);
293
294 return ddmStructureLink;
295 }
296
297 public DLFileEntry addDlFileEntry(
298 long groupId, long companyId, long userId, long folderId,
299 String extension, String mimeType, String name, String title,
300 String description) {
301
302 DLFileEntry dlFileEntry = new DLFileEntryImpl();
303
304 dlFileEntry.setFileEntryId(_counter.get());
305 dlFileEntry.setGroupId(groupId);
306 dlFileEntry.setCompanyId(companyId);
307 dlFileEntry.setUserId(userId);
308 dlFileEntry.setCreateDate(newCreateDate());
309 dlFileEntry.setRepositoryId(groupId);
310 dlFileEntry.setFolderId(folderId);
311 dlFileEntry.setName(name);
312 dlFileEntry.setExtension(extension);
313 dlFileEntry.setMimeType(mimeType);
314 dlFileEntry.setTitle(title);
315 dlFileEntry.setDescription(description);
316 dlFileEntry.setSmallImageId(_counter.get());
317 dlFileEntry.setLargeImageId(_counter.get());
318
319 return dlFileEntry;
320 }
321
322 public DLFileEntryMetadata addDLFileEntryMetadata(
323 long ddmStorageId, long ddmStructureId, long fileEntryId,
324 long fileVersionId) {
325
326 DLFileEntryMetadata dlFileEntryMetadata = new DLFileEntryMetadataImpl();
327
328 dlFileEntryMetadata.setFileEntryMetadataId(_counter.get());
329 dlFileEntryMetadata.setDDMStorageId(ddmStorageId);
330 dlFileEntryMetadata.setDDMStructureId(ddmStructureId);
331 dlFileEntryMetadata.setFileEntryId(fileEntryId);
332 dlFileEntryMetadata.setFileVersionId(fileVersionId);
333
334 return dlFileEntryMetadata;
335 }
336
337 public DLFileRank addDLFileRank(
338 long groupId, long companyId, long userId, long fileEntryId) {
339
340 DLFileRank dlFileRank = new DLFileRankImpl();
341
342 dlFileRank.setFileRankId(_counter.get());
343 dlFileRank.setGroupId(groupId);
344 dlFileRank.setCompanyId(companyId);
345 dlFileRank.setUserId(userId);
346 dlFileRank.setFileEntryId(fileEntryId);
347
348 return dlFileRank;
349 }
350
351 public DLFileVersion addDLFileVersion(DLFileEntry dlFileEntry) {
352 DLFileVersion dlFileVersion = new DLFileVersionImpl();
353
354 dlFileVersion.setFileVersionId(_counter.get());
355 dlFileVersion.setGroupId(dlFileEntry.getGroupId());
356 dlFileVersion.setCompanyId(dlFileEntry.getCompanyId());
357 dlFileVersion.setUserId(dlFileEntry.getUserId());
358 dlFileVersion.setRepositoryId(dlFileEntry.getRepositoryId());
359 dlFileVersion.setFileEntryId(dlFileEntry.getFileEntryId());
360 dlFileVersion.setExtension(dlFileEntry.getExtension());
361 dlFileVersion.setMimeType(dlFileEntry.getMimeType());
362 dlFileVersion.setTitle(dlFileEntry.getTitle());
363 dlFileVersion.setDescription(dlFileEntry.getDescription());
364 dlFileVersion.setSize(dlFileEntry.getSize());
365
366 return dlFileVersion;
367 }
368
369 public DLFolder addDLFolder(
370 long groupId, long companyId, long userId, long parentFolderId,
371 String name, String description) {
372
373 DLFolder dlFolder = new DLFolderImpl();
374
375 dlFolder.setFolderId(_counter.get());
376 dlFolder.setGroupId(groupId);
377 dlFolder.setCompanyId(companyId);
378 dlFolder.setUserId(userId);
379 dlFolder.setCreateDate(newCreateDate());
380 dlFolder.setRepositoryId(groupId);
381 dlFolder.setParentFolderId(parentFolderId);
382 dlFolder.setName(name);
383 dlFolder.setDescription(description);
384
385 return dlFolder;
386 }
387
388 public DLSync addDLSync(
389 long companyId, long fileId, long repositoryId, long parentFolderId,
390 boolean typeFolder) {
391
392 DLSync dlSync = new DLSyncImpl();
393
394 dlSync.setSyncId(_counter.get());
395 dlSync.setCompanyId(companyId);
396 dlSync.setFileId(fileId);
397 dlSync.setRepositoryId(repositoryId);
398 dlSync.setParentFolderId(parentFolderId);
399 dlSync.setEvent(DLSyncConstants.EVENT_ADD);
400
401 if (typeFolder) {
402 dlSync.setType(DLSyncConstants.TYPE_FOLDER);
403 }
404 else {
405 dlSync.setType(DLSyncConstants.TYPE_FILE);
406 }
407
408 return dlSync;
409 }
410
411 public Group addGroup(
412 long groupId, long classNameId, long classPK, String name,
413 String friendlyURL, boolean site) {
414
415 Group group = new GroupImpl();
416
417 group.setGroupId(groupId);
418 group.setClassNameId(classNameId);
419 group.setClassPK(classPK);
420 group.setName(name);
421 group.setFriendlyURL(friendlyURL);
422 group.setSite(site);
423
424 return group;
425 }
426
427 public JournalArticle addJournalArticle(
428 long resourcePrimKey, long groupId, long companyId, String articleId) {
429
430 JournalArticle journalArticle = new JournalArticleImpl();
431
432 journalArticle.setId(_counter.get());
433 journalArticle.setResourcePrimKey(resourcePrimKey);
434 journalArticle.setGroupId(groupId);
435 journalArticle.setCompanyId(companyId);
436 journalArticle.setArticleId(articleId);
437 journalArticle.setContent(_journalArticleContent);
438
439 return journalArticle;
440 }
441
442 public JournalArticleResource addJournalArticleResource(long groupId) {
443 JournalArticleResource journalArticleResource =
444 new JournalArticleResourceImpl();
445
446 journalArticleResource.setResourcePrimKey(_counter.get());
447 journalArticleResource.setGroupId(groupId);
448 journalArticleResource.setArticleId(String.valueOf(_counter.get()));
449
450 return journalArticleResource;
451 }
452
453 public Layout addLayout(
454 int layoutId, String name, String friendlyURL, String column1,
455 String column2) {
456
457 Layout layout = new LayoutImpl();
458
459 layout.setPlid(_counter.get());
460 layout.setPrivateLayout(false);
461 layout.setLayoutId(layoutId);
462 layout.setName(name);
463 layout.setFriendlyURL(friendlyURL);
464
465 UnicodeProperties typeSettingsProperties = new UnicodeProperties(true);
466
467 typeSettingsProperties.setProperty(
468 LayoutTypePortletConstants.LAYOUT_TEMPLATE_ID, "2_columns_ii");
469 typeSettingsProperties.setProperty("column-1", column1);
470 typeSettingsProperties.setProperty("column-2", column2);
471
472 String typeSettings = StringUtil.replace(
473 typeSettingsProperties.toString(), "\n", "\\n");
474
475 layout.setTypeSettings(typeSettings);
476
477 return layout;
478 }
479
480 public MBCategory addMBCategory(
481 long categoryId, long groupId, long companyId, long userId, String name,
482 String description, int threadCount, int messageCount) {
483
484 MBCategory mbCategory = new MBCategoryImpl();
485
486 mbCategory.setCategoryId(categoryId);
487 mbCategory.setGroupId(groupId);
488 mbCategory.setCompanyId(companyId);
489 mbCategory.setUserId(userId);
490 mbCategory.setName(name);
491 mbCategory.setDescription(description);
492 mbCategory.setDisplayStyle(MBCategoryConstants.DEFAULT_DISPLAY_STYLE);
493 mbCategory.setThreadCount(threadCount);
494 mbCategory.setMessageCount(messageCount);
495
496 return mbCategory;
497 }
498
499 public MBDiscussion addMBDiscussion(
500 long classNameId, long classPK, long threadId) {
501
502 MBDiscussion mbDiscussion = new MBDiscussionImpl();
503
504 mbDiscussion.setDiscussionId(_counter.get());
505 mbDiscussion.setClassNameId(classNameId);
506 mbDiscussion.setClassPK(classPK);
507 mbDiscussion.setThreadId(threadId);
508
509 return mbDiscussion;
510 }
511
512 public MBMessage addMBMessage(
513 long messageId, long groupId, long userId, long classNameId,
514 long classPK, long categoryId, long threadId, long rootMessageId,
515 long parentMessageId, String subject, String body) {
516
517 MBMessage mbMessage = new MBMessageImpl();
518
519 mbMessage.setMessageId(messageId);
520 mbMessage.setGroupId(groupId);
521 mbMessage.setUserId(userId);
522 mbMessage.setClassNameId(classNameId);
523 mbMessage.setClassPK(classPK);
524 mbMessage.setCategoryId(categoryId);
525 mbMessage.setThreadId(threadId);
526 mbMessage.setRootMessageId(rootMessageId);
527 mbMessage.setParentMessageId(parentMessageId);
528 mbMessage.setSubject(subject);
529 mbMessage.setBody(body);
530
531 return mbMessage;
532 }
533
534 public MBStatsUser addMBStatsUser(long groupId, long userId) {
535 MBStatsUser mbStatsUser = new MBStatsUserImpl();
536
537 mbStatsUser.setGroupId(groupId);
538 mbStatsUser.setUserId(userId);
539
540 return mbStatsUser;
541 }
542
543 public MBThread addMBThread(
544 long threadId, long groupId, long companyId, long categoryId,
545 long rootMessageId, int messageCount, long lastPostByUserId) {
546
547 MBThread mbThread = new MBThreadImpl();
548
549 mbThread.setThreadId(threadId);
550 mbThread.setGroupId(groupId);
551 mbThread.setCompanyId(companyId);
552 mbThread.setCategoryId(categoryId);
553 mbThread.setRootMessageId(rootMessageId);
554 mbThread.setRootMessageUserId(lastPostByUserId);
555 mbThread.setMessageCount(messageCount);
556 mbThread.setLastPostByUserId(lastPostByUserId);
557
558 return mbThread;
559 }
560
561 public PortletPreferences addPortletPreferences(
562 long ownerId, long plid, String portletId, String preferences) {
563
564 PortletPreferences portletPreferences = new PortletPreferencesImpl();
565
566 portletPreferences.setPortletPreferencesId(_counter.get());
567 portletPreferences.setOwnerId(ownerId);
568 portletPreferences.setOwnerType(PortletKeys.PREFS_OWNER_TYPE_LAYOUT);
569 portletPreferences.setPlid(plid);
570 portletPreferences.setPortletId(portletId);
571 portletPreferences.setPreferences(preferences);
572
573 return portletPreferences;
574 }
575
576 public List<ResourcePermission> addResourcePermission(
577 long companyId, String name, String primKey) {
578
579 List<ResourcePermission> resourcePermissions =
580 new ArrayList<ResourcePermission>(2);
581
582 ResourcePermission resourcePermission = new ResourcePermissionImpl();
583
584 resourcePermission.setResourcePermissionId(
585 _resourcePermissionCounter.get());
586 resourcePermission.setCompanyId(companyId);
587 resourcePermission.setName(name);
588 resourcePermission.setScope(ResourceConstants.SCOPE_INDIVIDUAL);
589 resourcePermission.setPrimKey(primKey);
590 resourcePermission.setRoleId(_ownerRole.getRoleId());
591 resourcePermission.setOwnerId(_defaultUser.getUserId());
592 resourcePermission.setActionIds(1);
593
594 resourcePermissions.add(resourcePermission);
595
596 resourcePermission = new ResourcePermissionImpl();
597
598 resourcePermission.setResourcePermissionId(
599 _resourcePermissionCounter.get());
600 resourcePermission.setCompanyId(companyId);
601 resourcePermission.setName(name);
602 resourcePermission.setScope(ResourceConstants.SCOPE_INDIVIDUAL);
603 resourcePermission.setPrimKey(primKey);
604 resourcePermission.setRoleId(_guestRole.getRoleId());
605 resourcePermission.setOwnerId(0);
606 resourcePermission.setActionIds(1);
607
608 resourcePermissions.add(resourcePermission);
609
610 return resourcePermissions;
611 }
612
613 public SocialActivity addSocialActivity(
614 long groupId, long companyId, long userId, long classNameId,
615 long classPK) {
616
617 SocialActivity socialActivity = new SocialActivityImpl();
618
619 socialActivity.setActivityId(_socialActivityCounter.get());
620 socialActivity.setGroupId(groupId);
621 socialActivity.setCompanyId(companyId);
622 socialActivity.setUserId(userId);
623 socialActivity.setClassNameId(classNameId);
624 socialActivity.setClassPK(classPK);
625
626 return socialActivity;
627 }
628
629 public User addUser(boolean defaultUser, String screenName) {
630 User user = new UserImpl();
631
632 user.setUserId(_counter.get());
633 user.setDefaultUser(defaultUser);
634
635 if (Validator.isNull(screenName)) {
636 screenName = String.valueOf(user.getUserId());
637 }
638
639 user.setScreenName(screenName);
640
641 String emailAddress = screenName + "@liferay.com";
642
643 user.setEmailAddress(emailAddress);
644
645 return user;
646 }
647
648 public List<Long> addUserToGroupIds(long groupId) {
649 List<Long> groupIds = new ArrayList<Long>(_maxUserToGroupCount + 1);
650
651 groupIds.add(_guestGroup.getGroupId());
652
653 if ((groupId + _maxUserToGroupCount) > _maxGroupsCount) {
654 groupId = groupId - _maxUserToGroupCount + 1;
655 }
656
657 for (int i = 0; i < _maxUserToGroupCount; i++) {
658 groupIds.add(groupId + i);
659 }
660
661 return groupIds;
662 }
663
664 public WikiNode addWikiNode(
665 long groupId, long userId, String name, String description) {
666
667 WikiNode wikiNode = new WikiNodeImpl();
668
669 wikiNode.setNodeId(_counter.get());
670 wikiNode.setGroupId(groupId);
671 wikiNode.setUserId(userId);
672 wikiNode.setName(name);
673 wikiNode.setDescription(description);
674
675 return wikiNode;
676 }
677
678 public WikiPage addWikiPage(
679 long groupId, long userId, long nodeId, String title, double version,
680 String content, boolean head) {
681
682 WikiPage wikiPage = new WikiPageImpl();
683
684 wikiPage.setPageId(_counter.get());
685 wikiPage.setResourcePrimKey(_counter.get());
686 wikiPage.setGroupId(groupId);
687 wikiPage.setUserId(userId);
688 wikiPage.setNodeId(nodeId);
689 wikiPage.setTitle(title);
690 wikiPage.setVersion(version);
691 wikiPage.setContent(content);
692 wikiPage.setHead(head);
693
694 return wikiPage;
695 }
696
697 public Role getAdministratorRole() {
698 return _administratorRole;
699 }
700
701 public ClassName getBlogsEntryClassName() {
702 return _blogsEntryClassName;
703 }
704
705 public List<ClassName> getClassNames() {
706 return _classNames;
707 }
708
709 public Company getCompany() {
710 return _company;
711 }
712
713 public List<CounterModelImpl> getCounters() {
714 return _counters;
715 }
716
717 public String getDateLong(Date date) {
718 return String.valueOf(date.getTime());
719 }
720
721 public String getDateString(Date date) {
722 return _simpleDateFormat.format(date);
723 }
724
725 public ClassName getDDLRecordSetClassName() {
726 return _ddlRecordSetClassName;
727 }
728
729 public ClassName getDDMContentClassName() {
730 return _ddmContentClassName;
731 }
732
733 public User getDefaultUser() {
734 return _defaultUser;
735 }
736
737 public ClassName getDLFileEntryClassName() {
738 return _dlFileEntryClassName;
739 }
740
741 public ClassName getGroupClassName() {
742 return _groupClassName;
743 }
744
745 public List<Group> getGroups() {
746 return _groups;
747 }
748
749 public Group getGuestGroup() {
750 return _guestGroup;
751 }
752
753 public Role getGuestRole() {
754 return _guestRole;
755 }
756
757 public ClassName getJournalArticleClassName() {
758 return _journalArticleClassName;
759 }
760
761 public ClassName getMBMessageClassName() {
762 return _mbMessageClassName;
763 }
764
765 public Role getOrganizationAdministratorRole() {
766 return _organizationAdministratorRole;
767 }
768
769 public Role getOrganizationOwnerRole() {
770 return _organizationOwnerRole;
771 }
772
773 public Role getOrganizationUserRole() {
774 return _organizationUserRole;
775 }
776
777 public Role getPowerUserRole() {
778 return _powerUserRole;
779 }
780
781 public ClassName getRoleClassName() {
782 return _roleClassName;
783 }
784
785 public List<Role> getRoles() {
786 return _roles;
787 }
788
789 public Role getSiteAdministratorRole() {
790 return _siteAdministratorRole;
791 }
792
793 public Role getSiteMemberRole() {
794 return _siteMemberRole;
795 }
796
797 public Role getSiteOwnerRole() {
798 return _siteOwnerRole;
799 }
800
801 public ClassName getUserClassName() {
802 return _userClassName;
803 }
804
805 public Object[] getUserNames() {
806 return _userNames;
807 }
808
809 public Role getUserRole() {
810 return _userRole;
811 }
812
813 public ClassName getWikiPageClassName() {
814 return _wikiPageClassName;
815 }
816
817 public void initClassNames() {
818 if (_classNames != null) {
819 return;
820 }
821
822 _classNames = new ArrayList<ClassName>();
823
824 List<String> models = ModelHintsUtil.getModels();
825
826 for (String model : models) {
827 ClassName className = new ClassNameImpl();
828
829 className.setClassNameId(_counter.get());
830 className.setValue(model);
831
832 _classNames.add(className);
833
834 if (model.equals(BlogsEntry.class.getName())) {
835 _blogsEntryClassName = className;
836 }
837 else if (model.equals(DDLRecordSet.class.getName())) {
838 _ddlRecordSetClassName = className;
839 }
840 else if (model.equals(DDMContent.class.getName())) {
841 _ddmContentClassName = className;
842 }
843 else if (model.equals(DLFileEntry.class.getName())) {
844 _dlFileEntryClassName = className;
845 }
846 else if (model.equals(Group.class.getName())) {
847 _groupClassName = className;
848 }
849 else if (model.equals(JournalArticle.class.getName())) {
850 _journalArticleClassName = className;
851 }
852 else if (model.equals(MBMessage.class.getName())) {
853 _mbMessageClassName = className;
854 }
855 else if (model.equals(Role.class.getName())) {
856 _roleClassName = className;
857 }
858 else if (model.equals(User.class.getName())) {
859 _userClassName = className;
860 }
861 else if (model.equals(WikiPage.class.getName())) {
862 _wikiPageClassName = className;
863 }
864 }
865 }
866
867 public void initCompany() {
868 _company = new CompanyImpl();
869
870 _company.setCompanyId(_counter.get());
871 _company.setAccountId(_counter.get());
872 }
873
874 public void initCounters() {
875 if (_counters != null) {
876 return;
877 }
878
879 _counters = new ArrayList<CounterModelImpl>();
880
881
882
883 CounterModelImpl counter = new CounterModelImpl();
884
885 counter.setName(Counter.class.getName());
886 counter.setCurrentId(_counter.get());
887
888 _counters.add(counter);
889
890
891
892 counter = new CounterModelImpl();
893
894 counter.setName(ResourcePermission.class.getName());
895 counter.setCurrentId(_resourcePermissionCounter.get());
896
897 _counters.add(counter);
898
899
900
901 counter = new CounterModelImpl();
902
903 counter.setName(SocialActivity.class.getName());
904 counter.setCurrentId(_socialActivityCounter.get());
905
906 _counters.add(counter);
907 }
908
909 public void initDefaultUser() {
910 _defaultUser = new UserImpl();
911
912 _defaultUser.setUserId(_counter.get());
913 }
914
915 public void initGroups() {
916 if (_groups != null) {
917 return;
918 }
919
920 _groups = new ArrayList<Group>();
921
922
923
924 Group group = new GroupImpl();
925
926 group.setGroupId(_counter.get());
927 group.setClassNameId(_groupClassName.getClassNameId());
928 group.setClassPK(group.getGroupId());
929 group.setName(GroupConstants.GUEST);
930 group.setFriendlyURL("/guest");
931 group.setSite(true);
932
933 _groups.add(group);
934
935 _guestGroup = group;
936 }
937
938 public void initJournalArticle(int maxJournalArticleSize) throws Exception {
939 if (maxJournalArticleSize <= 0) {
940 maxJournalArticleSize = 1;
941 }
942
943 char[] chars = new char[maxJournalArticleSize];
944
945 for (int i = 0; i < maxJournalArticleSize; i++) {
946 chars[i] = (char)(CharPool.LOWER_CASE_A + (i % 26));
947 }
948
949 _journalArticleContent = new String(chars);
950 }
951
952 public void initRoles() {
953 if (_roles != null) {
954 return;
955 }
956
957 _roles = new ArrayList<Role>();
958
959
960
961 Role role = newRole();
962
963 role.setName(RoleConstants.ADMINISTRATOR);
964 role.setType(RoleConstants.TYPE_REGULAR);
965
966 _roles.add(role);
967
968 _administratorRole = role;
969
970
971
972 role = newRole();
973
974 role.setName(RoleConstants.GUEST);
975 role.setType(RoleConstants.TYPE_REGULAR);
976
977 _roles.add(role);
978
979 _guestRole = role;
980
981
982
983 role = newRole();
984
985 role.setName(RoleConstants.ORGANIZATION_ADMINISTRATOR);
986 role.setType(RoleConstants.TYPE_ORGANIZATION);
987
988 _roles.add(role);
989
990 _organizationAdministratorRole = role;
991
992
993
994 role = newRole();
995
996 role.setName(RoleConstants.ORGANIZATION_OWNER);
997 role.setType(RoleConstants.TYPE_ORGANIZATION);
998
999 _roles.add(role);
1000
1001 _organizationOwnerRole = role;
1002
1003
1004
1005 role = newRole();
1006
1007 role.setName(RoleConstants.ORGANIZATION_USER);
1008 role.setType(RoleConstants.TYPE_ORGANIZATION);
1009
1010 _roles.add(role);
1011
1012 _organizationUserRole = role;
1013
1014
1015
1016 role = newRole();
1017
1018 role.setName(RoleConstants.OWNER);
1019 role.setType(RoleConstants.TYPE_REGULAR);
1020
1021 _roles.add(role);
1022
1023 _ownerRole = role;
1024
1025
1026
1027 role = newRole();
1028
1029 role.setName(RoleConstants.POWER_USER);
1030 role.setType(RoleConstants.TYPE_REGULAR);
1031
1032 _roles.add(role);
1033
1034 _powerUserRole = role;
1035
1036
1037
1038 role = newRole();
1039
1040 role.setName(RoleConstants.SITE_ADMINISTRATOR);
1041 role.setType(RoleConstants.TYPE_SITE);
1042
1043 _roles.add(role);
1044
1045 _siteAdministratorRole = role;
1046
1047
1048
1049 role = newRole();
1050
1051 role.setName(RoleConstants.SITE_MEMBER);
1052 role.setType(RoleConstants.TYPE_SITE);
1053
1054 _roles.add(role);
1055
1056 _siteMemberRole = role;
1057
1058
1059
1060 role = newRole();
1061
1062 role.setName(RoleConstants.SITE_OWNER);
1063 role.setType(RoleConstants.TYPE_SITE);
1064
1065 _roles.add(role);
1066
1067 _siteOwnerRole = role;
1068
1069
1070
1071 role = newRole();
1072
1073 role.setName(RoleConstants.USER);
1074 role.setType(RoleConstants.TYPE_REGULAR);
1075
1076 _roles.add(role);
1077
1078 _userRole = role;
1079 }
1080
1081 public void initUserNames() throws Exception {
1082 if (_userNames != null) {
1083 return;
1084 }
1085
1086 _userNames = new Object[2];
1087
1088 String dependenciesDir =
1089 "../portal-impl/src/com/liferay/portal/tools/samplesqlbuilder/" +
1090 "dependencies/";
1091
1092 List<String> firstNames = ListUtil.fromFile(
1093 new File(_baseDir, dependenciesDir + "first_names.txt"));
1094 List<String> lastNames = ListUtil.fromFile(
1095 new File(_baseDir, dependenciesDir + "last_names.txt"));
1096
1097 _userNames[0] = firstNames;
1098 _userNames[1] = lastNames;
1099 }
1100
1101 public IntegerWrapper newInteger() {
1102 return new IntegerWrapper();
1103 }
1104
1105 protected Date newCreateDate() {
1106 return new Date(_baseCreateTime + (_dlDateCounter.get() * Time.SECOND));
1107 }
1108
1109 protected Role newRole() {
1110 Role role = new RoleImpl();
1111
1112 role.setRoleId(_counter.get());
1113 role.setClassNameId(_roleClassName.getClassNameId());
1114 role.setClassPK(role.getRoleId());
1115
1116 return role;
1117 }
1118
1119 private Role _administratorRole;
1120 private long _baseCreateTime = System.currentTimeMillis() + Time.YEAR;
1121 private String _baseDir;
1122 private ClassName _blogsEntryClassName;
1123 private List<ClassName> _classNames;
1124 private Company _company;
1125 private SimpleCounter _counter;
1126 private List<CounterModelImpl> _counters;
1127 private ClassName _ddlRecordSetClassName;
1128 private ClassName _ddmContentClassName;
1129 private User _defaultUser;
1130 private SimpleCounter _dlDateCounter;
1131 private ClassName _dlFileEntryClassName;
1132 private ClassName _groupClassName;
1133 private List<Group> _groups;
1134 private Group _guestGroup;
1135 private Role _guestRole;
1136 private ClassName _journalArticleClassName;
1137 private String _journalArticleContent;
1138 private int _maxGroupsCount;
1139 private int _maxUserToGroupCount;
1140 private ClassName _mbMessageClassName;
1141 private Role _organizationAdministratorRole;
1142 private Role _organizationOwnerRole;
1143 private Role _organizationUserRole;
1144 private Role _ownerRole;
1145 private Role _powerUserRole;
1146 private SimpleCounter _resourcePermissionCounter;
1147 private ClassName _roleClassName;
1148 private List<Role> _roles;
1149 private Format _simpleDateFormat =
1150 FastDateFormatFactoryUtil.getSimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1151 private Role _siteAdministratorRole;
1152 private Role _siteMemberRole;
1153 private Role _siteOwnerRole;
1154 private SimpleCounter _socialActivityCounter;
1155 private ClassName _userClassName;
1156 private Object[] _userNames;
1157 private Role _userRole;
1158 private ClassName _wikiPageClassName;
1159
1160 }