Search in sources :

Example 1 with CicsConnector

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

the class CicsTransaction method runCore.

public void runCore() throws EngineException {
    ECIRequest eciRequestObject = null;
    String strServer = null;
    String strUserID = null, strUserPassword = null;
    String strProgram = null, strTransactionID = null;
    String errmsg = null;
    byte[] abytCommarea = null;
    int iCommareaSize = 0;
    try {
        connector = ((CicsConnector) parent);
        strServer = connector.getServer();
        strProgram = getProgram();
        strTransactionID = getTransactionId();
        strUserID = getUserId();
        strUserID = (strUserID.equals("") ? connector.getUserId() : strUserID);
        strUserPassword = getUserPassword();
        strUserPassword = (strUserPassword.equals("") ? connector.getUserPassword() : strUserPassword);
        if (Engine.logBeans.isTraceEnabled())
            Engine.logBeans.trace("(CicsTransaction) \n" + XMLUtils.prettyPrintDOM(context.inputDocument));
        // Initialize CommArea
        abytCommarea = getInputCommarea(cicsInput);
        iCommareaSize = abytCommarea.length;
        dump(abytCommarea, 0);
        // Use the extended constructor to set the parameters on the ECIRequest object
        eciRequestObject = new // ECI call type
        ECIRequest(// ECI call type
        ECIRequest.ECI_SYNC, // CICS server
        strServer, // CICS userid
        strUserID, // CICS password
        strUserPassword, // CICS program to be run
        strProgram, // CICS transid to be run
        strTransactionID, // Byte array containing the COMMAREA
        abytCommarea, // COMMAREA length
        iCommareaSize, // ECI extend mode
        ECIRequest.ECI_NO_EXTEND, // ECI LUW token
        0);
        Engine.logBeans.debug("(CicsTransaction) Request on server: " + strServer + " - program: " + strProgram + " - transId: " + strTransactionID);
        Engine.logBeans.debug("(CicsTransaction) Executing '" + getName() + "' transaction.");
        // Call the flowRequest method: if the method returns not null a security error has occurred.
        String t = context.statistics.start(EngineStatistics.APPLY_USER_REQUEST);
        try {
            errmsg = connector.flowRequest(eciRequestObject);
        } finally {
            context.statistics.stop(t);
        }
        if (errmsg != null) {
            Engine.logBeans.debug("(CicsTransaction) " + errmsg);
            throw new EngineException(errmsg);
        }
        // Treat Commarea returned data.
        dump(abytCommarea, 1);
        if (!connector.existGateway())
            connector.setData(abytCommarea);
        Element cics = parseOutputCommarea(abytCommarea);
        if (cics != null) {
            Element outputDocumentRootElement = context.outputDocument.getDocumentElement();
            outputDocumentRootElement.appendChild(cics);
            score += 1;
        }
    } catch (Exception e) {
        throw new EngineException("Exception in CicsTransaction.runCore()", e);
    }
}
Also used : ECIRequest(com.ibm.ctg.client.ECIRequest) CicsConnector(com.twinsoft.convertigo.beans.connectors.CicsConnector) Element(org.w3c.dom.Element) EngineException(com.twinsoft.convertigo.engine.EngineException) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException) EngineException(com.twinsoft.convertigo.engine.EngineException)

Example 2 with CicsConnector

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

the class Get method createCategories.

