Search in sources :

Example 11 with SiteClipperConnector

use of com.twinsoft.convertigo.beans.connectors.SiteClipperConnector in project convertigo by convertigo.

the class Connector method setupConnector.

public static void setupConnector(DatabaseObject connector) throws EngineException {
    if (connector instanceof JavelinConnector) {
        JavelinConnector javelinConnector = (JavelinConnector) connector;
        JavelinScreenClass defaultScreenClass = new JavelinScreenClass();
        defaultScreenClass.setName("Default_screen_class");
        defaultScreenClass.hasChanged = true;
        defaultScreenClass.bNew = true;
        javelinConnector.setDefaultScreenClass(defaultScreenClass);
        DefaultBlockFactory blockFactory = new DefaultBlockFactory();
        blockFactory.setName("Block_factory");
        blockFactory.hasChanged = true;
        blockFactory.bNew = true;
        defaultScreenClass.setBlockFactory(blockFactory);
        EmulatorTechnology emulatorTechnology = new EmulatorTechnology();
        emulatorTechnology.hasChanged = true;
        emulatorTechnology.bNew = true;
        emulatorTechnology.setName("Emulator_technology");
        defaultScreenClass.add(emulatorTechnology);
        JavelinTransaction transaction = new JavelinTransaction();
        transaction.hasChanged = true;
        transaction.bNew = true;
        transaction.setName("XMLize");
        javelinConnector.add(transaction);
        javelinConnector.setDefaultTransaction(transaction);
    } else if (connector instanceof HtmlConnector) {
        HtmlConnector htmlConnector = (HtmlConnector) connector;
        htmlConnector.setServer("www.convertigo.com");
        HtmlScreenClass defaultScreenClass = new HtmlScreenClass();
        defaultScreenClass.setName("Default_screen_class");
        defaultScreenClass.hasChanged = true;
        defaultScreenClass.bNew = true;
        htmlConnector.setDefaultScreenClass(defaultScreenClass);
        HtmlTransaction transaction = new HtmlTransaction();
        transaction.hasChanged = true;
        transaction.bNew = true;
        transaction.setName("XMLize");
        htmlConnector.add(transaction);
        htmlConnector.setDefaultTransaction(transaction);
    } else if (connector instanceof HttpConnector) {
        HttpConnector httpConnector = (HttpConnector) connector;
        HttpTransaction transaction = new HttpTransaction();
        transaction.hasChanged = true;
        transaction.bNew = true;
        transaction.setName("Default_transaction");
        httpConnector.add(transaction);
        httpConnector.setDefaultTransaction(transaction);
    } else if (connector instanceof SapJcoConnector) {
        SapJcoConnector sapConnector = (SapJcoConnector) connector;
        SapJcoLogonTransaction sapLogon = new SapJcoLogonTransaction();
        sapLogon.hasChanged = true;
        sapLogon.bNew = true;
        sapLogon.setName("Logon");
        sapLogon.addCredentialsVariables();
        sapConnector.add(sapLogon);
        sapConnector.setDefaultTransaction(sapLogon);
        SapJcoTransaction transaction = new SapJcoTransaction();
        transaction.hasChanged = true;
        transaction.bNew = true;
        transaction.setName("RFC_FUNCTION_SEARCH");
        transaction.setBapiName("RFC_FUNCTION_SEARCH");
        RequestableVariable variable = new RequestableVariable();
        variable.hasChanged = true;
        variable.bNew = true;
        variable.setName("FUNCNAME");
        variable.setValueOrNull("BAPI_*");
        transaction.add(variable);
        sapConnector.add(transaction);
    } else if (connector instanceof SqlConnector) {
        SqlConnector sqlConnector = (SqlConnector) connector;
        sqlConnector.setJdbcDriverClassName("org.hsqldb.jdbcDriver");
        SqlTransaction transaction = new SqlTransaction();
        transaction.hasChanged = true;
        transaction.bNew = true;
        transaction.setName("Default_transaction");
        sqlConnector.add(transaction);
        sqlConnector.setDefaultTransaction(transaction);
    } else if (connector instanceof CicsConnector) {
        CicsConnector cicsConnector = (CicsConnector) connector;
        CicsTransaction transaction = new CicsTransaction();
        transaction.hasChanged = true;
        transaction.bNew = true;
        transaction.setName("Default_transaction");
        cicsConnector.add(transaction);
        cicsConnector.setDefaultTransaction(transaction);
    } else if (connector instanceof SiteClipperConnector) {
        SiteClipperConnector siteClipperConnector = (SiteClipperConnector) connector;
        SiteClipperScreenClass defaultScreenClass = new SiteClipperScreenClass();
        defaultScreenClass.setName("Default_screen_class");
        defaultScreenClass.hasChanged = true;
        defaultScreenClass.bNew = true;
        siteClipperConnector.setDefaultScreenClass(defaultScreenClass);
        SiteClipperTransaction transaction = new SiteClipperTransaction();
        transaction.hasChanged = true;
        transaction.bNew = true;
        transaction.setName("Default_transaction");
        siteClipperConnector.add(transaction);
        siteClipperConnector.setDefaultTransaction(transaction);
    } else if (connector instanceof CouchDbConnector) {
        CouchDbConnector couchDbConnector = (CouchDbConnector) connector;
        String couchDbXsdPath = AbstractCouchDbTransaction.COUCHDB_XSD_LOCATION;
        boolean existReference = false;
        for (Reference reference : couchDbConnector.getProject().getReferenceList()) {
            if (reference instanceof XsdSchemaReference) {
                String urlPath = ((XsdSchemaReference) reference).getUrlpath();
                if (urlPath.equals(couchDbXsdPath)) {
                    existReference = true;
                    break;
                }
            }
        }
        if (!existReference) {
            ImportXsdSchemaReference reference = new ImportXsdSchemaReference();
            reference.setName("CouchDb_schema");
            reference.setUrlpath(couchDbXsdPath);
            couchDbConnector.getProject().add(reference);
        }
        GetServerInfoTransaction transaction = new GetServerInfoTransaction();
        couchDbConnector.add(transaction);
        couchDbConnector.setDefaultTransaction(transaction);
    }
}
Also used : EmulatorTechnology(com.twinsoft.convertigo.beans.common.EmulatorTechnology) HttpTransaction(com.twinsoft.convertigo.beans.transactions.HttpTransaction) HttpConnector(com.twinsoft.convertigo.beans.connectors.HttpConnector) SapJcoLogonTransaction(com.twinsoft.convertigo.beans.transactions.SapJcoLogonTransaction) SiteClipperScreenClass(com.twinsoft.convertigo.beans.screenclasses.SiteClipperScreenClass) SqlConnector(com.twinsoft.convertigo.beans.connectors.SqlConnector) CouchDbConnector(com.twinsoft.convertigo.beans.connectors.CouchDbConnector) JavelinTransaction(com.twinsoft.convertigo.beans.transactions.JavelinTransaction) SiteClipperConnector(com.twinsoft.convertigo.beans.connectors.SiteClipperConnector) ImportXsdSchemaReference(com.twinsoft.convertigo.beans.references.ImportXsdSchemaReference) HtmlScreenClass(com.twinsoft.convertigo.beans.screenclasses.HtmlScreenClass) JavelinScreenClass(com.twinsoft.convertigo.beans.screenclasses.JavelinScreenClass) HtmlConnector(com.twinsoft.convertigo.beans.connectors.HtmlConnector) SapJcoTransaction(com.twinsoft.convertigo.beans.transactions.SapJcoTransaction) XsdSchemaReference(com.twinsoft.convertigo.beans.references.XsdSchemaReference) ImportXsdSchemaReference(com.twinsoft.convertigo.beans.references.ImportXsdSchemaReference) HtmlTransaction(com.twinsoft.convertigo.beans.transactions.HtmlTransaction) SiteClipperTransaction(com.twinsoft.convertigo.beans.transactions.SiteClipperTransaction) XsdSchemaReference(com.twinsoft.convertigo.beans.references.XsdSchemaReference) ImportXsdSchemaReference(com.twinsoft.convertigo.beans.references.ImportXsdSchemaReference) RequestableVariable(com.twinsoft.convertigo.beans.variables.RequestableVariable) SqlTransaction(com.twinsoft.convertigo.beans.transactions.SqlTransaction) DefaultBlockFactory(com.twinsoft.convertigo.beans.common.DefaultBlockFactory) CicsTransaction(com.twinsoft.convertigo.beans.transactions.CicsTransaction) JavelinConnector(com.twinsoft.convertigo.beans.connectors.JavelinConnector) GetServerInfoTransaction(com.twinsoft.convertigo.beans.transactions.couchdb.GetServerInfoTransaction) CicsConnector(com.twinsoft.convertigo.beans.connectors.CicsConnector) SapJcoConnector(com.twinsoft.convertigo.beans.connectors.SapJcoConnector)

