summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java')
-rw-r--r--branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java94
1 files changed, 0 insertions, 94 deletions
diff --git a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java b/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java
deleted file mode 100644
index bdbbd1871c..0000000000
--- a/branches/sca-java-M2/sca/services/containers/container.ruby/src/main/java/org/apache/tuscany/container/ruby/RubyComponentBuilder.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.container.ruby;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.container.ruby.rubyscript.RubyScript;
-import org.apache.tuscany.spi.builder.BuilderConfigException;
-import org.apache.tuscany.spi.component.Component;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
-import org.apache.tuscany.spi.model.ComponentDefinition;
-import org.apache.tuscany.spi.model.Property;
-import org.apache.tuscany.spi.model.PropertyValue;
-import org.apache.tuscany.spi.model.Scope;
-import org.apache.tuscany.spi.model.ServiceDefinition;
-
-/**
- * Extension point for creating {@link RubyComponent}s from an assembly configuration
- */
-public class RubyComponentBuilder extends ComponentBuilderExtension<RubyImplementation> {
-
- protected Class<RubyImplementation> getImplementationType() {
- return RubyImplementation.class;
- }
-
- @SuppressWarnings("unchecked")
- public Component build(CompositeComponent parent,
- ComponentDefinition<RubyImplementation> componentDefinition,
- DeploymentContext deploymentContext) throws BuilderConfigException {
-
- String name = componentDefinition.getName();
- RubyImplementation implementation = componentDefinition.getImplementation();
- RubyComponentType componentType = implementation.getComponentType();
-
- // get list of services provided by this component
- Collection<ServiceDefinition> collection = componentType.getServices().values();
- List<Class<?>> services = new ArrayList<Class<?>>(collection.size());
- for (ServiceDefinition serviceDefinition : collection) {
- services.add(serviceDefinition.getServiceContract().getInterfaceClass());
- }
-
- Map<String, Object> propertyValues = new Hashtable<String, Object>();
- Collection<PropertyValue<?>> propValueSettings = componentDefinition.getPropertyValues().values();
- for (PropertyValue propertyValue : propValueSettings) {
- propertyValues.put(propertyValue.getName(),
- propertyValue.getValueFactory().getInstance());
- }
-
- RubyScript rubyScript = implementation.getRubyScript();
-
- // TODO: have ComponentBuilderExtension pass ScopeContainer in on build method?
- ScopeContainer scopeContainer;
- Scope scope = componentType.getLifecycleScope();
- if (Scope.MODULE == scope) {
- scopeContainer = deploymentContext.getModuleScope();
- } else {
- scopeContainer = scopeRegistry.getScopeContainer(scope);
- }
-
- return new RubyComponent(name,
- rubyScript,
- implementation.getRubyClassName(),
- services,
- propertyValues,
- parent,
- scopeContainer,
- wireService,
- workContext);
- }
-}