List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_APPROVED
int STATUS_APPROVED
To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_APPROVED.
Click Source Link
From source file:com.liferay.dynamic.data.mapping.form.web.internal.portlet.action.ExportFormInstanceMVCResourceCommand.java
License:Open Source License
@Override protected void doServeResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); long formInstanceId = ParamUtil.getLong(resourceRequest, "formInstanceId"); DDMFormInstance formInstance = _formInstanceService.getFormInstance(formInstanceId); String fileExtension = ParamUtil.getString(resourceRequest, "fileExtension"); String fileName = formInstance.getName(themeDisplay.getLocale()) + CharPool.PERIOD + fileExtension; DDMFormExporter exporter = _ddmExporterFactory.getDDMFormExporter(fileExtension); exporter.setLocale(themeDisplay.getLocale()); byte[] bytes = exporter.export(formInstanceId, WorkflowConstants.STATUS_APPROVED); String contentType = MimeTypesUtil.getContentType(fileName); PortletResponseUtil.sendFile(resourceRequest, resourceResponse, fileName, bytes, contentType); }
From source file:com.liferay.dynamic.data.mapping.internal.search.DDMFormInstanceRecordIndexer.java
License:Open Source License
@Override public void postProcessContextBooleanFilter(BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { int status = GetterUtil.getInteger(searchContext.getAttribute(Field.STATUS), WorkflowConstants.STATUS_APPROVED); if (status != WorkflowConstants.STATUS_ANY) { contextBooleanFilter.addRequiredTerm(Field.STATUS, status); }/*from www . ja v a2 s .c om*/ long ddmFormInstanceId = GetterUtil.getLong(searchContext.getAttribute("ddmFormInstanceId")); if (ddmFormInstanceId > 0) { contextBooleanFilter.addRequiredTerm("ddmFormInstanceId", ddmFormInstanceId); } addSearchClassTypeIds(contextBooleanFilter, searchContext); String ddmStructureFieldName = (String) searchContext.getAttribute("ddmStructureFieldName"); Serializable ddmStructureFieldValue = searchContext.getAttribute("ddmStructureFieldValue"); if (Validator.isNotNull(ddmStructureFieldName) && Validator.isNotNull(ddmStructureFieldValue)) { QueryFilter queryFilter = ddmIndexer.createFieldValueQueryFilter(ddmStructureFieldName, ddmStructureFieldValue, searchContext.getLocale()); contextBooleanFilter.add(queryFilter, BooleanClauseOccur.MUST); } }
From source file:com.liferay.dynamic.data.mapping.internal.upgrade.v1_0_0.UpgradeDynamicDataMapping.java
License:Open Source License
protected void upgradeStructuresAndAddStructureVersionsAndLayouts() throws Exception { StringBundler sb1 = new StringBundler(6); sb1.append("insert into DDMStructureVersion (structureVersionId, "); sb1.append("groupId, companyId, userId, userName, createDate, "); sb1.append("structureId, version, parentStructureId, name, "); sb1.append("description, definition, storageType, type_, status, "); sb1.append("statusByUserId, statusByUserName, statusDate) values (?, "); sb1.append("?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); StringBundler sb2 = new StringBundler(4); sb2.append("insert into DDMStructureLayout (uuid_, "); sb2.append("structureLayoutId, groupId, companyId, userId, userName, "); sb2.append("createDate, modifiedDate, structureVersionId, "); sb2.append("definition) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); try (LoggingTimer loggingTimer = new LoggingTimer(); PreparedStatement ps1 = connection.prepareStatement("select * from DDMStructure"); PreparedStatement ps2 = AutoBatchPreparedStatementUtil.concurrentAutoBatch(connection, "update DDMStructure set definition = ? where " + "structureId = ?"); PreparedStatement ps3 = AutoBatchPreparedStatementUtil.concurrentAutoBatch(connection, sb1.toString());//from www . j av a 2 s . co m PreparedStatement ps4 = AutoBatchPreparedStatementUtil.concurrentAutoBatch(connection, sb2.toString()); ResultSet rs = ps1.executeQuery()) { while (rs.next()) { long structureId = rs.getLong("structureId"); long groupId = rs.getLong("groupId"); long companyId = rs.getLong("companyId"); long userId = rs.getLong("userId"); String userName = rs.getString("userName"); Timestamp modifiedDate = rs.getTimestamp("modifiedDate"); long parentStructureId = rs.getLong("parentStructureId"); long classNameId = rs.getLong("classNameId"); String version = rs.getString("version"); String name = rs.getString("name"); String description = rs.getString("description"); String storageType = rs.getString("storageType"); int type = rs.getInt("type_"); _structureClassNameIds.put(structureId, classNameId); // Structure content DDMForm ddmForm = getDDMForm(structureId); ddmForm = updateDDMFormFields(ddmForm); populateStructureInvalidDDMFormFieldNamesMap(structureId, ddmForm); String definition = toJSON(ddmForm); ps2.setString(1, definition); ps2.setLong(2, structureId); ps2.addBatch(); updateTemplateScriptDateFields(structureId, ddmForm); // Structure version if (hasStructureVersion(structureId, version)) { continue; } long structureVersionId = increment(); ps3.setLong(1, structureVersionId); ps3.setLong(2, groupId); ps3.setLong(3, companyId); ps3.setLong(4, userId); ps3.setString(5, userName); ps3.setTimestamp(6, modifiedDate); ps3.setLong(7, structureId); ps3.setString(8, DDMStructureConstants.VERSION_DEFAULT); ps3.setLong(9, parentStructureId); ps3.setString(10, name); ps3.setString(11, description); ps3.setString(12, definition); ps3.setString(13, storageType); ps3.setInt(14, type); ps3.setInt(15, WorkflowConstants.STATUS_APPROVED); ps3.setLong(16, userId); ps3.setString(17, userName); ps3.setTimestamp(18, modifiedDate); ps3.addBatch(); // Structure layout String ddmFormLayoutDefinition = getDefaultDDMFormLayoutDefinition(ddmForm); ps4.setString(1, PortalUUIDUtil.generate()); ps4.setLong(2, increment()); ps4.setLong(3, groupId); ps4.setLong(4, companyId); ps4.setLong(5, userId); ps4.setString(6, userName); ps4.setTimestamp(7, modifiedDate); ps4.setTimestamp(8, modifiedDate); ps4.setLong(9, structureVersionId); ps4.setString(10, ddmFormLayoutDefinition); ps4.addBatch(); } ps2.executeBatch(); ps3.executeBatch(); ps4.executeBatch(); } }
From source file:com.liferay.dynamic.data.mapping.internal.upgrade.v1_0_0.UpgradeDynamicDataMapping.java
License:Open Source License
protected void upgradeTemplatesAndAddTemplateVersions() throws Exception { StringBundler sb = new StringBundler(6); sb.append("insert into DDMTemplateVersion (templateVersionId, "); sb.append("groupId, companyId, userId, userName, createDate, "); sb.append("classNameId, classPK, templateId, version, name, "); sb.append("description, language, script, status, statusByUserId, "); sb.append("statusByUserName, statusDate) values (?, ?, ?, ?, ?, ?, "); sb.append("?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); try (LoggingTimer loggingTimer = new LoggingTimer(); PreparedStatement ps1 = connection.prepareStatement("select * from DDMTemplate"); PreparedStatement ps2 = AutoBatchPreparedStatementUtil.concurrentAutoBatch(connection, "update DDMTemplate set resourceClassNameId = ? where " + "templateId = ?"); PreparedStatement ps3 = AutoBatchPreparedStatementUtil.concurrentAutoBatch(connection, "update DDMTemplate set script = ? where templateId = ?"); PreparedStatement ps4 = AutoBatchPreparedStatementUtil.concurrentAutoBatch(connection, sb.toString());// ww w. j av a 2s . c o m ResultSet rs = ps1.executeQuery()) { while (rs.next()) { long groupId = rs.getLong("groupId"); long companyId = rs.getLong("companyId"); long userId = rs.getLong("userId"); String userName = rs.getString("userName"); Timestamp modifiedDate = rs.getTimestamp("modifiedDate"); long classNameId = rs.getLong("classNameId"); long classPK = rs.getLong("classPK"); long templateId = rs.getLong("templateId"); String version = rs.getString("version"); String name = rs.getString("name"); String description = rs.getString("description"); String language = rs.getString("language"); String script = rs.getString("script"); // Template resource class name ID long resourceClassNameId = getTemplateResourceClassNameId(classNameId, classPK); ps2.setLong(1, resourceClassNameId); ps2.setLong(2, templateId); ps2.addBatch(); _templateResourceClassNameIds.put(templateId, resourceClassNameId); // Template content String updatedScript = renameInvalidDDMFormFieldNames(classPK, script); if (language.equals("xsd")) { DDMForm ddmForm = _ddmFormXSDDeserializer.deserialize(updatedScript); ddmForm = updateDDMFormFields(ddmForm); updatedScript = toJSON(ddmForm); } if (!script.equals(updatedScript)) { ps3.setString(1, updatedScript); ps3.setLong(2, templateId); ps3.addBatch(); } // Template version if (!hasTemplateVersion(templateId, version)) { ps4.setLong(1, increment()); ps4.setLong(2, groupId); ps4.setLong(3, companyId); ps4.setLong(4, userId); ps4.setString(5, userName); ps4.setTimestamp(6, modifiedDate); ps4.setLong(7, classNameId); ps4.setLong(8, classPK); ps4.setLong(9, templateId); ps4.setString(10, DDMStructureConstants.VERSION_DEFAULT); ps4.setString(11, name); ps4.setString(12, description); ps4.setString(13, language); ps4.setString(14, updatedScript); ps4.setInt(15, WorkflowConstants.STATUS_APPROVED); ps4.setLong(16, userId); ps4.setString(17, userName); ps4.setTimestamp(18, modifiedDate); ps4.addBatch(); } } ps2.executeBatch(); ps3.executeBatch(); ps4.executeBatch(); } }
From source file:com.liferay.dynamic.data.mapping.internal.util.DefaultDDMStructureHelperImpl.java
License:Open Source License
@Override public void addDDMStructures(long userId, long groupId, long classNameId, ClassLoader classLoader, String fileName, ServiceContext serviceContext) throws Exception { Locale locale = _portal.getSiteDefaultLocale(groupId); List<Element> structureElements = getDDMStructures(classLoader, fileName, locale); for (Element structureElement : structureElements) { boolean dynamicStructure = GetterUtil.getBoolean(structureElement.elementText("dynamic-structure")); if (dynamicStructure) { continue; }/* w w w.j ava 2 s .com*/ String name = structureElement.elementText("name"); String description = structureElement.elementText("description"); String ddmStructureKey = name; DDMStructure ddmStructure = _ddmStructureLocalService.fetchStructure(groupId, classNameId, ddmStructureKey); if (ddmStructure != null) { continue; } if (name.equals(DLFileEntryTypeConstants.NAME_IG_IMAGE) && !UpgradeProcessUtil.isCreateIGImageDocumentType()) { continue; } String ddmTemplateKey = name; Map<Locale, String> nameMap = new HashMap<>(); Map<Locale, String> descriptionMap = new HashMap<>(); for (Locale curLocale : LanguageUtil.getAvailableLocales(groupId)) { nameMap.put(curLocale, LanguageUtil.get(curLocale, name)); descriptionMap.put(curLocale, LanguageUtil.get(curLocale, description)); } DDMForm ddmForm = getDDMForm(structureElement, locale); DDMFormLayout ddmFormLayout = getDDMFormLayout(structureElement, ddmForm); serviceContext.setAttribute("status", WorkflowConstants.STATUS_APPROVED); ddmStructure = _ddmStructureLocalService.addStructure(userId, groupId, DDMStructureConstants.DEFAULT_PARENT_STRUCTURE_ID, classNameId, ddmStructureKey, nameMap, descriptionMap, ddmForm, ddmFormLayout, StorageType.JSON.toString(), DDMStructureConstants.TYPE_DEFAULT, serviceContext); Element templateElement = structureElement.element("template"); if (templateElement == null) { continue; } String templateFileName = templateElement.elementText("file-name"); String script = StringUtil.read(classLoader, FileUtil.getPath(fileName) + StringPool.SLASH + templateFileName); boolean cacheable = GetterUtil.getBoolean(templateElement.elementText("cacheable")); _ddmTemplateLocalService.addTemplate(userId, groupId, _portal.getClassNameId(DDMStructure.class), ddmStructure.getStructureId(), ddmStructure.getClassNameId(), ddmTemplateKey, nameMap, null, DDMTemplateConstants.TEMPLATE_TYPE_DISPLAY, DDMTemplateConstants.TEMPLATE_MODE_CREATE, TemplateConstants.LANG_TYPE_FTL, script, cacheable, false, StringPool.BLANK, null, serviceContext); } }
From source file:com.liferay.dynamic.data.mapping.service.impl.DDMFormInstanceLocalServiceImpl.java
License:Open Source License
protected DDMFormInstanceVersion addFormInstanceVersion(long ddmStructureVersionId, User user, DDMFormInstance ddmFormInstance, String version, ServiceContext serviceContext) throws PortalException { long ddmFormInstanceVersionId = counterLocalService.increment(); DDMFormInstanceVersion ddmFormInstanceVersion = ddmFormInstanceVersionPersistence .create(ddmFormInstanceVersionId); ddmFormInstanceVersion.setGroupId(ddmFormInstance.getGroupId()); ddmFormInstanceVersion.setCompanyId(ddmFormInstance.getCompanyId()); ddmFormInstanceVersion.setUserId(ddmFormInstance.getUserId()); ddmFormInstanceVersion.setUserName(ddmFormInstance.getUserName()); ddmFormInstanceVersion.setCreateDate(ddmFormInstance.getModifiedDate()); ddmFormInstanceVersion.setFormInstanceId(ddmFormInstance.getFormInstanceId()); ddmFormInstanceVersion.setStructureVersionId(ddmStructureVersionId); ddmFormInstanceVersion.setVersion(version); ddmFormInstanceVersion.setName(ddmFormInstance.getName()); ddmFormInstanceVersion.setDescription(ddmFormInstance.getDescription()); int status = GetterUtil.getInteger(serviceContext.getAttribute("status"), WorkflowConstants.STATUS_APPROVED); ddmFormInstanceVersion.setStatus(status); ddmFormInstanceVersion.setStatusByUserId(user.getUserId()); ddmFormInstanceVersion.setStatusByUserName(user.getFullName()); ddmFormInstanceVersion.setStatusDate(ddmFormInstance.getModifiedDate()); ddmFormInstanceVersionPersistence.update(ddmFormInstanceVersion); return ddmFormInstanceVersion; }
From source file:com.liferay.dynamic.data.mapping.service.impl.DDMFormInstanceLocalServiceImpl.java
License:Open Source License
protected DDMFormInstance doUpdateFormInstance(long userId, long ddmStructureId, Map<Locale, String> nameMap, Map<Locale, String> descriptionMap, DDMFormValues settingsDDMFormValues, ServiceContext serviceContext, DDMFormInstance ddmFormInstance) throws PortalException { Locale defaultLocale = getDDMFormDefaultLocale(ddmStructureId); validate(ddmStructureId, nameMap, settingsDDMFormValues, defaultLocale); User user = userLocalService.getUser(userId); long oldDDMStructureId = ddmFormInstance.getStructureId(); ddmFormInstance.setStructureId(ddmStructureId); DDMFormInstanceVersion latestDDMFormInstanceVersion = ddmFormInstanceVersionLocalService .getLatestFormInstanceVersion(ddmFormInstance.getFormInstanceId()); int status = GetterUtil.getInteger(serviceContext.getAttribute("status"), WorkflowConstants.STATUS_APPROVED); boolean updateVersion = false; if ((latestDDMFormInstanceVersion.getStatus() == WorkflowConstants.STATUS_DRAFT) && (status == WorkflowConstants.STATUS_DRAFT)) { updateVersion = true;/* w ww. java2 s . c om*/ } boolean majorVersion = GetterUtil.getBoolean(serviceContext.getAttribute("majorVersion")); String version = getNextVersion(latestDDMFormInstanceVersion.getVersion(), majorVersion); if (!updateVersion) { ddmFormInstance.setVersion(version); ddmFormInstance.setVersionUserId(user.getUserId()); ddmFormInstance.setVersionUserName(user.getFullName()); } ddmFormInstance.setNameMap(nameMap, defaultLocale); ddmFormInstance.setDescriptionMap(descriptionMap, defaultLocale); ddmFormInstance.setSettings(ddmFormValuesJSONSerializer.serialize(settingsDDMFormValues)); DDMFormInstance updatedDDMFormInstance = ddmFormInstancePersistence.update(ddmFormInstance); updateWorkflowDefinitionLink(ddmFormInstance, settingsDDMFormValues, serviceContext); long ddmStructureVersionId = getStructureVersionId(ddmStructureId); if (updateVersion) { updateFormInstanceVersion(ddmStructureVersionId, user, ddmFormInstance); } else { addFormInstanceVersion(ddmStructureVersionId, user, ddmFormInstance, version, serviceContext); } if (oldDDMStructureId != ddmStructureId) { ddmFormInstanceRecordLocalService.deleteFormInstanceRecords(ddmFormInstance.getFormInstanceId()); } return updatedDDMFormInstance; }
From source file:com.liferay.dynamic.data.mapping.service.impl.DDMFormInstanceRecordLocalServiceImpl.java
License:Open Source License
@Indexable(type = IndexableType.REINDEX) @Override/*from ww w . j ava 2 s . c o m*/ public DDMFormInstanceRecord updateStatus(long userId, long recordVersionId, int status, ServiceContext serviceContext) throws PortalException { // Record version User user = userLocalService.getUser(userId); DDMFormInstanceRecordVersion formInstanceRecordVersion = ddmFormInstanceRecordVersionPersistence .findByPrimaryKey(recordVersionId); formInstanceRecordVersion.setStatus(status); formInstanceRecordVersion.setStatusByUserId(user.getUserId()); formInstanceRecordVersion.setStatusByUserName(user.getFullName()); formInstanceRecordVersion.setStatusDate(new Date()); ddmFormInstanceRecordVersionPersistence.update(formInstanceRecordVersion); // Record DDMFormInstanceRecord formInstanceRecord = ddmFormInstanceRecordPersistence .findByPrimaryKey(formInstanceRecordVersion.getFormInstanceRecordId()); if (status == WorkflowConstants.STATUS_APPROVED) { if (DLUtil.compareVersions(formInstanceRecord.getVersion(), formInstanceRecordVersion.getVersion()) <= 0) { formInstanceRecord.setStorageId(formInstanceRecordVersion.getStorageId()); formInstanceRecord.setVersion(formInstanceRecordVersion.getVersion()); formInstanceRecord.setFormInstanceId(formInstanceRecordVersion.getFormInstanceId()); formInstanceRecord.setVersion(formInstanceRecordVersion.getVersion()); formInstanceRecord.setVersionUserId(formInstanceRecordVersion.getUserId()); formInstanceRecord.setVersionUserName(formInstanceRecordVersion.getUserName()); ddmFormInstanceRecordPersistence.update(formInstanceRecord); } } else { if (Objects.equals(formInstanceRecord.getVersion(), formInstanceRecordVersion.getVersion())) { String newVersion = _VERSION_DEFAULT; List<DDMFormInstanceRecordVersion> approvedRecordVersions = ddmFormInstanceRecordVersionPersistence .findByF_S(formInstanceRecord.getFormInstanceRecordId(), WorkflowConstants.STATUS_APPROVED); if (!approvedRecordVersions.isEmpty()) { newVersion = approvedRecordVersions.get(0).getVersion(); } formInstanceRecord.setVersion(newVersion); ddmFormInstanceRecordPersistence.update(formInstanceRecord); } } return formInstanceRecord; }
From source file:com.liferay.dynamic.data.mapping.service.impl.DDMFormInstanceRecordLocalServiceImpl.java
License:Open Source License
protected void updateAsset(long userId, DDMFormInstanceRecord formInstanceRecord, DDMFormInstanceRecordVersion formInstanceRecordVersion, long[] assetCategoryIds, String[] assetTagNames, Locale locale, Double priority) throws PortalException { boolean addDraftAssetEntry = false; if ((formInstanceRecordVersion != null) && !formInstanceRecordVersion.isApproved()) { String version = formInstanceRecordVersion.getVersion(); if (!version.equals(_VERSION_DEFAULT)) { int approvedRecordVersionsCount = ddmFormInstanceRecordVersionPersistence.countByF_S( formInstanceRecord.getFormInstanceRecordId(), WorkflowConstants.STATUS_APPROVED); if (approvedRecordVersionsCount > 0) { addDraftAssetEntry = true; }//from w w w. j a v a 2 s . c o m } } DDMFormInstance formInstance = formInstanceRecord.getFormInstance(); DDMStructure ddmStructure = formInstance.getStructure(); String ddmStructureName = ddmStructure.getName(locale); String recordSetName = formInstance.getName(locale); String title = LanguageUtil.format(locale, "new-x-for-list-x", new Object[] { ddmStructureName, recordSetName }, false); if (addDraftAssetEntry) { assetEntryLocalService.updateEntry(userId, formInstanceRecord.getGroupId(), formInstanceRecord.getCreateDate(), formInstanceRecord.getModifiedDate(), DDMFormInstanceRecord.class.getName(), formInstanceRecordVersion.getFormInstanceRecordVersionId(), formInstanceRecord.getUuid(), 0, assetCategoryIds, assetTagNames, true, false, null, null, null, null, ContentTypes.TEXT_HTML, title, null, StringPool.BLANK, null, null, 0, 0, priority); } else { assetEntryLocalService.updateEntry(userId, formInstanceRecord.getGroupId(), formInstanceRecord.getCreateDate(), formInstanceRecord.getModifiedDate(), DDMFormInstanceRecord.class.getName(), formInstanceRecord.getFormInstanceRecordId(), formInstanceRecord.getUuid(), 0, assetCategoryIds, assetTagNames, true, false, null, null, null, null, ContentTypes.TEXT_HTML, title, null, StringPool.BLANK, null, null, 0, 0, priority); } }
From source file:com.liferay.dynamic.data.mapping.service.impl.DDMStructureLocalServiceImpl.java
License:Open Source License
@Override public void revertStructure(long userId, long structureId, String version, ServiceContext serviceContext) throws PortalException { DDMStructureVersion structureVersion = ddmStructureVersionLocalService.getStructureVersion(structureId, version);/*from w w w . ja v a 2 s. c om*/ if (!structureVersion.isApproved()) { throw new InvalidStructureVersionException("Unable to revert from an unapproved file version"); } DDMStructure structure = structureVersion.getStructure(); serviceContext.setAttribute("majorVersion", Boolean.TRUE); serviceContext.setAttribute("status", WorkflowConstants.STATUS_APPROVED); serviceContext.setCommand(Constants.REVERT); ddmStructureLocalService.updateStructure(userId, structure.getGroupId(), structureVersion.getParentStructureId(), structure.getClassNameId(), structure.getStructureKey(), structureVersion.getNameMap(), structureVersion.getDescriptionMap(), structureVersion.getDDMForm(), structureVersion.getDDMFormLayout(), serviceContext); }