Example usage for org.springframework.util MultiValueMap get

List of usage examples for org.springframework.util MultiValueMap get

Introduction

In this page you can find the example usage for org.springframework.util MultiValueMap get.

Prototype

V get(Object key);

Source Link

Document

Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key.

Usage

From source file:org.meruvian.yama.service.jpa.social.JpaSocialConnectionManager.java

@Override
public MultiValueMap<String, Connection<?>> findAllConnections() {
    List<JpaSocialConnection> socialConnections = connectionRepository.findByUserIdOrderByRankAsc(userId);

    MultiValueMap<String, Connection<?>> connections = new LinkedMultiValueMap<String, Connection<?>>();
    Set<String> registeredProviderIds = connectionFactoryLocator.registeredProviderIds();

    for (String registeredProviderId : registeredProviderIds) {
        connections.put(registeredProviderId, Collections.<Connection<?>>emptyList());
    }//  w  w  w . j a  va2 s.  c  o m

    for (SocialConnection uc : socialConnections) {
        Connection<?> connection = connectionMapper.mapRow(uc);
        String providerId = connection.getKey().getProviderId();
        if (connections.get(providerId).size() == 0) {
            connections.put(providerId, new LinkedList<Connection<?>>());
        }
        connections.add(providerId, connection);
    }

    return connections;
}

From source file:com.vedri.mtp.frontend.support.stomp.DefaultSubscriptionRegistry.java

private MultiValueMap<String, String> filterSubscriptions(MultiValueMap<String, String> allMatches,
        Message<?> message) {/* ww  w  . jav a2  s  .co m*/

    if (!this.selectorHeaderInUse) {
        return allMatches;
    }
    EvaluationContext context = null;
    MultiValueMap<String, String> result = new LinkedMultiValueMap<String, String>(allMatches.size());
    for (String sessionId : allMatches.keySet()) {
        for (String subId : allMatches.get(sessionId)) {
            SessionSubscriptionInfo info = this.subscriptionRegistry.getSubscriptions(sessionId);
            if (info == null) {
                continue;
            }
            Subscription sub = info.getSubscription(subId);
            if (sub == null) {
                continue;
            }
            Expression expression = sub.getSelectorExpression();
            if (expression == null) {
                result.add(sessionId, subId);
                continue;
            }
            if (context == null) {
                context = new StandardEvaluationContext(message);
                context.getPropertyAccessors().add(new SimpMessageHeaderPropertyAccessor());
            }
            try {
                if (expression.getValue(context, boolean.class)) {
                    result.add(sessionId, subId);
                }
            } catch (SpelEvaluationException ex) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Failed to evaluate selector: " + ex.getMessage());
                }
            } catch (Throwable ex) {
                logger.debug("Failed to evaluate selector", ex);
            }
        }
    }
    return result;
}

From source file:de.interseroh.report.controller.ParameterFormBinder.java

private MutablePropertyValues createPropertyValues(ParameterForm parameterForm,
        final MultiValueMap<String, String> requestParameters) {
    final MutablePropertyValues mpvs = new MutablePropertyValues();

    parameterForm.accept(new AbstractParameterVisitor() {
        @Override//from  ww  w.  j  ava 2 s  .c  o m
        public <V, T> void visit(ScalarParameter<V, T> parameter) {
            String name = parameter.getName();
            String propertyPath = ParameterUtils.nameToTextPath(name);
            Class<T> textType = parameter.getTextType();

            if (requestParameters.containsKey(name)) {
                addText(name, propertyPath, textType);
            } else if (requestParameters.containsKey('_' + name)) {
                addText('_' + name, propertyPath, textType);
            }
        }

        private <T> void addText(String name, String propertyPath, Class<T> textType) {
            List<String> values = requestParameters.get(name);
            if (textType.isArray()) {
                mpvs.add(propertyPath, values.toArray());
            } else {
                for (String requestValue : values) {
                    mpvs.add(propertyPath, requestValue);
                }
            }
        }
    });
    return mpvs;
}

From source file:puma.application.evaluation.AdvancedDocumentController.java

