--- /dev/null
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Version: 1.0.0.qualifier
+Bundle-Name: Test Bundle to solve use case issues
+Bundle-SymbolicName: org.argeo.slc.client.oxm
+Export-Package: org.argeo.slc.client.oxm
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.ui
+Import-Package: org.argeo.slc,
+ org.springframework.core,
+ org.springframework.oxm,
+ org.springframework.xml.transform
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans:beans xmlns="http://www.springframework.org/schema/osgi"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
+ xsi:schemaLocation="http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+
+ <beans:description>
+ This bundle is a dummy one to try to solve issues on
+ the OSGI dep management
+ </beans:description>
+
+ <!-- Services exposed by the bundle -->
+ <service ref="oxmBean" interface="org.argeo.slc.client.oxm.OxmInterface" />
+
+
+ <!-- References Needed -->
+ <reference id="marshaller" interface="org.springframework.oxm.Marshaller" />
+ <reference id="unmarshaller" interface="org.springframework.oxm.Unmarshaller" />
+
+</beans:beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:aop="http://www.springframework.org/schema/aop"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
+ ">
+ <!-- beans -->
+ <bean id="oxmBean" class="org.argeo.slc.client.oxm.OxmBean" scope="prototype"
+ init-method="init" lazy-init="false">
+ <property name="marshaller" ref="marshaller" />
+ <property name="unmarshaller" ref="unmarshaller" />
+ </bean>
+
+</beans>
\ No newline at end of file
--- /dev/null
+source.. = src/main/java/
+output.. = target/classes/
+bin.includes = META-INF/,\
+ .
--- /dev/null
+package org.argeo.slc.client.oxm;
+
+import org.argeo.slc.SlcException;
+import org.springframework.oxm.Marshaller;
+import org.springframework.oxm.Unmarshaller;
+import org.springframework.xml.transform.StringResult;
+import org.springframework.xml.transform.StringSource;
+
+public class OxmBean implements OxmInterface {
+
+ private Marshaller marshaller;
+ private Unmarshaller unmarshaller;
+
+ public void init() {
+ }
+
+ public Object unmarshal(String result) {
+ Object res;
+ if (result == null)
+ throw new SlcException("Cannot unmarshall empty string ");
+ try {
+ res = unmarshaller.unmarshal(new StringSource(result));
+ } catch (Exception e) {
+ throw new SlcException("Could not unmarshall " + result, e);
+ }
+ return res;
+ }
+
+ public String marshal(Object graph) {
+ StringResult result = new StringResult();
+ try {
+ marshaller.marshal(graph, result);
+ } catch (Exception e) {
+ throw new SlcException("Cannot Marshal object " + graph.toString()
+ + " - " + e);
+ }
+ return result.toString();
+ }
+
+ // IoC
+ public void setMarshaller(Marshaller marshaller) {
+ this.marshaller = marshaller;
+ }
+
+ public void setUnmarshaller(Unmarshaller unmarshaller) {
+ this.unmarshaller = unmarshaller;
+ }
+}
--- /dev/null
+package org.argeo.slc.client.oxm;
+
+public interface OxmInterface {
+
+ public String marshal(Object graph);
+
+ public Object unmarshal(String result);
+
+}