public JournalStructure addStructure( long userId, long groupId, String structureId, boolean autoStructureId, String parentStructureId, String name, String description, String xsd, ServiceContext serviceContext) throws PortalException, SystemException { // Structure User user = userPersistence.findByPrimaryKey(userId); structureId = structureId.trim().toUpperCase(); Date now = new Date(); try { xsd = JournalUtil.formatXML(xsd); } catch (Exception e) { throw new StructureXsdException(); } if (autoStructureId) { structureId = String.valueOf(counterLocalService.increment()); } validate(groupId, structureId, autoStructureId, parentStructureId, name, description, xsd); long id = counterLocalService.increment(); JournalStructure structure = journalStructurePersistence.create(id); structure.setUuid(serviceContext.getUuid()); structure.setGroupId(groupId); structure.setCompanyId(user.getCompanyId()); structure.setUserId(user.getUserId()); structure.setUserName(user.getFullName()); structure.setCreateDate(serviceContext.getCreateDate(now)); structure.setModifiedDate(serviceContext.getModifiedDate(now)); structure.setStructureId(structureId); structure.setParentStructureId(parentStructureId); structure.setName(name); structure.setDescription(description); structure.setXsd(xsd); journalStructurePersistence.update(structure, false); // Resources if (serviceContext.getAddCommunityPermissions() || serviceContext.getAddGuestPermissions()) { addStructureResources( structure, serviceContext.getAddCommunityPermissions(), serviceContext.getAddGuestPermissions()); } else { addStructureResources( structure, serviceContext.getCommunityPermissions(), serviceContext.getGuestPermissions()); } // Expando ExpandoBridge expandoBridge = structure.getExpandoBridge(); expandoBridge.setAttributes(serviceContext); return structure; }
public AssetCategory addCategory( long userId, long parentCategoryId, Map<Locale, String> titleMap, Map<Locale, String> descriptionMap, long vocabularyId, String[] categoryProperties, ServiceContext serviceContext) throws PortalException, SystemException { // Category User user = userPersistence.findByPrimaryKey(userId); long groupId = serviceContext.getScopeGroupId(); String name = titleMap.get(LocaleUtil.getDefault()); if (categoryProperties == null) { categoryProperties = new String[0]; } Date now = new Date(); validate(0, parentCategoryId, name, vocabularyId); if (parentCategoryId > 0) { assetCategoryPersistence.findByPrimaryKey(parentCategoryId); } assetVocabularyPersistence.findByPrimaryKey(vocabularyId); long categoryId = counterLocalService.increment(); AssetCategory category = assetCategoryPersistence.create(categoryId); category.setUuid(serviceContext.getUuid()); category.setGroupId(groupId); category.setCompanyId(user.getCompanyId()); category.setUserId(user.getUserId()); category.setUserName(user.getFullName()); category.setCreateDate(now); category.setModifiedDate(now); category.setParentCategoryId(parentCategoryId); category.setName(name); category.setTitleMap(titleMap); category.setDescriptionMap(descriptionMap); category.setVocabularyId(vocabularyId); assetCategoryPersistence.update(category, false); // Resources if (serviceContext.getAddCommunityPermissions() || serviceContext.getAddGuestPermissions()) { addCategoryResources( category, serviceContext.getAddCommunityPermissions(), serviceContext.getAddGuestPermissions()); } else { addCategoryResources( category, serviceContext.getCommunityPermissions(), serviceContext.getGuestPermissions()); } // Properties for (int i = 0; i < categoryProperties.length; i++) { String[] categoryProperty = StringUtil.split(categoryProperties[i], StringPool.COLON); String key = StringPool.BLANK; String value = StringPool.BLANK; if (categoryProperty.length > 1) { key = GetterUtil.getString(categoryProperty[0]); value = GetterUtil.getString(categoryProperty[1]); } if (Validator.isNotNull(key)) { assetCategoryPropertyLocalService.addCategoryProperty(userId, categoryId, key, value); } } return category; }