private puma.peputils.Object constructAuthzObject(Document doc, MultiValueMap<String, String> params) {
    puma.peputils.Object object = new puma.peputils.Object("" + doc.getId());
    object.addAttributeValue(new ObjectAttributeValue("type", "document"));
    object.addAttributeValue(new ObjectAttributeValue("name", doc.getName()));
    object.addAttributeValue(new ObjectAttributeValue("sent-date", doc.getDate()));
    object.addAttributeValue(new ObjectAttributeValue("creating-tenant", doc.getCreatingTenant()));
    //object.addAttributeValue(new ObjectAttributeValue("owning-tenant", doc.getDestination()));
    object.addAttributeValue(new ObjectAttributeValue("content", "TODO.pdf"));
    object.addAttributeValue(new ObjectAttributeValue("origin", doc.getOrigin()));
    object.addAttributeValue(new ObjectAttributeValue("destination", doc.getDestination()));
    for (String nextKey : params.keySet())
        for (String nextValue : params.get(nextKey))
            addAttribute(object, nextKey, nextValue);
    return object;
}

From source file:com.httpMessageConvert.FormHttpMessageConverter.java

private void writeForm(MultiValueMap<String, String> form, MediaType contentType,
        HttpOutputMessage outputMessage) throws IOException {
    Charset charset;// w  w w  .  jav  a2s  .co  m
    if (contentType != null) {
        outputMessage.getHeaders().setContentType(contentType);
        charset = contentType.getCharSet() != null ? contentType.getCharSet() : this.charset;
    } else {
        outputMessage.getHeaders().setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        charset = this.charset;
    }
    StringBuilder builder = new StringBuilder();
    for (Iterator<String> nameIterator = form.keySet().iterator(); nameIterator.hasNext();) {
        String name = nameIterator.next();
        for (Iterator<String> valueIterator = form.get(name).iterator(); valueIterator.hasNext();) {
            String value = valueIterator.next();
            builder.append(URLEncoder.encode(name, charset.name()));
            if (value != null) {
                builder.append('=');
                builder.append(URLEncoder.encode(value, charset.name()));
                if (valueIterator.hasNext()) {
                    builder.append('&');
                }
            }
        }
        if (nameIterator.hasNext()) {
            builder.append('&');
        }
    }
    byte[] bytes = builder.toString().getBytes(charset.name());
    outputMessage.getHeaders().setContentLength(bytes.length);
    StreamUtils.copy(bytes, outputMessage.getBody());
}

From source file:com.htmlhifive.sync.service.SyncResourceProcessor.java

/**
 * ?????.<br/>/* w ww.  j a v a  2 s .com*/
 * sync?????????.
 *
 * @param requestMessages
 * @throws AbstractResourceException
 */
private void processDownloadControl(RequestMessageContainer requestMessages) throws AbstractResourceException {

    DownloadControlType controlType = DownloadControlType
            .valueOf(syncConfigurationParameter.DOWNLOAD_CONTROL_TYPE);

    switch (controlType) {

    // LOCK???????
    case LOCK:

        MultiValueMap<ResourceItemCommonDataId, RequestMessage> messageMap = new LinkedMultiValueMap<>();
        for (RequestMessage requestMessage : requestMessages.getMessages()) {
            ResourceItemCommonDataId resourceItemCommonDataId = (ResourceItemCommonDataId) requestMessage
                    .get(syncConfigurationParameter.RESOURCE_ITEM_COMMON_DATA_ID);
            messageMap.add(resourceItemCommonDataId, requestMessage);
        }
        List<ResourceItemCommonDataId> commonDataIdList = new ArrayList<>(messageMap.keySet());
        Collections.sort(commonDataIdList);

        for (ResourceItemCommonDataId itemCommonDataId : commonDataIdList) {

            List<RequestMessage> messagesForId = messageMap.get(itemCommonDataId);
            for (RequestMessage message : messagesForId) {

                // ??
                ResourceMethodInvoker resourceMethod = getResourceManager().getResourceMethodByName(
                        itemCommonDataId.getResourceName(), syncConfigurationParameter.ACTION_FOR_GETFORUPDATE,
                        message);
                applyDefaultSynchronizer(resourceMethod);

                // ???
                @SuppressWarnings("unchecked")
                List<ResourceItemCommonData> got = (List<ResourceItemCommonData>) resourceMethod
                        .invoke(message);
                message.put(syncConfigurationParameter.RESOURCE_ITEM_COMMON_DATA, got);
            }
        }

    case NONE:
    default:
        break;
    }
}

From source file:com.seajas.search.codex.social.connection.InMemoryConnectionRepository.java

