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