Bugs in operations classes
--------------------------

                 Key: VFS-212
                 URL: https://issues.apache.org/jira/browse/VFS-212
             Project: Commons VFS
          Issue Type: Bug
    Affects Versions: 1.1
         Environment: all
            Reporter: Frank


I tried to work with operations and I found some problems.

The DefaultFileOperations class iterates over several operation providers to 
find the requested operation. However, in the class 
AbstractFileOperationProvider the method lookupOperation will throw an 
exception when the requested operation does not exist. This makes it impossible 
to have multiple OperationProviders that each add some operations, because if 
your operation is not contained in the first provider that is checked the 
search is aborted.

To fix this lookupOperation should return null when the operation is not found. 
Method getOperation should also handle the case that lookupOperation returns 
null. 

Another problem is that the StandardFileSystemManager only loads an 
OperationProvider if there is a Provider for the associated schema. I lost 
several hours trying to find why my OperationProvider was not loaded. Turns out 
that my OperationProvider was in the classpath before the Provider, and the 
StandardFileSystemManager discarded my OperationProvider. The classpath is 
constructed dynamically using in a script so it's not possible to influence the 
order other than changing the name of the jar that contains the providers file; 
which is not really an elegant solution.

I don't quite see the necessity to filter the OperationProvider in such a way; 
I suggest that all found OperationProviders are loaded when found regardless if 
the schema was already registered or not.

I find the operations classes rather confusing, but I'll submit something about 
that somewhere else.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to