@Override
public MultiValueMap<String, Connection<?>> findConnectionsToUsers(
        final MultiValueMap<String, String> providerUsers) {
    if (providerUsers == null || providerUsers.isEmpty()) {
        throw new IllegalArgumentException("Unable to execute find: no providerUsers provided");
    }/*w  ww.j a va 2 s  . co m*/

    Map<String, List<String>> providerUserIdsByProviderId = new HashMap<String, List<String>>();
    for (Entry<String, List<String>> entry : providerUsers.entrySet()) {
        String providerId = entry.getKey();
        providerUserIdsByProviderId.put(providerId, entry.getValue());
    }

    List<ConnectionData> connectionDatas = new ArrayList<ConnectionData>();
    for (Map.Entry<String, List<String>> entry : providerUserIdsByProviderId.entrySet()) {
        connectionDatas.addAll(getInMemoryProviderConnectionRepository(entry.getKey())
                .findByProviderUserIdsOrderByProviderIdAndRank(entry.getValue()));
    }

    List<Connection<?>> resultList = createConnections(connectionDatas);
    MultiValueMap<String, Connection<?>> connectionsForUsers = new LinkedMultiValueMap<String, Connection<?>>();
    for (Connection<?> connection : resultList) {
        String providerId = connection.getKey().getProviderId();
        List<String> userIds = providerUsers.get(providerId);
        List<Connection<?>> connections = connectionsForUsers.get(providerId);
        if (connections == null) {
            connections = new ArrayList<Connection<?>>(userIds.size());
            for (int i = 0; i < userIds.size(); i++) {
                connections.add(null);
            }
            connectionsForUsers.put(providerId, connections);
        }
        String providerUserId = connection.getKey().getProviderUserId();
        int connectionIndex = userIds.indexOf(providerUserId);
        connections.set(connectionIndex, connection);
    }
    return connectionsForUsers;
}

From source file:com.htmlhifive.sync.service.SyncResourceProcessor.java

/**
 * ?????.<br/>/* w  ww.  j  a v a  2 s . c o  m*/
 * sync?????????.
 *
 * @param requestMessages 
 * @throws AbstractResourceException
 */
private void processUploadControl(RequestMessageContainer requestMessages) throws AbstractResourceException {

    UploadControlType controlType = UploadControlType.valueOf(syncConfigurationParameter.UPLOAD_CONTROL_TYPE);

    if (controlType == UploadControlType.NONE) {
        return;
    }

    MultiValueMap<ResourceItemCommonDataId, RequestMessage> messageMap = new LinkedMultiValueMap<>();
    for (RequestMessage requestMessage : requestMessages.getMessages()) {
        ResourceItemCommonDataId resourceItemCommonDataId = (ResourceItemCommonDataId) requestMessage
                .get(syncConfigurationParameter.RESOURCE_ITEM_COMMON_DATA_ID);
        messageMap.add(resourceItemCommonDataId, requestMessage);
    }

    // ID?
    List<ResourceItemCommonDataId> commonDataIdList = new ArrayList<>(messageMap.keySet());
    Collections.sort(commonDataIdList);

    switch (controlType) {
    case SORT:

        // Container?Message???
        List<RequestMessage> sorted = new ArrayList<>();
        for (ResourceItemCommonDataId itemCommonDataId : commonDataIdList) {
            List<RequestMessage> messagesForId = messageMap.get(itemCommonDataId);
            for (RequestMessage message : messagesForId) {
                sorted.add(message);
            }
        }
        requestMessages.setMessages(sorted);

        break;

    case LOCK:

        // ????
        for (ResourceItemCommonDataId itemCommonDataId : commonDataIdList) {
            List<RequestMessage> messagesForId = messageMap.get(itemCommonDataId);
            for (RequestMessage message : messagesForId) {

                // ??
                ResourceMethodInvoker resourceMethod = getResourceManager().getResourceMethodByName(
                        itemCommonDataId.getResourceName(), syncConfigurationParameter.ACTION_FOR_GETFORUPDATE,
                        message);
                applyDefaultSynchronizer(resourceMethod);

                // ???
                // ????????
                @SuppressWarnings("unchecked")
                List<ResourceItemCommonData> got = (List<ResourceItemCommonData>) resourceMethod
                        .invoke(message);
                message.put(syncConfigurationParameter.RESOURCE_ITEM_COMMON_DATA, got);
            }
        }

        break;

    default:
        break;

    }
}

From source file:com.lixiaocong.social.MyJdbcConnection.java

