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