Example usage for com.google.common.collect ArrayListMultimap create

List of usage examples for com.google.common.collect ArrayListMultimap create

Introduction

In this page you can find the example usage for com.google.common.collect ArrayListMultimap create.

Prototype

public static <K, V> ArrayListMultimap<K, V> create() 

Source Link

Document

Creates a new, empty ArrayListMultimap with the default initial capacities.

Usage

From source file:org.zanata.security.permission.PermissionProvider.java

public final Multimap<String, PermissionGranter> getPermissionGranters() {
    Class<? extends PermissionProvider> clazz = getClass();
    Multimap<String, PermissionGranter> permissionGrantMethods = ArrayListMultimap.create();

    for (Method m : clazz.getDeclaredMethods()) {
        if (m.isAnnotationPresent(GrantsPermission.class)) {
            PermissionGranter granter = new PermissionGranter(m);
            granter.validate();/*from ww w  . j ava 2  s . co  m*/

            if (granter.getEvaluatedActions().size() == 0) {
                // This granter is to apply to every action
                permissionGrantMethods.put(ALL_ACTION_GRANTER, granter);
            } else {
                for (String action : granter.getEvaluatedActions()) {
                    permissionGrantMethods.put(action, granter);
                }
            }
        }
    }
    return permissionGrantMethods;
}

From source file:springfox.documentation.spring.web.scanners.ApiListingReferenceScanner.java

public ApiListingReferenceScanResult scan(DocumentationContext context) {
    LOG.info("Scanning for api listing references");

    ArrayListMultimap<ResourceGroup, RequestMappingContext> resourceGroupRequestMappings = ArrayListMultimap
            .create();/*from   w  w w. ja v a2 s.c o m*/
    ApiSelector selector = context.getApiSelector();
    Iterable<RequestHandler> matchingHandlers = from(context.getRequestHandlers())
            .filter(selector.getRequestHandlerSelector());
    for (RequestHandler handler : matchingHandlers) {
        ResourceGroup resourceGroup = new ResourceGroup(handler.groupName(), handler.declaringClass(), 0);

        RequestMappingContext requestMappingContext = new RequestMappingContext(context, handler);

        resourceGroupRequestMappings.put(resourceGroup, requestMappingContext);
    }
    return new ApiListingReferenceScanResult(asMap(resourceGroupRequestMappings));
}

From source file:com.opengamma.collect.io.PropertiesFile.java

private static PropertySet parse(CharSource source) throws IOException {
    ImmutableList<String> lines = source.readLines();
    Multimap<String, String> parsed = ArrayListMultimap.create();
    int lineNum = 0;
    for (String line : lines) {
        lineNum++;//from  w ww  . j  ava2 s.c  om
        line = line.trim();
        if (line.length() == 0 || line.startsWith("#") || line.startsWith(";")) {
            continue;
        }
        int equalsPosition = line.indexOf('=');
        if (equalsPosition < 0) {
            throw new IllegalArgumentException(
                    "Invalid properties file, expected key=value property, line " + lineNum);
        }
        String key = line.substring(0, equalsPosition).trim();
        String value = line.substring(equalsPosition + 1).trim();
        if (key.length() == 0) {
            throw new IllegalArgumentException("Invalid properties file, empty key, line " + lineNum);
        }
        parsed.put(key, value);
    }
    return PropertySet.of(parsed);
}

From source file:org.sonar.api.batch.debt.internal.DefaultDebtModel.java

public DefaultDebtModel() {
    characteristicsByKey = ArrayListMultimap.create();
}

From source file:com.android.build.gradle.managed.adaptor.ShaderOptionsAdaptor.java

@Override
public ListMultimap<String, String> getScopedGlslcArgs() {
    ModelMap<ScopedShaderOptions> scopedArgsMap = shaderOptions.getScopedArgs();

    ListMultimap<String, String> map = ArrayListMultimap.create();

    for (String key : scopedArgsMap.keySet()) {
        ScopedShaderOptions scopedArgs = scopedArgsMap.get(key);
        map.putAll(key, scopedArgs.getGlslcArgs());
    }// www  .  j av a  2  s .  c  o  m

    return map;
}

From source file:org.apache.ctakes.temporal.ae.feature.PredicateArgumentExtractor.java

public PredicateArgumentExtractor(JCas jCas) {
    this.tokenPredicateMap = ArrayListMultimap.create();
    for (Predicate predicate : JCasUtil.select(jCas, Predicate.class)) {
        for (BaseToken token : JCasUtil.selectCovered(jCas, BaseToken.class, predicate)) {
            this.tokenPredicateMap.put(token, predicate);
        }/*from   www.j a  v a  2s. c  o  m*/
    }
    this.tokenArgumentMap = ArrayListMultimap.create();
    for (SemanticArgument argument : JCasUtil.select(jCas, SemanticArgument.class)) {
        for (BaseToken token : JCasUtil.selectCovered(jCas, BaseToken.class, argument)) {
            this.tokenArgumentMap.put(token, argument);
        }
    }
}

From source file:org.franca.tools.contracts.tracevalidator.search.regexp.RegexpBuilder.java

