svn commit: r745775 - /commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java
Author: nicolas Date: Thu Feb 19 08:22:25 2009 New Revision: 745775 URL: http://svn.apache.org/viewvc?rev=745775view=rev Log: getMetric( Role ) and getReturn( String ) must return same instance Modified: commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java Modified: commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java?rev=745775r1=745774r2=745775view=diff == --- commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java (original) +++ commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java Thu Feb 19 08:22:25 2009 @@ -95,11 +95,7 @@ @Override public int hashCode() { -final int prime = 31; -int result = 1; -result = prime * result + ( ( name == null ) ? 0 : name.hashCode() ); -result = prime * result + ( ( unit == null ) ? 0 : unit.hashCode() ); -return result; +return name.hashCode(); } /** @@ -121,14 +117,9 @@ return false; } else if ( !name.equals( other.name ) ) -return false; -if ( unit == null ) { -if ( other.unit != null ) -return false; -} -else if ( !unit.equals( other.unit ) ) return false; +} return true; }
svn commit: r745776 - /commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/Selector.java
Author: nicolas Date: Thu Feb 19 08:23:13 2009 New Revision: 745776 URL: http://svn.apache.org/viewvc?rev=745776view=rev Log: fix NullPointer Modified: commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/Selector.java Modified: commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/Selector.java URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/Selector.java?rev=745776r1=745775r2=745776view=diff == --- commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/Selector.java (original) +++ commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/Selector.java Thu Feb 19 08:23:13 2009 @@ -78,6 +78,10 @@ public double getValue( Repository repository ) { Metric metric = repository.getMonitor( name, category, subsystem ).getMetric( role ); +if ( metric == null ) +{ +return Double.NaN; +} double d = value.value( metric ); return d; }
svn commit: r745846 - /commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java
Author: bodewig Date: Thu Feb 19 12:59:53 2009 New Revision: 745846 URL: http://svn.apache.org/viewvc?rev=745846view=rev Log: disable test that fails in Gump Modified: commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java Modified: commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java?rev=745846r1=745845r2=745846view=diff == --- commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java (original) +++ commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/changes/ChangeSetTestCase.java Thu Feb 19 12:59:53 2009 @@ -131,7 +131,7 @@ * Adds a file to a zip archive. Deletes an other file. * @throws Exception */ -public void testDeleteFromAndAddToZip() throws Exception { +public void XtestDeleteFromAndAddToZip() throws Exception { File input = this.createArchive(zip); ArchiveOutputStream out = null;
svn commit: r745850 - /commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java
Author: nicolas Date: Thu Feb 19 13:17:55 2009 New Revision: 745850 URL: http://svn.apache.org/viewvc?rev=745850view=rev Log: fix pseudo-unicity of roles Modified: commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java Modified: commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java?rev=745850r1=745849r2=745850view=diff == --- commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java (original) +++ commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Role.java Thu Feb 19 13:17:55 2009 @@ -19,8 +19,8 @@ import java.util.Collection; import java.util.Collections; -import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; /** * As a monitored resource may have multipe Metrics, each one has a dedicated 'role' that @@ -29,7 +29,6 @@ * @author a href=mailto:nico...@apache.org;Nicolas De Loof/a * @param M The metric this role relates to */ -...@suppresswarnings(unchecked) public class Role implements ComparableRole { @@ -39,7 +38,7 @@ private Metric.Type type; -private static final MapString, Role ROLES = new ConcurrentHashMapString, Role(); +private static final ConcurrentMapString, Role ROLES = new ConcurrentHashMapString, Role(); public static Role getRole( String name ) { @@ -70,7 +69,18 @@ this.name = name; this.unit = unit; this.type = type; -ROLES.put( name, this ); +Role old = ROLES.putIfAbsent( name, this ); +if ( old != null ) +{ +if ( !type.equals( old.type ) ) +{ +throw new IllegalStateException( A role already exists with this name but distinct type ); +} +if ( !unit.equals( old.unit ) ) +{ +throw new IllegalStateException( A role already exists with this name but distinct unit ); +} +} } /**
svn commit: r745851 - /commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java
Author: nicolas Date: Thu Feb 19 13:19:41 2009 New Revision: 745851 URL: http://svn.apache.org/viewvc?rev=745851view=rev Log: fix retreive metrics by name / role Modified: commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java Modified: commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java?rev=745851r1=745850r2=745851view=diff == --- commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java (original) +++ commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/monitors/AbstractMonitor.java Thu Feb 19 13:19:41 2009 @@ -36,7 +36,6 @@ public abstract class AbstractMonitor implements Monitor { -@SuppressWarnings(unchecked) private final ConcurrentMapRole, Metric metrics; private final Key key; @@ -53,7 +52,6 @@ * * @return the ConcurrentMap implementation to use for storing metrics */ -@SuppressWarnings(unchecked) protected ConcurrentHashMapRole, Metric createConcurrentMap() { return new ConcurrentHashMapRole, Metric(); @@ -72,7 +70,7 @@ */ public final Metric getMetric( String role ) { -return metrics.get( role ); +return metrics.get( Role.getRole( role ) ); } public final Metric getMetric( Role role ) @@ -80,7 +78,6 @@ return metrics.get( role ); } -@SuppressWarnings(unchecked) public final CollectionRole getRoles() { return Collections.unmodifiableCollection( metrics.keySet() ); @@ -115,13 +112,11 @@ } } -@SuppressWarnings(unchecked) public Counter getCounter( String role ) { return getCounter( Role.getRole( role ) ); } -@SuppressWarnings(unchecked) public Gauge getGauge( String role ) { return getGauge( Role.getRole( role ) );
svn commit: r745853 - /commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingStatement.java
Author: markt Date: Thu Feb 19 13:30:01 2009 New Revision: 745853 URL: http://svn.apache.org/viewvc?rev=745853view=rev Log: Check the object we are wrapping rather than the connection. Copy and paste error in original patch? Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingStatement.java Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingStatement.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingStatement.java?rev=745853r1=745852r2=745853view=diff == --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingStatement.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingStatement.java Thu Feb 19 13:30:01 2009 @@ -355,16 +355,16 @@ /* JDBC_4_ANT_KEY_BEGIN */ public boolean isWrapperFor(Class? iface) throws SQLException { -return iface.isAssignableFrom(getClass()) || _conn.isWrapperFor(iface); +return iface.isAssignableFrom(getClass()) || _stmt.isWrapperFor(iface); } public T T unwrap(ClassT iface) throws SQLException { if (iface.isAssignableFrom(getClass())) { return iface.cast(this); -} else if (iface.isAssignableFrom(_conn.getClass())) { -return iface.cast(_conn); +} else if (iface.isAssignableFrom(_stmt.getClass())) { +return iface.cast(_stmt); } else { -return _conn.unwrap(iface); +return _stmt.unwrap(iface); } }
svn commit: r745855 - in /commons/sandbox/compress/trunk: pom.xml src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java
Author: bodewig Date: Thu Feb 19 13:36:59 2009 New Revision: 745855 URL: http://svn.apache.org/viewvc?rev=745855view=rev Log: TestCase for new Unicode extra fields, based on submission by Wolfgang Glas, SANDBOX-176 Added: commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java (with props) Modified: commons/sandbox/compress/trunk/pom.xml Modified: commons/sandbox/compress/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/pom.xml?rev=745855r1=745854r2=745855view=diff == --- commons/sandbox/compress/trunk/pom.xml (original) +++ commons/sandbox/compress/trunk/pom.xml Thu Feb 19 13:36:59 2009 @@ -63,6 +63,10 @@ nameChristian Grobmeier/name emailgrobmeier at gmail.com/email /contributor +contributor + nameWolfgang Glas/name + emailwolfgang.glas at ev-i.at/email +/contributor /contributors scm Added: commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java?rev=745855view=auto == --- commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java (added) +++ commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java Thu Feb 19 13:36:59 2009 @@ -0,0 +1,187 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.commons.compress.archivers.zip; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; +import java.nio.charset.UnsupportedCharsetException; +import java.util.Enumeration; +import junit.framework.TestCase; + +public class UTF8ZipFilesTest extends TestCase { + +private static final String UTF_8 = utf-8; +private static final String CP437 = cp437; +private static final String US_ASCII = US-ASCII; +private static final String ASCII_TXT = ascii.txt; +private static final String EURO_FOR_DOLLAR_TXT = \u20AC_for_Dollar.txt; +private static final String OIL_BARREL_TXT = \u00D6lf\u00E4sser.txt; + +public void testUtf8FileRoundtrip() throws IOException { +testFileRoundtrip(UTF_8); +} + + +public void testCP437FileRoundtrip() throws IOException { +testFileRoundtrip(CP437); +} + +public void testASCIIFileRoundtrip() throws IOException { +testFileRoundtrip(US_ASCII); +} + +private static void testFileRoundtrip(String encoding) +throws IOException { + +try { +Charset.forName(encoding); +} catch (UnsupportedCharsetException use) { +System.err.println(Skipping testFileRoundtrip for unsupported + + encoding + encoding); +return; +} + +File file = File.createTempFile(encoding + -test, .zip); +try { +createTestFile(file, encoding); +testFile(file, encoding); +} finally { +if (file.exists()) { +file.delete(); +} +} +} + +private static void createTestFile(File file, String encoding) +throws UnsupportedEncodingException, IOException { + +ZipArchiveOutputStream zos = null; +try { +zos = new ZipArchiveOutputStream(file); +zos.setEncoding(encoding); + +ZipArchiveEntry ze = new ZipArchiveEntry(OIL_BARREL_TXT); +if (!ZipEncodingHelper.canEncodeName(ze.getName(), + zos.getEncoding())) { +ze.addExtraField(new UnicodePathExtraField(ze.getName(), + zos.getEncoding())); +} + +zos.putNextEntry(ze); +zos.write(Hello, world!.getBytes(US-ASCII)); +
svn commit: r745860 - /commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java
Author: markt Date: Thu Feb 19 13:45:07 2009 New Revision: 745860 URL: http://svn.apache.org/viewvc?rev=745860view=rev Log: Remove annotations - prevents 1.4 compilation Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java?rev=745860r1=745859r2=745860view=diff == --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java Thu Feb 19 13:45:07 2009 @@ -73,7 +73,6 @@ /** * Add batch. */ -@Override public void addBatch() throws SQLException { super.addBatch(); batchAdded = true; @@ -82,7 +81,6 @@ /** * Clear Batch. */ -@Override public void clearBatch() throws SQLException { batchAdded = false; super.clearBatch();
svn commit: r745868 - /commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java
Author: markt Date: Thu Feb 19 13:53:46 2009 New Revision: 745868 URL: http://svn.apache.org/viewvc?rev=745868view=rev Log: DBCP-265 Actually add the new class. Added: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java (with props) Added: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java?rev=745868view=auto == --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java (added) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java Thu Feb 19 13:53:46 2009 @@ -0,0 +1,1196 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.commons.dbcp; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.RowIdLifetime; +import java.sql.SQLException; + +public class DelegatingDatabaseMetaData extends AbandonedTrace +implements DatabaseMetaData { + +/** My delegate {...@link DatabaseMetaData} */ +protected DatabaseMetaData _meta; + +/** The connection that created me. **/ +protected DelegatingConnection _conn = null; + +public DelegatingDatabaseMetaData(DelegatingConnection c, +DatabaseMetaData m) { +super(c); +_conn = c; +_meta = m; +} + +public DatabaseMetaData getDelegate() { +return _meta; +} + +public boolean equals(Object obj) { +DatabaseMetaData delegate = getInnermostDelegate(); +if (delegate == null) { +return false; +} +if (obj instanceof DelegatingDatabaseMetaData) { +DelegatingDatabaseMetaData s = (DelegatingDatabaseMetaData) obj; +return delegate.equals(s.getInnermostDelegate()); +} +else { +return delegate.equals(obj); +} +} + +public int hashCode() { +Object obj = getInnermostDelegate(); +if (obj == null) { +return 0; +} +return obj.hashCode(); +} + +/** + * If my underlying {...@link ResultSet} is not a + * ttDelegatingResultSet/tt, returns it, + * otherwise recursively invokes this method on + * my delegate. + * p + * Hence this method will return the first + * delegate that is not a ttDelegatingResultSet/tt, + * or ttnull/tt when no non-ttDelegatingResultSet/tt + * delegate can be found by transversing this chain. + * p + * This method is useful when you may have nested + * ttDelegatingResultSet/tts, and you want to make + * sure to obtain a genuine {...@link ResultSet}. + */ +public DatabaseMetaData getInnermostDelegate() { +DatabaseMetaData m = _meta; +while(m != null m instanceof DelegatingDatabaseMetaData) { +m = ((DelegatingDatabaseMetaData)m).getDelegate(); +if(this == m) { +return null; +} +} +return m; +} + +protected void handleException(SQLException e) throws SQLException { +if (_conn != null) { +_conn.handleException(e); +} +else { +throw e; +} +} + +public boolean allProceduresAreCallable() throws SQLException { +{ try { return _meta.allProceduresAreCallable(); } + catch (SQLException e) { handleException(e); return false; } } +} + +public boolean allTablesAreSelectable() throws SQLException { +{ try { return _meta.allTablesAreSelectable(); } +catch (SQLException e) { handleException(e); return false; } } +} + +public boolean dataDefinitionCausesTransactionCommit() throws SQLException { +{ try { return _meta.dataDefinitionCausesTransactionCommit(); } +catch (SQLException e) { handleException(e); return false; } } +} + +public boolean dataDefinitionIgnoredInTransactions() throws SQLException { +{ try { return
svn commit: r745869 - /commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java
Author: markt Date: Thu Feb 19 13:55:59 2009 New Revision: 745869 URL: http://svn.apache.org/viewvc?rev=745869view=rev Log: DBCP-265. Filter out a 1.6 import Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java?rev=745869r1=745868r2=745869view=diff == --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingDatabaseMetaData.java Thu Feb 19 13:55:59 2009 @@ -20,7 +20,9 @@ import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; +/* JDBC_4_ANT_KEY_BEGIN */ import java.sql.RowIdLifetime; +/* JDBC_4_ANT_KEY_END */ import java.sql.SQLException; public class DelegatingDatabaseMetaData extends AbandonedTrace
svn commit: r745904 - in /commons/proper/dbcp/trunk/src: java/org/apache/commons/dbcp/DelegatingConnection.java java/org/apache/commons/dbcp/managed/ManagedConnection.java test/org/apache/commons/dbcp
Author: markt Date: Thu Feb 19 15:46:03 2009 New Revision: 745904 URL: http://svn.apache.org/viewvc?rev=745904view=rev Log: Fix DBCP-235. Separate internal implementation and externally interfacing methods to allow equals and hashcode to work. Includes supporting test case. Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/ManagedConnection.java commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/managed/TestManagedDataSource.java Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java?rev=745904r1=745903r2=745904view=diff == --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/DelegatingConnection.java Thu Feb 19 15:46:03 2009 @@ -107,7 +107,7 @@ public String toString() { String s = null; -Connection c = this.getInnermostDelegate(); +Connection c = this.getInnermostDelegateInternal(); if (c != null) { try { if (c.isClosed()) { @@ -143,6 +143,13 @@ * @return my underlying {...@link Connection}. */ public Connection getDelegate() { +return getDelegateInternal(); +} + +/** + * Should be final but can't be for compatability with previous releases. + */ +protected Connection getDelegateInternal() { return _conn; } @@ -154,7 +161,7 @@ * @since 1.2.2 */ public boolean innermostDelegateEquals(Connection c) { -Connection innerCon = getInnermostDelegate(); +Connection innerCon = getInnermostDelegateInternal(); if (innerCon == null) { return c == null; } else { @@ -169,7 +176,7 @@ if (obj == this) { return true; } -Connection delegate = getInnermostDelegate(); +Connection delegate = getInnermostDelegateInternal(); if (delegate == null) { return false; } @@ -183,7 +190,7 @@ } public int hashCode() { -Object obj = getInnermostDelegate(); +Object obj = getInnermostDelegateInternal(); if (obj == null) { return 0; } @@ -207,16 +214,20 @@ * sure to obtain a genuine {...@link Connection}. */ public Connection getInnermostDelegate() { +return getInnermostDelegateInternal(); +} + +protected final Connection getInnermostDelegateInternal() { Connection c = _conn; while(c != null c instanceof DelegatingConnection) { -c = ((DelegatingConnection)c).getDelegate(); +c = ((DelegatingConnection)c).getDelegateInternal(); if(this == c) { return null; } } return c; } - + /** Sets my delegate. */ public void setDelegate(Connection c) { _conn = c; Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/ManagedConnection.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/ManagedConnection.java?rev=745904r1=745903r2=745904view=diff == --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/ManagedConnection.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/managed/ManagedConnection.java Thu Feb 19 15:46:03 2009 @@ -251,17 +251,9 @@ } } -/** - * Gets the actual delegate without checking the isAccessToUnderlyingConnectionAllowed() flag. This method is for internal use only. - * @return the delegate of this connection - */ -protected Connection getDelegateInternal() { -return super.getDelegate(); -} - public Connection getInnermostDelegate() { if (isAccessToUnderlyingConnectionAllowed()) { -return super.getInnermostDelegate(); +return super.getInnermostDelegateInternal(); } else { return null; } Modified: commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/managed/TestManagedDataSource.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/managed/TestManagedDataSource.java?rev=745904r1=745903r2=745904view=diff == --- commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/managed/TestManagedDataSource.java (original) +++
svn commit: r745907 - /commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java
Author: rwinston Date: Thu Feb 19 15:56:05 2009 New Revision: 745907 URL: http://svn.apache.org/viewvc?rev=745907view=rev Log: NET-256 : Accept preconfigured SSLContext Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java URL: http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java?rev=745907r1=745906r2=745907view=diff == --- commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java (original) +++ commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTPSClient.java Thu Feb 19 15:56:05 2009 @@ -131,6 +131,24 @@ this.protocol = protocol; this.isImplicit = isImplicit; } + +/** + * Constructor for FTPSClient. + * @param isImplicit The secutiry mode(Implicit/Explicit). + * @param context A pre-configured SSL Context + */ +public FTPSClient(boolean isImplicit, SSLContext context) { +this.isImplicit = isImplicit; +this.context = context; +} + +/** + * Constructor for FTPSClient. + * @param context A pre-configured SSL Context + */ +public FTPSClient(SSLContext context) { +this(false, context); +} /**
svn commit: r745908 - /commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java
Author: markt Date: Thu Feb 19 15:57:25 2009 New Revision: 745908 URL: http://svn.apache.org/viewvc?rev=745908view=rev Log: Fix DBCP-215. Make sure initialSize connections are placed in the pool are created when the pool is initialized tather than on first use. Patch suggested by psteitz Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java?rev=745908r1=745907r2=745908view=diff == --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java Thu Feb 19 15:57:25 2009 @@ -322,6 +322,10 @@ } } +// DBCP-215 +// Trick to make sure that initialSize connections are created +dataSource.getLogWriter(); + // Return the configured DataSource instance return dataSource; }
svn commit: r745920 - in /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip: ZipArchiveOutputStream.java ZipFile.java
Author: bodewig Date: Thu Feb 19 16:42:16 2009 New Revision: 745920 URL: http://svn.apache.org/viewvc?rev=745920view=rev Log: SANDBOX-176 - use and detect the EFS flag. Based on submissions made by Wolfgang Glas to commons-compress and TAMURA Kent to Ant. Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.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=745920r1=745919r2=745920view=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 Thu Feb 19 16:42:16 2009 @@ -94,9 +94,20 @@ public static final int STORED = java.util.zip.ZipEntry.STORED; /** + * name of the encoding UTF-8 + */ +static final String UTF8 = UTF8; + +/** * default encoding for file names and comment. */ -static final String DEFAULT_ENCODING = UTF8; +static final String DEFAULT_ENCODING = UTF8; + + /** + * General purpose flag, which indicates that filenames are + * written in utf-8. + */ +public static final int EFS_FLAG = 1 11; /** * Current entry. @@ -254,6 +265,11 @@ private final OutputStream out; /** + * whether to use the EFS flag when writing UTF-8 filenames or not. + */ +private boolean useEFS = true; + +/** * Creates a new ZIP OutputStream filtering the underlying stream. * @param out the outputstream to zip * @since 1.1 @@ -312,8 +328,9 @@ * for the platform's default encoding * @since 1.3 */ -public void setEncoding(String encoding) { +public void setEncoding(final String encoding) { this.encoding = encoding; +useEFS = isUTF8(encoding); } /** @@ -328,6 +345,15 @@ } /** + * Whether to set the EFS flag if the file name encoding is UTF-8. + * + * pDefaults to true./p + */ +public void setUseEFS(boolean b) { +useEFS = b isUTF8(encoding); +} + +/** * Finishs writing the contents and closes this as well as the * underlying stream. * @@ -646,21 +672,7 @@ //store method in local variable to prevent multiple method calls final int zipMethod = ze.getMethod(); -// version needed to extract -// general purpose bit flag -// CheckStyle:MagicNumber OFF -if (zipMethod == DEFLATED raf == null) { -// requires version 2 as we are going to store length info -// in the data descriptor -writeOut(ZipShort.getBytes(20)); - -// bit3 set to signal, we use a data descriptor -writeOut(ZipShort.getBytes(8)); -} else { -writeOut(ZipShort.getBytes(10)); -writeOut(ZERO); -} -// CheckStyle:MagicNumber ON +writeVersionNeededToExtractAndGeneralPurposeBits(zipMethod); written += WORD; // compression method @@ -745,24 +757,12 @@ writeOut(ZipShort.getBytes((ze.getPlatform() 8) | 20)); written += SHORT; -// version needed to extract -// general purpose bit flag -if (ze.getMethod() == DEFLATED raf == null) { -// requires version 2 as we are going to store length info -// in the data descriptor -writeOut(ZipShort.getBytes(20)); - -// bit3 set to signal, we use a data descriptor -writeOut(ZipShort.getBytes(8)); -} else { -writeOut(ZipShort.getBytes(10)); -writeOut(ZERO); -} -// CheckStyle:MagicNumber ON +final int zipMethod = ze.getMethod(); +writeVersionNeededToExtractAndGeneralPurposeBits(zipMethod); written += WORD; // compression method -writeOut(ZipShort.getBytes(ze.getMethod())); +writeOut(ZipShort.getBytes(zipMethod)); written += SHORT; // last mod. time and date @@ -904,19 +904,14 @@ * this Stream. * @param name the string to get bytes from * @return the bytes as a byte array - * @throws ZipException on error * * @since 1.3 */ -protected byte[] getBytes(String name) throws ZipException { +protected byte[] getBytes(String name) { if (encoding == null) { return name.getBytes(); } else { -try { -return
svn commit: r745929 - /commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTP.java
Author: rwinston Date: Thu Feb 19 17:11:30 2009 New Revision: 745929 URL: http://svn.apache.org/viewvc?rev=745929view=rev Log: NET-257 : fix getReplyStrings() Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTP.java Modified: commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTP.java URL: http://svn.apache.org/viewvc/commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTP.java?rev=745929r1=745928r2=745929view=diff == --- commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTP.java (original) +++ commons/proper/net/branches/NET_2_0/src/main/java/org/apache/commons/net/ftp/FTP.java Thu Feb 19 17:11:30 2009 @@ -628,10 +628,7 @@ ***/ public String[] getReplyStrings() { -String[] lines; -lines = new String[_replyLines.size()]; -_replyLines.addAll(Arrays.asList(lines)); -return lines; +return _replyLines.toArray(new String[0]); } /***
svn commit: r745933 - /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveOutputStream.java
Author: bodewig Date: Thu Feb 19 17:23:05 2009 New Revision: 745933 URL: http://svn.apache.org/viewvc?rev=745933view=rev Log: NIO doesn't recognize all encoding names that String.getBytes does, strange. At least it fails for 'UnicodeBig' on my Java 1.4 installation 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=745933r1=745932r2=745933view=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 Thu Feb 19 17:23:05 2009 @@ -904,14 +904,25 @@ * this Stream. * @param name the string to get bytes from * @return the bytes as a byte array + * @throws ZipException on error * * @since 1.3 */ -protected byte[] getBytes(String name) { +protected byte[] getBytes(String name) throws ZipException { if (encoding == null) { return name.getBytes(); } else { -return ZipEncodingHelper.encodeName(name, encoding); +try { +return ZipEncodingHelper.encodeName(name, encoding); +} catch (java.nio.charset.UnsupportedCharsetException ex) { +// Java 1.4's NIO doesn't recognize a few names that +// String.getBytes does +try { +return name.getBytes(encoding); +} catch (UnsupportedEncodingException uee) { +throw new ZipException(uee.getMessage()); +} +} } }
svn commit: r746032 - /commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java
Author: markt Date: Thu Feb 19 22:21:50 2009 New Revision: 746032 URL: http://svn.apache.org/viewvc?rev=746032view=rev Log: Fix test failure caused by DBCP-215 fix. Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java?rev=746032r1=746031r2=746032view=diff == --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/BasicDataSourceFactory.java Thu Feb 19 22:21:50 2009 @@ -324,7 +324,9 @@ // DBCP-215 // Trick to make sure that initialSize connections are created -dataSource.getLogWriter(); +if (dataSource.initialSize 0) { +dataSource.getLogWriter(); +} // Return the configured DataSource instance return dataSource;
svn commit: r746037 - /commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestAll.java
Author: markt Date: Thu Feb 19 22:32:43 2009 New Revision: 746037 URL: http://svn.apache.org/viewvc?rev=746037view=rev Log: Order tests alphabetically so I can find the missing ones (Continuum finds 405, this only used to run 400). Add the 5 missing tests. Modified: commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestAll.java Modified: commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestAll.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestAll.java?rev=746037r1=746036r2=746037view=diff == --- commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestAll.java (original) +++ commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestAll.java Thu Feb 19 22:32:43 2009 @@ -21,6 +21,8 @@ import junit.framework.TestCase; import junit.framework.TestSuite; import org.apache.commons.dbcp.datasources.TestFactory; +import org.apache.commons.dbcp.datasources.TestInstanceKeyDataSource; +import org.apache.commons.dbcp.datasources.TestKeyedCPDSConnectionFactory; import org.apache.commons.dbcp.datasources.TestPerUserPoolDataSource; import org.apache.commons.dbcp.datasources.TestSharedPoolDataSource; import org.apache.commons.dbcp.managed.TestBasicManagedDataSource; @@ -39,26 +41,34 @@ public static Test suite() { TestSuite suite = new TestSuite(); +// o.a.c.dbcp +suite.addTest(TestAbandonedBasicDataSource.suite()); suite.addTest(TestAbandonedObjectPool.suite()); -suite.addTest(TestManual.suite()); -suite.addTest(TestJOCLed.suite()); -suite.addTest(TestBasicDataSourceFactory.suite()); suite.addTest(TestBasicDataSource.suite()); -suite.addTest(TestAbandonedBasicDataSource.suite()); -suite.addTest(TestPStmtPoolingBasicDataSource.suite()); +suite.addTest(TestBasicDataSourceFactory.suite()); +// TestConnectionPool is abstract suite.addTest(TestDelegatingConnection.suite()); -suite.addTest(TestDelegatingStatement.suite()); suite.addTest(TestDelegatingPreparedStatement.suite()); +suite.addTest(TestDelegatingStatement.suite()); +suite.addTest(TestJndi.suite()); +suite.addTest(TestJOCLed.suite()); +suite.addTest(TestManual.suite()); suite.addTest(TestPoolableConnection.suite()); -suite.addTest(TestSharedPoolDataSource.suite()); -suite.addTest(TestPerUserPoolDataSource.suite()); -suite.addTest(TestFactory.suite()); -suite.addTest(TestJOCLContentHandler.suite()); suite.addTest(TestPoolingDataSource.suite()); -suite.addTest(TestJndi.suite()); +suite.addTest(TestPStmtPooling.suite()); +suite.addTest(TestPStmtPoolingBasicDataSource.suite()); +// o.a.c.dbcp.datasources +suite.addTest(TestFactory.suite()); +suite.addTest(TestInstanceKeyDataSource.suite()); +suite.addTest(TestKeyedCPDSConnectionFactory.suite()); +suite.addTest(TestPerUserPoolDataSource.suite()); +suite.addTest(TestSharedPoolDataSource.suite()); +// o.a.c.dbcp.managed suite.addTest(TestBasicManagedDataSource.suite()); suite.addTest(TestManagedDataSource.suite()); suite.addTest(TestManagedDataSourceInTx.suite()); +// o.a.c.jocl +suite.addTest(TestJOCLContentHandler.suite()); return suite; }
svn commit: r746137 - in /commons/proper/cli/branches/cli-1.x/src: java/org/apache/commons/cli/HelpFormatter.java test/org/apache/commons/cli/bug/BugCLI162Test.java
Author: bayard Date: Fri Feb 20 05:00:59 2009 New Revision: 746137 URL: http://svn.apache.org/viewvc?rev=746137view=rev Log: Applying additional patch to throw IllegalStateException when the specified width is not enough to fit the flags, indent and 1 character for the description. This closes out CLI-162 (for now :) ). Modified: commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java commons/proper/cli/branches/cli-1.x/src/test/org/apache/commons/cli/bug/BugCLI162Test.java Modified: commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java URL: http://svn.apache.org/viewvc/commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java?rev=746137r1=746136r2=746137view=diff == --- commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java (original) +++ commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java Fri Feb 20 05:00:59 2009 @@ -819,6 +819,13 @@ // characters final String padding = createPadding(nextLineTabStop); +if (nextLineTabStop = width) +{ +// stops infinite loop happening +throw new IllegalStateException(Total width is less than the width of the argument and indent + +- no room for the description); +} + while (true) { text = padding + text.substring(pos).trim(); Modified: commons/proper/cli/branches/cli-1.x/src/test/org/apache/commons/cli/bug/BugCLI162Test.java URL: http://svn.apache.org/viewvc/commons/proper/cli/branches/cli-1.x/src/test/org/apache/commons/cli/bug/BugCLI162Test.java?rev=746137r1=746136r2=746137view=diff == --- commons/proper/cli/branches/cli-1.x/src/test/org/apache/commons/cli/bug/BugCLI162Test.java (original) +++ commons/proper/cli/branches/cli-1.x/src/test/org/apache/commons/cli/bug/BugCLI162Test.java Fri Feb 20 05:00:59 2009 @@ -259,6 +259,14 @@ yes.\n + Footer\n; assertEquals( Long arguments did not split as expected, expected, sw.toString() ); + +try { +formatter.printHelp(new PrintWriter(sw), 22, this.getClass().getName(), Header, options, 0, 5, Footer); +fail(IllegalStateException expected); +} catch(IllegalStateException ise) { +// expected +} + } }
svn commit: r746140 - /commons/proper/cli/trunk/xdocs/changes.xml
Author: bayard Date: Fri Feb 20 05:07:46 2009 New Revision: 746140 URL: http://svn.apache.org/viewvc?rev=746140view=rev Log: Updating the text for CLI-151 Modified: commons/proper/cli/trunk/xdocs/changes.xml Modified: commons/proper/cli/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/cli/trunk/xdocs/changes.xml?rev=746140r1=746139r2=746140view=diff == --- commons/proper/cli/trunk/xdocs/changes.xml (original) +++ commons/proper/cli/trunk/xdocs/changes.xml Fri Feb 20 05:07:46 2009 @@ -70,7 +70,10 @@ The ordering of options can be defined in help messages. /action action type=fix dev=bayard issue=CLI-151 due-to=Dan Armbrust -The line wrapping in HelpFormatter now works properly. +The line wrapping in HelpFormatter now works properly. This caused CLI-162, and thus there was a feature change +for the HelpFormatter in that it is strict on width now rather than what seemed to be lenience before. Text without +whitespace will be cut off to fit in the spacing, and an IllegalStateException will be thrown if it is impossible +to output the information due to spacing constraints. /action action type=fix dev=bayard issue=CLI-149 The message of MissingOptionException has been improved.
svn commit: r746142 - /commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java
Author: bayard Date: Fri Feb 20 05:09:44 2009 New Revision: 746142 URL: http://svn.apache.org/viewvc?rev=746142view=rev Log: Adding Javadoc note on IllegalStateException throwing Modified: commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java Modified: commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java URL: http://svn.apache.org/viewvc/commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java?rev=746142r1=746141r2=746142view=diff == --- commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java (original) +++ commons/proper/cli/branches/cli-1.x/src/java/org/apache/commons/cli/HelpFormatter.java Fri Feb 20 05:09:44 2009 @@ -433,6 +433,8 @@ * @param descPad the number of characters of padding to be prefixed * to each description line * @param footer the banner to display at the end of the help + * + * @throws IllegalStateException if there is no room to print a line */ public void printHelp(PrintWriter pw, int width, String cmdLineSyntax, String header, Options options, int leftPad, @@ -458,6 +460,8 @@ * @param footer the banner to display at the end of the help * @param autoUsage whether to print an automatically generated * usage statement + * + * @throws IllegalStateException if there is no room to print a line */ public void printHelp(PrintWriter pw, int width, String cmdLineSyntax, String header, Options options, int leftPad,