summaryrefslogtreecommitdiffstats
path: root/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImplementationImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImplementationImpl.java')
-rw-r--r--sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImplementationImpl.java134
1 files changed, 134 insertions, 0 deletions
diff --git a/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImplementationImpl.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImplementationImpl.java
new file mode 100644
index 0000000000..7520846d55
--- /dev/null
+++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/impl/GuardianGroupImplementationImpl.java
@@ -0,0 +1,134 @@
+/*
+ * 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.implementation.guardian.impl;
+
+import org.apache.tuscany.sca.implementation.guardian.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import org.apache.axiom.om.OMElement;
+import org.apache.tuscany.sca.assembly.AssemblyFactory;
+import org.apache.tuscany.sca.assembly.ConstrainingType;
+import org.apache.tuscany.sca.assembly.Property;
+import org.apache.tuscany.sca.assembly.Reference;
+import org.apache.tuscany.sca.assembly.Service;
+import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
+
+public class GuardianGroupImplementationImpl implements GuardianGroupImplementation {
+
+ private AssemblyFactory assemblyFactory;
+ private JavaInterfaceFactory javaFactory;
+ private List<Service> services = new ArrayList<Service>();
+ private OMElement guardianProperties;
+
+ public GuardianGroupImplementationImpl(AssemblyFactory assemblyFactory,
+ JavaInterfaceFactory javaFactory) {
+
+ this.assemblyFactory = assemblyFactory;
+ this.javaFactory = javaFactory;
+ this.guardianProperties = null;
+ }
+
+ private void introspectServices(AssemblyFactory assemblyFactory, JavaInterfaceFactory javaFactory) {
+
+ Service guardianService = assemblyFactory.createService();
+
+ guardianService.setName("GuardianGroup");
+
+ JavaInterface guardianInterface;
+
+ try {
+ guardianInterface = javaFactory.createJavaInterface(GuardianGroup.class);
+ } catch (InvalidInterfaceException ex) {
+ throw new IllegalArgumentException(ex);
+ }
+
+ JavaInterfaceContract guardianInterfaceContract = javaFactory.createJavaInterfaceContract();
+
+ guardianInterfaceContract.setInterface(guardianInterface);
+
+ guardianService.setInterfaceContract(guardianInterfaceContract);
+
+ services.add(guardianService);
+ }
+
+ public void setGuardianProperties(OMElement guardianProperties) {
+ this.guardianProperties = guardianProperties;
+ }
+
+ public OMElement getGuardianProperties() {
+ return this.guardianProperties;
+ }
+
+ @Override
+ public String getURI() {
+ // The Guardian Model implementation does not have a URI
+ return null;
+ }
+
+ @Override
+ public void setURI(String arg0) {
+ // The Guardian Model implementation does not have a URI
+ }
+
+ @Override
+ public List<Service> getServices() {
+ if (services == null || services.size() == 0) {
+ introspectServices(assemblyFactory, javaFactory);
+ }
+ return services;
+ }
+
+ @Override
+ public List<Reference> getReferences() {
+ // The Guardian Model implementation does not support references
+ return Collections.emptyList();
+ }
+
+ @Override
+ public List<Property> getProperties() {
+ // The sample DATA implementation does not support properties
+ return Collections.emptyList();
+ }
+
+ @Override
+ public ConstrainingType getConstrainingType() {
+ // The Guardian Model implementation does not support constrainingTypes
+ return null;
+ }
+
+ @Override
+ public void setConstrainingType(ConstrainingType arg0) {
+ // The Guardian Model implementation does not support constrainingTypes
+ }
+
+ @Override
+ public boolean isUnresolved() {
+ // The Guardian Model implementation is always resolved
+ return false;
+ }
+
+ @Override
+ public void setUnresolved(boolean arg0) {
+ // The Guardian Model implementation is always resolved
+ }
+}