You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ad...@apache.org on 2008/04/11 11:59:04 UTC

svn commit: r647098 - in /incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded: SCADomain.java impl/DefaultSCADomain.java impl/ReallySmallRuntimeBuilder.java

Author: adrianocrestani
Date: Fri Apr 11 02:58:57 2008
New Revision: 647098

URL: http://svn.apache.org/viewvc?rev=647098&view=rev
Log:
-updating Android test files on the sandbox

Modified:
    incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java
    incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java
    incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java

Modified: incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java?rev=647098&r1=647097&r2=647098&view=diff
==============================================================================
--- incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java (original)
+++ incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java Fri Apr 11 02:58:57 2008
@@ -24,11 +24,14 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.lang.reflect.Constructor;
+import java.net.URL;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
-import java.url.AndroidURLConnection;
 
+import org.apache.tuscany.sca.host.embedded.impl.ContextRegistry;
 import org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain;
+import org.apache.tuscany.sca.host.embedded.management.AndroidURLConnection;
+import org.apache.tuscany.sca.host.embedded.management.AndroidURLStreamHandlerFactory;
 import org.apache.tuscany.sca.host.embedded.management.ComponentManager;
 import org.osoa.sca.CallableReference;
 import org.osoa.sca.ServiceReference;
@@ -51,15 +54,21 @@
     // TODO: Temporary support for SCADomain.connect() API
     protected static SCADomain theDomain;
     
-    private static Context context;
+    static {
+    	URL.setURLStreamHandlerFactory(new AndroidURLStreamHandlerFactory());
+    }
+    
+    private Context context;
+    
+    public SCADomain() {}
     
-    public static void setContext(Context aContext) {
-    	context = aContext;
-    	AndroidURLConnection.registerContext(context);
+    public SCADomain(Context context) {
+    	this.context = context;
+    	ContextRegistry.registerContext(context);
     	
     }
     
-    public static Context getContext() {
+    public Context getContext() {
     	return context;
     }
     
@@ -68,6 +77,39 @@
      *  
      * @return
      */
+    public static SCADomain newInstance(Context context) {
+        return createNewInstance(context, LOCAL_DOMAIN_URI, null);
+    }
+    
+    /**
+     * Returns a new instance of a local SCA domain. The specified deployable
+     * composite will be included in the SCA domain.
+     * 
+     * @param composite the deployable composite to include in the SCA domain.
+     * @return
+     */
+    public static SCADomain newInstance(Context context, String composite) {
+        return createNewInstance(context, LOCAL_DOMAIN_URI, "/", composite);
+    }
+    
+    /**
+     * Returns a new instance of a local SCA domain. The specified deployable
+     * composites will be included in the SCA domain.
+     * 
+     * @param domainURI the URI of the SCA domain
+     * @param contributionLocation the location of an SCA contribution
+     * @param composites the deployable composites to include in the SCA domain.
+     * @return
+     */
+    public static SCADomain newInstance(Context context, String domainURI, String contributionLocation, String... composites) {
+        return createNewInstance(context, domainURI, contributionLocation, composites);
+    }
+    
+    /**
+     * Returns a new instance of a local SCA domain.
+     *  
+     * @return
+     */
     public static SCADomain newInstance() {
         return createNewInstance(LOCAL_DOMAIN_URI, null);
     }
@@ -124,6 +166,9 @@
         // TODO: temporary to support initial SCADomain.connect capability
         SCADomain.removeInstance(this);
         
+        if (context != null) {
+        	ContextRegistry.unregisterContext(context);
+        }
         
     }
 
@@ -203,6 +248,10 @@
         }
         return null;
     }
+    
+    static SCADomain createNewInstance(String domainURI, String contributionLocation, String... composites) {
+    	return createNewInstance(null, domainURI, contributionLocation, composites);
+    }
 
     /**
      * Returns an SCADomain instance. If the system property
@@ -219,12 +268,12 @@
      * @param composites
      * @return
      */
