List of usage examples for com.liferay.portal.kernel.json JSONFactoryUtil looseDeserialize
public static <T> T looseDeserialize(String json, Class<T> clazz)
From source file:com.liferay.alloy.mvc.AlloyDataRequestHandler.java
License:Open Source License
protected static String executeDynamicQuery(BaseAlloyControllerImpl baseAlloyControllerImpl, ActionRequest actionRequest) throws Exception { if (baseAlloyControllerImpl.permissioned) { AlloyPermission.check(baseAlloyControllerImpl.themeDisplay, baseAlloyControllerImpl.controllerPath, "index"); }//from w w w . ja va2 s.com AlloyServiceInvoker alloyServiceInvoker = baseAlloyControllerImpl.alloyServiceInvoker; List<Object> properties = JSONFactoryUtil.looseDeserialize(ParamUtil.getString(actionRequest, "properties"), ArrayList.class); int start = ParamUtil.getInteger(actionRequest, "start", QueryUtil.ALL_POS); int end = ParamUtil.getInteger(actionRequest, "end", QueryUtil.ALL_POS); List<BaseModel<?>> baseModels = alloyServiceInvoker.executeDynamicQuery(properties.toArray(), start, end); return JSONFactoryUtil.looseSerialize(baseModels); }
From source file:com.liferay.alloy.mvc.AlloyDataRequestHandler.java
License:Open Source License
protected static String executeSearch(BaseAlloyControllerImpl baseAlloyControllerImpl, ActionRequest actionRequest) throws Exception { if (baseAlloyControllerImpl.permissioned) { AlloyPermission.check(baseAlloyControllerImpl.themeDisplay, baseAlloyControllerImpl.controllerPath, "index"); }/*from w ww. j a v a 2 s. co m*/ Map<String, Serializable> attributes = null; String attributesString = ParamUtil.getString(actionRequest, "attributes"); if (Validator.isNotNull(attributesString)) { attributes = JSONFactoryUtil.looseDeserialize(attributesString, HashMap.class); } String keywords = ParamUtil.getString(actionRequest, "keywords"); Sort[] sorts = null; String sortsString = ParamUtil.getString(actionRequest, "sorts"); if (Validator.isNotNull(sortsString)) { Map<String, Boolean> sortsMap = JSONFactoryUtil.looseDeserialize(sortsString, LinkedHashMap.class); sorts = new Sort[sortsMap.size()]; int i = 0; for (Map.Entry<String, Boolean> entry : sortsMap.entrySet()) { sorts[i++] = new Sort(entry.getKey(), entry.getValue()); } } AlloySearchResult alloySearchResult = baseAlloyControllerImpl.search( PortalUtil.getHttpServletRequest(actionRequest), actionRequest, attributes, keywords, sorts); List<BaseModel<?>> baseModels = alloySearchResult.getBaseModels(); return JSONFactoryUtil.looseSerialize(baseModels); }
From source file:com.liferay.jsonwebserviceclient.BaseJSONWebServiceClientHandler.java
License:Open Source License
protected <T> T doGetToObject(Class<T> clazz, String url, String... parametersArray) throws Exception { String json = doGet(url, parametersArray); if (json.contains("exception")) { throw new Exception(getExceptionMessage(json)); }//from ww w. j a v a 2 s. c o m return JSONFactoryUtil.looseDeserialize(json, clazz); }
From source file:com.marcelmika.lims.portal.controller.BuddyController.java
License:Open Source License
/** * Update buddy's status// w w w .j av a 2s . c om * * @param request ResourceRequest * @param response ResourceResponse */ public void updateBuddyPresence(ResourceRequest request, ResourceResponse response) { Buddy buddy; // Authorized user Presence presence; // Buddy's presence // Deserialize try { // Create buddy from request buddy = Buddy.fromResourceRequest(request); // Presence Buddy deserializedBuddy = JSONFactoryUtil .looseDeserialize(request.getParameter(RequestParameterKeys.KEY_CONTENT), Buddy.class); presence = deserializedBuddy.getPresence(); } // Failure catch (Exception exception) { // Bad request ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); // Log log.debug(exception); // End here return; } // Send request to core service UpdatePresenceBuddyResponseEvent responseEvent = buddyCoreService.updatePresence( new UpdatePresenceBuddyRequestEvent(buddy.getBuddyId(), presence.toPresenceDetails())); // Disable chat if presence is offline if (presence == Presence.OFFLINE) { settingsCoreService.disableChat(new DisableChatRequestEvent(buddy.toBuddyDetails())); } // Enable otherwise else { settingsCoreService.enableChat(new EnableChatRequestEvent(buddy.toBuddyDetails())); } // Success if (responseEvent.isSuccess()) { ResponseUtil.writeResponse(null, HttpStatus.NO_CONTENT, response); } // Failure else { UpdatePresenceBuddyResponseEvent.Status status = responseEvent.getStatus(); // Bad request if (status == UpdatePresenceBuddyResponseEvent.Status.ERROR_WRONG_PARAMETERS) { ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); } // Unauthorized else if (status == UpdatePresenceBuddyResponseEvent.Status.ERROR_NO_SESSION) { ResponseUtil.writeResponse(HttpStatus.UNAUTHORIZED, response); } // Everything else is a server fault else { ResponseUtil.writeResponse(HttpStatus.INTERNAL_SERVER_ERROR, response); // Log log.error(responseEvent.getException()); } } }
From source file:com.marcelmika.lims.portal.controller.BuddyController.java
License:Open Source License
/** * Returns a list of buddies based on the search query * * @param request ResourceRequest//from w w w . ja v a2 s . c o m * @param response ResourceResponse */ public void searchBuddies(ResourceRequest request, ResourceResponse response) { Buddy buddy; // Authorized user SearchBuddiesParameters parameters; // Request parameters // Deserialize try { // Create buddy from request buddy = Buddy.fromResourceRequest(request); // Parameters parameters = JSONFactoryUtil.looseDeserialize(request.getParameter(RequestParameterKeys.KEY_PARAMETERS), SearchBuddiesParameters.class); } // Failure catch (Exception exception) { // Bad request ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); // Log log.debug(exception); // End here return; } // Search event SearchBuddiesResponseEvent responseEvent = buddyCoreService .searchBuddies(new SearchBuddiesRequestEvent(buddy.toBuddyDetails(), parameters.getSearchQuery())); // Success if (responseEvent.isSuccess()) { // Map buddy details to buddy List<Buddy> buddyList = Buddy.fromBuddyDetailsList(responseEvent.getSearchResults()); // Serialize String serialized = JSONFactoryUtil.looseSerialize(buddyList); // Write success to response ResponseUtil.writeResponse(serialized, HttpStatus.OK, response); } // Failure else { SearchBuddiesResponseEvent.Status status = responseEvent.getStatus(); // Bad request if (status == SearchBuddiesResponseEvent.Status.ERROR_WRONG_PARAMETERS) { ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); } // Everything else is server fault else { ResponseUtil.writeResponse(HttpStatus.INTERNAL_SERVER_ERROR, response); // Log log.error(responseEvent.getException()); } } }
From source file:com.marcelmika.lims.portal.controller.ConversationController.java
License:Open Source License
/** * Creates single user conversation with a buddy selected in request * * @param request ResourceRequest/*from w w w . j a v a 2s .c o m*/ * @param response ResourceResponse */ public void createSingleUserConversation(ResourceRequest request, ResourceResponse response) { Buddy buddy; // Authorized user Conversation conversation; // Conversation that should be created // Deserizalize try { // Create buddy from request buddy = Buddy.fromResourceRequest(request); // Deserialize Content conversation = JSONFactoryUtil.looseDeserialize(request.getParameter(RequestParameterKeys.KEY_CONTENT), Conversation.class); } // Failure catch (Exception exception) { // Bad request ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); // Log if (log.isDebugEnabled()) { log.debug(exception); } // End here return; } // This is a single user chat conversation conversation.setConversationType(ConversationType.SINGLE_USER); CreateConversationResponseEvent responseEvent = conversationCoreService .createConversation(new CreateConversationRequestEvent(buddy.toBuddyDetails(), conversation.toConversationDetails(), null)); // Success if (responseEvent.isSuccess()) { // Map conversation from response Conversation conversationResponse = Conversation .fromConversationDetails(responseEvent.getConversation()); // Serialize String serialized = JSONFactoryUtil.looseSerialize(conversationResponse); // Write success to response ResponseUtil.writeResponse(serialized, HttpStatus.OK, response); } // Failure else { CreateConversationResponseEvent.Status status = responseEvent.getStatus(); // Unauthorized if (status == CreateConversationResponseEvent.Status.ERROR_NO_SESSION) { ResponseUtil.writeResponse(HttpStatus.UNAUTHORIZED, response); } // Bad request else if (status == CreateConversationResponseEvent.Status.ERROR_UNKNOWN_CONVERSATION_TYPE || status == CreateConversationResponseEvent.Status.ERROR_WRONG_PARAMETERS) { ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); } // Everything else is server fault else { ResponseUtil.writeResponse(HttpStatus.INTERNAL_SERVER_ERROR, response); // Log log.error(responseEvent.getException()); } } }
From source file:com.marcelmika.lims.portal.controller.ConversationController.java
License:Open Source License
/** * Reads Single User Conversation messages * * @param request ResourceRequest/* w w w . j a v a2 s .c o m*/ * @param response ResourceResponse */ public void readSingleUserConversation(ResourceRequest request, ResourceResponse response) { Buddy buddy; // Authorized user ReadConversationParameters parameters; // Request parameters // Deserialize try { // Buddy from request buddy = Buddy.fromResourceRequest(request); // Parameters parameters = JSONFactoryUtil.looseDeserialize(request.getParameter(RequestParameterKeys.KEY_PARAMETERS), ReadConversationParameters.class); } // Failure catch (Exception exception) { // Bad request ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); // Log log.debug(exception); // End here return; } // Create objects from parameters Conversation conversation = new Conversation(); conversation.setConversationId(parameters.getConversationId()); Pagination pagination = parameters.getPagination(); // Read conversations ReadSingleUserConversationResponseEvent responseEvent = conversationCoreService .readConversation(new ReadSingleUserConversationRequestEvent(buddy.toBuddyDetails(), // Buddy is participant conversation.toConversationDetails(), // Read proper conversation pagination.toPaginationDetails()) // Pagination request ); // Success if (responseEvent.isSuccess()) { conversation = Conversation.fromConversationDetails(responseEvent.getConversation()); // Client has fresh copy so there is no need to send it if (conversation.getEtag().equals(parameters.getEtag())) { ResponseUtil.writeResponse(HttpStatus.NOT_MODIFIED, response); return; } // Serialize String serialized = JSONFactoryUtil.looseSerialize(conversation, "messages", "messages.from"); // Write success to response ResponseUtil.writeResponse(serialized, HttpStatus.OK, response); } // Failure else { ReadSingleUserConversationResponseEvent.Status status = responseEvent.getStatus(); // Not found if (status == ReadSingleUserConversationResponseEvent.Status.ERROR_NOT_FOUND) { ResponseUtil.writeResponse(HttpStatus.NOT_FOUND, response); } // Forbidden else if (status == ReadSingleUserConversationResponseEvent.Status.ERROR_FORBIDDEN) { ResponseUtil.writeResponse(HttpStatus.FORBIDDEN, response); } // Unauthorized else if (status == ReadSingleUserConversationResponseEvent.Status.ERROR_NO_SESSION) { ResponseUtil.writeResponse(HttpStatus.UNAUTHORIZED, response); } // Bad request else if (status == ReadSingleUserConversationResponseEvent.Status.ERROR_WRONG_PARAMETERS) { ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); } // Everything else is server fault else { ResponseUtil.writeResponse(HttpStatus.INTERNAL_SERVER_ERROR, response); // Log log.error(responseEvent.getException()); } } }
From source file:com.marcelmika.lims.portal.controller.ConversationController.java
License:Open Source License
/** * Closes Single User Conversation/*from w ww. j a va2 s . c o m*/ * * @param request ResourceRequest * @param response ResourceResponse */ public void closeSingleUserConversation(ResourceRequest request, ResourceResponse response) { Buddy buddy; // Authorized user CloseConversationParameters parameters; // Request parameters // Deserizalize try { // Create buddy from request buddy = Buddy.fromResourceRequest(request); // Deserialize Parameters parameters = JSONFactoryUtil.looseDeserialize(request.getParameter(RequestParameterKeys.KEY_PARAMETERS), CloseConversationParameters.class); } // Failure catch (Exception exception) { // Bad request ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); // Log log.debug(exception); // End here return; } // Close conversation CloseConversationResponseEvent responseEvent = conversationCoreService.closeConversation( new CloseConversationRequestEvent(buddy.getBuddyId(), parameters.getConversationId())); // Success if (responseEvent.isSuccess()) { ResponseUtil.writeResponse(HttpStatus.NO_CONTENT, response); } // Failure else { CloseConversationResponseEvent.Status status = responseEvent.getStatus(); // Not found if (status == CloseConversationResponseEvent.Status.ERROR_NO_CONVERSATION_FOUND || status == CloseConversationResponseEvent.Status.ERROR_NO_PARTICIPANT_FOUND) { ResponseUtil.writeResponse(HttpStatus.NOT_FOUND, response); } // Everything else is server fault else { ResponseUtil.writeResponse(HttpStatus.INTERNAL_SERVER_ERROR, response); } } }
From source file:com.marcelmika.lims.portal.controller.ConversationController.java
License:Open Source License
/** * Resets unread messages counter for the given conversation and participant * * @param request ResourceRequest//from w w w . j a va 2 s . co m * @param response ResourceResponse */ public void resetUnreadMessagesCounter(ResourceRequest request, ResourceResponse response) { Buddy buddy; // Authorized user ResetUnreadMessagesCounterParameters parameters; // Request parameters // Deserialize try { // Create buddy from request buddy = Buddy.fromResourceRequest(request); // Deserialize Parameters parameters = JSONFactoryUtil.looseDeserialize(request.getParameter(RequestParameterKeys.KEY_PARAMETERS), ResetUnreadMessagesCounterParameters.class); } // Failure catch (Exception exception) { // Bad request ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); // Log log.debug(exception); // End here return; } // Reset counter ResetUnreadMessagesCounterResponseEvent responseEvent = conversationCoreService.resetUnreadMessagesCounter( new ResetUnreadMessagesCounterRequestEvent(buddy.getBuddyId(), parameters.getConversationId())); // Success if (responseEvent.isSuccess()) { ResponseUtil.writeResponse(HttpStatus.NO_CONTENT, response); } // Failure else { ResetUnreadMessagesCounterResponseEvent.Status status = responseEvent.getStatus(); // Not found if (status == ResetUnreadMessagesCounterResponseEvent.Status.ERROR_NO_CONVERSATION_FOUND || status == ResetUnreadMessagesCounterResponseEvent.Status.ERROR_NO_PARTICIPANT_FOUND) { ResponseUtil.writeResponse(HttpStatus.NOT_FOUND, response); } // Everything else is server fault else { ResponseUtil.writeResponse(HttpStatus.INTERNAL_SERVER_ERROR, response); // Log log.error(responseEvent.getException()); } } }
From source file:com.marcelmika.lims.portal.controller.ConversationController.java
License:Open Source License
/** * Create new message in conversation/*from w w w . j a v a2s . c o m*/ * * @param request ResourceRequest * @param response ResourceResponse */ public void createMessage(ResourceRequest request, ResourceResponse response) { Buddy buddy; // Authorized user CreateMessageParameters parameters; // Request parameters Message message; // Message that should be sent // Deserialize try { // Buddy from request buddy = Buddy.fromResourceRequest(request); // Deserialize Parameters parameters = JSONFactoryUtil.looseDeserialize(request.getParameter(RequestParameterKeys.KEY_PARAMETERS), CreateMessageParameters.class); // Deserialize Content message = JSONFactoryUtil.looseDeserialize(request.getParameter(RequestParameterKeys.KEY_CONTENT), Message.class); } // Failure catch (Exception exception) { // Bad request ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); // Log log.debug(exception); // End here return; } // Create new conversation that will be passed to the system Conversation conversation = new Conversation(); conversation.setConversationType(ConversationType.SINGLE_USER); conversation.setConversationId(parameters.getConversationId()); conversation.setBuddy(buddy); // Add to system SendMessageResponseEvent responseEvent = conversationCoreService .sendMessage(new SendMessageRequestEvent(buddy.toBuddyDetails(), // Creator conversation.toConversationDetails(), // Conversation message.toMessageDetails()) // Message ); // Success if (responseEvent.isSuccess()) { // Map message from response Message responseMessage = Message.fromMessageDetails(responseEvent.getMessage()); // Serialize String serializedMessage = JSONFactoryUtil.looseSerialize(responseMessage); // Write success to response ResponseUtil.writeResponse(serializedMessage, HttpStatus.OK, response); } // Failure else { SendMessageResponseEvent.Status status = responseEvent.getStatus(); // Unauthorized if (status == SendMessageResponseEvent.Status.ERROR_NO_SESSION) { ResponseUtil.writeResponse(HttpStatus.UNAUTHORIZED, response); } // Forbidden else if (status == SendMessageResponseEvent.Status.ERROR_FORBIDDEN) { ResponseUtil.writeResponse(HttpStatus.FORBIDDEN, response); } // Not found else if (status == SendMessageResponseEvent.Status.ERROR_NOT_FOUND) { ResponseUtil.writeResponse(HttpStatus.NOT_FOUND, response); } // Bad Request else if (status == SendMessageResponseEvent.Status.ERROR_UNKNOWN_CONVERSATION_TYPE || status == SendMessageResponseEvent.Status.ERROR_WRONG_PARAMETERS) { ResponseUtil.writeResponse(HttpStatus.BAD_REQUEST, response); } // Everything else is a server fault else { ResponseUtil.writeResponse(HttpStatus.INTERNAL_SERVER_ERROR, response); // Log log.error(responseEvent.getException()); } } }