use of com.mulesoft.tools.migration.library.mule.steps.vm.VmOutboundEndpoint in project mule-migration-assistant by mulesoft.
the class OutboundEndpoint method execute.
@Override
public void execute(Element object, MigrationReport report) throws RuntimeException {
object.getChildren("property", CORE_NAMESPACE).forEach(p -> {
object.setAttribute(p.getAttributeValue("key"), p.getAttributeValue("value"));
});
object.removeChildren("property", CORE_NAMESPACE);
if (object.getAttribute("address") != null) {
String address = object.getAttributeValue("address");
AbstractApplicationModelMigrationStep migrator = null;
// TODO MMT-132 make available migrators discoverable
if (address.startsWith("file://")) {
migrator = new FileOutboundEndpoint();
object.setNamespace(Namespace.getNamespace(FILE_NS_PREFIX, FILE_NS_URI));
} else if (address.startsWith("ftp://")) {
migrator = new FtpEeOutboundEndpoint();
object.setNamespace(Namespace.getNamespace(FTP_NS_PREFIX, FTP_NS_URI));
} else if (address.startsWith("sftp://")) {
migrator = new SftpOutboundEndpoint();
object.setNamespace(Namespace.getNamespace(SFTP_NS_PREFIX, SFTP_NS_URI));
} else if (address.startsWith("http://")) {
migrator = new HttpOutboundEndpoint();
object.setNamespace(Namespace.getNamespace(HTTP_NS_PREFIX, HTTP_NS_URI));
} else if (address.startsWith("https://")) {
migrator = new HttpsOutboundEndpoint();
object.setNamespace(Namespace.getNamespace("https", "http://www.mulesoft.org/schema/mule/https"));
} else if (address.startsWith("smtp://")) {
migrator = new SmtpOutboundEndpoint();
object.setNamespace(Namespace.getNamespace("smtp", "http://www.mulesoft.org/schema/mule/smtp"));
} else if (address.startsWith("smtps://")) {
migrator = new SmtpsOutboundEndpoint();
object.setNamespace(Namespace.getNamespace("smtps", "http://www.mulesoft.org/schema/mule/smtps"));
} else if (address.startsWith("jms://")) {
migrator = new JmsOutboundEndpoint();
object.setNamespace(Namespace.getNamespace(JMS_NS_PREFIX, JMS_NS_URI));
} else if (address.startsWith("vm://")) {
migrator = new VmOutboundEndpoint();
object.setNamespace(Namespace.getNamespace(VM_NS_PREFIX, VM_NS_URI));
}
if (migrator != null) {
migrator.setApplicationModel(getApplicationModel());
if (migrator instanceof ExpressionMigratorAware) {
((ExpressionMigratorAware) migrator).setExpressionMigrator(getExpressionMigrator());
}
migrator.execute(object, report);
}
object.removeAttribute("address");
}
if (object.getAttribute("exchange-pattern") != null) {
object.removeAttribute("exchange-pattern");
}
}
Aggregations