Search in sources :

Example 1 with VmOutboundEndpoint

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");
    }
}
Also used : SmtpOutboundEndpoint(com.mulesoft.tools.migration.library.mule.steps.email.SmtpOutboundEndpoint) SmtpsOutboundEndpoint(com.mulesoft.tools.migration.library.mule.steps.email.SmtpsOutboundEndpoint) JmsOutboundEndpoint(com.mulesoft.tools.migration.library.mule.steps.jms.JmsOutboundEndpoint) FtpEeOutboundEndpoint(com.mulesoft.tools.migration.library.mule.steps.ftp.FtpEeOutboundEndpoint) HttpOutboundEndpoint(com.mulesoft.tools.migration.library.mule.steps.http.HttpOutboundEndpoint) ExpressionMigratorAware(com.mulesoft.tools.migration.step.ExpressionMigratorAware) SftpOutboundEndpoint(com.mulesoft.tools.migration.library.mule.steps.sftp.SftpOutboundEndpoint) AbstractApplicationModelMigrationStep(com.mulesoft.tools.migration.step.AbstractApplicationModelMigrationStep) HttpsOutboundEndpoint(com.mulesoft.tools.migration.library.mule.steps.http.HttpsOutboundEndpoint) FileOutboundEndpoint(com.mulesoft.tools.migration.library.mule.steps.file.FileOutboundEndpoint) VmOutboundEndpoint(com.mulesoft.tools.migration.library.mule.steps.vm.VmOutboundEndpoint)

Aggregations

SmtpOutboundEndpoint (com.mulesoft.tools.migration.library.mule.steps.email.SmtpOutboundEndpoint)1 SmtpsOutboundEndpoint (com.mulesoft.tools.migration.library.mule.steps.email.SmtpsOutboundEndpoint)1 FileOutboundEndpoint (com.mulesoft.tools.migration.library.mule.steps.file.FileOutboundEndpoint)1 FtpEeOutboundEndpoint (com.mulesoft.tools.migration.library.mule.steps.ftp.FtpEeOutboundEndpoint)1 HttpOutboundEndpoint (com.mulesoft.tools.migration.library.mule.steps.http.HttpOutboundEndpoint)1 HttpsOutboundEndpoint (com.mulesoft.tools.migration.library.mule.steps.http.HttpsOutboundEndpoint)1 JmsOutboundEndpoint (com.mulesoft.tools.migration.library.mule.steps.jms.JmsOutboundEndpoint)1 SftpOutboundEndpoint (com.mulesoft.tools.migration.library.mule.steps.sftp.SftpOutboundEndpoint)1 VmOutboundEndpoint (com.mulesoft.tools.migration.library.mule.steps.vm.VmOutboundEndpoint)1 AbstractApplicationModelMigrationStep (com.mulesoft.tools.migration.step.AbstractApplicationModelMigrationStep)1 ExpressionMigratorAware (com.mulesoft.tools.migration.step.ExpressionMigratorAware)1