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

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

Introduction

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

Prototype

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

Source Link

Document

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

Usage

From source file:org.jclouds.simpledb.samples.MainApp.java

public static void main(String[] args) throws IOException {

    // Args/*  w w w  . ja  v  a  2s . c o m*/
    String accesskeyid = args[0];
    String secretkey = args[1];
    Properties properties = new Properties();
    properties.setProperty("simpledb.identity", accesskeyid);
    properties.setProperty("simpledb.credential", secretkey);

    RestContext<SimpleDBClient, SimpleDBAsyncClient> context = new RestContextFactory().createContext(
            "simpledb", "AKIAJODKICBEKG7MM4XA", "FfqiNSiC88B6tJPDIOKUWUJGY68BQaQpkNz6Fsgq", new Properties());
    AttributePair p = new AttributePair("AccessNumber", "1213123", true);
    Multimap<String, AttributePair> m = LinkedHashMultimap.create();
    m.put("AccessNumber", p);
    Item attributes = new Item(m);

    // Use Provider API
    context.getApi().putAttributes(Region.EU_WEST_1, "tse", "AccessNumber", attributes);
    //context.getApi().createDomainInRegion(Region.EU_WEST_1, "tse");
    Map<String, Item> results = context.getApi().select(Region.EU_WEST_1, "select * from tse");
    System.out.println(results);
    ListDomainsOptions[] list = new ListDomainsOptions[100];
    //context.getApi().listDomainsInRegion(Region.EU_WEST_1, list);
    System.out.println(list[0]);
    context.close();
}

From source file:com.github.rinde.vanlon15prima.PerformExperiment.java

