Author: sebb Date: Sun Dec 28 21:01:51 2014 New Revision: 1648251 URL: http://svn.apache.org/r1648251 Log: Better handling of multiple item names
Modified: commons/proper/net/trunk/src/main/java/examples/mail/IMAPExportMbox.java Modified: commons/proper/net/trunk/src/main/java/examples/mail/IMAPExportMbox.java URL: http://svn.apache.org/viewvc/commons/proper/net/trunk/src/main/java/examples/mail/IMAPExportMbox.java?rev=1648251&r1=1648250&r2=1648251&view=diff ============================================================================== --- commons/proper/net/trunk/src/main/java/examples/mail/IMAPExportMbox.java (original) +++ commons/proper/net/trunk/src/main/java/examples/mail/IMAPExportMbox.java Sun Dec 28 21:01:51 2014 @@ -108,7 +108,7 @@ public final class IMAPExportMbox } } - int argCount = args.length - argIdx; + final int argCount = args.length - argIdx; if (argCount < 2) { @@ -128,7 +128,26 @@ public final class IMAPExportMbox final URI uri = URI.create(args[argIdx++]); final String file = args[argIdx++]; final String sequenceSet = argCount > 2 ? args[argIdx++] : "1:*"; - final String itemNames = argCount > 3 ? args[argIdx++] : "(INTERNALDATE BODY.PEEK[])"; + final String itemNames; + // Handle 0, 1 or multiple item names + if (argCount > 3) { + if (argCount > 4) { + StringBuilder sb = new StringBuilder(); + sb.append("("); + for(int i=4; i <= argCount; i++) { + if (i>4) { + sb.append(" "); + } + sb.append(args[argIdx++]); + } + sb.append(")"); + itemNames = sb.toString(); + } else { + itemNames = args[argIdx++]; + } + } else { + itemNames = "(INTERNALDATE BODY.PEEK[])"; + } final MboxListener chunkListener; if (file.equals("-")) {