You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by lu...@apache.org on 2004/11/08 10:37:43 UTC

cvs commit: jakarta-slide/src/share/org/apache/slide/extractor ExtractorManager.java

luetzkendorf    2004/11/08 01:37:43

  Modified:    src/share/org/apache/slide/extractor ExtractorManager.java
  Log:
  new methods that content with uri strings instead requireing
  NodeRevisionDescriptors. (What about removing all this weird array returning
  stuff)
  
  Revision  Changes    Path
  1.6       +45 -5     jakarta-slide/src/share/org/apache/slide/extractor/ExtractorManager.java
  
  Index: ExtractorManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/extractor/ExtractorManager.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ExtractorManager.java	29 Sep 2004 15:28:06 -0000	1.5
  +++ ExtractorManager.java	8 Nov 2004 09:37:43 -0000	1.6
  @@ -73,6 +73,17 @@
           ContentExtractor[] extractors = new ContentExtractor[matchingExtractors.size()];
           return (ContentExtractor [])matchingExtractors.toArray(extractors);
       };
  +    
  +    public List getContentExtractors(String namespace, String uri, NodeRevisionDescriptor descriptor) {
  +        List matchingExtractors = new ArrayList();
  +        for ( Iterator i = extractors.iterator(); i.hasNext(); ) {
  +            Extractor extractor = (Extractor)i.next();
  +            if ( extractor instanceof ContentExtractor && matches(extractor, namespace, uri, descriptor)) {
  +                matchingExtractors.add(extractor);
  +            }
  +        }
  +        return matchingExtractors;
  +    };
   
       public Extractor[] getExtractors(String namespace, NodeRevisionDescriptors descriptors, NodeRevisionDescriptor descriptor) {
           List matchingExtractors = new ArrayList();
  @@ -85,8 +96,22 @@
           Extractor[] extractors = new Extractor[matchingExtractors.size()];
           return (Extractor [])matchingExtractors.toArray(extractors);
       };
  +    
  +    public boolean hasContentExtractor(String namespace, 
  +            String uri, 
  +            NodeRevisionDescriptor descriptor) 
  +    {
  +        for ( Iterator i = extractors.iterator(); i.hasNext(); ) {
  +            Extractor extractor = (Extractor)i.next();
  +            if ( extractor instanceof ContentExtractor && 
  +                    matches(extractor, namespace, uri, descriptor)) {
  +                return true;
  +            }
  +        }
  +        return false;
  +    };
   
  -    public boolean matches(Extractor extractor, String namespace, NodeRevisionDescriptors descriptors, NodeRevisionDescriptor descriptor) {
  +    static boolean matches(Extractor extractor, String namespace, NodeRevisionDescriptors descriptors, NodeRevisionDescriptor descriptor) {
           boolean matching = true;
           if ( descriptor != null && extractor.getContentType() != null && !descriptor.getContentType().equals(extractor.getContentType()) ) {
               matching = false;
  @@ -94,10 +119,25 @@
           if ( descriptors != null && extractor.getUri() != null && !descriptors.getUri().startsWith(extractor.getUri()) ) {
               matching = false;
           }
  -        if ( descriptors != null && extractor.getNamespace() != null && !extractor.getNamespace().equals(namespace)) {
  +        if ( extractor.getNamespace() != null && !extractor.getNamespace().equals(namespace)) {
               matching = false;
           }
           return matching;
  +    }
  +    
  +    static boolean matches(Extractor extractor, String namespace, String uri, 
  +            NodeRevisionDescriptor descriptor) 
  +    {
  +        if ( descriptor != null && !descriptor.getContentType().equals(extractor.getContentType()) ) {
  +            return false;
  +        }
  +        if ( extractor.getUri() != null && !uri.startsWith(extractor.getUri()) ) {
  +            return false;
  +        }
  +        if ( extractor.getNamespace() != null && !extractor.getNamespace().equals(namespace)) {
  +            return false;
  +        }
  +        return true;
       }
   
       public void configure(Configuration config) throws ConfigurationException {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org