List of usage examples for com.liferay.portal.kernel.exception LocaleException LocaleException
public LocaleException(int type, Throwable cause)
From source file:com.liferay.dynamic.data.mapping.model.impl.DDMStructureImpl.java
License:Open Source License
@Override public void prepareLocalizedFieldsForImport(Locale defaultImportLocale) throws LocaleException { super.prepareLocalizedFieldsForImport(defaultImportLocale); try {// w w w . jav a 2 s . c o m setDefinition( DDMStructureLocalServiceUtil.prepareLocalizedDefinitionForImport(this, defaultImportLocale)); } catch (Exception e) { throw new LocaleException(LocaleException.TYPE_EXPORT_IMPORT, e); } }
From source file:com.liferay.dynamic.data.mapping.service.impl.DDMStructureLocalServiceImpl.java
License:Open Source License
protected void validate(Map<Locale, String> nameMap, Locale contentDefaultLocale) throws PortalException { String name = nameMap.get(contentDefaultLocale); if (Validator.isNull(name)) { throw new StructureNameException("Name is null for locale " + contentDefaultLocale.getDisplayName()); }//from w ww. ja v a 2 s . c om if (!LanguageUtil.isAvailableLocale(contentDefaultLocale)) { Long companyId = CompanyThreadLocal.getCompanyId(); LocaleException le = new LocaleException(LocaleException.TYPE_CONTENT, StringBundler.concat("The locale ", String.valueOf(contentDefaultLocale), " is not available in company ", String.valueOf(companyId))); le.setSourceAvailableLocales(Collections.singleton(contentDefaultLocale)); le.setTargetAvailableLocales(LanguageUtil.getAvailableLocales()); throw le; } }
From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
protected void validate(long companyId, long groupId, long classNameId, Map<Locale, String> titleMap, String content, String ddmStructureKey, String ddmTemplateKey, Date displayDate, Date expirationDate, boolean smallImage, String smallImageURL, File smallImageFile, byte[] smallImageBytes, ServiceContext serviceContext) throws PortalException { Locale articleDefaultLocale = LocaleUtil.fromLanguageId(LocalizationUtil.getDefaultLanguageId(content)); if (!ExportImportThreadLocal.isImportInProcess()) { if (!LanguageUtil.isAvailableLocale(groupId, articleDefaultLocale)) { LocaleException le = new LocaleException(LocaleException.TYPE_CONTENT, "The locale " + articleDefaultLocale + " is not available in site with groupId" + groupId); le.setSourceAvailableLocales(Collections.singleton(articleDefaultLocale)); le.setTargetAvailableLocales(LanguageUtil.getAvailableLocales(groupId)); throw le; }//w w w . j a v a2 s. co m if ((expirationDate != null) && (expirationDate.before(new Date()) || ((displayDate != null) && expirationDate.before(displayDate)))) { throw new ArticleExpirationDateException("Expiration date " + expirationDate + " is in the past"); } } if ((classNameId == JournalArticleConstants.CLASSNAME_ID_DEFAULT) && (titleMap.isEmpty() || Validator.isNull(titleMap.get(articleDefaultLocale)))) { throw new ArticleTitleException("Title is null"); } validateContent(content); DDMStructure ddmStructure = ddmStructureLocalService.getStructure(PortalUtil.getSiteGroupId(groupId), classNameLocalService.getClassNameId(JournalArticle.class), ddmStructureKey, true); validateDDMStructureFields(ddmStructure, classNameId, content, articleDefaultLocale); if (Validator.isNotNull(ddmTemplateKey)) { DDMTemplate ddmTemplate = ddmTemplateLocalService.getTemplate(PortalUtil.getSiteGroupId(groupId), classNameLocalService.getClassNameId(DDMStructure.class), ddmTemplateKey, true); if (ddmTemplate.getClassPK() != ddmStructure.getStructureId()) { throw new NoSuchTemplateException("{templateKey=" + ddmTemplateKey + "}"); } } else if (classNameId == JournalArticleConstants.CLASSNAME_ID_DEFAULT) { throw new NoSuchTemplateException("DDM template key is null"); } if (!smallImage || Validator.isNotNull(smallImageURL) || (smallImageFile == null) || (smallImageBytes == null)) { return; } String smallImageName = smallImageFile.getName(); boolean validSmallImageExtension = false; for (String imageExtension : _journalFileUploadsConfiguration.imageExtensions()) { if (StringPool.STAR.equals(imageExtension) || StringUtil.endsWith(smallImageName, imageExtension)) { validSmallImageExtension = true; break; } } if (!validSmallImageExtension) { throw new ArticleSmallImageNameException(smallImageName); } long smallImageMaxSize = _journalFileUploadsConfiguration.smallImageMaxSize(); if ((smallImageMaxSize > 0) && (smallImageBytes.length > smallImageMaxSize)) { throw new ArticleSmallImageSizeException(smallImageBytes.length + " exceeds " + smallImageMaxSize); } }
From source file:com.liferay.journal.util.impl.JournalUtil.java
License:Open Source License
public static String prepareLocalizedContentForImport(String content, Locale defaultImportLocale) throws LocaleException { try {/* ww w . jav a 2s . c o m*/ Document oldDocument = SAXReaderUtil.read(content); Document newDocument = SAXReaderUtil.read(content); Element newRootElement = newDocument.getRootElement(); Attribute availableLocalesAttribute = newRootElement.attribute("available-locales"); if (availableLocalesAttribute == null) { newRootElement = newRootElement.addAttribute("available-locales", StringPool.BLANK); availableLocalesAttribute = newRootElement.attribute("available-locales"); } String defaultImportLanguageId = LocaleUtil.toLanguageId(defaultImportLocale); if (!StringUtil.contains(availableLocalesAttribute.getValue(), defaultImportLanguageId)) { if (Validator.isNull(availableLocalesAttribute.getValue())) { availableLocalesAttribute.setValue(defaultImportLanguageId); } else { availableLocalesAttribute.setValue( availableLocalesAttribute.getValue() + StringPool.COMMA + defaultImportLanguageId); } _mergeArticleContentUpdate(oldDocument, newRootElement, LocaleUtil.toLanguageId(defaultImportLocale)); content = XMLUtil.formatXML(newDocument); } Attribute defaultLocaleAttribute = newRootElement.attribute("default-locale"); if (defaultLocaleAttribute == null) { newRootElement = newRootElement.addAttribute("default-locale", StringPool.BLANK); defaultLocaleAttribute = newRootElement.attribute("default-locale"); } Locale defaultContentLocale = LocaleUtil.fromLanguageId(defaultLocaleAttribute.getValue()); if (!LocaleUtil.equals(defaultContentLocale, defaultImportLocale)) { defaultLocaleAttribute.setValue(defaultImportLanguageId); content = XMLUtil.formatXML(newDocument); } } catch (Exception e) { throw new LocaleException(LocaleException.TYPE_CONTENT, "The locale " + defaultImportLocale + " is not available"); } return content; }