public MultiValueMap<String, Connection<?>> findConnectionsToUsers(
        MultiValueMap<String, String> providerUsers) {
    if (providerUsers == null || providerUsers.isEmpty()) {
        throw new IllegalArgumentException("Unable to execute find: no providerUsers provided");
    }/*from   w  ww  . j a  va2 s  .c o m*/
    StringBuilder providerUsersCriteriaSql = new StringBuilder();
    MapSqlParameterSource parameters = new MapSqlParameterSource();
    parameters.addValue("userId", userId);
    for (Iterator<Entry<String, List<String>>> it = providerUsers.entrySet().iterator(); it.hasNext();) {
        Entry<String, List<String>> entry = it.next();
        String providerId = entry.getKey();
        providerUsersCriteriaSql.append("providerId = :providerId_").append(providerId)
                .append(" and providerUserId in (:providerUserIds_").append(providerId).append(")");
        parameters.addValue("providerId_" + providerId, providerId);
        parameters.addValue("providerUserIds_" + providerId, entry.getValue());
        if (it.hasNext()) {
            providerUsersCriteriaSql.append(" or ");
        }
    }
    List<Connection<?>> resultList = new NamedParameterJdbcTemplate(jdbcTemplate)
            .query(selectFromUserConnection() + " where userId = :userId and " + providerUsersCriteriaSql
                    + " order by providerId, rank", parameters, connectionMapper);
    MultiValueMap<String, Connection<?>> connectionsForUsers = new LinkedMultiValueMap<String, Connection<?>>();
    for (Connection<?> connection : resultList) {
        String providerId = connection.getKey().getProviderId();
        List<String> userIds = providerUsers.get(providerId);
        List<Connection<?>> connections = connectionsForUsers.get(providerId);
        if (connections == null) {
            connections = new ArrayList<Connection<?>>(userIds.size());
            for (int i = 0; i < userIds.size(); i++) {
                connections.add(null);
            }
            connectionsForUsers.put(providerId, connections);
        }
        String providerUserId = connection.getKey().getProviderUserId();
        int connectionIndex = userIds.indexOf(providerUserId);
        connections.set(connectionIndex, connection);
    }
    return connectionsForUsers;
}

From source file:com.naver.template.social.connect.DaoConnectionRepository.java

public MultiValueMap<String, Connection<?>> findConnectionsToUsers(
        MultiValueMap<String, String> providerUsers) {
    if (providerUsers == null || providerUsers.isEmpty()) {
        throw new IllegalArgumentException("Unable to execute find: no providerUsers provided");
    }//w w  w . j  av  a 2  s . co m
    //      StringBuilder providerUsersCriteriaSql = new StringBuilder();
    //      MapSqlParameterSource parameters = new MapSqlParameterSource();
    //      parameters.addValue("userId", userId);
    //      for (Iterator<Entry<String, List<String>>> it = providerUsers.entrySet().iterator(); it.hasNext();) {
    //         Entry<String, List<String>> entry = it.next();
    //         String providerId = entry.getKey();
    //         providerUsersCriteriaSql.append("providerId = :providerId_").append(providerId).append(" and providerUserId in (:providerUserIds_").append(providerId).append(")");
    //         parameters.addValue("providerId_" + providerId, providerId);
    //         parameters.addValue("providerUserIds_" + providerId, entry.getValue());
    //         if (it.hasNext()) {
    //            providerUsersCriteriaSql.append(" or " );
    //         }
    //      }
    //List<Connection<?>> resultList = new NamedParameterJdbcTemplate(jdbcTemplate).query(selectFromUserConnection() + " where userId = :userId and " + providerUsersCriteriaSql + " order by providerId, rank", parameters, connectionMapper);
    List<Connection<?>> resultList = userConnectionDAO.selectConnections(userId, providerUsers);
    MultiValueMap<String, Connection<?>> connectionsForUsers = new LinkedMultiValueMap<String, Connection<?>>();
    for (Connection<?> connection : resultList) {
        String providerId = connection.getKey().getProviderId();
        List<String> userIds = providerUsers.get(providerId);
        List<Connection<?>> connections = connectionsForUsers.get(providerId);
        if (connections == null) {
            connections = new ArrayList<Connection<?>>(userIds.size());
            for (int i = 0; i < userIds.size(); i++) {
                connections.add(null);
            }
            connectionsForUsers.put(providerId, connections);
        }
        String providerUserId = connection.getKey().getProviderUserId();
        int connectionIndex = userIds.indexOf(providerUserId);
        connections.set(connectionIndex, connection);
    }
    return connectionsForUsers;
}