List of usage examples for com.amazonaws.services.elasticbeanstalk.model SolutionStackDescription getSolutionStackName
public String getSolutionStackName()
The name of the solution stack.
From source file:br.com.ingenieux.mojo.beanstalk.AbstractBeanstalkMojo.java
License:Apache License
protected String lookupSolutionStack(final String solutionStack) { if (!GlobUtil.hasWildcards(solutionStack)) { return solutionStack; }// ww w . j a va 2 s . c o m getLog().info("Looking up for solution stacks matching '" + solutionStack + "'"); final Function<SolutionStackDescription, String> stackTransformer = new Function<SolutionStackDescription, String>() { @Override public String apply(SolutionStackDescription input) { return input.getSolutionStackName(); } }; final List<SolutionStackDescription> stackDetails = getService().listAvailableSolutionStacks() .getSolutionStackDetails(); Collection<String> solStackList = Collections2.transform(stackDetails, stackTransformer); final Pattern stackPattern = GlobUtil.globify(solutionStack); List<String> matchingStacks = new ArrayList<String>( Collections2.filter(solStackList, new Predicate<String>() { @Override public boolean apply(String input) { return stackPattern.matcher(input).matches(); } })); Collections.sort(matchingStacks, ComparatorUtils.reversedComparator(Collator.getInstance())); if (matchingStacks.isEmpty()) { throw new IllegalStateException("unable to lookup a solution stack matching '" + solutionStack + "'"); } return matchingStacks.iterator().next(); }