private void createCategories(Document document, DatabaseObject dbo, Class<? extends DatabaseObject> databaseObjectClass, Element root) throws Exception {
    Element response = document.createElement("response");
    try {
        List<String> defaultDboList = new ArrayList<>();
        Class<? extends DatabaseObject> parentObjectClass = dbo.getClass();
        Map<String, DboCategoryData> categoryNameToDboCategory = new HashMap<>();
        DboExplorerManager manager = Engine.theApp.getDboExplorerManager();
        for (DboGroup group : manager.getGroups()) {
            for (DboCategory category : group.getCategories()) {
                for (DboBeans beansCategory : category.getBeans()) {
                    for (DboBean bean : beansCategory.getBeans()) {
                        // Skip if bean is disabled
                        if (!bean.isEnable()) {
                            continue;
                        }
                        String className = bean.getClassName();
                        try {
                            Class<DatabaseObject> beanClass = GenericUtils.cast(Class.forName(className));
                            DboCategoryInfo dboCategoryInfo = DatabaseObject.getDboGroupInfo(beanClass);
                            if (dboCategoryInfo == null) {
                                continue;
                            }
                            // If one of these cases, do not add the category
                            if (dbo instanceof ScreenClass) {
                                ScreenClass sc = (ScreenClass) dbo;
                                // Do not show Criteria category if it is the default Screen Class
                                if (sc.getDepth() == 0 && dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(Criteria.class))) {
                                    continue;
                                }
                            } else if (dbo instanceof CicsConnector) {
                                // Do not show Pool category
                                if (dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(Pool.class))) {
                                    continue;
                                }
                            } else if (dbo instanceof JavelinConnector) {
                                // Do not show ScreenClass category
                                if (dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(ScreenClass.class))) {
                                    continue;
                                }
                            } else if (dbo instanceof SqlConnector) {
                                // Do not show Pool category
                                if (dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(Pool.class))) {
                                    continue;
                                }
                            } else if (dbo instanceof HtmlConnector) {
                                // Do not show Pool and ScreenClass categories
                                if (dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(Pool.class)) || dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(ScreenClass.class))) {
                                    continue;
                                }
                            } else if (dbo instanceof HttpConnector) {
                                // Do not show Pool category
                                if (dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(Pool.class))) {
                                    continue;
                                }
                            } else if (dbo instanceof SiteClipperConnector) {
                                // Do not show Pool and ScreenClass categories
                                if (dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(Pool.class)) || dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(ScreenClass.class))) {
                                    continue;
                                }
                            } else if (dbo instanceof Transaction) {
                                // Do not show Statement category
                                if (dboCategoryInfo.equals(DatabaseObject.getDboGroupInfo(Statement.class))) {
                                    continue;
                                }
                            }
                            if (bean.isDefault()) {
                                defaultDboList.add(className);
                            }
                            // The bean should derived from
                            // DatabaseObject...
                            boolean isDatabaseObject = (DatabaseObject.class.isAssignableFrom(beanClass));
                            if (isDatabaseObject) {
                                // ... and should derived from the specified class
                                boolean isFromSpecifiedClass = (databaseObjectClass == null || (databaseObjectClass != null && databaseObjectClass.isAssignableFrom(beanClass)));
                                if (isFromSpecifiedClass) {
                                    // Check parent
                                    boolean bFound = DatabaseObjectsManager.checkParent(parentObjectClass, bean);
                                    if (bFound) {
                                        String technology = DboUtils.getTechnology(dbo, beanClass);
                                        // Check technology if needed
                                        if (technology != null) {
                                            Collection<String> acceptedTechnologies = bean.getEmulatorTechnologies();
                                            if (!acceptedTechnologies.isEmpty() && !acceptedTechnologies.contains(technology)) {
                                                continue;
                                            }
                                        }
                                        String beanInfoClassName = className + "BeanInfo";
                                        Class<BeanInfo> beanInfoClass = GenericUtils.cast(Class.forName(beanInfoClassName));
                                        if (beanInfoClass != null) {
                                            String categoryName = dboCategoryInfo.getCategoryName();
                                            // Create category
                                            DboCategoryData dboCategoryData = categoryNameToDboCategory.get(categoryName);
                                            if (dboCategoryData == null) {
                                                dboCategoryData = new DboCategoryData(dboCategoryInfo.getCategoryId(), categoryName, dboCategoryInfo.getIconClassCSS());
                                                categoryNameToDboCategory.put(categoryName, dboCategoryData);
                                            }
                                            // Beans name
                                            String beansName = beansCategory.getName();
                                            if (beansName.length() == 0) {
                                                beansName = categoryName;
                                            }
                                            // Create beans
                                            DboBeansData dboBeansData = dboCategoryData.getDboBeans(beansName);
                                            if (dboBeansData == null) {
                                                dboBeansData = new DboBeansData(beansName);
                                                dboCategoryData.addDboBeans(beansName, dboBeansData);
                                            }
                                            // Create bean
                                            DboBeanData dboBeanData = new DboBeanData(beanInfoClass.getConstructor().newInstance());
                                            dboBeansData.addDboBean(dboBeanData);
                                        } else {
                                            String message = java.text.MessageFormat.format("The \"{0}\" does not exist.", new Object[] { beanInfoClassName });
                                            throw new Exception(message);
                                        }
                                    }
                                }
                            } else {
                                String message = java.text.MessageFormat.format("The \"{0}\" class is not a Convertigo database object.", new Object[] { className });
                                throw new Exception(message);
                            }
                        } catch (ClassNotFoundException e) {
                            String message = java.text.MessageFormat.format("Unable to analyze the \"{0}\" class.\n\nClass not found: {1}", new Object[] { className, e.getMessage() });
                            throw new Exception(message);
                        } catch (Throwable e) {
                            String message = java.text.MessageFormat.format("Unable to analyze the \"{0}\" Convertigo database object.", new Object[] { className });
                            throw new Exception(message);
                        }
                    }
                }
            }
        }
        // Find the default selected bean for each categories
        for (DboCategoryData dboCategory : categoryNameToDboCategory.values()) {
            boolean defaultDboFound = false;
            List<DboBeanData> dboBeansList = dboCategory.getAllDboBean(true);
            // By default, we chose the first bean as default selected bean
            DboBeanData defaultSelectedBean = dboBeansList.get(0);
            // Find the default selected bean
            for (int i = 0; i < dboBeansList.size() && !defaultDboFound; ++i) {
                Class<DatabaseObject> beanClass = dboBeansList.get(i).getBeanClass();
                // Another bean is set as default selected bean
                if (defaultDboFound = defaultDboList.contains(beanClass.getName())) {
                    defaultSelectedBean = dboBeansList.get(i);
                }
            }
            defaultSelectedBean.setSelectedByDefault(true);
        }
        // XmlLize
        for (DboCategoryData dboCategory : categoryNameToDboCategory.values()) {
            response.appendChild(dboCategory.toXml(document));
        }
    } catch (Exception e) {
        throw new Exception("Unable to load database objects properties.");
    }
    root.appendChild(response);
}
Also used : HttpConnector(com.twinsoft.convertigo.beans.connectors.HttpConnector) HashMap(java.util.HashMap) ScreenClass(com.twinsoft.convertigo.beans.core.ScreenClass) Element(org.w3c.dom.Element) BeanInfo(java.beans.BeanInfo) ArrayList(java.util.ArrayList) DboCategory(com.twinsoft.convertigo.engine.dbo_explorer.DboCategory) DboBeansData(com.twinsoft.convertigo.beans.dbo_explorer.DboBeansData) DboBeanData(com.twinsoft.convertigo.beans.dbo_explorer.DboBeanData) SqlConnector(com.twinsoft.convertigo.beans.connectors.SqlConnector) DboCategoryInfo(com.twinsoft.convertigo.beans.core.DatabaseObject.DboCategoryInfo) SiteClipperConnector(com.twinsoft.convertigo.beans.connectors.SiteClipperConnector) DboCategoryData(com.twinsoft.convertigo.beans.dbo_explorer.DboCategoryData) DboGroup(com.twinsoft.convertigo.engine.dbo_explorer.DboGroup) DboExplorerManager(com.twinsoft.convertigo.engine.dbo_explorer.DboExplorerManager) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) DboBeans(com.twinsoft.convertigo.engine.dbo_explorer.DboBeans) HtmlConnector(com.twinsoft.convertigo.beans.connectors.HtmlConnector) JavelinConnector(com.twinsoft.convertigo.beans.connectors.JavelinConnector) Transaction(com.twinsoft.convertigo.beans.core.Transaction) CicsConnector(com.twinsoft.convertigo.beans.connectors.CicsConnector) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) DboBean(com.twinsoft.convertigo.engine.dbo_explorer.DboBean)

