--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+<classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.argeo.slc.client.oxm</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
--- /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
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.argeo.slc.eclipse</groupId>
+ <artifactId>plugins</artifactId>
+ <version>0.13.0-SNAPSHOT</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <artifactId>org.argeo.slc.client.oxm</artifactId>
+ <name>SLC Client OXM</name>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <!-- SLC -->
+ <dependency>
+ <groupId>org.argeo.slc.runtime</groupId>
+ <artifactId>org.argeo.slc.core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!-- Eclipse -->
+ <dependency>
+ <groupId>org.eclipse.ui</groupId>
+ <artifactId>org.eclipse.ui</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.core</groupId>
+ <artifactId>org.eclipse.core.runtime</artifactId>
+ </dependency>
+ <!-- Oxm -->
+ <dependency>
+ <groupId>org.springframework.ws</groupId>
+ <artifactId>org.springframework.oxm</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.ws</groupId>
+ <artifactId>org.springframework.xml</artifactId>
+ </dependency>
+
+ </dependencies>
+</project>
--- /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);
+
+}