Example 12 with SiteClipperConnector

use of com.twinsoft.convertigo.beans.connectors.SiteClipperConnector in project convertigo by convertigo.

the class NewProjectWizard method createFromBlankProject.

private Project createFromBlankProject(IProgressMonitor monitor) throws Exception {
    String newProjectName = projectName;
    String oldProjectName = projectUrlParser.getProjectName();
    monitor.setTaskName("Creating new project");
    monitor.worked(1);
    if (Engine.theApp.databaseObjectsManager.existsProject(newProjectName)) {
        throw new EngineException("Unable to create new project ! A project with the same name (\"" + newProjectName + "\") already exists.");
    }
    monitor.setTaskName("Loading the projet");
    monitor.worked(1);
    projectUrlParser.setProjectName(projectName);
    Project newProject = Engine.theApp.referencedProjectManager.importProject(projectUrlParser, true);
    monitor.worked(1);
    try {
        // set values of elements to configure on the new project
        String newEmulatorTechnology = "";
        String emulatorTechnologyName = "";
        String newIbmTerminalType = "";
        switch(wizardId) {
            case "com.twinsoft.convertigo.eclipse.wizards.New3270ConnectorWizard":
            case "com.twinsoft.convertigo.eclipse.wizards.New3270WebWizard":
                newEmulatorTechnology = Session.SNA;
                newIbmTerminalType = "IBM-3279";
                emulatorTechnologyName = "IBM3270";
                break;
            case "com.twinsoft.convertigo.eclipse.wizards.New5250ConnectorWizard":
            case "com.twinsoft.convertigo.eclipse.wizards.New5250WebWizard":
                newEmulatorTechnology = Session.AS400;
                newIbmTerminalType = "IBM-3179";
                emulatorTechnologyName = "IBM5250";
                break;
            case "com.twinsoft.convertigo.eclipse.wizards.NewDKUConnectorWizard":
            case "com.twinsoft.convertigo.eclipse.wizards.NewDKUWebWizard":
                newEmulatorTechnology = Session.DKU;
                emulatorTechnologyName = "BullDKU7107";
                break;
            case "com.twinsoft.convertigo.eclipse.wizards.NewVT220ConnectorWizard":
                newEmulatorTechnology = Session.VT;
                emulatorTechnologyName = "UnixVT220";
                break;
        }
        monitor.setTaskName("Reset project version");
        monitor.worked(1);
        newProject.setVersion("");
        monitor.setTaskName("Change connector name");
        monitor.worked(1);
        String oldConnectorName = "void";
        String newConnectorName = "void";
        boolean connectorChanged = false;
        if (page2 != null) {
            newConnectorName = page2.getConnectorName();
            monitor.setTaskName("Connector renamed");
            monitor.worked(1);
            oldConnectorName = newProject.getDefaultConnector().getName();
            newProject.getDefaultConnector().setName(newConnectorName);
            connectorChanged = true;
        }
        if (page5 != null) {
            CicsConnector cicsConnector = (CicsConnector) newProject.getDefaultConnector();
            monitor.setTaskName("Update connector mainframe name");
            monitor.worked(1);
            cicsConnector.setMainframeName(page5.getCtgName());
            monitor.setTaskName("Update connector server");
            monitor.worked(1);
            cicsConnector.setServer(page5.getCtgServer());
            monitor.setTaskName("Update connector port");
            monitor.worked(1);
            try {
                cicsConnector.setPort(Integer.parseInt(page5.getCtgPort()));
            } catch (Exception e) {
            }
        }
        if (page6 != null) {
            monitor.setTaskName("Update connector server");
            monitor.worked(1);
            // change connector server and port,
            // change https mode
            // and change proxy server and proxy port
            HttpConnector httpConnector = (HttpConnector) newProject.getDefaultConnector();
            httpConnector.setServer(page6.getHttpServer());
            monitor.setTaskName("Update connector port");
            monitor.worked(1);
            try {
                httpConnector.setPort(Integer.parseInt(page6.getHttpPort()));
            } catch (Exception e) {
            }
            monitor.setTaskName("Update connector https mode");
            monitor.worked(1);
            httpConnector.setHttps(page6.isBSSL());
        }
        if (page7 != null) {
            // change emulator technology
            // and change service code
            monitor.setTaskName("Set connector service code");
            monitor.worked(1);
            JavelinConnector javelinConnector = (JavelinConnector) newProject.getDefaultConnector();
            javelinConnector.setServiceCode(page7.getServiceCode());
            monitor.setTaskName("Set connector emulator technology");
            monitor.worked(1);
            javelinConnector.setEmulatorTechnology(newEmulatorTechnology);
            monitor.setTaskName("Set terminal type");
            monitor.worked(1);
            javelinConnector.setIbmTerminalType(newIbmTerminalType);
            // rename emulatorTechnology criteria
            monitor.setTaskName("Rename emulator technology criteria");
            monitor.worked(1);
            javelinConnector.getDefaultScreenClass().getLocalCriterias().get(0).setName(emulatorTechnologyName);
        }
        if (page11 != null) {
            SiteClipperConnector scConnector = (SiteClipperConnector) newProject.getDefaultConnector();
            monitor.setTaskName("Update connector certificates policy");
            monitor.worked(1);
            scConnector.setTrustAllServerCertificates(page11.isTrustAllServerCertificates());
            monitor.setTaskName("Update host url");
            monitor.worked(1);
            scConnector.getDefaultTransaction().setTargetURL(page11.getTargetURL());
        }
        if (configureSQLConnectorPage != null) {
            SqlConnector sqlConnector = (SqlConnector) newProject.getDefaultConnector();
            monitor.setTaskName("Update JDBC URL");
            monitor.worked(1);
            sqlConnector.setJdbcURL(configureSQLConnectorPage.getJdbcURL());
            monitor.setTaskName("Update JDBC driver");
            monitor.worked(1);
            sqlConnector.setJdbcDriverClassName(configureSQLConnectorPage.getJdbcDriver());
            monitor.setTaskName("Update Username");
            monitor.worked(1);
            sqlConnector.setJdbcUserName(configureSQLConnectorPage.getUsername());
            monitor.setTaskName("Update Password");
            monitor.worked(1);
            sqlConnector.setJdbcUserPassword(configureSQLConnectorPage.getPassword());
        }
        if (configureSAPConnectorPage != null) {
            SapJcoConnector sapConnector = (SapJcoConnector) newProject.getDefaultConnector();
            // Application Server Host
            monitor.setTaskName("Update application Server Host");
            monitor.worked(1);
            sapConnector.setAsHost(configureSAPConnectorPage.getAsHost());
            // System Number
            monitor.setTaskName("Update system number");
            monitor.worked(1);
            sapConnector.setSystemNumber(configureSAPConnectorPage.getSystemNumber());
            // Client
            monitor.setTaskName("Update client");
            monitor.worked(1);
            sapConnector.setClient(configureSAPConnectorPage.getClient());
            // User
            monitor.setTaskName("Update user");
            monitor.worked(1);
            sapConnector.setUser(configureSAPConnectorPage.getUser());
            // Password
            monitor.setTaskName("Update password");
            monitor.worked(1);
            sapConnector.setPassword(configureSAPConnectorPage.getPassword());
            // Language
            monitor.setTaskName("Update language");
            monitor.worked(1);
            sapConnector.setLanguage(configureSAPConnectorPage.getLanguage());
        }
        monitor.setTaskName("Saving updated project");
        monitor.worked(1);
        Engine.theApp.databaseObjectsManager.exportProject(newProject);
        monitor.setTaskName("New project saved");
        monitor.worked(1);
        try {
            File eProject = new File(newProject.getDirPath(), ".project");
            if (eProject.exists()) {
                String txt = FileUtils.readFileToString(eProject, StandardCharsets.UTF_8);
                txt = txt.replaceFirst("(<name>)(.*?)(</name>)", "$1" + newProjectName + "$3");
                FileUtils.writeStringToFile(eProject, txt, StandardCharsets.UTF_8);
            }
            String xsdInternalPath = newProject.getDirPath() + "/" + Project.XSD_FOLDER_NAME + "/" + Project.XSD_INTERNAL_FOLDER_NAME;
            File xsdInternalDir = new File(xsdInternalPath).getCanonicalFile();
            if (xsdInternalDir.exists() && connectorChanged) {
                boolean needConnectorRename = !oldConnectorName.equals(newConnectorName);
                if (needConnectorRename) {
                    File srcDir = new File(xsdInternalDir, oldConnectorName);
                    File destDir = new File(xsdInternalDir, newConnectorName);
                    if (oldConnectorName.equalsIgnoreCase(newConnectorName)) {
                        File destDirTmp = new File(xsdInternalDir, "tmp" + oldConnectorName).getCanonicalFile();
                        FileUtils.moveDirectory(srcDir, destDirTmp);
                        srcDir = destDirTmp;
                    }
                    FileUtils.moveDirectory(srcDir, destDir);
                }
                for (File connectorDir : xsdInternalDir.listFiles()) {
                    if (connectorDir.isDirectory()) {
                        String connectorName = connectorDir.getName();
                        for (File transactionXsdFile : connectorDir.listFiles()) {
                            String xsdFilePath = transactionXsdFile.getCanonicalPath();
                            ProjectUtils.xsdRenameProject(xsdFilePath, oldProjectName, newProjectName);
                            if (needConnectorRename && connectorName.equals(newConnectorName)) {
                                ProjectUtils.xsdRenameConnector(xsdFilePath, oldConnectorName, newConnectorName);
                            }
                        }
                    }
                }
            }
            monitor.setTaskName("Schemas updated");
            monitor.worked(1);
            updateProjectTreeView();
        } catch (Exception e) {
            Engine.logDatabaseObjectManager.error("An error occured while updating transaction schemas", e);
        }
    } catch (Exception e) {
        // Delete everything
        try {
            Engine.logBeans.error("An error occured while creating project, everything will be deleted. Please see Studio logs for more informations.", null);
            // TODO : see if we can delete oldProjectName : a real project
            // could exist with this oldProjectName ?
            // Engine.theApp.databaseObjectsManager.deleteProject(oldProjectName,
            // false, false);
            Engine.theApp.databaseObjectsManager.deleteProject(newProjectName, false, false);
            projectName = null;
        } catch (Exception ex) {
        }
        throw new Exception("Unable to create project from template", e);
    }
    return newProject;
}
Also used : Project(com.twinsoft.convertigo.beans.core.Project) JavelinConnector(com.twinsoft.convertigo.beans.connectors.JavelinConnector) HttpConnector(com.twinsoft.convertigo.beans.connectors.HttpConnector) SiteClipperConnector(com.twinsoft.convertigo.beans.connectors.SiteClipperConnector) CicsConnector(com.twinsoft.convertigo.beans.connectors.CicsConnector) SapJcoConnector(com.twinsoft.convertigo.beans.connectors.SapJcoConnector) EngineException(com.twinsoft.convertigo.engine.EngineException) SqlConnector(com.twinsoft.convertigo.beans.connectors.SqlConnector) File(java.io.File) CoreException(org.eclipse.core.runtime.CoreException) InvocationTargetException(java.lang.reflect.InvocationTargetException) JSONException(org.codehaus.jettison.json.JSONException) EngineException(com.twinsoft.convertigo.engine.EngineException)

