You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by bl...@apache.org on 2003/03/31 16:21:43 UTC
cvs commit: avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl FileSource.java URLSource.java
bloritsch 2003/03/31 06:21:42
Modified: sourceresolve/src/java/org/apache/excalibur/source/impl
FileSource.java URLSource.java
Log:
revert the m_file variable change, add an accessor, and deprecate the name of the file variable so that users will move to the accessor
Revision Changes Path
1.4 +28 -28 avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/FileSource.java
Index: FileSource.java
===================================================================
RCS file: /home/cvs/avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/FileSource.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FileSource.java 29 Mar 2003 18:53:26 -0000 1.3
+++ FileSource.java 31 Mar 2003 14:21:42 -0000 1.4
@@ -85,7 +85,7 @@
throws IOException {
super.init( url, parameters );
- if ( null == this.m_file ) {
+ if ( null == getFile() ) {
throw new IllegalArgumentException("Malformed url for a file source : " + url);
}
}
@@ -94,7 +94,7 @@
* Get the associated file
*/
public File getFile() {
- return this.m_file;
+ return super.getFile();
}
/**
@@ -103,62 +103,62 @@
*/
private class FileSourceOutputStream extends FileOutputStream {
- private File tmpFile;
- private boolean isClosed = false;
- private FileSource source;
+ private File m_tmpFile;
+ private boolean m_isClosed = false;
+ private FileSource m_source;
public FileSourceOutputStream(File tmpFile, FileSource source) throws IOException {
super(tmpFile);
- this.tmpFile = tmpFile;
- this.source = source;
+ m_tmpFile = tmpFile;
+ m_source = source;
}
public void close() throws IOException {
- if (!this.isClosed) {
+ if (!m_isClosed) {
super.close();
try {
// Delete destination file
- if (this.source.getFile().exists()) {
- this.source.getFile().delete();
+ if (m_source.getFile().exists()) {
+ m_source.getFile().delete();
}
// Rename temp file to destination file
- tmpFile.renameTo(this.source.getFile());
+ m_tmpFile.renameTo(m_source.getFile());
} finally {
// Ensure temp file is deleted, ie lock is released.
// If there was a failure above, written data is lost.
- if (tmpFile.exists()) {
- tmpFile.delete();
+ if (m_tmpFile.exists()) {
+ m_tmpFile.delete();
}
- this.isClosed = true;
+ m_isClosed = true;
}
}
}
public boolean canCancel() {
- return !this.isClosed;
+ return !m_isClosed;
}
public void cancel() throws Exception {
- if (this.isClosed) {
+ if (m_isClosed) {
throw new IllegalStateException("Cannot cancel : outputstrem is already closed");
}
- this.isClosed = true;
+ m_isClosed = true;
super.close();
- this.tmpFile.delete();
+ m_tmpFile.delete();
}
public void finalize() {
- if (!this.isClosed && tmpFile.exists()) {
+ if (!m_isClosed && m_tmpFile.exists()) {
// Something wrong happened while writing : delete temp file
- tmpFile.delete();
+ m_tmpFile.delete();
}
}
public FileSource getSource() {
- return this.source;
+ return m_source;
}
}
@@ -168,7 +168,7 @@
* @return true if the resource exists.
*/
public boolean exists() {
- return this.m_file.exists();
+ return getFile().exists();
}
/**
@@ -189,19 +189,19 @@
throws IOException, SourceException {
// Create a temp file. It will replace the right one when writing terminates,
// and serve as a lock to prevent concurrent writes.
- File tmpFile = new File(this.m_file.getPath() + ".tmp");
+ File tmpFile = new File(getFile().getPath() + ".tmp");
// Ensure the directory exists
tmpFile.getParentFile().mkdirs();
// Can we write the file ?
- if (this.m_file.exists() && !this.m_file.canWrite()) {
- throw new IOException("Cannot write to file " + this.m_file.getPath());
+ if (getFile().exists() && !getFile().canWrite()) {
+ throw new IOException("Cannot write to file " + getFile().getPath());
}
// Check if it temp file already exists, meaning someone else currently writing
if (!tmpFile.createNewFile()) {
- throw new ConcurrentModificationException("File " + this.m_file.getPath() +
+ throw new ConcurrentModificationException("File " + getFile().getPath() +
" is already being written by another thread");
}
@@ -254,6 +254,6 @@
* Delete the source.
*/
public boolean delete() {
- return this.m_file.delete();
+ return getFile().delete();
}
}
1.23 +64 -48 avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/URLSource.java
Index: URLSource.java
===================================================================
RCS file: /home/cvs/avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/URLSource.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- URLSource.java 29 Mar 2003 18:53:26 -0000 1.22
+++ URLSource.java 31 Mar 2003 14:21:42 -0000 1.23
@@ -98,8 +98,10 @@
/** The connection for a real URL */
protected URLConnection m_connection;
- /** The file, if URL is a file */
- protected File m_file;
+ /** The file, if URL is a file
+ * @deprecated use the accessor instead (getFile())
+ */
+ protected File file;
/** The <code>SourceParameters</code> used for a post*/
protected SourceParameters m_parameters;
@@ -140,11 +142,11 @@
setScheme(systemId.substring(0, pos));
if (systemId.startsWith( FILE ))
{
- m_file = new File( systemId.substring( FILE.length() ) );
+ setFile( new File( systemId.substring( FILE.length() ) ) );
}
else
{
- m_file = null;
+ setFile( null );
}
m_url = url;
m_isPost = false;
@@ -154,16 +156,16 @@
m_parameters = (SourceParameters)parameters.get( SourceResolver.URI_PARAMETERS );
final String method = (String)parameters.get( SourceResolver.METHOD );
if( "POST".equalsIgnoreCase( method ) )
- this.m_isPost = true;
+ m_isPost = true;
}
- if( null == this.m_file
- && null != this.m_parameters
- && this.m_parameters.hasParameters()
- && !this.m_isPost )
+ if( null == getFile()
+ && null != m_parameters
+ && m_parameters.hasParameters()
+ && !m_isPost )
{
StringBuffer urlBuffer = new StringBuffer( systemId );
String key;
- final Iterator i = this.m_parameters.getParameterNames();
+ final Iterator i = m_parameters.getParameterNames();
Iterator values;
String value;
boolean first = ( systemId.indexOf( '?' ) == -1 );
@@ -171,7 +173,7 @@
while( i.hasNext() )
{
key = (String)i.next();
- values = this.m_parameters.getParameterValues( key );
+ values = m_parameters.getParameterValues( key );
while( values.hasNext() == true )
{
value = SourceUtil.encode( (String)values.next() );
@@ -182,12 +184,26 @@
urlBuffer.append( value );
}
}
- this.m_url = new URL( urlBuffer.toString() );
- this.m_parameters = null;
+
+ m_url = new URL( urlBuffer.toString() );
+ m_parameters = null;
}
}
/**
+ * @param file
+ */
+ protected void setFile(File file)
+ {
+ this.file = file;
+ }
+
+ protected File getFile()
+ {
+ return file;
+ }
+
+ /**
* Get the last modification date and content length of the source.
* Any exceptions are ignored.
* Override this to get the real information
@@ -195,27 +211,27 @@
protected void getInfos()
{
// exists will be set below depending on the m_url type
- this.m_exists = false;
+ m_exists = false;
- if( null != this.m_file )
+ if( null != getFile() )
{
- setLastModified( m_file.lastModified() );
- setContentLength( m_file.length() );
- m_exists = m_file.exists();
+ setLastModified( getFile().lastModified() );
+ setContentLength( getFile().length() );
+ m_exists = getFile().exists();
}
else
{
- if( !this.m_isPost )
+ if( !m_isPost )
{
try
{
- if( null == this.m_connection )
+ if( null == m_connection )
{
- this.m_connection = this.m_url.openConnection();
- String userInfo = this.getUserInfo();
- if( this.m_url.getProtocol().startsWith( "http" ) && userInfo != null )
+ m_connection = m_url.openConnection();
+ String userInfo = getUserInfo();
+ if( m_url.getProtocol().startsWith( "http" ) && userInfo != null )
{
- this.m_connection.setRequestProperty( "Authorization", "Basic " + SourceUtil.encodeBASE64( userInfo ) );
+ m_connection.setRequestProperty( "Authorization", "Basic " + SourceUtil.encodeBASE64( userInfo ) );
}
}
setLastModified(m_connection.getLastModified());
@@ -241,8 +257,8 @@
*/
public boolean exists()
{
- this.checkInfos();
- return this.m_exists;
+ checkInfos();
+ return m_exists;
}
/**
@@ -257,38 +273,38 @@
{
try
{
- this.checkInfos();
+ checkInfos();
InputStream input = null;
- if( null != this.m_file )
+ if( null != getFile() )
{
- input = new FileInputStream( this.m_file );
+ input = new FileInputStream( getFile() );
}
else
{
- if( this.m_connection == null )
+ if( m_connection == null )
{
- this.m_connection = this.m_url.openConnection();
+ m_connection = m_url.openConnection();
/* The following requires a jdk 1.3 */
- String userInfo = this.getUserInfo();
- if( this.m_url.getProtocol().startsWith( "http" ) && userInfo != null )
+ String userInfo = getUserInfo();
+ if( m_url.getProtocol().startsWith( "http" ) && userInfo != null )
{
- this.m_connection.setRequestProperty( "Authorization", "Basic " + SourceUtil.encodeBASE64( userInfo ) );
+ m_connection.setRequestProperty( "Authorization", "Basic " + SourceUtil.encodeBASE64( userInfo ) );
}
// do a post operation
- if( this.m_connection instanceof HttpURLConnection
- && this.m_isPost )
+ if( m_connection instanceof HttpURLConnection
+ && m_isPost )
{
StringBuffer buffer = new StringBuffer( 2000 );
String key;
- Iterator i = this.m_parameters.getParameterNames();
+ Iterator i = m_parameters.getParameterNames();
Iterator values;
String value;
boolean first = true;
while( i.hasNext() )
{
key = (String)i.next();
- values = this.m_parameters.getParameterValues( key );
+ values = m_parameters.getParameterValues( key );
while( values.hasNext() == true )
{
value = SourceUtil.encode( (String)values.next() );
@@ -316,12 +332,12 @@
out.close();
}
input = httpCon.getInputStream();
- this.m_connection = null; // make sure a new m_connection is created next time
+ m_connection = null; // make sure a new m_connection is created next time
return input;
}
}
- input = this.m_connection.getInputStream();
- this.m_connection = null; // make sure a new m_connection is created next time
+ input = m_connection.getInputStream();
+ m_connection = null; // make sure a new m_connection is created next time
}
return input;
}
@@ -393,9 +409,9 @@
return m_cachedValidity;
m_cachedLastModificationDate = lm;
- if (m_file != null)
+ if (getFile() != null)
{
- m_cachedValidity = new FileTimeStampValidity(m_file, lm);
+ m_cachedValidity = new FileTimeStampValidity(getFile(), lm);
}
else
{
@@ -422,9 +438,9 @@
*/
public boolean isDirectory()
{
- if ( null != m_file )
+ if ( null != getFile() )
{
- return m_file.isDirectory();
+ return getFile().isDirectory();
}
return false;
}
@@ -436,9 +452,9 @@
*/
public Collection getChildrenLocations()
{
- if ( null != m_file && m_file.isDirectory() )
+ if ( null != getFile() && getFile().isDirectory() )
{
- final String[] files = m_file.list();
+ final String[] files = getFile().list();
return Arrays.asList(files);
}
return Collections.EMPTY_LIST;
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org