private Map<String, Object> mergeCollectionItemMetaData(Map<String, Object> content) { Object data = content.get(META_DATA); if (data != null) { Map<String, Object> metaData = JsonDeserializer.deserialize( String.valueOf(data), new TypeReference<Map<String, Object>>() {}); content.putAll(metaData); } Map<String, Object> resourceFormat = new HashMap<String, Object>(); resourceFormat.put(VALUE, content.get(VALUE)); resourceFormat.put(DISPLAY_NAME, content.get(DISPLAY_NAME)); content.put(RESOURCEFORMAT, resourceFormat); Object ratingAverage = content.get(AVERAGE); String typeName = (String) content.get(RESOURCE_TYPE); Map<String, Object> resourceType = new HashMap<String, Object>(); resourceType.put(NAME, typeName); content.put(RESOURCE_TYPE, resourceType); if (ratingAverage != null) { Map<String, Object> rating = new HashMap<String, Object>(); rating.put(AVERAGE, content.get(AVERAGE)); rating.put(COUNT, content.get(COUNT)); content.put(RATING, rating); } Object thumbnail = content.get(THUMBNAIL); if (thumbnail != null) { StringBuilder imagePath = new StringBuilder(); imagePath.append(content.get(FOLDER)).append(thumbnail); content.put(THUMBNAILS, GooruImageUtil.getThumbnails(imagePath.toString())); } if (typeName.equalsIgnoreCase(ResourceType.Type.ASSESSMENT_QUESTION.getType())) { // To-Do, need fix later, by getting answer and hints details // without querying the assessment object String gooruOid = (String) content.get(GOORU_OID); AssessmentQuestion assessmentQuestion = this.getQuestionService().getQuestion(gooruOid); if (assessmentQuestion != null && !assessmentQuestion.isQuestionNewGen()) { content.put(ANSWERS, assessmentQuestion.getAnswers()); content.put(HINTS, assessmentQuestion.getHints()); } else { String json = getMongoQuestionsService().getQuestionByIdWithJsonAdjustments(gooruOid); if (json != null) { content.putAll( JsonDeserializer.deserialize(json, new TypeReference<Map<String, Object>>() {})); } } } content.put(USER, setUser(content.get(GOORU_UID), content.get(USER_NAME))); content.put(ASSET_URI, ConfigProperties.getBaseRepoUrl()); content.remove(THUMBNAIL); content.remove(META_DATA); content.remove(VALUE); content.remove(DISPLAY_NAME); content.remove(AVERAGE); content.remove(COUNT); content.remove(GOORU_UID); content.remove(USER_NAME); return content; }
@SuppressWarnings("unchecked") private void updateCollectionMetaDataSummary(Long collectionId, String type, String action) { ContentMeta lessonContentMeta = this.getContentRepository().getContentMeta(collectionId); if (lessonContentMeta != null) { Map<String, Object> metaData = JsonDeserializer.deserialize( lessonContentMeta.getMetaData(), new TypeReference<Map<String, Object>>() {}); Map<String, Object> summary = (Map<String, Object>) metaData.get(SUMMARY); if (summary != null && summary.size() > 0) { int resourceCount = ((Number) summary.get(MetaConstants.RESOURCE_COUNT)).intValue(); int questionCount = ((Number) summary.get(MetaConstants.QUESTION_COUNT)).intValue(); if (type.equalsIgnoreCase(RESOURCE)) { summary.put( MetaConstants.RESOURCE_COUNT, action.equalsIgnoreCase(ADD) ? (resourceCount + 1) : (resourceCount - 1)); } if (type.equalsIgnoreCase(QUESTION)) { summary.put( MetaConstants.QUESTION_COUNT, action.equalsIgnoreCase(ADD) ? (questionCount + 1) : (questionCount - 1)); } metaData.put(SUMMARY, summary); updateContentMeta(lessonContentMeta, metaData); } } }
private Feedback buildFeedbackFromInputParameters(String data, HttpServletRequest request) { Feedback feedback = JsonDeserializer.deserialize(data, Feedback.class); CustomTableValue feedbackCategory = new CustomTableValue(); feedbackCategory.setValue(getFeedbackCategory(request)); feedback.setCategory(feedbackCategory); CustomTableValue product = new CustomTableValue(); product.setValue( isMobileDevice(request) ? CustomProperties.Product.MOBILE.getProduct() : CustomProperties.Product.WEB.getProduct()); feedback.setProduct(product); return feedback; }
private void updateCollectionSettings(Collection collection, Collection newCollection) { ContentSettings contentSettings = null; final Map<String, String> settings = new HashMap<String, String>(); if (collection.getContentSettings() != null && collection.getContentSettings().size() > 0) { contentSettings = collection.getContentSettings().iterator().next(); final Map<String, String> contentSettingsMap = JsonDeserializer.deserialize( contentSettings.getData(), new TypeReference<Map<String, String>>() {}); settings.putAll(contentSettingsMap); } settings.putAll(newCollection.getSettings()); newCollection.setSettings(settings); ContentSettings contentSetting = contentSettings == null ? new ContentSettings() : contentSettings; contentSetting.setContent(collection); contentSetting.setData( new JSONSerializer().exclude(EXCLUDE).serialize(newCollection.getSettings())); this.getCollectionDao().save(contentSetting); }
private AttachDTO buildAttachFromInputParameters(String data) { return JsonDeserializer.deserialize(data, AttachDTO.class); }
private TaskAssoc buildTaskAssocFromInputParameters(String data) { return JsonDeserializer.deserialize(data, TaskAssoc.class); }
private ContextDTO buildContextInputParam(String data) { return JsonDeserializer.deserialize(data, ContextDTO.class); }