XMLMarshaller.java
package com.tradecloud.domain.utils;
import com.tradecloud.domain.MainMenu;
import com.tradecloud.domain.Menu;
import com.tradecloud.domain.common.TradecloudStaticData;
import com.tradecloud.domain.model.ordermanagement.Consignment;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.domain.shipment.Shipment;
import org.apache.log4j.Logger;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import javax.xml.transform.stream.StreamResult;
import java.io.StringWriter;
public class XMLMarshaller {
private static final Jaxb2Marshaller MARSHALLER;
private static Logger log = Logger.getLogger(XMLMarshaller.class);
static {
MARSHALLER = new Jaxb2Marshaller();
MARSHALLER.setClassesToBeBound(TradecloudStaticData.class, Menu.class, MainMenu.class, OrganisationalUnit.class, Shipment.class,
Consignment.class);
}
public static String marshal(Object object) {
StringWriter writer = new StringWriter();
MARSHALLER.marshal(object, new StreamResult(writer));
String xml = writer.toString();
log.debug(xml);
xml = xml.substring(xml.indexOf("?>") + 2, xml.length());
log.debug(xml);
return xml;
}
}