Author: jboynes
Date: Fri Apr 14 11:56:05 2006
New Revision: 394174
URL: http://svn.apache.org/viewcvs?rev=394174&view=rev
Log:
make the default PropertyFactory a system service
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ComponentLoader.java
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/ComponentLoaderTestCase.java
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java?rev=394174&r1=394173&r2=394174&view=diff
==============================================================================
---
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java
(original)
+++
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java
Fri Apr 14 11:56:05 2006
@@ -33,6 +33,7 @@
import org.apache.tuscany.core.loader.assembly.ModuleFragmentLoader;
import org.apache.tuscany.core.loader.assembly.ModuleLoader;
import org.apache.tuscany.core.loader.impl.StAXLoaderRegistryImpl;
+import org.apache.tuscany.core.loader.impl.StringParserPropertyFactory;
import org.apache.tuscany.core.loader.system.SystemBindingLoader;
import org.apache.tuscany.core.loader.system.SystemImplementationLoader;
import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory;
@@ -104,6 +105,7 @@
// all others should be defined in the system.module file
components.add(bootstrapLoader(factory, introspector,
ModuleLoader.class));
components.add(bootstrapLoader(factory, introspector,
ModuleFragmentLoader.class));
+
components.add(factory.createSystemComponent("org.apache.tuscany.core.system.loader.DefaultPropertyFactory",
StAXPropertyFactory.class, StringParserPropertyFactory.class, Scope.MODULE));
components.add(bootstrapLoader(factory, introspector,
ComponentLoader.class));
components.add(bootstrapLoader(factory, introspector,
EntryPointLoader.class));
components.add(bootstrapLoader(factory, introspector,
InterfaceJavaLoader.class));
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ComponentLoader.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ComponentLoader.java?rev=394174&r1=394173&r2=394174&view=diff
==============================================================================
---
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ComponentLoader.java
(original)
+++
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ComponentLoader.java
Fri Apr 14 11:56:05 2006
@@ -35,6 +35,7 @@
import org.apache.tuscany.core.loader.StAXPropertyFactory;
import org.apache.tuscany.core.loader.StAXUtil;
import org.apache.tuscany.core.loader.impl.StringParserPropertyFactory;
+import org.apache.tuscany.core.system.annotation.Autowire;
import org.apache.tuscany.model.assembly.AssemblyObject;
import org.apache.tuscany.model.assembly.Component;
import org.apache.tuscany.model.assembly.ComponentInfo;
@@ -50,7 +51,12 @@
*/
@Scope("MODULE")
public class ComponentLoader extends AbstractLoader {
- private static final StAXPropertyFactory<?> defaultPropertyFactory = new
StringParserPropertyFactory();
+ private StAXPropertyFactory<?> defaultPropertyFactory;
+
+ @Autowire
+ public void setDefaultPropertyFactory(StAXPropertyFactory<?>
defaultPropertyFactory) {
+ this.defaultPropertyFactory = defaultPropertyFactory;
+ }
public QName getXMLType() {
return COMPONENT;
Modified:
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java?rev=394174&r1=394173&r2=394174&view=diff
==============================================================================
---
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java
(original)
+++
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java
Fri Apr 14 11:56:05 2006
@@ -31,9 +31,14 @@
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import org.osoa.sca.annotations.Scope;
+import org.osoa.sca.annotations.Service;
+
/**
* @version $Rev$ $Date$
*/
[EMAIL PROTECTED]("MODULE")
[EMAIL PROTECTED](interfaces = {StAXPropertyFactory.class})
public class StringParserPropertyFactory implements StAXPropertyFactory {
public ObjectFactory<?> createObjectFactory(XMLStreamReader reader,
Property property) throws XMLStreamException, ConfigurationLoadException {
Class<?> type = property.getType();
Modified:
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/ComponentLoaderTestCase.java
URL:
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/ComponentLoaderTestCase.java?rev=394174&r1=394173&r2=394174&view=diff
==============================================================================
---
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/ComponentLoaderTestCase.java
(original)
+++
incubator/tuscany/java/sca/core/src/test/java/org/apache/tuscany/core/loader/assembly/ComponentLoaderTestCase.java
Fri Apr 14 11:56:05 2006
@@ -26,6 +26,7 @@
import org.apache.tuscany.core.config.impl.Java5ComponentTypeIntrospector;
import org.apache.tuscany.core.injection.SingletonObjectFactory;
import org.apache.tuscany.core.loader.StAXPropertyFactory;
+import org.apache.tuscany.core.loader.impl.StringParserPropertyFactory;
import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory;
import org.apache.tuscany.core.system.assembly.SystemImplementation;
import org.apache.tuscany.core.system.assembly.impl.SystemAssemblyFactoryImpl;
@@ -104,6 +105,7 @@
super.setUp();
loader = new ComponentLoader();
loader.setFactory(assemblyFactory);
+ loader.setDefaultPropertyFactory(new StringParserPropertyFactory());
introspector = new Java5ComponentTypeIntrospector(assemblyFactory);
}