/**
 * Constructs the regular expression that accepts the traces matching the
 * given contract./*from   ww  w  . j  av  a 2s . co m*/
 * 
 * @param contract
 *            the Franca contract for the interface
 * @return the regular expression associated to the contract
 */
public static RegexpElement buildRegexp(FContract contract) {
    Set<FState> statesVisited = new HashSet<FState>();
    List<FState> statesToVisit = new LinkedList<FState>();
    FState initial = contract.getStateGraph().getInitial();
    statesToVisit.add(initial);
    Map<FState, Multimap<FState, TraceElement>> traceElementMap = new HashMap<FState, Multimap<FState, TraceElement>>();
    Set<TraceElement> traceElements = new HashSet<TraceElement>();
    int stateNum = contract.getStateGraph().getStates().size();
    List<FState> states = contract.getStateGraph().getStates();
    RegexpElement[][][] regexpArray = new RegexpElement[stateNum][stateNum][stateNum];

    // Create trace elements between the states of the contract's state
    // machine. The state machine must be strongly connected
    while (!statesToVisit.isEmpty()) {
        FState state = statesToVisit.remove(0);
        statesVisited.add(state);

        Multimap<FState, TraceElement> innerMap = ArrayListMultimap.create();

        for (FTransition transition : state.getTransitions()) {
            TraceElement traceElement = new FrancaTraceElement(state, transition);
            traceElements.add(traceElement);
            innerMap.put(transition.getTo(), traceElement);

            if (!statesVisited.contains(transition.getTo())) {
                statesToVisit.add(transition.getTo());
            }
        }

        traceElementMap.put(state, innerMap);
    }

    for (int i = 0; i < stateNum; i++) {
        for (int j = 0; j < stateNum; j++) {

            Collection<TraceElement> elements = traceElementMap.get(states.get(i)).get(states.get(j));
            if (elements != null) {
                Collection<RegexpElement> regexpElements = new ArrayList<RegexpElement>();
                for (TraceElement e : elements) {
                    regexpElements.add(new SingleElement(e));
                }

                if (i != j) {
                    regexpArray[i][j][0] = new OrElement(regexpElements.toArray(new RegexpElement[0]));
                } else {
                    regexpArray[i][j][0] = RegexpHelper.union(
                            new OrElement(regexpElements.toArray(new RegexpElement[0])), EmptyElement.INSTANCE);
                }
            } else {
                regexpArray[i][j][0] = NullElement.INSTANCE;
            }
        }
    }

    if (states.size() > 0) {
        for (int k = 1; k < stateNum; k++) {
            for (int i = 0; i < stateNum; i++) {
                for (int j = 0; j < stateNum; j++) {
                    regexpArray[i][j][k] = RegexpHelper.union(regexpArray[i][j][k - 1],
                            RegexpHelper.and(
                                    RegexpHelper.and(regexpArray[i][k][k - 1],
                                            RegexpHelper.closure(regexpArray[k][k][k - 1])),
                                    regexpArray[k][j][k - 1]));
                }
            }
        }
    }

    RegexpElement result = regexpArray[0][0][stateNum - 1];

    if (states.size() > 1) {
        for (int i = 1; i < stateNum; i++) {
            result = RegexpHelper.union(result, regexpArray[0][i][stateNum - 1]);
        }
    }
    //All states are accepting?
    return result;
}

From source file:org.sonar.core.issue.tracking.AbstractTracker.java

protected void match(Tracking<RAW, BASE> tracking, Function<Trackable, SearchKey> searchKeyFactory) {

    if (tracking.isComplete()) {
        return;//from  www  .j  a va2s  .c o  m
    }

    Multimap<SearchKey, BASE> baseSearch = ArrayListMultimap.create();
    for (BASE base : tracking.getUnmatchedBases()) {
        baseSearch.put(searchKeyFactory.apply(base), base);
    }

    for (RAW raw : tracking.getUnmatchedRaws()) {
        SearchKey rawKey = searchKeyFactory.apply(raw);
        Collection<BASE> bases = baseSearch.get(rawKey);
        bases.stream().sorted(
                comparing(this::statusRank).reversed().thenComparing(comparing(Trackable::getCreationDate)))
                .findFirst().ifPresent(match -> {
                    tracking.match(raw, match);
                    baseSearch.remove(rawKey, match);
                });
    }
}

From source file:rx.codegen.internal.util.CodegenUtil.java

private static ListMultimap<String, ExecutableElement> initObjectMethodsByName(TypeElement objectTypeElement) {
    final ListMultimap<String, ExecutableElement> ret = ArrayListMultimap.create();
    for (ExecutableElement method : ElementFilter.methodsIn(objectTypeElement.getEnclosedElements())) {
        ret.put(method.getSimpleName().toString(), method);
    }//from www  .j  av  a  2  s.com
    return ret;
}

From source file:pt.iscte.xdiagram.provider.internal.handlers.ContainsHandler.java

public ContainsHandler() {
    references = ArrayListMultimap.create();
    owners = Maps.newHashMap();
}