summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsivaram <rsivaram@13f79535-47bb-0310-9956-ffa450edef68>2008-10-21 10:34:02 +0000
committerrsivaram <rsivaram@13f79535-47bb-0310-9956-ffa450edef68>2008-10-21 10:34:02 +0000
commit0e8b753a1be2469febb4508fbf58ede750a204c1 (patch)
tree4c9b30bbfc17f15b8636acd183b80eac8369e282
parentd02579ef284a315b4c0ba0339497707d4e4798d3 (diff)
Event prototype: initial model changes
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@706573 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentConsumerImpl.java61
-rw-r--r--sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentProducerImpl.java62
-rw-r--r--sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeConsumerImpl.java57
-rw-r--r--sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeProducerImpl.java57
-rw-r--r--sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConsumerImpl.java117
-rw-r--r--sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ProducerImpl.java107
6 files changed, 461 insertions, 0 deletions
diff --git a/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentConsumerImpl.java b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentConsumerImpl.java
new file mode 100644
index 0000000000..fc877bd21d
--- /dev/null
+++ b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentConsumerImpl.java
@@ -0,0 +1,61 @@
+/*
+ * 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.sca.assembly.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tuscany.sca.assembly.ComponentConsumer;
+import org.apache.tuscany.sca.assembly.CompositeConsumer;
+import org.apache.tuscany.sca.assembly.Consumer;
+
+/**
+ * Represents a component consumer
+ *
+ * @version $$
+ */
+public class ComponentConsumerImpl extends ConsumerImpl implements ComponentConsumer, Cloneable {
+ private Consumer consumer;
+ private List<CompositeConsumer> promotedAs = new ArrayList<CompositeConsumer>();
+
+ /**
+ * Constructs a new component consumer.
+ */
+ protected ComponentConsumerImpl() {
+ }
+
+ @Override
+ public Object clone() throws CloneNotSupportedException {
+ return super.clone();
+ }
+
+ public Consumer getConsumer() {
+ return consumer;
+ }
+
+ public void setConsumer(Consumer consumer) {
+ this.consumer = consumer;
+ }
+
+ public List<CompositeConsumer> promotedAs() {
+ return promotedAs;
+ }
+
+}
diff --git a/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentProducerImpl.java b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentProducerImpl.java
new file mode 100644
index 0000000000..62e3f0b92f
--- /dev/null
+++ b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentProducerImpl.java
@@ -0,0 +1,62 @@
+/*
+ * 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.sca.assembly.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tuscany.sca.assembly.ComponentProducer;
+import org.apache.tuscany.sca.assembly.CompositeProducer;
+import org.apache.tuscany.sca.assembly.Producer;
+
+/**
+ * Represents a component producer
+ *
+ * @version $$
+ */
+public class ComponentProducerImpl extends ProducerImpl implements ComponentProducer, Cloneable {
+ private Producer producer;
+ private List<CompositeProducer> promotedAs = new ArrayList<CompositeProducer>();
+
+ /**
+ * Constructs a new component producer.
+ */
+ protected ComponentProducerImpl() {
+ }
+
+ @Override
+ public Object clone() throws CloneNotSupportedException {
+ return super.clone();
+ }
+
+ public Producer getProducer() {
+ return producer;
+ }
+
+ public void setProducer(Producer producer) {
+ this.producer = producer;
+ }
+
+ public List<CompositeProducer> promotedAs() {
+ return promotedAs;
+ }
+
+
+}
diff --git a/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeConsumerImpl.java b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeConsumerImpl.java
new file mode 100644
index 0000000000..d2e9493b46
--- /dev/null
+++ b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeConsumerImpl.java
@@ -0,0 +1,57 @@
+/*
+ * 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.sca.assembly.impl;
+
+import org.apache.tuscany.sca.assembly.Component;
+import org.apache.tuscany.sca.assembly.ComponentConsumer;
+import org.apache.tuscany.sca.assembly.CompositeConsumer;
+
+/**
+ * Represents a composite consumer
+ *
+ * @version $$
+ */
+public class CompositeConsumerImpl extends ConsumerImpl implements CompositeConsumer {
+ private ComponentConsumer promotedConsumer;
+ private Component promotedComponent;
+
+ /**
+ * Constructs a new composite consumer.
+ */
+ protected CompositeConsumerImpl() {
+ }
+
+ public ComponentConsumer getPromotedConsumer() {
+ return promotedConsumer;
+ }
+
+ public void setPromotedConsumer(ComponentConsumer promotedConsumer) {
+ this.promotedConsumer = promotedConsumer;
+ }
+
+ public Component getPromotedComponent() {
+ return promotedComponent;
+ }
+
+ public void setPromotedComponent(Component promotedComponent) {
+ this.promotedComponent = promotedComponent;
+ }
+
+}
diff --git a/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeProducerImpl.java b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeProducerImpl.java
new file mode 100644
index 0000000000..e7575b88c3
--- /dev/null
+++ b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeProducerImpl.java
@@ -0,0 +1,57 @@
+/*
+ * 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.sca.assembly.impl;
+
+import org.apache.tuscany.sca.assembly.Component;
+import org.apache.tuscany.sca.assembly.ComponentProducer;
+import org.apache.tuscany.sca.assembly.CompositeProducer;
+
+/**
+ * Represents a composite producer
+ *
+ * @version $$
+ */
+public class CompositeProducerImpl extends ProducerImpl implements CompositeProducer {
+ private ComponentProducer promotedProducer;
+ private Component promotedComponent;
+
+ /**
+ * Constructs a new composite consumer.
+ */
+ protected CompositeProducerImpl() {
+ }
+
+ public ComponentProducer getPromotedProducer() {
+ return promotedProducer;
+ }
+
+ public void setPromotedProducer(ComponentProducer promotedProducer) {
+ this.promotedProducer = promotedProducer;
+ }
+
+ public Component getPromotedComponent() {
+ return promotedComponent;
+ }
+
+ public void setPromotedComponent(Component promotedComponent) {
+ this.promotedComponent = promotedComponent;
+ }
+
+}
diff --git a/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConsumerImpl.java b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConsumerImpl.java
new file mode 100644
index 0000000000..1c17d905f1
--- /dev/null
+++ b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConsumerImpl.java
@@ -0,0 +1,117 @@
+/*
+ * 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.sca.assembly.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.Callback;
+import org.apache.tuscany.sca.assembly.Consumer;
+import org.apache.tuscany.sca.assembly.EventSource;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.policy.PolicySet;
+
+/**
+ * Represents a consumer.
+ *
+ * @version $$
+ */
+public class ConsumerImpl extends ContractImpl implements Consumer {
+
+ private String name;
+ private String operationName;
+ private ArrayList<Binding> bindings = new ArrayList<Binding>();
+ private ArrayList<EventSource> sourceList = new ArrayList<EventSource>();
+
+ private ArrayList<PolicySet> applicablePolicySets = new ArrayList<PolicySet>();
+ private ArrayList<PolicySet> policySets = new ArrayList<PolicySet>();
+
+
+
+ public List<EventSource> getSources() {
+ return sourceList;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getOperationName() {
+ return operationName;
+ }
+
+ public void setOperationName(String operationName) {
+ this.operationName = operationName;
+ }
+
+ public <B> B getBinding(Class<B> bindingClass) {
+ for (Binding binding : bindings) {
+ if (bindingClass.isInstance(binding)) {
+ return bindingClass.cast(binding);
+ }
+ }
+ return null;
+ }
+
+ public List<PolicySet> getApplicablePolicySets() {
+ return applicablePolicySets;
+ }
+
+ public List<PolicySet> getPolicySets() {
+ return policySets;
+ }
+
+
+ public List<Binding> getBindings() {
+ return bindings;
+ }
+
+ public Callback getCallback() {
+ return null;
+ }
+
+ public <B> B getCallbackBinding(Class<B> bindingClass) {
+ return null;
+ }
+
+ public InterfaceContract getInterfaceContract(Binding binding) {
+ return getInterfaceContract();
+ }
+
+ public void setCallback(Callback callback) {
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object clone() throws CloneNotSupportedException {
+ ConsumerImpl clone = (ConsumerImpl)super.clone();
+ clone.applicablePolicySets = (ArrayList<PolicySet>)applicablePolicySets.clone();
+ clone.policySets = (ArrayList<PolicySet>)policySets.clone();
+ clone.bindings = (ArrayList<Binding>)bindings.clone();
+ clone.sourceList = (ArrayList<EventSource>)sourceList.clone();
+
+ return clone;
+
+ }
+}
diff --git a/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ProducerImpl.java b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ProducerImpl.java
new file mode 100644
index 0000000000..579284d9d0
--- /dev/null
+++ b/sandbox/event/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ProducerImpl.java
@@ -0,0 +1,107 @@
+/*
+ * 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.sca.assembly.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.Callback;
+import org.apache.tuscany.sca.assembly.EventTarget;
+import org.apache.tuscany.sca.assembly.Producer;
+import org.apache.tuscany.sca.interfacedef.InterfaceContract;
+import org.apache.tuscany.sca.policy.PolicySet;
+
+/**
+ * Represents a producer.
+ *
+ * @version $$
+ */
+public class ProducerImpl extends ContractImpl implements Producer {
+
+ private String name;
+ private ArrayList<Binding> bindings = new ArrayList<Binding>();
+ private ArrayList<EventTarget> targets = new ArrayList<EventTarget>();
+
+ private ArrayList<PolicySet> applicablePolicySets = new ArrayList<PolicySet>();
+ private ArrayList<PolicySet> policySets = new ArrayList<PolicySet>();
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+ public List<EventTarget> getTargets() {
+ return targets;
+ }
+
+
+ public List<PolicySet> getApplicablePolicySets() {
+ return applicablePolicySets;
+ }
+
+ public List<PolicySet> getPolicySets() {
+ return policySets;
+ }
+
+ public <B> B getBinding(Class<B> bindingClass) {
+ for (Binding binding : bindings) {
+ if (bindingClass.isInstance(binding)) {
+ return bindingClass.cast(binding);
+ }
+ }
+ return null;
+ }
+
+ public List<Binding> getBindings() {
+ return bindings;
+ }
+
+ public Callback getCallback() {
+ return null;
+ }
+
+ public <B> B getCallbackBinding(Class<B> bindingClass) {
+ return null;
+ }
+
+ public InterfaceContract getInterfaceContract(Binding binding) {
+ return getInterfaceContract();
+ }
+
+ public void setCallback(Callback callback) {
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object clone() throws CloneNotSupportedException {
+ ProducerImpl clone = (ProducerImpl)super.clone();
+ clone.applicablePolicySets = (ArrayList<PolicySet>)applicablePolicySets.clone();
+ clone.policySets = (ArrayList<PolicySet>)policySets.clone();
+ clone.bindings = (ArrayList<Binding>)bindings.clone();
+ clone.targets = (ArrayList<EventTarget>)targets.clone();
+
+ return clone;
+
+ }
+}