Author: lresende
Date: Sat Jun 16 18:13:30 2012
New Revision: 1350969

URL: http://svn.apache.org/viewvc?rev=1350969&view=rev
Log:
Adding suppot for parsing uri as new attribute for implementation widget

Modified:
    
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java
    
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java
    
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationImpl.java
    
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/resources/impl-widget-validation-messages.properties

Modified: 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java?rev=1350969&r1=1350968&r2=1350969&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java
 Sat Jun 16 18:13:30 2012
@@ -56,4 +56,16 @@ public interface WidgetImplementation ex
      * @param url the location
      */
     void setLocationURL(URL url);
+    
+    /**
+     * Get the widget URI
+     * @return the uri
+     */
+    String getUri();
+    
+    /**
+     * Set the widget URI, used to automatically add a binding to the widget
+     * @param uri the uri
+     */
+    void setUri(String uri);
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java?rev=1350969&r1=1350968&r2=1350969&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java
 Sat Jun 16 18:13:30 2012
@@ -20,11 +20,8 @@ package org.apache.tuscany.sca.implement
 
 import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
 
-import java.io.File;
-import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URI;
-import java.net.URISyntaxException;
 import java.net.URL;
 
 import javax.xml.namespace.QName;
@@ -80,18 +77,24 @@ public class WidgetImplementationProcess
         // Read an <implementation.widget> element
 
         // Create and initialize the resource implementation model
-        WidgetImplementation implementation = null;
-
+        WidgetImplementation implementation = 
implementationFactory.createWidgetImplementation();
+        implementation.setUnresolved(true);
+        
         // Read the location attribute specifying the location of the resources
         String location = getURIString(reader, "location");
-        if (location != null) {
-            implementation = 
implementationFactory.createWidgetImplementation();
+        if (location != null && location.isEmpty() == false) {
             implementation.setLocation(location);
-            implementation.setUnresolved(true);
         } else {
             error(context.getMonitor(), "LocationAttributeMissing", reader);
             //throw new ContributionReadException(MSG_LOCATION_MISSING);
         }
+        
+        String uri = getURIString(reader, "uri");
+        if(uri != null && uri.isEmpty() == false) {
+            implementation.setUri(uri);
+        } else {
+            warning(context.getMonitor(), "UocationAttributeMissing", reader);
+        }
 
         // Skip to end element
         while (reader.hasNext()) {
@@ -168,10 +171,14 @@ public class WidgetImplementationProcess
         // Write <implementation.widget>        
         writeStart(writer, WidgetImplementation.TYPE.getNamespaceURI(), 
WidgetImplementation.TYPE.getLocalPart());
 
-        if (implementation.getLocation() != null) {
+        if (implementation.getLocation() != null && 
implementation.getLocation().isEmpty() == false) {
             writer.writeAttribute("location", implementation.getLocation());
         }
 
+        if (implementation.getUri() != null && 
implementation.getUri().isEmpty() == false) {
+            writer.writeAttribute("uri", implementation.getUri());
+        }
+        
         writeEnd(writer);
     }
     
@@ -179,6 +186,18 @@ public class WidgetImplementationProcess
      * Utility methods
      */
     
+    private void warning(Monitor monitor, String message, Object model, 
Object... messageParameters) {
+        if (monitor != null) {
+            Problem problem =
+                monitor.createProblem(this.getClass().getName(),
+                                      "impl-widget-validation-messages",
+                                      Severity.WARNING,
+                                      model,
+                                      message,
+                                      (Object[])messageParameters);
+            monitor.problem(problem);
+        }
+    }
     
     /**
      * Report a error.

Modified: 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationImpl.java?rev=1350969&r1=1350968&r2=1350969&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/impl/WidgetImplementationImpl.java
 Sat Jun 16 18:13:30 2012
@@ -45,6 +45,8 @@ public class WidgetImplementationImpl ex
 
     private String location;
     private URL locationUrl;
+    
+    private String uri;
 
     /**
      * Constructs a new resource implementation.
@@ -96,6 +98,13 @@ public class WidgetImplementationImpl ex
         this.locationUrl = url;
     }
 
+    public String getUri() {
+        return this.uri;
+    }
+    
+    public void setUri(String uri) {
+        this.uri = uri;
+    }
     
     @Override
     public String toString() {

Modified: 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/resources/impl-widget-validation-messages.properties
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/resources/impl-widget-validation-messages.properties?rev=1350969&r1=1350968&r2=1350969&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/resources/impl-widget-validation-messages.properties
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/implementation-widget/src/main/resources/impl-widget-validation-messages.properties
 Sat Jun 16 18:13:30 2012
@@ -20,4 +20,5 @@
 #
 ContributionResolveException = ContributionResolveException occured due to:
 LocationAttributeMissing = Reading implementation.widget - location attribute 
missing
+UriAttributeMissing = Reading implementation.widget - uri attribute missing
 CouldNotResolveLocation = Could not resolve implementation.widget location: {0}


Reply via email to