我有一個Liferay計劃作業,它應根據一些規則創建新的AssetCategories
。但我總是得到一個AssetCategoryNameException
。在我的新類別的名稱/標題中只有字母,空格和括號,我在現有類別名稱中使用了所有這些字母,空格和括號。我也嘗試用英文字母不變的字符串,結果相同。這種例外的原因是什麼?在生命週期計劃作業中創建AssetCategory
我的代碼如下所示:
AssetCategoryLocalServiceUtil.addCategory(userId, 0, titleMap, null,
myVocabulary.getVocabularyId(), null, serviceContext);
userId
是隨機的管理員用戶的ID,因爲它是一個預定作業,沒有「登錄」用戶。titleMap
與下面的代碼創建:HashMap<Locale, String> titleMap = new HashMap<Locale, String>(); titleMap.put(myLocale, name);
serviceContext
是一個新的ServiceContext
對象
還有一兩件事,我怎麼可以用這種方法的categoryProperties
屬性(問題解決之後)?這是一個String[]
,但屬性是鍵值對。
即使只使用字母,我也有同樣的錯誤。當我打印我的'titleMap' var時,我在最後一次測試中得到了以下結果:'{hu_HU = TO}'。這很簡單,但即使這樣也行不通。 – ttamas
您可以在AssetUtil.java的isValidWord上設置調試點,並檢查您獲得的字符是什麼。 –
恐怕現在不是一種選擇。但我試圖將我的字符串轉換爲字節[]並打印字節。我得到了84 79這是所需的十進制代碼。我可以用這個方法設置_titles_,但是例外是關於_name_。是否有可能名稱不是自動設置的,並且爲空?有沒有明確設置類別名稱的方法? – ttamas