Hi, Jeremy.
Can we make the loaderRegistry "protected" instead of "private" in
ComponentTypeLoaderExtension.java? The sub-class may need to access it, for
example, delegate to the registered ComponentTypeElementLoader to parse
"componentType" element.
Thanks,
Raymond
- Original Message -
From: <[EMAIL PROTECTED]>
To:
Sent: Wednesday, May 24, 2006 9:51 PM
Subject: svn commit: r409302 - in /incubator/tuscany/sandbox/jboynes/sca:
core2/src/main/java/org/apache/tuscany/core/loader/
core2/src/main/java/org/apache/tuscany/core/system/loader/
spi/src/main/java/org/apache/tuscany/spi/extension/
spi/src/main/java/org/ap...
Author: jboynes
Date: Wed May 24 21:51:10 2006
New Revision: 409302
URL: http://svn.apache.org/viewvc?rev=409302&view=rev
Log:
add extension base class for ComponentTypeLoader
Added:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java
(with props)
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/loader/SystemComponentTypeLoader.java
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/loader/LoaderRegistry.java
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java?rev=409302&r1=409301&r2=409302&view=diff
==
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/loader/LoaderRegistryImpl.java
Wed May 24 21:51:10 2006
@@ -71,6 +71,10 @@
componentTypeLoaders.put(key, loader);
}
+public > void unregisterLoader(Class
key) {
+componentTypeLoaders.remove(key);
+}
+
@SuppressWarnings("unchecked")
public > void loadComponentType(I
implementation, DeploymentContext deploymentContext) {
Class key = (Class) implementation.getClass();
Modified:
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/loader/SystemComponentTypeLoader.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/loader/SystemComponentTypeLoader.java?rev=409302&r1=409301&r2=409302&view=diff
==
---
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/loader/SystemComponentTypeLoader.java
(original)
+++
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/system/loader/SystemComponentTypeLoader.java
Wed May 24 21:51:10 2006
@@ -18,15 +18,19 @@
import java.net.URL;
-import org.apache.tuscany.spi.loader.ComponentTypeLoader;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
import org.apache.tuscany.core.system.model.SystemImplementation;
import org.apache.tuscany.core.util.JavaIntrospectionHelper;
+import org.apache.tuscany.spi.deployer.DeploymentContext;
+import org.apache.tuscany.spi.extension.ComponentTypeLoaderExtension;
/**
* @version $Rev$ $Date$
*/
-public class SystemComponentTypeLoader implements
ComponentTypeLoader {
+public class SystemComponentTypeLoader extends
ComponentTypeLoaderExtension {
+protected Class getTypeClass() {
+return SystemImplementation.class;
+}
+
public void load(SystemImplementation implementation,
DeploymentContext deploymentContext) {
Class implClass = implementation.getImplementationClass();
URL resource =
implClass.getResource(JavaIntrospectionHelper.getBaseName(implClass) +
".componentType");
Added:
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java?rev=409302&view=auto
==
---
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java
(added)
+++
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/extension/ComponentTypeLoaderExtension.java
Wed May 24 21:51:10 2006
@@ -0,0 +1,49 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation or its licensors as
applicable
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the Lic