Example 3 with CicsConnector

use of com.twinsoft.convertigo.beans.connectors.CicsConnector 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)

Example 4 with CicsConnector

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

the class ProjectUtils method getStatByProject.

public static Map<String, String> getStatByProject(Project project) throws Exception {
    final Map<String, String> result = new HashMap<String, String>();
    try {
        if (project != null) {
            try {
                new WalkHelper() {

                    String displayString = "";

                    @SuppressWarnings("unused")
                    int depth = 0;

                    int sequenceJavascriptLines;

                    int sequenceJavascriptFunction;

                    int connectorCount = 0;

                    int httpConnectorCount = 0;

                    int httpsConnectorCount = 0;

                    int htmlConnectorCount = 0;

                    int cicsConnectorCount = 0;

                    int siteClipperConnectorCount = 0;

                    int sqlConnectorCount = 0;

                    int javelinConnectorCount = 0;

                    int htmlScreenclassCount = 0;

                    int htmlCriteriaCount = 0;

                    int siteClipperScreenclassCount = 0;

                    int siteClipperCriteriaCount = 0;

                    int htmlExtractionRuleCount = 0;

                    int htmlTransactionVariableCount = 0;

                    int sqlTransactionVariableCount = 0;

                    int javelinTransactionVariableCount = 0;

                    int javelinScreenclassCount = 0;

                    int javelinCriteriaCount = 0;

                    int javelinExtractionRuleCount = 0;

                    int javelinEntryHandlerCount = 0;

                    int javelinExitHandlerCount = 0;

                    int javelinHandlerCount = 0;

                    int javelinJavascriptLines = 0;

                    int statementCount = 0;

                    int poolCount = 0;

                    int handlerstatementCount = 0;

                    @SuppressWarnings("unused")
                    int reqVariableCount = 0;

                    int sequenceVariableCount = 0;

                    @SuppressWarnings("unused")
                    int transactionVariableCount = 0;

                    int testcaseVariableCount = 0;

                    int testcaseCount = 0;

                    int sequenceCount = 0;

                    int stepCount = 0;

                    int sheetCount = 0;

                    int referenceCount = 0;

                    int selectInQueryCount = 0;

                    /*
    					 * transaction counters
    					 */
                    @SuppressWarnings("unused")
                    int transactionCount = 0;

                    @SuppressWarnings("unused")
                    int transactionWithVariablesCount = 0;

                    int htmltransactionCount = 0;

                    int httpTransactionCount = 0;

                    int httpsTransactionCount = 0;

                    int xmlHttpTransactionCount = 0;

                    int xmlHttpsTransactionCount = 0;

                    int jsonHttpTransactionCount = 0;

                    int jsonHttpsTransactionCount = 0;

                    int proxyTransactionCount = 0;

                    int siteClipperTransactionCount = 0;

                    int javelinTransactionCount = 0;

                    int sqlTransactionCount = 0;

                    int totalC8oObjects = 0;

                    public void go(DatabaseObject project) {
                        try {
                            String projectName = project.getName();
                            init(project);
                            connectorCount = htmlConnectorCount + httpConnectorCount + httpsConnectorCount + cicsConnectorCount + siteClipperConnectorCount + sqlConnectorCount + javelinConnectorCount;
                            totalC8oObjects = 1 + // connectors
                            connectorCount + htmlScreenclassCount + htmlCriteriaCount + htmlExtractionRuleCount + htmlTransactionVariableCount + handlerstatementCount + statementCount + javelinScreenclassCount + javelinCriteriaCount + javelinExtractionRuleCount + javelinTransactionCount + javelinEntryHandlerCount + javelinExitHandlerCount + javelinHandlerCount + javelinTransactionVariableCount + sqlTransactionCount + sqlTransactionVariableCount + sheetCount + jsonHttpTransactionCount + jsonHttpsTransactionCount + xmlHttpTransactionCount + xmlHttpsTransactionCount + httpTransactionCount + httpsTransactionCount + proxyTransactionCount + siteClipperTransactionCount + siteClipperScreenclassCount + siteClipperCriteriaCount + sequenceCount + stepCount + sequenceVariableCount + sequenceJavascriptFunction + poolCount + referenceCount + testcaseCount + testcaseVariableCount;
                            displayString = // ok
                            totalC8oObjects + " object(s)<br/>" + connectorCount + // ok
                            " connector(s)";
                            result.put(projectName, displayString);
                            if (htmltransactionCount > 0) {
                                displayString = // ok
                                (htmlScreenclassCount > 0 ? "&nbsp;screenclassCount = " + htmlScreenclassCount + "<br/>" : "") + (htmlCriteriaCount > 0 ? "&nbsp;criteriaCount = " + htmlCriteriaCount + "<br/>" : "") + (htmlExtractionRuleCount > 0 ? "&nbsp;extractionRuleCount = " + htmlExtractionRuleCount + "<br/>" : "") + "&nbsp;transactionCount = " + htmltransactionCount + // ok
                                "<br/>" + (htmlTransactionVariableCount > 0 ? "&nbsp;transactionVariableCount = " + htmlTransactionVariableCount + "<br/>" : "") + "&nbsp;statementCount (handlers=" + handlerstatementCount + ", statements=" + statementCount + ", total=" + (int) (handlerstatementCount + statementCount) + ")";
                                result.put("HTML connector", displayString);
                            }
                            /*
								 * javelin connector
								 */
                            if (javelinScreenclassCount > 0) {
                                displayString = // ok
                                "&nbsp;screenclassCount = " + javelinScreenclassCount + "<br/>" + (javelinCriteriaCount > 0 ? "&nbsp;criteriaCount = " + javelinCriteriaCount + "<br/>" : "") + (javelinExtractionRuleCount > 0 ? "&nbsp;extractionRuleCount = " + javelinExtractionRuleCount + "<br/>" : "") + // ok
                                (javelinTransactionCount > 0 ? "&nbsp;transactionCount = " + javelinTransactionCount + "<br/>" : "") + "&nbsp;handlerCount (Entry = " + javelinEntryHandlerCount + ", Exit = " + javelinExitHandlerCount + ", Screenclass = " + javelinHandlerCount + "), total = " + (int) (javelinEntryHandlerCount + javelinExitHandlerCount + javelinHandlerCount) + " in " + javelinJavascriptLines + " lines<br/>" + (javelinTransactionVariableCount > 0 ? "&nbsp;variableCount = " + javelinTransactionVariableCount : "");
                                result.put("Javelin connector", displayString);
                            }
                            /*
								 * SQL connector
								 */
                            if (sqlTransactionCount > 0) {
                                displayString = // ok
                                "&nbsp;sqltransactionCount = " + sqlTransactionCount + "<br/>" + // ok
                                (selectInQueryCount > 0 ? "&nbsp;selectInQueryCount = " + selectInQueryCount + "<br/>" : "") + (sqlTransactionVariableCount > 0 ? "&nbsp;transactionVariableCount = " + sqlTransactionVariableCount : "");
                                if (sheetCount > 0) {
                                    displayString += "<br/>Sheets<br/>" + "&nbsp;sheetCount = " + sheetCount;
                                }
                                result.put("SQL connector", displayString);
                            }
                            /*
								 * Http connector
								 */
                            if (httpConnectorCount > 0) {
                                displayString = "&nbsp;connectorCount = " + httpConnectorCount + "<br/>";
                            }
                            if (jsonHttpTransactionCount > 0) {
                                displayString += // ok
                                "&nbsp;JSONTransactionCount = " + jsonHttpTransactionCount + "<br/>" + // ok
                                (xmlHttpTransactionCount > 0 ? "&nbsp;XmlTransactionCount = " + xmlHttpTransactionCount + "<br/>" : "") + (httpTransactionCount > 0 ? "&nbsp;HTTPtransactionCount = " + httpTransactionCount : "");
                                result.put("HTTP connector", displayString);
                            }
                            /*
								 * Https connector
								 */
                            if (httpsConnectorCount > 0) {
                                displayString = "&nbsp;connectorCount = " + httpsConnectorCount + "<br/>" + // ok
                                (jsonHttpsTransactionCount > 0 ? "&nbsp;JSONTransactionCount = " + jsonHttpsTransactionCount + "<br/>" : "") + // ok
                                (xmlHttpsTransactionCount > 0 ? "&nbsp;XmlTransactionCount = " + xmlHttpsTransactionCount + "<br/>" : "") + // ok
                                (httpsTransactionCount > 0 ? "&nbsp;HTTPStransactionCount = " + httpsTransactionCount : "");
                                result.put("HTTPS connector", displayString);
                            }
                            /*
								 * Proxy connector
								 */
                            if (proxyTransactionCount > 0) {
                                displayString = "&nbsp;TransactionCount = " + proxyTransactionCount;
                                result.put("Proxy connector", displayString);
                            }
                            /*
								 * Siteclipper connector
								 */
                            if (siteClipperTransactionCount > 0) {
                                displayString = // ok
                                "&nbsp;TransactionCount = " + siteClipperTransactionCount + "<br/>" + // ok
                                (siteClipperScreenclassCount > 0 ? "&nbsp;screenclassCount = " + siteClipperScreenclassCount + "<br/>" : "") + (siteClipperCriteriaCount > 0 ? "&nbsp;criteriaCount = " + siteClipperCriteriaCount : "");
                                result.put("SiteClipper connector", displayString);
                            }
                            /*
								 * Sequencer
								 */
                            if (sequenceCount > 0) {
                                displayString = // ok
                                "&nbsp;sequenceCount = " + sequenceCount + "<br/>" + // ok
                                (stepCount > 0 ? "&nbsp;stepCount = " + stepCount + "<br/>" : "") + (sequenceVariableCount > 0 ? "&nbsp;variableCount = " + sequenceVariableCount + "<br/>" : "") + "&nbsp;javascriptCode = " + sequenceJavascriptFunction + " functions in " + sequenceJavascriptLines + " lines" + ((boolean) (sequenceJavascriptFunction == 0) ? " (declarations or so)" : "");
                                result.put("Sequencer", displayString);
                            }
                            if (poolCount > 0) {
                                displayString = "&nbsp;poolCount = " + poolCount;
                                result.put("Pools", displayString);
                            }
                            if (referenceCount > 0) {
                                displayString = "&nbsp;referenceCount = " + referenceCount;
                                result.put("References", displayString);
                            }
                            if (testcaseCount > 0) {
                                displayString = "&nbsp;testcaseCount = " + testcaseCount + "<br/>" + (testcaseVariableCount > 0 ? "&nbsp;testcaseVariableCount = " + testcaseVariableCount : "");
                                result.put("Test cases", displayString);
                            }
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                    @Override
                    protected void walk(DatabaseObject databaseObject) throws Exception {
                        depth++;
                        // deal with connectors
                        if (databaseObject instanceof Connector) {
                            if (databaseObject instanceof HtmlConnector) {
                                htmlConnectorCount++;
                            } else if (databaseObject instanceof HttpConnector) {
                                if (((HttpConnector) databaseObject).isHttps())
                                    httpsConnectorCount++;
                                else
                                    httpConnectorCount++;
                            } else if (databaseObject instanceof CicsConnector) {
                                cicsConnectorCount++;
                            } else if (databaseObject instanceof SiteClipperConnector) {
                                siteClipperConnectorCount++;
                            } else if (databaseObject instanceof SqlConnector) {
                                sqlConnectorCount++;
                            } else if (databaseObject instanceof JavelinConnector) {
                                javelinConnectorCount++;
                            }
                        } else // deal with screenclasses
                        if (databaseObject instanceof ScreenClass) {
                            if (databaseObject instanceof JavelinScreenClass) {
                                // deal with javelinScreenClasses
                                javelinScreenclassCount++;
                            } else if (databaseObject instanceof SiteClipperScreenClass) {
                                // deal with siteClipperScreenClasses
                                siteClipperScreenclassCount++;
                            } else {
                                // deal with html ScreenClasses
                                htmlScreenclassCount++;
                            }
                        } else if (databaseObject instanceof Criteria) {
                            if (databaseObject.getParent() instanceof JavelinScreenClass) {
                                javelinCriteriaCount++;
                            } else if (databaseObject.getParent() instanceof SiteClipperScreenClass) {
                                siteClipperCriteriaCount++;
                            } else {
                                htmlCriteriaCount++;
                            }
                        } else if (databaseObject instanceof ExtractionRule) {
                            if (databaseObject.getParent() instanceof JavelinScreenClass) {
                                javelinExtractionRuleCount++;
                            } else {
                                htmlExtractionRuleCount++;
                            }
                        } else if (databaseObject instanceof Transaction) {
                            if (databaseObject instanceof TransactionWithVariables) {
                                if (databaseObject instanceof HtmlTransaction) {
                                    htmltransactionCount++;
                                } else if (databaseObject instanceof JsonHttpTransaction) {
                                    if (((HttpConnector) databaseObject.getParent()).isHttps())
                                        jsonHttpsTransactionCount++;
                                    else
                                        jsonHttpTransactionCount++;
                                } else if (databaseObject instanceof HttpTransaction) {
                                    if (((HttpConnector) databaseObject.getParent()).isHttps())
                                        httpsTransactionCount++;
                                    else
                                        httpTransactionCount++;
                                } else if (databaseObject instanceof XmlHttpTransaction) {
                                    if (((HttpConnector) databaseObject.getParent()).isHttps())
                                        xmlHttpsTransactionCount++;
                                    else
                                        xmlHttpTransactionCount++;
                                } else if (databaseObject instanceof ProxyTransaction) {
                                    proxyTransactionCount++;
                                } else if (databaseObject instanceof SiteClipperTransaction) {
                                    siteClipperTransactionCount++;
                                } else if (databaseObject instanceof JavelinTransaction) {
                                    JavelinTransaction javelinTransaction = (JavelinTransaction) databaseObject;
                                    // Functions
                                    String line;
                                    int lineNumber = 0;
                                    BufferedReader br = new BufferedReader(new StringReader(javelinTransaction.handlers));
                                    while ((line = br.readLine()) != null) {
                                        line = line.trim();
                                        lineNumber++;
                                        if (line.startsWith("function ")) {
                                            try {
                                                String functionName = line.substring(9, line.indexOf(')') + 1);
                                                if (functionName.endsWith(JavelinTransaction.EVENT_ENTRY_HANDLER + "()")) {
                                                    // TYPE_FUNCTION_SCREEN_CLASS_ENTRY
                                                    javelinEntryHandlerCount++;
                                                } else if (functionName.endsWith(JavelinTransaction.EVENT_EXIT_HANDLER + "()")) {
                                                    // TYPE_FUNCTION_SCREEN_CLASS_EXIT
                                                    javelinExitHandlerCount++;
                                                } else {
                                                    // TYPE_OTHER
                                                    javelinHandlerCount++;
                                                }
                                            } catch (StringIndexOutOfBoundsException e) {
                                            // Ignore
                                            }
                                        }
                                    }
                                    // compute total number of lines of javascript
                                    javelinJavascriptLines += lineNumber;
                                    javelinTransactionCount++;
                                } else if (databaseObject instanceof SqlTransaction) {
                                    SqlTransaction sqlTransaction = (SqlTransaction) databaseObject;
                                    /*
										 * count the number of SELECT
										 */
                                    String query = sqlTransaction.getSqlQuery();
                                    if (query != null) {
                                        query = query.toLowerCase();
                                        String pattern = "select";
                                        int lastIndex = 0;
                                        while (lastIndex != -1) {
                                            lastIndex = query.indexOf(pattern, lastIndex);
                                            if (lastIndex != -1) {
                                                selectInQueryCount++;
                                                lastIndex += pattern.length();
                                            }
                                        }
                                    }
                                    sqlTransactionCount++;
                                }
                                transactionWithVariablesCount++;
                            } else {
                                // transaction with no variables
                                transactionCount++;
                            }
                        } else // deal with statements
                        if (databaseObject instanceof Statement) {
                            // System.out.println(databaseObject.getClass().getName() + "\r\n");
                            if (databaseObject instanceof HandlerStatement) {
                                handlerstatementCount++;
                            } else {
                                statementCount++;
                            }
                        } else // deal with variables
                        if (databaseObject instanceof Variable) {
                            if (databaseObject.getParent() instanceof Transaction) {
                                if (databaseObject.getParent() instanceof JavelinTransaction) {
                                    javelinTransactionVariableCount++;
                                } else if (databaseObject.getParent() instanceof HtmlTransaction) {
                                    htmlTransactionVariableCount++;
                                } else if (databaseObject.getParent() instanceof SqlTransaction) {
                                    sqlTransactionVariableCount++;
                                } else {
                                    // should be zero
                                    transactionVariableCount++;
                                }
                            } else if (databaseObject.getParent() instanceof Sequence) {
                                sequenceVariableCount++;
                            } else if (databaseObject.getParent() instanceof TestCase) {
                                testcaseVariableCount++;
                            }
                        } else if (databaseObject instanceof TestCase) {
                            testcaseCount++;
                        } else if (databaseObject instanceof Sequence) {
                            sequenceCount++;
                        } else if (databaseObject instanceof Step) {
                            if (databaseObject instanceof SimpleStep) {
                                SimpleStep simpleStep = (SimpleStep) databaseObject;
                                // Functions
                                String line;
                                int lineNumber = 0;
                                BufferedReader br = new BufferedReader(new StringReader(simpleStep.getExpression()));
                                while ((line = br.readLine()) != null) {
                                    line = line.trim();
                                    lineNumber++;
                                    if (line.startsWith("function ")) {
                                        try {
                                            sequenceJavascriptFunction++;
                                        } catch (StringIndexOutOfBoundsException e) {
                                        // Ignore
                                        }
                                    }
                                }
                                sequenceJavascriptLines += lineNumber;
                                stepCount++;
                            } else
                                stepCount++;
                        } else if (databaseObject instanceof Sheet) {
                            sheetCount++;
                        } else if (databaseObject instanceof Pool) {
                            poolCount++;
                        }
                        super.walk(databaseObject);
                    }
                }.go(project);
            } catch (Exception e) {
            // Just ignore, should never happen
            }
        }
    } catch (Throwable e) {
        throw new Exception("Unable to compute statistics of the project!: \n" + e.getMessage());
    } finally {
    }
    return result;
}
Also used : HtmlConnector(com.twinsoft.convertigo.beans.connectors.HtmlConnector) JavelinConnector(com.twinsoft.convertigo.beans.connectors.JavelinConnector) HttpConnector(com.twinsoft.convertigo.beans.connectors.HttpConnector) Connector(com.twinsoft.convertigo.beans.core.Connector) CicsConnector(com.twinsoft.convertigo.beans.connectors.CicsConnector) SiteClipperConnector(com.twinsoft.convertigo.beans.connectors.SiteClipperConnector) SqlConnector(com.twinsoft.convertigo.beans.connectors.SqlConnector) XmlHttpTransaction(com.twinsoft.convertigo.beans.transactions.XmlHttpTransaction) HttpTransaction(com.twinsoft.convertigo.beans.transactions.HttpTransaction) JsonHttpTransaction(com.twinsoft.convertigo.beans.transactions.JsonHttpTransaction) HttpConnector(com.twinsoft.convertigo.beans.connectors.HttpConnector) Variable(com.twinsoft.convertigo.beans.core.Variable) SimpleStep(com.twinsoft.convertigo.beans.steps.SimpleStep) HashMap(java.util.HashMap) JavelinScreenClass(com.twinsoft.convertigo.beans.screenclasses.JavelinScreenClass) SiteClipperScreenClass(com.twinsoft.convertigo.beans.screenclasses.SiteClipperScreenClass) ScreenClass(com.twinsoft.convertigo.beans.core.ScreenClass) SiteClipperScreenClass(com.twinsoft.convertigo.beans.screenclasses.SiteClipperScreenClass) ExtractionRule(com.twinsoft.convertigo.beans.core.ExtractionRule) WalkHelper(com.twinsoft.convertigo.engine.helpers.WalkHelper) Criteria(com.twinsoft.convertigo.beans.core.Criteria) HandlerStatement(com.twinsoft.convertigo.beans.statements.HandlerStatement) Step(com.twinsoft.convertigo.beans.core.Step) SimpleStep(com.twinsoft.convertigo.beans.steps.SimpleStep) SqlConnector(com.twinsoft.convertigo.beans.connectors.SqlConnector) JavelinTransaction(com.twinsoft.convertigo.beans.transactions.JavelinTransaction) ProxyTransaction(com.twinsoft.convertigo.engine.proxy.translated.ProxyTransaction) SiteClipperConnector(com.twinsoft.convertigo.beans.connectors.SiteClipperConnector) StringReader(java.io.StringReader) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) Pool(com.twinsoft.convertigo.beans.core.Pool) HtmlConnector(com.twinsoft.convertigo.beans.connectors.HtmlConnector) JavelinScreenClass(com.twinsoft.convertigo.beans.screenclasses.JavelinScreenClass) XmlHttpTransaction(com.twinsoft.convertigo.beans.transactions.XmlHttpTransaction) Statement(com.twinsoft.convertigo.beans.core.Statement) HandlerStatement(com.twinsoft.convertigo.beans.statements.HandlerStatement) HtmlTransaction(com.twinsoft.convertigo.beans.transactions.HtmlTransaction) SiteClipperTransaction(com.twinsoft.convertigo.beans.transactions.SiteClipperTransaction) SqlTransaction(com.twinsoft.convertigo.beans.transactions.SqlTransaction) Sequence(com.twinsoft.convertigo.beans.core.Sequence) EngineException(com.twinsoft.convertigo.engine.EngineException) TransformerException(javax.xml.transform.TransformerException) JavelinConnector(com.twinsoft.convertigo.beans.connectors.JavelinConnector) ProxyTransaction(com.twinsoft.convertigo.engine.proxy.translated.ProxyTransaction) SqlTransaction(com.twinsoft.convertigo.beans.transactions.SqlTransaction) XmlHttpTransaction(com.twinsoft.convertigo.beans.transactions.XmlHttpTransaction) Transaction(com.twinsoft.convertigo.beans.core.Transaction) HttpTransaction(com.twinsoft.convertigo.beans.transactions.HttpTransaction) SiteClipperTransaction(com.twinsoft.convertigo.beans.transactions.SiteClipperTransaction) HtmlTransaction(com.twinsoft.convertigo.beans.transactions.HtmlTransaction) JavelinTransaction(com.twinsoft.convertigo.beans.transactions.JavelinTransaction) JsonHttpTransaction(com.twinsoft.convertigo.beans.transactions.JsonHttpTransaction) CicsConnector(com.twinsoft.convertigo.beans.connectors.CicsConnector) TestCase(com.twinsoft.convertigo.beans.core.TestCase) BufferedReader(java.io.BufferedReader) TransactionWithVariables(com.twinsoft.convertigo.beans.core.TransactionWithVariables) JsonHttpTransaction(com.twinsoft.convertigo.beans.transactions.JsonHttpTransaction) Sheet(com.twinsoft.convertigo.beans.core.Sheet)

Example 5 with CicsConnector

use of com.twinsoft.convertigo.beans.connectors.CicsConnector 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)

