package org.korsakow.domain.command;
import java.io.File;
import org.dsrg.soenea.domain.command.CommandException;
import org.korsakow.domain.interchange.mapper.OutputMapperFactory;
import org.korsakow.domain.interchange.mapper.output.InterchangeInterfaceOutputMapper;
import org.korsakow.domain.interf.IInterface;
import org.korsakow.domain.mapper.input.InterfaceInputMapper;
import org.korsakow.ide.DataRegistry;
import org.korsakow.ide.util.DomUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class ExportInterchangeInterfaceCommand extends AbstractCommand{
public ExportInterchangeInterfaceCommand(Helper request, Helper response) {
super(request, response);
}
public void execute()
throws CommandException {
try {
long interfaceId = request.getLong("interface_id");
String filename = request.getString("filename");
IInterface interf = InterfaceInputMapper.map(interfaceId);
Document document = DataRegistry.createDefaultEmptyDocument();
InterchangeInterfaceOutputMapper interfaceOutputMapper = OutputMapperFactory.createInterfaceOutputMapper(document);
Element interfaceElement = interfaceOutputMapper.output(interf);
document.getDocumentElement().appendChild(interfaceElement);
DomUtil.writeDomXML(document, new File(filename));
} catch (Exception e) {
throw new CommandException(e);
}
}
}