-    static SCADomain createNewInstance(String domainURI, String contributionLocation, String... composites) {
+    static SCADomain createNewInstance(Context context, String domainURI, String contributionLocation, String... composites) {
 
         SCADomain domain = null;
 
         try {
-            // Determine the runtime and application classloader
+        	// Determine the runtime and application classloader
             final ClassLoader runtimeClassLoader = SCADomain.class.getClassLoader();
             final ClassLoader applicationClassLoader = Thread.currentThread().getContextClassLoader();
             
@@ -244,7 +293,8 @@
                 
                 // Create a default SCA domain implementation
                 domain =
-                    new DefaultSCADomain(runtimeClassLoader,
+                    new DefaultSCADomain(context,
+                    					 runtimeClassLoader,
                                          applicationClassLoader,
                                          domainURI,
                                          contributionLocation,

Modified: incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java?rev=647098&r1=647097&r2=647098&view=diff
==============================================================================
--- incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java (original)
+++ incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java Fri Apr 11 02:58:57 2008
@@ -67,6 +67,8 @@
 import org.osoa.sca.ServiceReference;
 import org.osoa.sca.ServiceRuntimeException;
 
+import android.content.Context;
+
 /**
  * A default SCA domain facade implementation.
  * 
@@ -98,6 +100,32 @@
                             String domainURI,
                             String contributionLocation,
                             String... composites) {
+    	this.uri = domainURI;
+        this.composites = composites;
+        this.runtimeClassLoader = runtimeClassLoader;
+        this.applicationClassLoader = applicationClassLoader;
+        this.domainURI = domainURI;
+        this.contributionLocation = contributionLocation;
+        this.composites = composites;
+
+        init();
+    
+    }
+    
+    /**
+     * Constructs a new domain facade.
+     * 
+     * @param domainURI
+     * @param contributionLocation
+     * @param composites
+     */
+    public DefaultSCADomain(Context context, 
+    						ClassLoader runtimeClassLoader,
+                            ClassLoader applicationClassLoader,
+                            String domainURI,
+                            String contributionLocation,
+                            String... composites) {
+    	super(context);
         this.uri = domainURI;
         this.composites = composites;
         this.runtimeClassLoader = runtimeClassLoader;
@@ -123,7 +151,7 @@
         
         // Contribute the given contribution to an in-memory repository
         ContributionService contributionService = runtime.getContributionService();
-        String contributionURL;
+        URL contributionURL;
         try {
             contributionURL = getContributionLocation(applicationClassLoader, contributionLocation, this.composites);
            /* if (contributionURL != null) {
@@ -269,13 +297,13 @@
 //        }
     }
 
-    protected void addContribution(ContributionService contributionService, String contributionURL) throws IOException {
+    protected void addContribution(ContributionService contributionService, URL contributionURL) throws IOException {
         try {
-           /* String contributionURI = FileHelper.getName(contributionURL.getPath());
+            String contributionURI = FileHelper.getName(contributionURL.getPath());
             if (contributionURI == null || contributionURI.length() == 0) {
                 contributionURI = contributionURL.toString();
-            }*/
-            contributions.add(contributionService.contribute(contributionURL, null, false));
+            }
+            contributions.add(contributionService.contribute(contributionURI, contributionURL, false));
         } catch (ContributionException e) {
             throw new ServiceRuntimeException(e);
         }
@@ -333,7 +361,7 @@
      * @return
      * @throws MalformedURLException
      */
-    protected String getContributionLocation(ClassLoader classLoader, String contributionPath, String[] composites)
+    protected URL getContributionLocation(ClassLoader classLoader, String contributionPath, String[] composites)
         throws MalformedURLException {
        /* if (contributionPath != null && contributionPath.length() > 0) {
             //encode spaces as they would cause URISyntaxException
@@ -345,7 +373,7 @@
         }*/
 
         String contributionArtifactPath = null;
-        String contributionArtifactURL = null;
+        URL contributionArtifactURL = null;
         if (composites != null && composites.length > 0 && composites[0].length() > 0) {
         	String packageName = getContext().getPackageName();
 
@@ -357,7 +385,7 @@
                 throw new IllegalArgumentException("Composite not found: " + contributionArtifactPath);
             }
             
-            contributionArtifactURL = packageName + "raw" + contributionArtifactPath;
+            contributionArtifactURL = new URL("android", packageName, "raw/" + contributionArtifactPath);
             
         } /*else {
 

Modified: incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java?rev=647098&r1=647097&r2=647098&view=diff
==============================================================================
--- incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java (original)
+++ incubator/tuscany/sandbox/mobile-android/host-android/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java Fri Apr 11 02:58:57 2008
@@ -198,10 +198,10 @@
         //schemas.addSchema(ReallySmallRuntimeBuilder.class.getClassLoader().getResource("tuscany-sca.xsd").toString());
        
         // Create a new XML input factory
-        XMLInputFactory inputFactory = null;//XMLInputFactory.newInstance();
+        XMLInputFactory inputFactory = XMLInputFactory.newInstance();
         
         // Create a validating XML input factory
-        XMLInputFactory validatingInputFactory = null;//new DefaultValidatingXMLInputFactory(inputFactory, schemas);
+        XMLInputFactory validatingInputFactory = new DefaultValidatingXMLInputFactory(inputFactory, schemas);
         
         // Create STAX artifact processor extension point
         //StAXArtifactProcessorExtensionPoint staxProcessors =
@@ -213,7 +213,7 @@
 
         // Create and register STAX processors for SCA assembly XML
         ExtensibleStAXArtifactProcessor staxProcessor =
-            new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null/*XMLOutputFactory.newInstance()*/);
+            new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, XMLOutputFactory.newInstance());
         staxProcessors.addArtifactProcessor(new CompositeProcessor(contributionFactory, assemblyFactory, policyFactory, staxProcessor));
         staxProcessors.addArtifactProcessor(new ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
         staxProcessors



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org