Aggregations

SiteClipperConnector (com.twinsoft.convertigo.beans.connectors.SiteClipperConnector)12 HttpConnector (com.twinsoft.convertigo.beans.connectors.HttpConnector)8 JavelinConnector (com.twinsoft.convertigo.beans.connectors.JavelinConnector)8 CicsConnector (com.twinsoft.convertigo.beans.connectors.CicsConnector)7 SqlConnector (com.twinsoft.convertigo.beans.connectors.SqlConnector)7 Connector (com.twinsoft.convertigo.beans.core.Connector)7 EngineException (com.twinsoft.convertigo.engine.EngineException)7 HtmlConnector (com.twinsoft.convertigo.beans.connectors.HtmlConnector)6 ScreenClass (com.twinsoft.convertigo.beans.core.ScreenClass)5 Statement (com.twinsoft.convertigo.beans.core.Statement)5 Transaction (com.twinsoft.convertigo.beans.core.Transaction)5 HtmlTransaction (com.twinsoft.convertigo.beans.transactions.HtmlTransaction)5 DatabaseObject (com.twinsoft.convertigo.beans.core.DatabaseObject)4 Project (com.twinsoft.convertigo.beans.core.Project)4 Sequence (com.twinsoft.convertigo.beans.core.Sequence)4 Step (com.twinsoft.convertigo.beans.core.Step)4 ArrayList (java.util.ArrayList)4 SapJcoConnector (com.twinsoft.convertigo.beans.connectors.SapJcoConnector)3 JavelinScreenClass (com.twinsoft.convertigo.beans.screenclasses.JavelinScreenClass)3 JavelinTransaction (com.twinsoft.convertigo.beans.transactions.JavelinTransaction)3