summaryrefslogtreecommitdiffstats
path: root/tags/java-M1-20060522/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'tags/java-M1-20060522/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java')
-rw-r--r--tags/java-M1-20060522/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java160
1 files changed, 0 insertions, 160 deletions
diff --git a/tags/java-M1-20060522/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java b/tags/java-M1-20060522/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java
deleted file mode 100644
index f9ac2b0559..0000000000
--- a/tags/java-M1-20060522/java/sca/core/src/main/java/org/apache/tuscany/core/loader/StAXUtil.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.core.loader;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.tuscany.core.config.ComponentTypeIntrospector;
-import org.apache.tuscany.core.config.ConfigurationException;
-import org.apache.tuscany.core.config.ConfigurationLoadException;
-import org.apache.tuscany.core.config.impl.Java5ComponentTypeIntrospector;
-import org.apache.tuscany.core.config.processor.ProcessorUtils;
-import org.apache.tuscany.core.loader.assembly.ComponentLoader;
-import org.apache.tuscany.core.loader.assembly.EntryPointLoader;
-import org.apache.tuscany.core.loader.assembly.InterfaceJavaLoader;
-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;
-import org.apache.tuscany.core.system.assembly.SystemImplementation;
-import org.apache.tuscany.core.system.assembly.impl.SystemAssemblyFactoryImpl;
-import org.apache.tuscany.model.assembly.AssemblyContext;
-import org.apache.tuscany.model.assembly.Component;
-import org.apache.tuscany.model.assembly.EntryPoint;
-import org.apache.tuscany.model.assembly.Module;
-import org.apache.tuscany.model.assembly.ModuleComponent;
-import org.apache.tuscany.model.assembly.Multiplicity;
-import org.apache.tuscany.model.assembly.OverrideOption;
-import org.apache.tuscany.model.assembly.Scope;
-
-/**
- * @version $Rev$ $Date$
- */
-public final class StAXUtil {
- private static final Map<String, Multiplicity> MULTIPLICITY = new HashMap<String, Multiplicity>(4);
- private static final Map<String, OverrideOption> OVERRIDE_OPTIONS = new HashMap<String, OverrideOption>(3);
-
- static {
- MULTIPLICITY.put("0..1", Multiplicity.ZERO_ONE);
- MULTIPLICITY.put("1..1", Multiplicity.ONE_ONE);
- MULTIPLICITY.put("0..n", Multiplicity.ZERO_N);
- MULTIPLICITY.put("1..n", Multiplicity.ONE_N);
-
- OVERRIDE_OPTIONS.put("no", OverrideOption.NO);
- OVERRIDE_OPTIONS.put("may", OverrideOption.MAY);
- OVERRIDE_OPTIONS.put("must", OverrideOption.MUST);
- }
-
- private StAXUtil() {
- }
-
- public static void skipToEndElement(XMLStreamReader reader) throws XMLStreamException {
- int depth = 0;
- while (true) {
- int event = reader.next();
- if (event == XMLStreamConstants.START_ELEMENT) {
- depth++;
- } else if (event == XMLStreamConstants.END_ELEMENT) {
- if (depth == 0) {
- return;
- }
- depth--;
- }
- }
- }
-
- public static Multiplicity multiplicity(String multiplicity, Multiplicity def) {
- return multiplicity == null ? def : MULTIPLICITY.get(multiplicity);
- }
-
- public static OverrideOption overrideOption(String overrideOption, OverrideOption def) {
- return overrideOption == null ? def : OVERRIDE_OPTIONS.get(overrideOption);
- }
-
- public static ModuleComponent bootstrapLoader(String name, AssemblyContext context) throws ConfigurationLoadException {
- SystemAssemblyFactory factory = new SystemAssemblyFactoryImpl();
- ComponentTypeIntrospector introspector = ProcessorUtils.createCoreIntrospector(factory);
- Module module = factory.createModule();
- module.setName("org.apache.tuscany.core.system.loader");
-
- List<Component> components = module.getComponents();
-
- // bootstrap the minimal set of loaders needed to read the system module files
- // all others should be defined in the system.module file
- components.add(bootstrapLoader(factory, introspector, ModuleLoader.class));
- components.add(bootstrapLoader(factory, introspector, ModuleFragmentLoader.class));
- Component propFactory = factory.createSystemComponent("org.apache.tuscany.core.system.loader.DefaultPropertyFactory", StAXPropertyFactory.class, StringParserPropertyFactory.class, Scope.MODULE);
- introspector.introspect(StAXPropertyFactory.class);
- components.add(propFactory);
- components.add(bootstrapLoader(factory, introspector, ComponentLoader.class));
- components.add(bootstrapLoader(factory, introspector, EntryPointLoader.class));
- components.add(bootstrapLoader(factory, introspector, InterfaceJavaLoader.class));
- components.add(bootstrapLoader(factory, introspector, SystemImplementationLoader.class));
- components.add(bootstrapLoader(factory, introspector, SystemBindingLoader.class));
- // do not add additional loaders above - they should be in the system.module file
-
- // bootstrap the registries needed by the bootstrap loaders above
- bootstrapService(factory, introspector, module, StAXLoaderRegistry.class, StAXLoaderRegistryImpl.class);
- bootstrapService(factory, introspector, module, SystemAssemblyFactory.class, SystemAssemblyFactoryImpl.class);
- bootstrapService(factory, introspector, module, ComponentTypeIntrospector.class, Java5ComponentTypeIntrospector.class);
-
- ModuleComponent mc = factory.createModuleComponent();
- mc.setName(name);
- mc.setImplementation(module);
- mc.initialize(context);
- return mc;
- }
-
- private static Component bootstrapLoader(SystemAssemblyFactory factory, ComponentTypeIntrospector introspector, Class<?> loaderClass) {
- SystemImplementation implementation = factory.createSystemImplementation();
- implementation.setImplementationClass(loaderClass);
- try {
- implementation.setComponentType(introspector.introspect(loaderClass));
- } catch (ConfigurationException e) {
- throw (AssertionError) new AssertionError("Invalid bootstrap loader").initCause(e);
- }
- Component component = factory.createSimpleComponent();
- component.setName(loaderClass.getName());
- component.setImplementation(implementation);
- return component;
- }
-
- private static <T> void bootstrapService(SystemAssemblyFactory factory, ComponentTypeIntrospector introspector, Module module, Class<T> service, Class<? extends T> impl) {
- String epName = service.getName();
- String compName = impl.getName();
-
- Component component = factory.createSystemComponent(compName, service, impl, Scope.MODULE);
- try {
- component.getImplementation().setComponentType(introspector.introspect(impl));
- } catch (ConfigurationException e) {
- throw (AssertionError) new AssertionError("Invalid bootstrap loader").initCause(e);
- }
-
- EntryPoint entryPoint = factory.createSystemEntryPoint(epName, service, compName);
-
- module.getComponents().add(component);
- module.getEntryPoints().add(entryPoint);
- }
-}