diff options
Diffstat (limited to '')
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() { |