Aggregations

CicsConnector (com.twinsoft.convertigo.beans.connectors.CicsConnector)5 HttpConnector (com.twinsoft.convertigo.beans.connectors.HttpConnector)4 JavelinConnector (com.twinsoft.convertigo.beans.connectors.JavelinConnector)4 SiteClipperConnector (com.twinsoft.convertigo.beans.connectors.SiteClipperConnector)4 SqlConnector (com.twinsoft.convertigo.beans.connectors.SqlConnector)4 HtmlConnector (com.twinsoft.convertigo.beans.connectors.HtmlConnector)3 EngineException (com.twinsoft.convertigo.engine.EngineException)3 SapJcoConnector (com.twinsoft.convertigo.beans.connectors.SapJcoConnector)2 DatabaseObject (com.twinsoft.convertigo.beans.core.DatabaseObject)2 ScreenClass (com.twinsoft.convertigo.beans.core.ScreenClass)2 Transaction (com.twinsoft.convertigo.beans.core.Transaction)2 JavelinScreenClass (com.twinsoft.convertigo.beans.screenclasses.JavelinScreenClass)2 SiteClipperScreenClass (com.twinsoft.convertigo.beans.screenclasses.SiteClipperScreenClass)2 HtmlTransaction (com.twinsoft.convertigo.beans.transactions.HtmlTransaction)2 HttpTransaction (com.twinsoft.convertigo.beans.transactions.HttpTransaction)2 JavelinTransaction (com.twinsoft.convertigo.beans.transactions.JavelinTransaction)2 SiteClipperTransaction (com.twinsoft.convertigo.beans.transactions.SiteClipperTransaction)2 SqlTransaction (com.twinsoft.convertigo.beans.transactions.SqlTransaction)2 Element (org.w3c.dom.Element)2 ECIRequest (com.ibm.ctg.client.ECIRequest)1