You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2009/03/05 22:36:14 UTC

svn commit: r750600 - /tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java

Author: rfeng
Date: Thu Mar  5 21:36:13 2009
New Revision: 750600

URL: http://svn.apache.org/viewvc?rev=750600&view=rev
Log:
URI is registered as /x/y/Z.ext

Modified:
    tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java

Modified: tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java?rev=750600&r1=750599&r2=750600&view=diff
==============================================================================
--- tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java (original)
+++ tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java Thu Mar  5 21:36:13 2009
@@ -34,9 +34,8 @@
  * 
  * @version $Rev$ $Date$
  */
-public class ExtensibleURLArtifactProcessor
-    implements URLArtifactProcessor<Object> {
-    
+public class ExtensibleURLArtifactProcessor implements URLArtifactProcessor<Object> {
+
     private URLArtifactProcessorExtensionPoint processors;
     private Monitor monitor;
 
@@ -49,7 +48,7 @@
         this.processors = processors;
         this.monitor = monitor;
     }
-    
+
     /**
      * Report a error.
      * 
@@ -58,10 +57,16 @@
      * @param model
      */
     private void error(String message, Object model, Object... messageParameters) {
-    	if (monitor != null) {
-	        Problem problem = monitor.createProblem(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters);
-	        monitor.problem(problem);
-    	}
+        if (monitor != null) {
+            Problem problem =
+                monitor.createProblem(this.getClass().getName(),
+                                      "contribution-validation-messages",
+                                      Severity.ERROR,
+                                      model,
+                                      message,
+                                      (Object[])messageParameters);
+            monitor.problem(problem);
+        }
     }
 
     @SuppressWarnings("unchecked")
@@ -69,7 +74,12 @@
         URLArtifactProcessor<Object> processor = null;
         if (sourceURI != null) {
             //try to retrieve a processor for the specific URI
-            processor = (URLArtifactProcessor<Object>)processors.getProcessor(sourceURI.toString());
+            String uri = sourceURI.toString();
+            if (!uri.startsWith("/")) {
+                uri = "/" + uri;
+            }
+            // Register the URI as the artifact type starts with /
+            processor = (URLArtifactProcessor<Object>)processors.getProcessor(uri);
         }
         if (processor == null) {
             // Delegate to the processor associated with file extension
@@ -78,19 +88,20 @@
             //try to retrieve a processor for the specific filename
             processor = (URLArtifactProcessor<Object>)processors.getProcessor(fileName);
         }
-        
+
         if (processor == null) {
             //try to find my file type (extension)
             String extension = sourceURL.getPath();
-            
+
             int extensionStart = extension.lastIndexOf('.');
             //handle files without extension (e.g NOTICE)
             if (extensionStart > 0) {
+                // File extensions are registered as .<extension>
                 extension = extension.substring(extensionStart);
-                processor = (URLArtifactProcessor<Object>)processors.getProcessor(extension);            
+                processor = (URLArtifactProcessor<Object>)processors.getProcessor(extension);
             }
         }
-        
+
         if (processor == null) {
             return null;
         }
@@ -108,8 +119,8 @@
             }
         }
     }
-    
-    public <M> M read(URL contributionURL, URI artifactURI, URL artifactUrl, Class<M> type) 
+
+    public <M> M read(URL contributionURL, URI artifactURI, URL artifactUrl, Class<M> type)
         throws ContributionReadException {
         Object mo = read(contributionURL, artifactURI, artifactUrl);
         if (type.isInstance(mo)) {
@@ -121,11 +132,11 @@
             throw e;
         }
     }
-    
+
     public String getArtifactType() {
         return null;
     }
-    
+
     public Class<Object> getModelType() {
         return null;
     }
@@ -135,10 +146,10 @@
      * @param url
      * @return
      */
-    private static String getFileName(URL url){
+    private static String getFileName(URL url) {
         String fileName = url.getPath();
         int pos = fileName.lastIndexOf("/");
-        
-        return fileName.substring(pos +1);
+
+        return fileName.substring(pos + 1);
     }
 }