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