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