package net.sf.minuteProject.configuration.bean.model.webservice.impl.metro; import java.io.File; import java.util.List; import net.sf.minuteProject.configuration.bean.WebServiceModel; import net.sf.minuteProject.configuration.bean.model.webservice.EntityModel; import net.sf.minuteProject.configuration.bean.model.webservice.Service; import net.sf.minuteProject.configuration.bean.model.webservice.WsdlModel; import net.sf.minuteProject.utils.wsdl.MetroWsdlServiceUtils; import com.sun.tools.ws.processor.model.Model; import com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler; import com.sun.tools.ws.wscompile.ErrorReceiverFilter; import com.sun.tools.ws.wscompile.WsimportOptions; public class WsdlModelMetro extends WsdlObjectMetro implements WsdlModel { private WebServiceModel webServiceModel; private Model wsdlModel; private EntityModel entityModel; private List<Service> services; private net.sf.minuteProject.configuration.bean.Model model; public WsdlModelMetro(WebServiceModel webServiceModel) { this.webServiceModel = webServiceModel; ErrorReceiverFilter receiver = new ErrorReceiverFilter(); WsimportOptions options = new WsimportOptions(); String location = webServiceModel.getWsdlLocation(); File file = (location==null)?new File(""):new File(location); options.addWSDL(file); /*WSDLModeler wsdlModeler = new WSDLModeler(options, receiver); wsdlModel = wsdlModeler.buildModel(); model = webServiceModel.getModel(); name=webServiceModel.getModel().getName(); */ name="missing maven dependency for WSDLModeler"; } @Override public List<Service> getServices() { if (services==null) services = initServices(); return services; } private List<Service> initServices() { return MetroWsdlServiceUtils.getServices(wsdlModel); } public EntityModel getEntityModel () { if (entityModel==null) entityModel = initEntityModel(); return entityModel; } private EntityModel initEntityModel() { return new WsdlEntityModelMetro(wsdlModel.getJAXBModel()); } @Override public WebServiceModel getWebServiceModel() { return webServiceModel; } }