svn commit: r749853 - /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/changes/ChangeSet.java
Author: sebb Date: Wed Mar 4 00:16:56 2009 New Revision: 749853 URL: http://svn.apache.org/viewvc?rev=749853view=rev Log: Extraneous ; Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/changes/ChangeSet.java Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/changes/ChangeSet.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/changes/ChangeSet.java?rev=749853r1=749852r2=749853view=diff == --- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/changes/ChangeSet.java (original) +++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/changes/ChangeSet.java Wed Mar 4 00:16:56 2009 @@ -33,7 +33,7 @@ public final class ChangeSet { private final Set changes = Collections -.synchronizedSet(new LinkedHashSet());; +.synchronizedSet(new LinkedHashSet()); public void delete(final String pFilename) { addDeletion(new Change(pFilename));
svn commit: r749855 - in /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip: FallbackZipEncoding.java Simple8BitZipEncoding.java UnicodeCommentExtraField.java Unic
Author: sebb Date: Wed Mar 4 00:18:09 2009 New Revision: 749855 URL: http://svn.apache.org/viewvc?rev=749855view=rev Log: Javadoc fixes Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/FallbackZipEncoding.java commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodeCommentExtraField.java commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodePathExtraField.java commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/FallbackZipEncoding.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/FallbackZipEncoding.java?rev=749855r1=749854r2=749855view=diff == --- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/FallbackZipEncoding.java (original) +++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/FallbackZipEncoding.java Wed Mar 4 00:18:09 2009 @@ -34,7 +34,7 @@ * given name can be safely encoded or not./p * * pThis implementation acts as a last resort implementation, when - * neither {...@see Simple8BitZipEnoding} nor {...@see NioZipEncoding} is + * neither {...@link Simple8BitZipEnoding} nor {...@link NioZipEncoding} is * available./p * * pThe methods of this class are reentrant./p Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java?rev=749855r1=749854r2=749855view=diff == --- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java (original) +++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/Simple8BitZipEncoding.java Wed Mar 4 00:18:09 2009 @@ -77,7 +77,7 @@ private final char[] highChars; /** - * A list of {...@see Simple8BitChar} objects sorted by the unicode + * A list of {...@link Simple8BitChar} objects sorted by the unicode * field. This list is used to binary search reverse mapping of * unicode characters with a character code greater than 127. */ Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodeCommentExtraField.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodeCommentExtraField.java?rev=749855r1=749854r2=749855view=diff == --- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodeCommentExtraField.java (original) +++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodeCommentExtraField.java Wed Mar 4 00:18:09 2009 @@ -45,7 +45,7 @@ * Assemble as unicode comment extension from the name given as * text as well as the encoded bytes actually written to the archive. * - * @param name The file name + * @param text The file name * @param bytes the bytes actually written to the archive * @param off The offset of the encoded comment in codebytes/code. * @param len The length of the encoded comment or comment in Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodePathExtraField.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodePathExtraField.java?rev=749855r1=749854r2=749855view=diff == --- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodePathExtraField.java (original) +++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodePathExtraField.java Wed Mar 4 00:18:09 2009 @@ -45,7 +45,7 @@ * Assemble as unicode path extension from the name given as * text as well as the encoded bytes actually written to the archive. * - * @param name The file name + * @param text The file name * @param bytes the bytes actually written to the archive * @param off The offset of the encoded filename in codebytes/code. * @param len The length of the encoded
svn commit: r749859 - in /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip: ZipLong.java ZipShort.java
Author: sebb Date: Wed Mar 4 00:29:29 2009 New Revision: 749859 URL: http://svn.apache.org/viewvc?rev=749859view=rev Log: Remove unnecessary casts Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java?rev=749859r1=749858r2=749859view=diff == --- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java (original) +++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipLong.java Wed Mar 4 00:29:29 2009 @@ -141,7 +141,7 @@ public Object clone() { try { -return (ZipLong) super.clone(); +return super.clone(); } catch (CloneNotSupportedException cnfe) { // impossible throw new RuntimeException(cnfe); Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java?rev=749859r1=749858r2=749859view=diff == --- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java (original) +++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipShort.java Wed Mar 4 00:29:29 2009 @@ -128,7 +128,7 @@ public Object clone() { try { -return (ZipShort) super.clone(); +return super.clone(); } catch (CloneNotSupportedException cnfe) { // impossible throw new RuntimeException(cnfe);
svn commit: r749906 - in /commons/sandbox/compress/trunk/src: main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java test/java/org/apache/commons/compress/archivers/zip/UTF8Zi
Author: bodewig Date: Wed Mar 4 05:07:25 2009 New Revision: 749906 URL: http://svn.apache.org/viewvc?rev=749906view=rev Log: Turn Unicode extra field handling into an enum since there are more than two options. SANDBOX-176 Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java?rev=749906r1=749905r2=749906view=diff == --- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java (original) +++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java Wed Mar 4 05:07:25 2009 @@ -231,7 +231,8 @@ /** * whether to create UnicodePathExtraField-s for each entry. */ -private boolean createUnicodeExtraFields = false; +private UnicodeExtraFieldPolicy createUnicodeExtraFields = +UnicodeExtraFieldPolicy.NEVER; /** * Creates a new ZIP OutputStream filtering the underlying stream. @@ -314,11 +315,11 @@ } /** - * Whether to create Unicode Extra Fields for all entries. + * Whether to create Unicode Extra Fields. * - * pDefaults to false./p + * pDefaults to NEVER./p */ -public void setCreateUnicodeExtraFields(boolean b) { +public void setCreateUnicodeExtraFields(UnicodeExtraFieldPolicy b) { createUnicodeExtraFields = b; } @@ -615,28 +616,30 @@ boolean encodable = this.zipEncoding.canEncode(ze.getName()); ByteBuffer name = this.zipEncoding.encode(ze.getName()); -if (createUnicodeExtraFields) { +if (createUnicodeExtraFields != UnicodeExtraFieldPolicy.NEVER) { -/*if (!encodable) { -- FIXME decide what to*/ +if (createUnicodeExtraFields == UnicodeExtraFieldPolicy.ALWAYS +|| !encodable) { ze.addExtraField(new UnicodePathExtraField(ze.getName(), name.array(), name.arrayOffset(), name.limit())); -/* } */ +} String comm = ze.getComment(); if (comm != null !.equals(comm)) { boolean commentEncodable = this.zipEncoding.canEncode(comm); -/*if (!commentEncodable) { -- FIXME decide what to*/ +if (createUnicodeExtraFields == UnicodeExtraFieldPolicy.ALWAYS +|| !commentEncodable) { ByteBuffer commentB = this.zipEncoding.encode(comm); ze.addExtraField(new UnicodeCommentExtraField(comm, commentB.array(), commentB.arrayOffset(), commentB.limit()) ); -/* } */ +} } } @@ -930,4 +933,35 @@ // general purpose bit flag writeOut(ZipShort.getBytes(generalPurposeFlag)); } + +/** + * enum that represents the possible policies for creating Unicode + * extra fields. + */ +public static final class UnicodeExtraFieldPolicy { +/** + * Always create Unicode extra fields. + */ +public static final UnicodeExtraFieldPolicy ALWAYS = +new UnicodeExtraFieldPolicy(always); +/** + * Never create Unicode extra fields. + */ +public static final UnicodeExtraFieldPolicy NEVER = +new UnicodeExtraFieldPolicy(never); +/** + * Create Unicode extra fields for filenames that cannot be + * encoded using the specified encoding. + */ +public static final UnicodeExtraFieldPolicy NOT_ENCODABLE = +new UnicodeExtraFieldPolicy(not encodable); + +private final String name; +private UnicodeExtraFieldPolicy(String n) { +name = n; +} +public String toString() { +return name; +} +} } Modified: commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java URL:
svn commit: r749907 - /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java
Author: bodewig Date: Wed Mar 4 05:21:19 2009 New Revision: 749907 URL: http://svn.apache.org/viewvc?rev=749907view=rev Log: Add option to use UTF-8 for non-encodable file names. SANDBOX-176 Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java?rev=749907r1=749906r2=749907view=diff == --- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java (original) +++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java Wed Mar 4 05:21:19 2009 @@ -229,6 +229,11 @@ private boolean useEFS = true; /** + * Whether to encode non-encodable file names as UTF-8. + */ +private boolean fallbackToUTF8 = false; + +/** * whether to create UnicodePathExtraField-s for each entry. */ private UnicodeExtraFieldPolicy createUnicodeExtraFields = @@ -324,6 +329,16 @@ } /** + * Whether to fall back to UTF and the language encoding flag if + * the file name cannot be encoded using the specified encoding. + * + * pDefaults to false./p + */ +public void setFallbackToUTF8(boolean b) { +fallbackToUTF8 = b; +} + +/** * Finishs writing the contents and closes this as well as the * underlying stream. * @throws IOException on error @@ -613,8 +628,13 @@ */ protected void writeLocalFileHeader(ZipArchiveEntry ze) throws IOException { -boolean encodable = this.zipEncoding.canEncode(ze.getName()); -ByteBuffer name = this.zipEncoding.encode(ze.getName()); +boolean encodable = zipEncoding.canEncode(ze.getName()); +ByteBuffer name; +if (!encodable fallbackToUTF8) { +name = ZipEncodingHelper.UTF8_ZIP_ENCODING.encode(ze.getName()); +} else { +name = zipEncoding.encode(ze.getName()); +} if (createUnicodeExtraFields != UnicodeExtraFieldPolicy.NEVER) { @@ -651,7 +671,9 @@ //store method in local variable to prevent multiple method calls final int zipMethod = ze.getMethod(); -writeVersionNeededToExtractAndGeneralPurposeBits(zipMethod); +writeVersionNeededToExtractAndGeneralPurposeBits(zipMethod, + !encodable + fallbackToUTF8); written += WORD; // compression method @@ -732,7 +754,10 @@ written += SHORT; final int zipMethod = ze.getMethod(); -writeVersionNeededToExtractAndGeneralPurposeBits(zipMethod); +final boolean encodable = zipEncoding.canEncode(ze.getName()); +writeVersionNeededToExtractAndGeneralPurposeBits(zipMethod, + !encodable + fallbackToUTF8); written += WORD; // compression method @@ -754,7 +779,12 @@ // CheckStyle:MagicNumber ON // file name length -ByteBuffer name = this.zipEncoding.encode(ze.getName()); +ByteBuffer name; +if (!encodable fallbackToUTF8) { +name = ZipEncodingHelper.UTF8_ZIP_ENCODING.encode(ze.getName()); +} else { +name = zipEncoding.encode(ze.getName()); +} writeOut(ZipShort.getBytes(name.limit())); written += SHORT; @@ -768,7 +798,12 @@ if (comm == null) { comm = ; } -ByteBuffer commentB = this.zipEncoding.encode(comm); +ByteBuffer commentB; +if (!encodable fallbackToUTF8) { +commentB = ZipEncodingHelper.UTF8_ZIP_ENCODING.encode(comm); +} else { +commentB = zipEncoding.encode(comm); +} writeOut(ZipShort.getBytes(commentB.limit())); written += SHORT; @@ -913,12 +948,14 @@ } private void writeVersionNeededToExtractAndGeneralPurposeBits(final int - zipMethod) + zipMethod, + final boolean + utfFallback) throws IOException { // CheckStyle:MagicNumber OFF int versionNeededToExtract = 10; -int generalPurposeFlag = useEFS ? EFS_FLAG : 0; +int generalPurposeFlag = (useEFS || utfFallback) ? EFS_FLAG :
svn commit: r749934 - /commons/proper/cli/branches/cli-1.x/pom.xml
Author: bayard Date: Wed Mar 4 07:29:32 2009 New Revision: 749934 URL: http://svn.apache.org/viewvc?rev=749934view=rev Log: Moving to RC4 Modified: commons/proper/cli/branches/cli-1.x/pom.xml Modified: commons/proper/cli/branches/cli-1.x/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/cli/branches/cli-1.x/pom.xml?rev=749934r1=749933r2=749934view=diff == --- commons/proper/cli/branches/cli-1.x/pom.xml (original) +++ commons/proper/cli/branches/cli-1.x/pom.xml Wed Mar 4 07:29:32 2009 @@ -138,7 +138,7 @@ commons.jira.idCLI/commons.jira.id commons.jira.pid12310463/commons.jira.pid !-- The RC version used in the staging repository URL. -- -commons.rc.versionRC3/commons.rc.version +commons.rc.versionRC4/commons.rc.version /properties build