List of usage examples for com.google.common.collect ImmutableSortedSet iterator
@Override
public UnmodifiableIterator<E> iterator()
From source file:org.thiesen.ant.git.GitInfoExtractor.java
private static CustomTag getLastRevTag(final Repository r) throws IOException { // Iterate all tags, beginning with the joungest. // The first match that is reachable from HEAD is the one we are looking for final ImmutableSortedSet<CustomTag> sortedTags = getTagsSortedByCommitTime(r); final RevWalk walk = new RevWalk(r); walk.setRetainBody(false);/*from ww w . j a v a2 s. co m*/ final RevCommit head = getHead(r); CustomTag tag = null; boolean isReachable = false; UnmodifiableIterator<CustomTag> iterator = sortedTags.iterator(); while (!isReachable && iterator.hasNext()) { tag = iterator.next(); RevCommit tagCommit = walk.parseCommit(tag.getObjectId()); isReachable = walk.isMergedInto(tagCommit, head) || head.compareTo(tagCommit) == 0; walk.reset(); } walk.dispose(); return isReachable ? tag : null; }
From source file:rapternet.irc.bots.wheatley.listeners.GameListener.java
@Override public void onUserList(UserListEvent event) { if (!GameUtils.areGamesBlocked(event.getChannel().getName())) { ImmutableSortedSet users = event.getUsers(); Iterator<User> iterator = users.iterator(); boolean modified = false; while (iterator.hasNext()) { User element = iterator.next(); if (!scores.containsUser(element.getNick())) { scores.addUser(element.getNick()); System.out.println(element.getNick()); modified = true;/* www. j av a 2 s. c o m*/ } } if (modified) scores.saveToJSON(); } }
From source file:rapternet.irc.bots.common.commands.ListChannels.java
@Override public void processCommand(Event event) { CommandMetaData data = new CommandMetaData(event, true); String caller = data.getCaller(); String channel = data.getEventChannel(); String respondTo;//w w w . j a v a2 s . com if (channel == null) respondTo = caller; else respondTo = channel; boolean isVerified = data.isVerifiedBotOwner(); if (!isVerified) { event.getBot().sendIRC().notice(caller, Colors.BOLD + "Channels: " + Colors.NORMAL + "You don't have access to this command"); } else { ArrayList<String> channelList = new ArrayList<>(); ImmutableSortedSet users = event.getBot().getUserBot().getChannels(); Iterator<Channel> iterator = users.iterator(); String response = new String(); while (iterator.hasNext()) { Channel element = iterator.next(); channelList.add(element.getName()); } for (int i = 0; i < channelList.size() - 1; i++) { response += channelList.get(i) + ", "; } if (!channelList.isEmpty()) { response += channelList.get(channelList.size() - 1); event.getBot().sendIRC().message(respondTo, Colors.BOLD + "Channels: " + Colors.NORMAL + response); } else { event.getBot().sendIRC().message(respondTo, Colors.BOLD + "Channels: " + Colors.NORMAL + "NO CURRENTLY CONNECTED CHANNELS"); } } }
From source file:testbot.GameControl.java
@Override public void onUserList(UserListEvent event) { if (!blockedChan.equalsIgnoreCase(event.getChannel().getName())) { ImmutableSortedSet users = event.getUsers(); Iterator<User> iterator = users.iterator(); boolean modified = false; while (iterator.hasNext()) { User element = iterator.next(); if (!scores.containsUser(element.getNick())) { //temp = (User)users.floor(temp); scores.addUser(element.getNick()); System.out.println(element.getNick()); modified = true;//from ww w .jav a 2 s . com } } if (modified) scores.saveToJSON(); } }
From source file:org.obiba.opal.web.magma.ValueSetsResourceImpl.java
private void addValueSetDtosFromVectorSource(UriInfo uriInfo, Iterable<VariableEntity> variableEntities, Variable variable, boolean filterBinary, VectorSource vector, ValueSetsDto.Builder builder) { ImmutableSortedSet<VariableEntity> sortedEntities = ImmutableSortedSet.<VariableEntity>naturalOrder() .addAll(variableEntities).build(); Iterable<Value> values = vector.getValues(sortedEntities); Map<VariableEntity, Value> results = new LinkedHashMap<>(); Iterator<VariableEntity> entitiesIterator = sortedEntities.iterator(); for (Value value : values) { VariableEntity entity = entitiesIterator.next(); results.put(entity, value);//from w w w. jav a 2 s . c om } for (VariableEntity entity : variableEntities) { builder.addValueSets(getValueSetDto(uriInfo, entity, variable, filterBinary, results.get(entity))); } }
From source file:TriviaBot.TriviaMain.java
@Override // Grabs the user list and adds them to the score list public void onUserList(UserListEvent event) { ImmutableSortedSet users = event.getUsers(); Iterator<User> iterator = users.iterator(); boolean modified = false; while (iterator.hasNext()) { User element = iterator.next();/*www.ja v a 2s . com*/ if (!scores.containsUser(element.getNick())) { //temp = (User)users.floor(temp); scores.addUser(element.getNick()); System.out.println(element.getNick()); modified = true; } } if (modified) scores.saveToJSON(); }
From source file:rapternet.irc.bots.wheatley.listeners.Blarghlebot.java
@Override public void onMessage(MessageEvent event) throws Exception { String message = Colors.removeFormattingAndColors(event.getMessage()); String channel = event.getChannel().getName(); if ((message.toLowerCase().startsWith(Global.mainNick.toLowerCase() + ", ") && !message.toLowerCase().startsWith(Global.mainNick.toLowerCase() + ", why") && !message.toLowerCase().startsWith(Global.mainNick.toLowerCase() + ", what do you think of") && !message.toLowerCase().startsWith(Global.mainNick.toLowerCase() + ", what do you think about") && message.endsWith("?"))) { //Messages from : http://en.wikipedia.org/wiki/Magic_8-Ball List<String> magic = new ArrayList<>(); magic.add("It is certain"); magic.add("It is decidedly so"); magic.add("Without a doubt"); magic.add("Yes definitely"); magic.add("You may rely on it"); magic.add("As I see it, yes"); magic.add("Most likely"); magic.add("Outlook good"); magic.add("Yes"); magic.add("Signs point to yes"); magic.add("Reply hazy try again"); magic.add("Ask again later"); magic.add("Better not tell you now"); magic.add("Cannot predict now"); magic.add("Concentrate and ask again"); magic.add("Don't count on it"); magic.add("My reply is no"); magic.add("My sources say no"); magic.add("Outlook not so good"); magic.add("Very doubtful"); event.respond(magic.get((int) (Math.random() * magic.size() - 1))); }/*w w w . ja v a2 s . co m*/ if ((event.getBot().getUserChannelDao().containsUser("BlarghleBot") && !event.getBot().getUserChannelDao() .getChannels(event.getBot().getUserChannelDao().getUser("BlarghleBot")) .contains(event.getChannel())) || !event.getBot().getUserChannelDao().containsUser("BlarghleBot")) { if (message.equalsIgnoreCase("!users") || message.equalsIgnoreCase("!dtellausers")) { int totalUsers = 0; int dtellaChanUsers = 0; int dtellaUsers = 0; ImmutableSortedSet users = event.getBot().getUserChannelDao().getAllUsers(); Iterator<User> iterator = users.iterator(); while (iterator.hasNext()) { User user = iterator.next(); if (user.getNick().startsWith("|") && !user.getNick().equalsIgnoreCase("|DtellaBridge")) { dtellaUsers++; } Iterator<Channel> chanIterator = user.getChannels().iterator(); while (chanIterator.hasNext()) { Channel chanElement = chanIterator.next(); if (chanElement.getName().equalsIgnoreCase("#dtella")) { dtellaChanUsers++; break; } } if (user.getChannels().size() > 0) totalUsers++; } event.getBot().sendIRC().message(event.getChannel().getName(), Colors.BOLD + "Dtella Shares: " + Colors.NORMAL + (dtellaUsers) + Colors.BOLD + " #Dtella Users: " + Colors.NORMAL + dtellaChanUsers + Colors.BOLD + " Total Visible Users " + Colors.NORMAL + totalUsers); } //KICKS ON KICKS ON KICKS if ((message.equalsIgnoreCase("Blarghlebot, transform and rollout")) || (message.equalsIgnoreCase(Global.mainNick + ", transform and rollout"))) { switch ((int) (Math.random() * 3 + 1)) { case 1: event.getBot().sendIRC().action(event.getChannel().getName(), "transforms into CherryBot"); event.getBot().sendIRC().action(event.getChannel().getName(), "charges his cherry bomb..."); event.getChannel().send().kick(event.getUser(), "CHERRY ASPLOSION"); break; case 2: event.getBot().sendIRC().action(event.getChannel().getName(), "transforms into PeachBot"); event.getBot().sendIRC().action(event.getChannel().getName(), "charges his peachfuzz..."); event.getChannel().send().kick(event.getUser(), "EAT FUZZ"); break; case 3: event.getBot().sendIRC().action(event.getChannel().getName(), "transforms into AppleBot"); event.getBot().sendIRC().action(event.getChannel().getName(), "charges his apple cannon..."); event.getChannel().send().kick(event.getUser(), "EAT PIE"); break; } } //OTHER Functions if (message.equalsIgnoreCase("i put on my robe and wizard hat")) event.getChannel().send().kick(event.getUser(), "LIGHTNING BOLT"); else if (message.equalsIgnoreCase("ba dum") || message.equalsIgnoreCase("badum")) event.getBot().sendIRC().message(event.getChannel().getName(), "psh"); if (message.startsWith(Global.commandPrefix) && !message.matches("([ ]{0,}" + Global.commandPrefix + "{1,}[ ]{0,}){1,}")) { String command = message.split(Global.commandPrefix)[1]; String[] cmdSplit = command.split(" "); if (command.equalsIgnoreCase("banme")) { event.getBot().sendRaw().rawLineNow( "tban " + event.getChannel().getName() + " 1m " + event.getUser().getNick() + "!*@*"); event.getChannel().send().kick(event.getUser(), "You're Welcome"); } else if (command.equalsIgnoreCase("suicide")) event.getChannel().send().kick(event.getUser(), "SOMETHING WITTY ABOUT DYING"); else if (command.equalsIgnoreCase("kickme")) event.getChannel().send().kick(event.getUser(), "you += dead"); if (cmdSplit[0].toLowerCase().startsWith("troll")) { if ((event.getUser().getNick().equalsIgnoreCase(Global.botOwner) || event.getChannel().isOwner(event.getUser())) && event.getUser().isVerified()) { event.getChannel().send().kick(event.getBot().getUserChannelDao().getUser(cmdSplit[1]), "YOO GAWT TROLLED " + cmdSplit[1]); } else { event.getChannel().send().kick(event.getUser(), "YOO GAWT TROLLED " + event.getUser().getNick()); } } //Mildly Useful functions else if (cmdSplit[0].equalsIgnoreCase("g")) { String searchquery; searchquery = message.substring(message.indexOf(" ") + 1); String url = "http://lmgtfy.com/?q=" + URLEncoder.encode(searchquery, "UTF-8"); event.respond(url); } else if (command.equalsIgnoreCase("russianroulette")) { if (shoot == 0) { shoot = (int) (Math.random() * 6 + 1); if (shoot == 1) { event.getChannel().send().kick(event.getUser(), "BANG"); event.getBot().sendIRC().message(event.getChannel().getName(), "-Reloaded-"); shoot = 0; } else { event.getBot().sendIRC().message(event.getChannel().getName(), "-click-"); } } else { shoot = shoot - 1; if (shoot == 1) { event.getChannel().send().kick(event.getUser(), "BANG"); event.getBot().sendIRC().message(event.getChannel().getName(), "-Reloaded-"); shoot = 0; } else { event.getBot().sendIRC().message(event.getChannel().getName(), "-click-"); } } } else if (command.equalsIgnoreCase("headon")) { event.getBot().sendIRC().message(event.getChannel().getName(), "APPLY DIRECTLY TO FOREHEAD"); event.getBot().sendIRC().message(event.getChannel().getName(), "APPLY DIRECTLY TO FOREHEAD"); event.getBot().sendIRC().message(event.getChannel().getName(), "APPLY DIRECTLY TO FOREHEAD"); } //Functions Using REGEX else if (Pattern.matches("!hm[m]+", message.toLowerCase())) event.getBot().sendIRC().message(event.getChannel().getName(), event.getUser().getNick() + ", good sir old bean good chap verily mm why certainly the old what for");//indeed good chap the old what for ah yes hm yes good sir old bean else if (Pattern.matches("!trol[ol]+", message.toLowerCase()) || Pattern.matches("!trolo[lo]+", message.toLowerCase())) event.getBot().sendIRC().message(event.getChannel().getName(), "http://youtu.be/v1PBptSDIh8"); // REGEX for creating IRC quote links else if (Pattern.matches("![0-9]+", message)) event.getBot().sendIRC().message(event.getChannel().getName(), "http://quotes.dtella.net/?quote=" + message.split("!")[1]); else if (command.equalsIgnoreCase("passthepoop")) { if ("null".equals(poop)) { poop = event.getUser().getNick(); } else if (event.getUser().getNick().equals(poop)) { event.getBot().sendIRC().message(event.getChannel().getName(), "You can't pass the poop with yourself!"); poop = "null"; } else { event.getBot().sendIRC().message(event.getChannel().getName(), "Pass the poop! " + poop + " will poop into " + event.getUser().getNick() + "'s butthole, and then " + event.getUser().getNick() + " will poop it back... into " + poop + "'s butthole. And then they'll just keep doing it back and forth... forever."); poop = "null"; } } else if (cmdSplit[0].equalsIgnoreCase("roll") && Pattern.matches("[0-9]{1,2}?d[0-9]{1,3}?", cmdSplit[1])) { String[] rolls = message.split(" ")[1].split("d"); String dice = "You rolled: "; int total = 0; int temp = (int) (Math.random() * Integer.parseInt(rolls[1]) + 1); total = temp + total; dice = dice + Integer.toString(temp); for (int i = 1; i <= Integer.parseInt(rolls[0]) - 1; i++) { temp = (int) (Math.random() * Integer.parseInt(rolls[1]) + 1); total = temp + total; dice = dice + ", " + Integer.toString(temp); } event.getBot().sendIRC().message(event.getChannel().getName(), dice + " for a total of " + Integer.toString(total)); } else if (cmdSplit[0].equalsIgnoreCase("roll") && Pattern.matches("[0-9]+d[0-9]+", cmdSplit[1])) { event.getBot().sendIRC().message(event.getChannel().getName(), "NO"); } else if (cmdSplit[0].equalsIgnoreCase("xzibit") && (cmdSplit.length == 3)) { event.getBot().sendIRC().message(event.getChannel().getName(), "Yo dawg I heard you like " + cmdSplit[1] + " so I put an " + cmdSplit[1] + " in your " + cmdSplit[2] + " so you can " + cmdSplit[1] + " while you " + cmdSplit[2] + "."); } else if (command.equalsIgnoreCase("burn")) event.getBot().sendIRC().message(event.getChannel().getName(), "http://quotes.dtella.net/?quote=1076"); else if (command.equalsIgnoreCase("udon")) event.getBot().sendIRC().message(event.getChannel().getName(), "http://quotes.dtella.net/?quote=1019"); else if (command.equalsIgnoreCase("rimshot")) event.getBot().sendIRC().message(event.getChannel().getName(), "http://www.instantrimshot.com/"); else if (command.equalsIgnoreCase("clitoris")) event.getBot().sendIRC().message(event.getChannel().getName(), "http://quotes.dtella.net/?quote=1050"); else if (command.equalsIgnoreCase("vuvuzela")) event.getBot().sendIRC().message(event.getChannel().getName(), "BZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"); else if (cmdSplit[0].equalsIgnoreCase("bash") && cmdSplit.length == 2 && Pattern.matches("[0-9]+", cmdSplit[1])) event.getBot().sendIRC().message(event.getChannel().getName(), "http://bash.org/?" + message.split(" ")[1]); else if (cmdSplit[0].equalsIgnoreCase("xkcdb") && cmdSplit.length == 2 && Pattern.matches("[0-9]+", cmdSplit[1])) event.getBot().sendIRC().message(event.getChannel().getName(), "http://www.xkcdb.com/" + message.split(" ")[1]); else if (command.equalsIgnoreCase("dropthebass")) event.getBot().sendIRC().message(event.getChannel().getName(), "WUB WUB WUBWUBWUBWUB WUB WUB"); } } }
From source file:rapternet.irc.bots.wheatley.gamecommands.PurchaseTimeBomb.java
@Override public void processCommand(MessageEvent event) { boolean isRandom = false; String victim = new String(); ArrayList<String> bomb = getTimeBomb(); CommandMetaData data = new CommandMetaData(event, false); String channel = data.getCommandChannel(); String[] cmdSplit = data.getCommandSplit(); String caller = data.getCaller(); String respondTo = data.respondToCallerOrMessageChan(); if (cmdSplit[0].equalsIgnoreCase("randombomb")) { isRandom = true;/*w ww .j a va2 s .co m*/ } if (cmdSplit.length == 2 || isRandom) { if (!isRandom && event.getBot().getUserChannelDao().containsUser(cmdSplit[1]) && event.getBot().getUserChannelDao() .getChannels(event.getBot().getUserChannelDao().getUser(cmdSplit[1])) .contains(event.getChannel())) { victim = cmdSplit[1]; } else if (!isRandom) { event.getBot().sendIRC().notice(caller, "Timebomb: User does not exist in command channel"); return; } else if (isRandom) { ImmutableSortedSet users = event.getBot().getUserChannelDao().getChannel(channel).getUsersNicks(); Random random = new Random(); int chosen = random.nextInt(users.size()); int c = 0; System.out.println(chosen); Iterator<String> userIterator = users.iterator(); while (userIterator.hasNext()) { String user = userIterator.next(); if (c == chosen) { victim = user; System.out.println("VICTIM CHOSEN"); } c++; System.out.println(user); } } event.getBot().sendIRC().action(respondTo, "stuffs a bomb down " + victim + "'s pants. The timer is set for %s seconds! " + "There are %s wires. They are:"); //event.getBot().getUserChannelDao().getUser(kill[1]).getNick() } else { event.getBot().sendIRC().notice(caller, "Timebomb: This command exactly one input of the form of a user nick, \"!timebomb [user]\" \"!randombomb [user]\""); } for (int i = 0; i < bomb.size(); i++) { event.getBot().sendIRC().message(channel, bomb.get(i)); } }
From source file:com.google.googlejavaformat.java.ImportOrderer.java
private String reorderedImportsString(ImmutableSortedSet<Import> imports) { Preconditions.checkArgument(!imports.isEmpty(), "imports"); // Pretend that the first import was preceded by another import of the same kind, so we don't // insert a newline there. Import prevImport = imports.iterator().next(); StringBuilder sb = new StringBuilder(); for (Import currImport : imports) { if (shouldInsertBlankLineFn.apply(prevImport, currImport)) { // Blank line between static and non-static imports. sb.append(lineSeparator);/* w ww .ja v a 2 s . c om*/ } sb.append(currImport); prevImport = currImport; } return sb.toString(); }
From source file:com.facebook.buck.apple.AppleBuildRules.java
public static ImmutableSet<TargetNode<?, ?>> getRecursiveTargetNodeDependenciesOfTypes( final TargetGraph targetGraph, final Optional<AppleDependenciesCache> cache, final RecursiveDependenciesMode mode, final TargetNode<?, ?> targetNode, final Optional<ImmutableSet<Class<? extends Description<?>>>> descriptionClasses) { LOG.verbose("Getting recursive dependencies of node %s, mode %s, including only types %s\n", targetNode, mode, descriptionClasses);/*w ww. j a v a 2 s. co m*/ GraphTraversable<TargetNode<?, ?>> graphTraversable = node -> { if (!isXcodeTargetDescription(node.getDescription()) || SwiftLibraryDescription.isSwiftTarget(node.getBuildTarget())) { return Collections.emptyIterator(); } LOG.verbose("Finding children of node: %s", node); ImmutableSortedSet<TargetNode<?, ?>> defaultDeps; ImmutableSortedSet<TargetNode<?, ?>> exportedDeps; if (!cache.isPresent()) { ImmutableSortedSet.Builder<TargetNode<?, ?>> defaultDepsBuilder = ImmutableSortedSet.naturalOrder(); ImmutableSortedSet.Builder<TargetNode<?, ?>> exportedDepsBuilder = ImmutableSortedSet .naturalOrder(); addDirectAndExportedDeps(targetGraph, node, defaultDepsBuilder, exportedDepsBuilder); defaultDeps = defaultDepsBuilder.build(); exportedDeps = exportedDepsBuilder.build(); } else { defaultDeps = cache.get().getDefaultDeps(node); exportedDeps = cache.get().getExportedDeps(node); } if (node.getDescription() instanceof AppleBundleDescription) { AppleBundleDescription.Arg arg = (AppleBundleDescription.Arg) node.getConstructorArg(); ImmutableSortedSet.Builder<TargetNode<?, ?>> editedDeps = ImmutableSortedSet.naturalOrder(); ImmutableSortedSet.Builder<TargetNode<?, ?>> editedExportedDeps = ImmutableSortedSet.naturalOrder(); for (TargetNode<?, ?> rule : defaultDeps) { if (!rule.getBuildTarget().equals(arg.binary)) { editedDeps.add(rule); } else { addDirectAndExportedDeps(targetGraph, targetGraph.get(arg.binary), editedDeps, editedExportedDeps); } } ImmutableSortedSet<TargetNode<?, ?>> newDefaultDeps = editedDeps.build(); ImmutableSortedSet<TargetNode<?, ?>> newExportedDeps = editedExportedDeps.build(); LOG.verbose("Transformed deps for bundle %s: %s -> %s, exported deps %s -> %s", node, defaultDeps, newDefaultDeps, exportedDeps, newExportedDeps); defaultDeps = newDefaultDeps; exportedDeps = newExportedDeps; } LOG.verbose("Default deps for node %s mode %s: %s", node, mode, defaultDeps); if (!exportedDeps.isEmpty()) { LOG.verbose("Exported deps for node %s mode %s: %s", node, mode, exportedDeps); } ImmutableSortedSet<TargetNode<?, ?>> deps = ImmutableSortedSet.of(); if (node != targetNode) { switch (mode) { case LINKING: boolean nodeIsAppleLibrary = node.getDescription() instanceof AppleLibraryDescription; boolean nodeIsCxxLibrary = node.getDescription() instanceof CxxLibraryDescription; if (nodeIsAppleLibrary || nodeIsCxxLibrary) { if (AppleLibraryDescription.isSharedLibraryTarget(node.getBuildTarget())) { deps = exportedDeps; } else { deps = defaultDeps; } } else if (RECURSIVE_DEPENDENCIES_STOP_AT_DESCRIPTION_CLASSES .contains(node.getDescription().getClass())) { deps = exportedDeps; } else { deps = defaultDeps; } break; case COPYING: if (RECURSIVE_DEPENDENCIES_STOP_AT_DESCRIPTION_CLASSES .contains(node.getDescription().getClass())) { deps = exportedDeps; } else { deps = defaultDeps; } break; case BUILDING: deps = defaultDeps; break; } } else { deps = defaultDeps; } LOG.verbose("Walking children of node %s: %s", node, deps); return deps.iterator(); }; final ImmutableSet.Builder<TargetNode<?, ?>> filteredRules = ImmutableSet.builder(); AcyclicDepthFirstPostOrderTraversal<TargetNode<?, ?>> traversal = new AcyclicDepthFirstPostOrderTraversal<>( graphTraversable); try { for (TargetNode<?, ?> node : traversal.traverse(ImmutableList.of(targetNode))) { if (node != targetNode && (!descriptionClasses.isPresent() || descriptionClasses.get().contains(node.getDescription().getClass()))) { filteredRules.add(node); } } } catch (AcyclicDepthFirstPostOrderTraversal.CycleException e) { // actual load failures and cycle exceptions should have been caught at an earlier stage throw new RuntimeException(e); } ImmutableSet<TargetNode<?, ?>> result = filteredRules.build(); LOG.verbose("Got recursive dependencies of node %s mode %s types %s: %s\n", targetNode, mode, descriptionClasses, result); return result; }