List of usage examples for com.google.common.collect LinkedHashMultimap create
public static <K, V> LinkedHashMultimap<K, V> create()
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); }