public static void main(String[] args) {
    final long time = System.currentTimeMillis();
    final Experiment.Builder experimentBuilder = Experiment.build(SUM).computeLocal().withRandomSeed(123)
            .withThreads(Runtime.getRuntime().availableProcessors()).repeat(1)
            .addScenarios(FileProvider.builder().add(Paths.get(DATASET)).filter("glob:**[09].scen"))
            .addResultListener(new CommandLineProgress(System.out))
            .usePostProcessor(PostProcessors.statisticsPostProcessor())
            // central: cheapest insertion configuration
            .addConfiguration(//  w  ww  . j  a  v  a 2  s  . com
                    Central.solverConfiguration(CheapestInsertionHeuristic.supplier(SUM), "CheapInsert"))
            // central: random
            .addConfiguration(Central.solverConfiguration(RandomSolver.supplier()))
            // mas: auction cheapest insertion with 2-opt per vehicle
            .addConfiguration(MASConfiguration.pdptwBuilder().setName("Auction-R-opt2cih-B-cih")
                    .addEventHandler(AddVehicleEvent.class, new VehicleHandler(
                            SolverRoutePlanner.supplier(
                                    Opt2.breadthFirstSupplier(CheapestInsertionHeuristic.supplier(SUM), SUM)),
                            SolverBidder.supplier(SUM, CheapestInsertionHeuristic.supplier(SUM))))
                    .addModel(SolverModel.builder()).addModel(AuctionCommModel.builder()).build());

    final Optional<ExperimentResults> results = experimentBuilder.perform(System.out, args);
    final long duration = System.currentTimeMillis() - time;
    if (!results.isPresent()) {
        return;
    }

    System.out.println("Done, computed " + results.get().getResults().size() + " simulations in "
            + duration / 1000d + "s");

    final Multimap<MASConfiguration, SimulationResult> groupedResults = LinkedHashMultimap.create();
    for (final SimulationResult sr : results.get().sortedResults()) {
        groupedResults.put(sr.getSimArgs().getMasConfig(), sr);
    }

    for (final MASConfiguration config : groupedResults.keySet()) {
        final Collection<SimulationResult> group = groupedResults.get(config);

        final File configResult = new File(RESULTS + config.getName() + ".csv");
        try {
            Files.createParentDirs(configResult);
        } catch (final IOException e1) {
            throw new IllegalStateException(e1);
        }
        // deletes the file in case it already exists
        configResult.delete();
        try {
            Files.append(
                    "dynamism,urgency,scale,cost,travel_time,tardiness,over_time,is_valid,scenario_id,random_seed,comp_time,num_vehicles,num_orders\n",
                    configResult, Charsets.UTF_8);
        } catch (final IOException e1) {
            throw new IllegalStateException(e1);
        }

        for (final SimulationResult sr : group) {
            final String pc = sr.getSimArgs().getScenario().getProblemClass().getId();
            final String id = sr.getSimArgs().getScenario().getProblemInstanceId();
            final int numVehicles = FluentIterable.from(sr.getSimArgs().getScenario().getEvents())
                    .filter(AddVehicleEvent.class).size();
            try {
                final String scenarioName = Joiner.on("-").join(pc, id);
                final List<String> propsStrings = Files
                        .readLines(new File(DATASET + scenarioName + ".properties"), Charsets.UTF_8);
                final Map<String, String> properties = Splitter.on("\n").withKeyValueSeparator(" = ")
                        .split(Joiner.on("\n").join(propsStrings));

                final double dynamism = Double.parseDouble(properties.get("dynamism_bin"));
                final long urgencyMean = Long.parseLong(properties.get("urgency"));
                final double scale = Double.parseDouble(properties.get("scale"));

                final StatisticsDTO stats = (StatisticsDTO) sr.getResultObject();
                final double cost = SUM.computeCost(stats);
                final double travelTime = SUM.travelTime(stats);
                final double tardiness = SUM.tardiness(stats);
                final double overTime = SUM.overTime(stats);
                final boolean isValidResult = SUM.isValidResult(stats);
                final long computationTime = stats.computationTime;

                final long numOrders = Long.parseLong(properties.get("AddParcelEvent"));

                final String line = Joiner.on(",")
                        .appendTo(new StringBuilder(),
                                asList(dynamism, urgencyMean, scale, cost, travelTime, tardiness, overTime,
                                        isValidResult, scenarioName, sr.getSimArgs().getRandomSeed(),
                                        computationTime, numVehicles, numOrders))
                        .append(System.lineSeparator()).toString();
                if (!isValidResult) {
                    System.err.println("WARNING: FOUND AN INVALID RESULT: ");
                    System.err.println(line);
                }
                Files.append(line, configResult, Charsets.UTF_8);
            } catch (final IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
}

From source file:com.github.rinde.dynurg.Experimentation.java

public static void main(String[] args) {
    System.out.println(System.getProperty("jppf.config"));

    final long time = System.currentTimeMillis();
    final Experiment.Builder experimentBuilder = Experiment.build(SUM).computeDistributed().withRandomSeed(123)
            .repeat(10).numBatches(10)//from   w w w . j ava  2s . c o  m
            .addScenarios(
                    FileProvider.builder().add(Paths.get(DATASET)).filter("glob:**[01].[0-9]0#[0-5].scen"))
            .addResultListener(new CommandLineProgress(System.out))
            .addConfiguration(
                    Central.solverConfiguration(CheapestInsertionHeuristic.supplier(SUM), "-CheapInsert"))
            .addConfiguration(Central.solverConfiguration(CheapestInsertionHeuristic.supplier(TARDINESS),
                    "-CheapInsert-Tard"))
            .addConfiguration(Central.solverConfiguration(CheapestInsertionHeuristic.supplier(DISTANCE),
                    "-CheapInsert-Dist"))
            .addConfiguration(Central.solverConfiguration(
                    Opt2.breadthFirstSupplier(CheapestInsertionHeuristic.supplier(SUM), SUM),
                    "-bfsOpt2-CheapInsert"))
            .addConfiguration(Central.solverConfiguration(
                    Opt2.breadthFirstSupplier(CheapestInsertionHeuristic.supplier(TARDINESS), TARDINESS),
                    "-bfsOpt2-CheapInsert-Tard"))
            .addConfiguration(Central.solverConfiguration(
                    Opt2.breadthFirstSupplier(CheapestInsertionHeuristic.supplier(DISTANCE), DISTANCE),
                    "-bfsOpt2-CheapInsert-Dist"))
            .addConfiguration(Central.solverConfiguration(
                    Opt2.depthFirstSupplier(CheapestInsertionHeuristic.supplier(SUM), SUM),
                    "-dfsOpt2-CheapInsert"))
            .addConfiguration(Central.solverConfiguration(
                    Opt2.depthFirstSupplier(CheapestInsertionHeuristic.supplier(TARDINESS), TARDINESS),
                    "-dfsOpt2-CheapInsert-Tard"))
            .addConfiguration(Central.solverConfiguration(
                    Opt2.depthFirstSupplier(CheapestInsertionHeuristic.supplier(DISTANCE), DISTANCE),
                    "-dfsOpt2-CheapInsert-Dist"));

    final Menu m = ExperimentCli.createMenuBuilder(experimentBuilder)
            .add(Option.builder("nv", ArgumentParser.INTEGER).longName("number-of-vehicles")
                    .description("Changes the number of vehicles in all scenarios.").build(), experimentBuilder,
                    new ArgHandler<Experiment.Builder, Integer>() {
                        @Override
                        public void execute(Experiment.Builder subject, Optional<Integer> argument) {
                            subject.setScenarioReader(new NumVehiclesScenarioParser(argument.get()));
                        }
                    })
            .build();

    final Optional<String> error = m.safeExecute(args);
    if (error.isPresent()) {
        System.err.println(error.get());
        return;
    }
    final ExperimentResults results = experimentBuilder.perform();

    final long duration = System.currentTimeMillis() - time;
    System.out
            .println("Done, computed " + results.results.size() + " simulations in " + duration / 1000d + "s");

    final Multimap<MASConfiguration, SimulationResult> groupedResults = LinkedHashMultimap.create();
    for (final SimulationResult sr : results.sortedResults()) {
        groupedResults.put(sr.masConfiguration, sr);
    }

    for (final MASConfiguration config : groupedResults.keySet()) {
        final Collection<SimulationResult> group = groupedResults.get(config);

        final File configResult = new File(RESULTS + config.toString() + ".csv");
        try {
            Files.createParentDirs(configResult);
        } catch (final IOException e1) {
            throw new IllegalStateException(e1);
        }
        // deletes the file in case it already exists
        configResult.delete();
        try {
            Files.append(
                    "dynamism,urgency_mean,urgency_sd,cost,travel_time,tardiness,over_time,is_valid,scenario_id,random_seed,comp_time,num_vehicles\n",
                    configResult, Charsets.UTF_8);
        } catch (final IOException e1) {
            throw new IllegalStateException(e1);
        }

        for (final SimulationResult sr : group) {
            final String pc = sr.scenario.getProblemClass().getId();
            final String id = sr.scenario.getProblemInstanceId();
            final int numVehicles = FluentIterable.from(sr.scenario.asList()).filter(AddVehicleEvent.class)
                    .size();
            try {
                final List<String> propsStrings = Files
                        .readLines(new File("files/dataset/" + pc + id + ".properties"), Charsets.UTF_8);
                final Map<String, String> properties = Splitter.on("\n").withKeyValueSeparator(" = ")
                        .split(Joiner.on("\n").join(propsStrings));

                final double dynamism = Double.parseDouble(properties.get("dynamism"));
                final double urgencyMean = Double.parseDouble(properties.get("urgency_mean"));
                final double urgencySd = Double.parseDouble(properties.get("urgency_sd"));

                final double cost = SUM.computeCost(sr.stats);
                final double travelTime = SUM.travelTime(sr.stats);
                final double tardiness = SUM.tardiness(sr.stats);
                final double overTime = SUM.overTime(sr.stats);
                final boolean isValidResult = SUM.isValidResult(sr.stats);
                final long computationTime = sr.stats.computationTime;

                final String line = Joiner.on(",")
                        .appendTo(new StringBuilder(),
                                asList(dynamism, urgencyMean, urgencySd, cost, travelTime, tardiness, overTime,
                                        isValidResult, pc + id, sr.seed, computationTime, numVehicles))
                        .append(System.lineSeparator()).toString();
                if (!isValidResult) {
                    System.err.println("WARNING: FOUND AN INVALID RESULT: ");
                    System.err.println(line);
                }
                Files.append(line, configResult, Charsets.UTF_8);
            } catch (final IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }
}

From source file:io.helixservice.core.util.VertxTypeConverter.java

/**
 * Vert.x MultiMap to Guava Multimap.//from ww  w  .  jav a  2  s  .c  o  m
 * Primarily used for request and response headers.
 *
 * @param multiMap Vert.x multimap
 * @return Multimap converted to Guava Multimap
 */
static Multimap<String, String> toGuavaMultimap(MultiMap multiMap) {
    LinkedHashMultimap<String, String> result = LinkedHashMultimap.create();

    for (String key : multiMap.names()) {
        result.replaceValues(key, multiMap.getAll(key));
    }

    return result;
}

From source file:com.addthis.basis.util.MultidictUtil.java

/**
 * parse parameters from an url query string into a multidict
 *
 * @param query//from  w  w w. ja  v  a 2s. c  om
 * @return
 */
public static Multimap<String, String> parse(String query) {
    Multimap<String, String> map = LinkedHashMultimap.create();
    return parse(query, map);
}

From source file:io.takari.maven.plugins.compile.jdt.classpath.Classpath.java

private static Multimap<String, ClasspathEntry> newPackageIndex(List<ClasspathEntry> entries) {
    Multimap<String, ClasspathEntry> classpath = LinkedHashMultimap.create();
    for (ClasspathEntry entry : entries) {
        for (String packageName : entry.getPackageNames()) {
            classpath.put(packageName, entry);
        }/*  w w  w. ja  v a 2s . com*/
    }
    return ImmutableMultimap.copyOf(classpath); // preserves order
}

From source file:com.enonic.cms.domain.user.field.UserFieldMap.java

public UserFieldMap(boolean mutlipleAddresses) {
    this.mutlipleAddresses = mutlipleAddresses;
    this.fields = LinkedHashMultimap.create();
}

From source file:org.sonar.plugins.core.issue.tracking.HashedSequence.java

public static <S extends Sequence> HashedSequence<S> wrap(S base, SequenceComparator<S> cmp) {
    int size = base.length();
    int[] hashes = new int[size];
    Multimap<Integer, Integer> linesByHash = LinkedHashMultimap.create();
    for (int i = 0; i < size; i++) {
        hashes[i] = cmp.hash(base, i);/*  ww  w .  j  a va2s. com*/
        // indices in array are shifted one line before
        linesByHash.put(hashes[i], i + 1);
    }
    return new HashedSequence<S>(base, hashes, linesByHash);
}

From source file:org.sonar.batch.issue.tracking.FileHashes.java

public static FileHashes create(String[] hashes) {
    int size = hashes.length;
    Multimap<String, Integer> linesByHash = LinkedHashMultimap.create();
    for (int i = 0; i < size; i++) {
        // indices in array are shifted one line before
        linesByHash.put(hashes[i], i + 1);
    }/*  w  w w  .j av  a2s. c o  m*/
    return new FileHashes(hashes, linesByHash);
}

From source file:org.sonar.plugins.core.issue.tracking.FileHashes.java

public static FileHashes create(byte[][] hashes) {
    int size = hashes.length;
    Multimap<String, Integer> linesByHash = LinkedHashMultimap.create();
    String[] hexHashes = new String[size];
    for (int i = 0; i < size; i++) {
        String hash = hashes[i] != null ? Hex.encodeHexString(hashes[i]) : "";
        hexHashes[i] = hash;/*  w w  w.  j a v a  2 s. c  om*/
        // indices in array are shifted one line before
        linesByHash.put(hash, i + 1);
    }
    return new FileHashes(hexHashes, linesByHash);
}