diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-20 06:20:53 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-01-20 06:20:53 +0000 |
commit | 60f5bce98ed1ce21b111c0d006d2dfd02106371b (patch) | |
tree | 1964272ea9422fd03f2e694ebbdca94b0132bd7d /sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca | |
parent | 734dac1eaf4ff319d8355d08335aeb019abf727e (diff) |
Update to the latest version of OSGi Remote Service Admin
Fix the issues to pass OSGi SCA configuration type TCK
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@901079 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca')
4 files changed, 23 insertions, 7 deletions
diff --git a/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/OSGiImplementationFactory.java b/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/OSGiImplementationFactory.java index be39e4d3e0..23952dfee4 100644 --- a/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/OSGiImplementationFactory.java +++ b/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/OSGiImplementationFactory.java @@ -20,6 +20,7 @@ package org.apache.tuscany.sca.implementation.osgi; import java.util.Collection; +import java.util.Map; import org.osgi.framework.ServiceReference; @@ -41,4 +42,6 @@ public interface OSGiImplementationFactory { OSGiProperty createOSGiProperty(String name, String stringValue, String type); OSGiProperty createOSGiProperty(String name, Object value); Collection<OSGiProperty> createOSGiProperties(ServiceReference reference); + Collection<OSGiProperty> createOSGiProperties(Map<String, Object> properties); + } diff --git a/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/impl/OSGiImplementationFactoryImpl.java b/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/impl/OSGiImplementationFactoryImpl.java index 2978e8e823..17ebf12903 100644 --- a/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/impl/OSGiImplementationFactoryImpl.java +++ b/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/impl/OSGiImplementationFactoryImpl.java @@ -22,6 +22,7 @@ package org.apache.tuscany.sca.implementation.osgi.impl; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.implementation.osgi.OSGiImplementation; @@ -112,5 +113,13 @@ public class OSGiImplementationFactoryImpl implements OSGiImplementationFactory } return props; } - + + public Collection<OSGiProperty> createOSGiProperties(Map<String, Object> properties) { + List<OSGiProperty> props = new ArrayList<OSGiProperty>(); + for (Map.Entry<String, Object> e : properties.entrySet()) { + OSGiProperty prop = createOSGiProperty(e.getKey(), e.getValue()); + props.add(prop); + } + return props; + } } diff --git a/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/impl/ServiceDescriptionImpl.java b/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/impl/ServiceDescriptionImpl.java index 1ffe16bf71..5bd1d17253 100644 --- a/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/impl/ServiceDescriptionImpl.java +++ b/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/impl/ServiceDescriptionImpl.java @@ -46,6 +46,6 @@ public class ServiceDescriptionImpl implements ServiceDescription { } public String toString() { - return "service-description: " + properties; + return "endpoint-description: " + properties; } } diff --git a/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiPropertyProcessor.java b/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiPropertyProcessor.java index 84734b88db..a0c9baf6f1 100644 --- a/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiPropertyProcessor.java +++ b/sca-java-2.x/trunk/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiPropertyProcessor.java @@ -94,11 +94,15 @@ public class OSGiPropertyProcessor implements StAXArtifactProcessor<OSGiProperty } public void write(OSGiProperty model, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException, XMLStreamException { - writer.writeStartElement(PROPERTY_QNAME.getNamespaceURI(), PROPERTY_QNAME.getLocalPart()); - writer.writeAttribute(NAME, model.getName()); - writer.writeAttribute(TYPE, model.getType()); - writer.writeCharacters(model.getStringValue()); - writer.writeEndElement(); + if (model.getStringValue() != null) { + writer.writeStartElement(PROPERTY_QNAME.getNamespaceURI(), PROPERTY_QNAME.getLocalPart()); + writer.writeAttribute(NAME, model.getName()); + if (model.getType() != null) { + writer.writeAttribute(TYPE, model.getType()); + } + writer.writeAttribute(VALUE, model.getStringValue()); + writer.writeEndElement(); + } } public Class<OSGiProperty> getModelType() { |