Author: veithen
Date: Fri May 14 18:58:46 2010
New Revision: 944395
URL: http://svn.apache.org/viewvc?rev=944395&view=rev
Log:
Moved the SizeAwareDataSource interface to org.apache.axiom.ext.activation,
which is the right place for this kind of Axiom specific extension to existing
APIs. This also allows to break a cyclic dependency between packages.
Added:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/SizeAwareDataSource.java
- copied, changed from r944181,
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/SizeAwareDataSource.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/package.html
(with props)
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/ByteArrayDataSource.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/SizeAwareDataSource.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/activation/DataSourceUtils.java
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/blob/BlobDataSource.java
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/ByteArrayDataSource.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/ByteArrayDataSource.java?rev=944395&r1=944394&r2=944395&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/ByteArrayDataSource.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/ByteArrayDataSource.java
Fri May 14 18:58:46 2010
@@ -24,7 +24,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-public class ByteArrayDataSource implements SizeAwareDataSource {
+public class ByteArrayDataSource implements
org.apache.axiom.ext.activation.SizeAwareDataSource {
private byte[] data;
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/SizeAwareDataSource.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/SizeAwareDataSource.java?rev=944395&r1=944394&r2=944395&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/SizeAwareDataSource.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/SizeAwareDataSource.java
Fri May 14 18:58:46 2010
@@ -19,40 +19,8 @@
package org.apache.axiom.attachments;
-import javax.activation.DataSource;
-
/**
- * Optional extension interface that can be implemented by data sources that
support a
- * getSize method.
- * Code working with data sources can use this this information to optimize
certain operations.
- * Note however that instead of checking of this interface directly, this kind
of code
- * should use {...@link
org.apache.axiom.util.activation.DataSourceUtils#getSize(DataSource)}
- * because this method is able to determine the size of other types of data
sources as well.
- * <p>
- * Code using this interface should be aware that some implementations may be
unable to guarantee
- * 100% accuracy when determining the size of the data source. Situations
where this can occur
- * include:
- * <ul>
- * <li>The data source uses a network protocol that allows to get the size
of the data
- * but that doesn't guarantee accurateness.</li>
- * <li>Reading the data involves a decoding operation and the length of the
resulting stream
- * can't be determined precisely without performing the decoding
operation. In this
- * case the implementation of this interface may return a value based on
an estimation.</li>
- * </ul>
- * When reading the actual data, the code should always read until the end of
the stream is
- * reached (as indicated by the return value of the <code>read</code> methods
of the
- * {...@link java.io.InputStream} class). It must be prepared to reach the end
of the stream after
- * a number of bytes that is lower or higher than the value returned by
{...@link #getSize()}.
+ * @deprecated Please implement {...@link
org.apache.axiom.ext.activation.SizeAwareDataSource}
*/
-public interface SizeAwareDataSource extends DataSource {
- /**
- * Get the size of the data source.
- * Implementations must return the number of bytes that can be read from
- * the input stream returned by {...@link #getInputStream()} before
reaching
- * the end of the stream. If the implementation is unable to determine the
- * size, it must return -1.
- *
- * @return the size of the data source or -1 if the size is not known
- */
- long getSize();
+public interface SizeAwareDataSource extends
org.apache.axiom.ext.activation.SizeAwareDataSource {
}
Copied:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/SizeAwareDataSource.java
(from r944181,
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/SizeAwareDataSource.java)
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/SizeAwareDataSource.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/SizeAwareDataSource.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/SizeAwareDataSource.java&r1=944181&r2=944395&rev=944395&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/attachments/SizeAwareDataSource.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/SizeAwareDataSource.java
Fri May 14 18:58:46 2010
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.axiom.attachments;
+package org.apache.axiom.ext.activation;
import javax.activation.DataSource;
Added:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/package.html
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/package.html?rev=944395&view=auto
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/package.html
(added)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/package.html
Fri May 14 18:58:46 2010
@@ -0,0 +1,5 @@
+<html>
+<body>
+Defines Axiom specific extensions to the Java Activation Framework API.
+</body>
+</html>
\ No newline at end of file
Propchange:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/ext/activation/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/activation/DataSourceUtils.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/activation/DataSourceUtils.java?rev=944395&r1=944394&r2=944395&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/activation/DataSourceUtils.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/activation/DataSourceUtils.java
Fri May 14 18:58:46 2010
@@ -26,7 +26,7 @@ import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.util.ByteArrayDataSource;
-import org.apache.axiom.attachments.SizeAwareDataSource;
+import org.apache.axiom.ext.activation.SizeAwareDataSource;
/**
* Contains utility methods to work with {...@link DataSource} objects.
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/blob/BlobDataSource.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/blob/BlobDataSource.java?rev=944395&r1=944394&r2=944395&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/blob/BlobDataSource.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/util/blob/BlobDataSource.java
Fri May 14 18:58:46 2010
@@ -23,7 +23,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import org.apache.axiom.attachments.SizeAwareDataSource;
+import org.apache.axiom.ext.activation.SizeAwareDataSource;
/**
* Data source backed by a {...@link Blob}.