List of usage examples for com.liferay.portal.kernel.json JSONObject length
public int length();
From source file:com.liferay.adaptive.media.image.internal.util.AMImageSerializerImplTest.java
License:Open Source License
@Test public void testSerializeAdaptiveMediaWithEmptyAttributes() throws Exception { Map<String, String> properties = new HashMap<>(); AdaptiveMedia<AMImageProcessor> adaptiveMedia = new AMImage(() -> null, AMImageAttributeMapping.fromProperties(properties), new URI("http://localhost")); AMImageSerializer amImageSerializer = new AMImageSerializerImpl(); String serialize = amImageSerializer.serialize(adaptiveMedia); JSONObject jsonObject = JSONFactoryUtil.createJSONObject(serialize); JSONObject attributesJSONObject = jsonObject.getJSONObject("attributes"); Assert.assertEquals(0, attributesJSONObject.length()); }
From source file:com.liferay.asset.categories.admin.web.internal.exportimport.data.handler.AssetVocabularyStagedModelDataHandler.java
License:Open Source License
protected String getImportSettings(PortletDataContext portletDataContext, AssetVocabulary vocabulary) throws PortalException { Element vocabularyElement = portletDataContext.getImportDataElement(vocabulary); JSONObject settingsMetadataJSONObject = getImportSettingsMetadataJSONObject(portletDataContext, vocabularyElement);/*w ww .j a va2s . com*/ if (settingsMetadataJSONObject.length() == 0) { return vocabulary.getSettings(); } long groupId = portletDataContext.getScopeGroupId(); long[] groupIds = { portletDataContext.getCompanyGroupId(), groupId }; Locale locale = _portal.getSiteDefaultLocale(groupId); AssetVocabularySettingsImportHelper assetVocabularySettingsImportHelper = new AssetVocabularySettingsImportHelper( vocabulary.getSettings(), _classNameLocalService, groupIds, locale, settingsMetadataJSONObject); return assetVocabularySettingsImportHelper.getSettings(); }
From source file:com.liferay.dynamic.data.mapping.type.document.library.internal.DocumentLibraryDDMFormFieldTemplateContextContributor.java
License:Open Source License
@Override public Map<String, Object> getParameters(DDMFormField ddmFormField, DDMFormFieldRenderingContext ddmFormFieldRenderingContext) { Map<String, Object> parameters = new HashMap<>(); HttpServletRequest request = ddmFormFieldRenderingContext.getHttpServletRequest(); if (ddmFormFieldRenderingContext.isReadOnly() && Validator.isNotNull(ddmFormFieldRenderingContext.getValue())) { JSONObject valueJSONObject = getValueJSONObject(ddmFormFieldRenderingContext.getValue()); if ((valueJSONObject != null) && (valueJSONObject.length() > 0)) { parameters.put("fileEntryTitle", valueJSONObject.get("title")); parameters.put("fileEntryURL", getFileEntryURL(request, valueJSONObject)); }// w ww . jav a 2s . c om } parameters.put("groupId", ddmFormFieldRenderingContext.getProperty("groupId")); parameters.put("lexiconIconsPath", getLexiconIconsPath(request)); Map<String, String> stringsMap = new HashMap<>(); ResourceBundle resourceBundle = getResourceBundle(ddmFormFieldRenderingContext.getLocale()); stringsMap.put("select", LanguageUtil.get(resourceBundle, "select")); parameters.put("strings", stringsMap); parameters.put("value", jsonFactory.looseDeserialize(ddmFormFieldRenderingContext.getValue())); return parameters; }
From source file:com.liferay.dynamic.data.mapping.type.document.library.internal.DocumentLibraryDDMFormFieldValueAccessor.java
License:Open Source License
@Override public boolean isEmpty(DDMFormFieldValue ddmFormFieldValue, Locale locale) { JSONObject valueJSONObject = getValue(ddmFormFieldValue, locale); if (valueJSONObject.length() == 0) { return true; }/*ww w. java2 s .c om*/ return false; }
From source file:com.liferay.dynamic.data.mapping.type.grid.internal.GridDDMFormFieldValueRenderer.java
License:Open Source License
@Override public String render(DDMFormFieldValue ddmFormFieldValue, Locale locale) { JSONObject valuesJSONObject = gridDDMFormFieldValueAccessor.getValue(ddmFormFieldValue, locale); if (valuesJSONObject.length() == 0) { return StringPool.BLANK; }/*from w w w.j a v a2 s . com*/ DDMFormFieldOptions rows = getDDMFormFieldOptions(ddmFormFieldValue, "rows"); DDMFormFieldOptions columns = getDDMFormFieldOptions(ddmFormFieldValue, "columns"); StringBundler sb = new StringBundler(valuesJSONObject.length() * 5); Set<String> rowOptions = rows.getOptionsValues(); for (String rowOption : rowOptions) { if (valuesJSONObject.has(rowOption)) { String columnOption = valuesJSONObject.getString(rowOption); LocalizedValue rowLabel = rows.getOptionLabels(rowOption); LocalizedValue columnLabel = columns.getOptionLabels(columnOption); sb.append(getLabel(rowLabel, rowOption, locale)); sb.append(StringPool.COLON); sb.append(StringPool.SPACE); sb.append(getLabel(columnLabel, columnOption, locale)); sb.append(StringPool.COMMA_AND_SPACE); } } if (sb.index() > 0) { sb.setIndex(sb.index() - 1); } return sb.toString(); }
From source file:com.liferay.exportimport.resources.importer.internal.util.FileSystemImporter.java
License:Open Source License
protected void addLayoutColumnPortlet(Layout layout, String columnId, JSONObject portletJSONObject) throws Exception { LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType(); String rootPortletId = portletJSONObject.getString("portletId"); if (Validator.isNull(rootPortletId)) { throw new ImporterException("portletId is not specified"); }/*from w w w . j av a 2 s . com*/ PortletPreferencesTranslator portletPreferencesTranslator = portletPreferencesTranslators .get(rootPortletId); String portletId = layoutTypePortlet.addPortletId(userId, rootPortletId, columnId, -1, false); if (portletId == null) { return; } JSONObject portletPreferencesJSONObject = portletJSONObject.getJSONObject("portletPreferences"); if ((portletPreferencesJSONObject == null) || (portletPreferencesJSONObject.length() == 0)) { return; } if (portletPreferencesTranslator != null) { PortletPreferencesIds portletPreferencesIds = PortletPreferencesFactoryUtil .getPortletPreferencesIds(layout.getGroupId(), 0, layout, portletId, false); PortletPreferences portletSetup = PortletPreferencesLocalServiceUtil .getPreferences(portletPreferencesIds); Iterator<String> iterator = portletPreferencesJSONObject.keys(); while (iterator.hasNext()) { String key = iterator.next(); portletPreferencesTranslator.translate(portletPreferencesJSONObject, key, portletSetup); } portletSetup.store(); } if (rootPortletId.equals(PortletKeys.NESTED_PORTLETS)) { JSONArray columnsJSONArray = portletPreferencesJSONObject.getJSONArray("columns"); StringBundler sb = new StringBundler(4); sb.append(StringPool.UNDERLINE); sb.append(portletId); sb.append(StringPool.DOUBLE_UNDERLINE); sb.append(LayoutTypePortletConstants.COLUMN_PREFIX); addLayoutColumns(layout, sb.toString(), columnsJSONArray); } }
From source file:com.liferay.lms.service.impl.LearningActivityResultLocalServiceImpl.java
License:Open Source License
public LearningActivityResult update(long latId, String tryResultData, String imsmanifest, long userId) throws SystemException, PortalException { LearningActivityTry learningActivityTry = learningActivityTryLocalService.getLearningActivityTry(latId); if (userId != learningActivityTry.getUserId()) { throw new PortalException(); }// w ww . j ava 2 s . c o m LearningActivity learningActivity = learningActivityLocalService .getLearningActivity(learningActivityTry.getActId()); boolean completedAsPassed = GetterUtil.getBoolean(LearningActivityLocalServiceUtil .getExtraContentValue(learningActivityTry.getActId(), "completedAsPassed"), false); long passPuntuation = learningActivity.getPasspuntuation(); List<String> manifestItems = new ArrayList<String>(); Map<String, String> recursos = new HashMap<String, String>(); Map<String, String> manifestResources = new HashMap<String, String>(); boolean isPureAsset = false; long scos = 0; long assets = 0; try { if (Validator.isNotNull(imsmanifest)) { Document imsdocument = SAXReaderUtil.read(imsmanifest); List<Element> resources = new ArrayList<Element>(); resources = imsdocument.getRootElement().element("resources").elements("resource"); isPureAsset = true; for (Element resource : resources) { String identifier = resource.attributeValue("identifier"); String type = resource.attributeValue("scormType"); String type2 = resource.attributeValue("scormtype"); String type3 = type != null ? type : type2 != null ? type2 : "asset"; if (!"asset".equalsIgnoreCase(type3)) { isPureAsset = false; scos++; } else { assets++; } manifestResources.put(identifier, type3); } List<Element> items = new ArrayList<Element>(); items.addAll(imsdocument.getRootElement().element("organizations").elements("organization").get(0) .elements("item")); for (int i = 0; i < items.size(); i++) { Element item = items.get(i); String identifier = item.attributeValue("identifier"); String identifierref = item.attributeValue("identifierref"); if (identifier != null && !"".equals(identifier) && identifierref != null && !"".equals(identifierref)) { manifestItems.add(identifier); recursos.put(identifier, identifierref); } items.addAll(item.elements("item")); } } } catch (DocumentException e) { } catch (Exception e) { e.printStackTrace(); } Long master_score = new Integer(learningActivity.getPasspuntuation()).longValue(); JSONObject scorm = JSONFactoryUtil.createJSONObject(); scorm = JSONFactoryUtil.createJSONObject(tryResultData); JSONObject organizations = scorm.getJSONObject("organizations"); JSONArray organizationNames = organizations.names(); JSONObject organization = organizations.getJSONObject(organizationNames.getString(0)); JSONObject cmis = organization.getJSONObject("cmi"); JSONArray cmiNames = cmis.names(); List<String> completion_statuses = new ArrayList<String>(); List<String> success_statuses = new ArrayList<String>(); List<Long> scores = new ArrayList<Long>(); String total_completion_status = "not attempted"; String total_lesson_status = ""; Double total_score = 0.0; if (cmis.length() == 0) { // Asset if (isPureAsset) { for (int i = 0; i < manifestItems.size(); i++) { completion_statuses.add("completed"); success_statuses.add("passed"); scores.add(new Long(100)); } total_completion_status = "completed"; total_lesson_status = "passed"; } else { throw new PortalException(); } } else { for (int i = 0; i < assets; i++) { completion_statuses.add("completed"); success_statuses.add("passed"); //scores.add(new Long(100)); } for (int i = 0; i < cmiNames.length(); i++) { JSONObject cmi = cmis.getJSONObject(cmiNames.getString(i)); String typeCmi = manifestResources.get(recursos.get(cmiNames.getString(i))); String completion_status = null; String success_status = null; Double max_score = null; Double min_score = null; Double raw_score = null; Double scaled_score = null; Long scaled_score_long = null; String suspend_data = cmi.getJSONObject("cmi.suspend_data").getString("value"); if (cmi.getJSONObject("cmi.core.lesson_status") != null) { // 1.2 String lesson_status = cmi.getJSONObject("cmi.core.lesson_status").getString("value"); //"passed", "completed", "failed", "incomplete", "browsed", "not attempted" if ("passed".equals(lesson_status)) { success_status = "passed"; completion_status = "completed"; } else if ("failed".equals(lesson_status)) { success_status = "failed"; completion_status = "completed"; } else if ("completed".equals(lesson_status)) { if (completedAsPassed) { success_status = "passed"; // or passed } else { success_status = "unknown"; } completion_status = "completed"; } else if ("browsed".equals(lesson_status)) { success_status = "passed"; completion_status = "completed"; } else if ("incomplete".equals(lesson_status)) { success_status = "unknown"; completion_status = "incomplete"; } else if ("not attempted".equals(lesson_status)) { success_status = "unknown"; completion_status = "not attempted"; if (suspend_data.contains("1")) { completion_status = "completed"; if (suspend_data.contains("0")) { completion_status = "incomplete"; } tryResultData.replaceAll("\"not attempted\"", "\"" + completion_status + "\""); } } max_score = cmi.getJSONObject("cmi.core.score.max").getDouble("value", 100); min_score = cmi.getJSONObject("cmi.core.score.min").getDouble("value", 0); raw_score = cmi.getJSONObject("cmi.core.score.raw").getDouble("value", "asset".equals(typeCmi) ? max_score : 0); if ("passed".equals(success_status) && raw_score == 0 && completedAsPassed) { raw_score = (double) passPuntuation; } scaled_score = new Double(Math.round((raw_score * 100) / (max_score - min_score))); scaled_score_long = Math.round(scaled_score); } else { // 1.3 //"completed", "incomplete", "not attempted", "unknown" completion_status = cmi.getJSONObject("cmi.completion_status").getString("value"); if ("completed".equals(completion_status)) { if (completedAsPassed) { success_status = "passed"; // or passed } else { success_status = cmi.getJSONObject("cmi.success_status").getString("value"); } } else { success_status = cmi.getJSONObject("cmi.success_status").getString("value"); } //"passed", "failed", "unknown" max_score = cmi.getJSONObject("cmi.score.max").getDouble("value", 100); min_score = cmi.getJSONObject("cmi.score.min").getDouble("value", 0); raw_score = cmi.getJSONObject("cmi.score.raw").getDouble("value", "asset".equals(typeCmi) ? 100 : 0); if ("passed".equals(success_status) && raw_score == 0 && completedAsPassed) { raw_score = (double) passPuntuation; } scaled_score = new Double(Math.round((raw_score * 100) / (max_score - min_score))); scaled_score = cmi.getJSONObject("cmi.score.scaled").getDouble("value", -1) != -1 ? (cmi.getJSONObject("cmi.score.scaled").getDouble("value") * (max_score - min_score) + min_score) : scaled_score; scaled_score_long = Math.round(scaled_score); } completion_statuses.add(completion_status); success_statuses.add(success_status); scores.add(scaled_score_long); } } if (!isPureAsset) { if (manifestItems.size() <= 1) { if (completion_statuses.size() == 1) { total_completion_status = completion_statuses.get(0); } if (success_statuses.size() == 1) { total_lesson_status = success_statuses.get(0); } } else { if (success_statuses.size() < manifestItems.size()) { total_lesson_status = "unknown"; } else if (success_statuses.size() == manifestItems.size()) { for (int i = 0; i < success_statuses.size(); i++) { if ("unknown".equals(success_statuses.get(i))) { total_lesson_status = "unknown"; break; } if ("passed".equals(success_statuses.get(i))) { if ("passed".equals(total_lesson_status) || "".equals(total_lesson_status)) { total_lesson_status = "passed"; } if ("failed".equals(total_lesson_status)) { total_lesson_status = "unknown"; break; } } if ("failed".equals(success_statuses.get(i))) { if ("passed".equals(total_lesson_status)) { total_lesson_status = "unknown"; break; } if ("failed".equals(total_lesson_status)) { total_lesson_status = "failed"; } } } } if (completion_statuses.size() < manifestItems.size()) { if (completion_statuses.size() <= 1) { total_completion_status = completion_statuses.get(0).equals("completed") ? "incomplete" : completion_statuses.get(0); } else { total_completion_status = "incomplete"; } } else if (completion_statuses.size() == manifestItems.size()) { for (int i = 0; i < completion_statuses.size(); i++) { //total_score += scores.get(i); if ("incomplete".equals(completion_statuses.get(i))) { total_completion_status = "incomplete"; break; } if ("completed".equals(completion_statuses.get(i))) { if ("not attempted".equals(total_completion_status)) { total_completion_status = "completed"; } if ("unknown".equals(total_completion_status)) { total_completion_status = "incomplete"; break; } } if ("not attempted".equals(completion_statuses.get(i))) { if ("completed".equals(total_completion_status)) { total_completion_status = "incomplete"; break; } if ("unknown".equals(total_completion_status)) { total_completion_status = "unknown"; } } if ("unknown".equals(completion_statuses.get(i))) { if ("completed".equals(total_completion_status)) { total_completion_status = "incomplete"; break; } if ("unknown".equals(total_completion_status) || "not attempted".equals(total_completion_status)) { total_completion_status = "unknown"; } } } } } } for (int i = 0; i < scores.size(); i++) { total_score += scores.get(i); } if (scos > 0) { total_score = total_score / (scos); } else { total_score = total_score / ((scos + assets) > 0 ? (scos + assets) : 1); } if ("incomplete".equals(total_completion_status) || "completed".equals(total_completion_status)) { learningActivityTry.setTryResultData(tryResultData); learningActivityTry.setResult(Math.round(total_score)); if (Math.round(total_score) >= master_score) { total_lesson_status = "passed"; } learningActivityTryLocalService.updateLearningActivityTry(learningActivityTry); // If SCO says that the activity has been passed, then the learning activity result has to be marked as passed if ("passed".equals(total_lesson_status)) { LearningActivityResult laresult = learningActivityResultLocalService .getByActIdAndUserId(learningActivityTry.getActId(), userId); if (!laresult.getPassed()) { laresult.setPassed(true); laresult.setEndDate(new Date(System.currentTimeMillis())); learningActivityResultLocalService.updateLearningActivityResult(laresult); if (laresult.getPassed()) { moduleResultLocalService.update(laresult); } } } // If SCO says that the activity has been failed, then the learning activity result has to be marked as failed if ("failed".equals(total_lesson_status)) { LearningActivityResult laresult = learningActivityResultLocalService .getByActIdAndUserId(learningActivityTry.getActId(), userId); if (laresult.getEndDate() == null) { laresult.setPassed(false); laresult.setEndDate(new Date(System.currentTimeMillis())); learningActivityResultLocalService.updateLearningActivityResult(laresult); moduleResultLocalService.update(laresult); } } } //auditing if (learningActivity != null) { AuditingLogFactory.audit(learningActivity.getCompanyId(), learningActivity.getGroupId(), LearningActivityResult.class.getName(), learningActivity.getPrimaryKey(), learningActivity.getUserId(), AuditConstants.UPDATE, null); } return this.getByActIdAndUserId(learningActivityTry.getActId(), userId); }
From source file:com.liferay.osb.scv.connector.internal.jsonws.SCVUserJSONWS.java
License:Open Source License
public JSONObject getFields() throws Exception { JSONObject fieldsJSONObject = JSONFactoryUtil.createJSONObject(); for (Class<?> clazz : _modelClasses.values()) { JSONObject modelFieldsJSONObject = getFields(clazz); if (modelFieldsJSONObject.length() == 0) { continue; }/* w w w . ja v a 2s . co m*/ fieldsJSONObject.put(clazz.getSimpleName(), modelFieldsJSONObject); } return fieldsJSONObject; }
From source file:com.liferay.osb.scv.user.mapper.internal.event.UpdateUsersEvent.java
License:Open Source License
public void handleResponse(Message message) throws Exception { if (_userMappingRulesMap.isEmpty()) { return;//from w w w.ja v a 2s . c om } MappingDataSource mappingDataSource = MappingDataSourceLocalServiceUtil .fetchMappingDataSource(_mappingDataSourceId); JSONObject sourceJSONObject = JSONFactoryUtil.createJSONObject(String.valueOf(message.getPayload())); JSONObject destinationJSONObject = JSONFactoryUtil.createJSONObject(); Iterator<String> keys = sourceJSONObject.keys(); while (keys.hasNext()) { String key = keys.next(); List<UserMappingRule> userMappingRules = _userMappingRulesMap.get(key); if (ListUtil.isNotNull(userMappingRules)) { Set<String> processedKeys = new HashSet<>(); JSONArray sourceModelJSONArray = sourceJSONObject.getJSONArray(key); JSONArray destinationModelJSONArray = JSONFactoryUtil.createJSONArray(); for (int i = 0; i < sourceModelJSONArray.length(); i++) { JSONObject sourceModelJSONObject = sourceModelJSONArray.getJSONObject(i); JSONObject destinationModelJSONObject = JSONFactoryUtil.createJSONObject(); for (UserMappingRule userMappingRule : userMappingRules) { processedKeys.add(userMappingRule.getSourceField()); String value = sourceModelJSONObject.getString(userMappingRule.getSourceField()); if ((value != null) && !_override) { destinationModelJSONObject.put(userMappingRule.getDestinationField(), value); } } Iterator<String> allKeys = sourceModelJSONObject.keys(); while (allKeys.hasNext()) { String curKey = allKeys.next(); if (processedKeys.contains(curKey)) { continue; } destinationModelJSONObject.put(curKey, sourceModelJSONObject.getString(curKey)); } destinationModelJSONArray.put(destinationModelJSONObject); } destinationJSONObject.put(key, destinationModelJSONArray); } } if (destinationJSONObject.length() == 0) { return; } JSONArray sourceUserJSONArray = sourceJSONObject.getJSONArray("User"); if ((mappingDataSource.getType() != MappingDataSourceConstants.CUSTOM) && !_userMappingRulesMap.containsKey("User") && (sourceUserJSONArray != null)) { JSONArray destinationUserJSONArray = JSONFactoryUtil.createJSONArray(); for (int i = 0; i < sourceUserJSONArray.length(); i++) { JSONObject sourceUserJSONObject = sourceUserJSONArray.getJSONObject(i); JSONObject destinationUserJSONObject = JSONFactoryUtil.createJSONObject(); keys = sourceUserJSONObject.keys(); while (keys.hasNext()) { String key = keys.next(); destinationUserJSONObject.put(key, sourceUserJSONObject.getString(key)); } destinationUserJSONArray.put(destinationUserJSONObject); } destinationJSONObject.put("User", destinationUserJSONArray); } // START: TEMP CODE // Map<String, List<String>> map = new HashMap<>(); map.put("User", Arrays.asList("emailAddress")); // END: TEMP CODE // UserProfileUtil.updateDataSourceEntries(_mappingDataSourceId, map, destinationJSONObject); }
From source file:com.liferay.osb.scv.user.mapper.service.impl.UserMappingRuleLocalServiceImpl.java
License:Open Source License
@Override public UserMappingRule addUserMappingRule(long companyId, long userId, long mappingDataSourceId, String modelName, long fieldSetId, String sourceField, String destinationField, int frequency, boolean required) throws PortalException { long userMappingRuleId = counterLocalService.increment(); UserMappingRule userMappingRule = userMappingRulePersistence.create(userMappingRuleId); userMappingRule.setCompanyId(companyId); userMappingRule.setUserId(userId);//from w w w . j a v a 2 s . com userMappingRule.setCreateDate(new Date()); userMappingRule.setMappingDataSourceId(mappingDataSourceId); userMappingRule.setFieldSetId(fieldSetId); userMappingRule.setModelName(modelName); userMappingRule.setSourceField(sourceField); userMappingRule.setDestinationField(destinationField); userMappingRule.setRequired(required); MappingDataSource mappingDataSource = mappingDataSourceLocalService .fetchMappingDataSource(mappingDataSourceId); JSONObject fieldsJSONObject = JSONFactoryUtil.createJSONObject(mappingDataSource.getAvailableFields()); // START TEMP FIX if (fieldsJSONObject.length() == 0) { userMappingRule.setFieldType("String"); } else { // END TEMP FIX JSONObject modelFieldsJSONObject = fieldsJSONObject.getJSONObject(modelName); userMappingRule.setFieldType(modelFieldsJSONObject.getString(sourceField)); } userMappingRule.setFrequency(frequency); userMappingRulePersistence.update(userMappingRule); List<UserMappingRule> userMappingRules = new ArrayList<>(); userMappingRules.add(userMappingRule); if (mappingDataSource.getType() == MappingDataSourceConstants.CUSTOM) { return userMappingRule; } Event updateUsersEvent = new UpdateUsersEvent(mappingDataSourceId, userMappingRules); updateUsersEvent.run(); return userMappingRule; }