Package de.innovationgate.eclipse.utils.ui.model

Examples of de.innovationgate.eclipse.utils.ui.model.TaskStatus


        layout(true);
    }

    public void linkActivated(HyperlinkEvent e) {
        Hyperlink link = (Hyperlink) e.getSource();
        TaskStatus status = (TaskStatus)link.getData(DATA_STATUS_BEAN);
        if (status.getSeverity() == TaskStatus.WARNING || status.getSeverity() == TaskStatus.ERROR) {
            String title = status.getTaskLabel();
            if (status.getSeverity() == TaskStatus.WARNING) {
                title = "WARNING - " + title;
            } else {
                title = "ERROR - " + title;
            }
            if (status.getSeverity() == TaskStatus.ERROR) {
                WorkbenchUtils.showErrorDialog(getShell(), title, status.getMessage(), status.getException());
            } else if (status.getSeverity() == TaskStatus.WARNING) {
                MessageDialog.openWarning(getShell(), title, status.getMessage());
            }
        }
       
       
    }
View Full Code Here


        _multiTaskStatusControl = new MultiTaskStatusControl(_container, SWT.NONE);
       
        _multiTaskStatusControl.setLayoutData(new GridData(GridData.FILL_BOTH));
       
        _taskStatusMap = new LinkedHashMap<String, TaskStatus>();
        _taskStatusMap.put(RUNTIME_STARTED_TASK, new TaskStatus("Local runtime started"));
        _taskStatusMap.put(CONNECTION_TASK, new TaskStatus("Remote server connection established"));     
        _taskStatusMap.put(REMOTE_VERSION_TASK, new TaskStatus("Remote server version >= 5.3"));
        _taskStatusMap.put(CONFIGURATION_TASK,new TaskStatus("Remote server configuration retrieved"));
        _taskStatusMap.put(WEBAPP_TASK,new TaskStatus("Database key for new web application available"));
        _taskStatusMap.put(DOMAIN_TASK,new TaskStatus("Domain for web application available"));
        _taskStatusMap.put(DBSERVER_TASK,new TaskStatus("Remote database servers for content store creation available"));
       
        List<TaskStatus> statusList = new ArrayList<TaskStatus>();
        statusList.addAll(_taskStatusMap.values());
        _multiTaskStatusControl.init(statusList);
View Full Code Here

               
                boolean canFinish = true;
               
               
               
                TaskStatus taskStatus = _taskStatusMap.get(RUNTIME_STARTED_TASK);               
                // runtime started
                try {
                    if (TomcatUtils.getInstance().isRunning(_runtime)) {
                        taskStatus.setSeverity(TaskStatus.OK);
                        taskStatus.setMessage("running");
                        //taskStatus.setSeverityLabel("started");
                    } else {
                        taskStatus.setSeverity(TaskStatus.ERROR);
                        taskStatus.setMessage("Local runtime must be started to perform a web application export.");
                        //taskStatus.setSeverityLabel("not started");
                        canFinish = false;
                    }
                }
                catch (Exception e) {
                   taskStatus.setSeverity(TaskStatus.ERROR);
                   taskStatus.setMessage("Unable to check if local runtime is started.");
                   taskStatus.setException(e);
                   return;
                } finally {
                    _multiTaskStatusControl.update(taskStatus);
                }
               
                taskStatus = _taskStatusMap.get(CONNECTION_TASK);               
                // connect to server
                try {
                    _server.connectToServer();
                    taskStatus.setSeverity(TaskStatus.OK);
                    taskStatus.setMessage("OK");
                    //taskStatus.setSeverityLabel("established");
                }
                catch (Exception e) {
                   taskStatus.setSeverity(TaskStatus.ERROR);
                   taskStatus.setMessage("Connection to server failed.");
                   taskStatus.setException(e);
                   return;
                } finally {
                    _multiTaskStatusControl.update(taskStatus);
                }
               
                // check version
                taskStatus = _taskStatusMap.get(REMOTE_VERSION_TASK);               
                // connect to server
                try {
                    Version remoteWGAVersion = _server.getServices().getWGAVersion(_server.getSession());
                    if (remoteWGAVersion.isAtLeast(5, 3)) {
                        taskStatus.setSeverity(TaskStatus.OK);
                        taskStatus.setMessage("OK");
                    } else {
                        taskStatus.setSeverity(TaskStatus.ERROR);
                        taskStatus.setMessage("Version of remote server is too low ('" + remoteWGAVersion.getMajorVersion() + "." + remoteWGAVersion.getMinorVersion()+ "')");
                        taskStatus.setSeverityLabel("too low ('" + remoteWGAVersion.getMajorVersion() + "." + remoteWGAVersion.getMinorVersion()+ "')");
                        canFinish = false;
                    }
                }
                catch (Exception e) {
                   taskStatus.setSeverity(TaskStatus.ERROR);
                   taskStatus.setMessage("Version of remote server could not be retrieved. Properly a too low OpenWGA version is installed on the remote server.");
                   taskStatus.setSeverityLabel("too low");
                   taskStatus.setException(e);
                   canFinish = false;
                } finally {
                    _multiTaskStatusControl.update(taskStatus);
                }
               
                // retrieve config
                taskStatus = _taskStatusMap.get(CONFIGURATION_TASK);
                _config = null;
                try {
                    DataSource source = _server.getServices().getWGAConfiguration(_server.getSession());
                    _config = WGAConfiguration.read(source.getInputStream());
                    taskStatus.setSeverity(TaskStatus.OK);
                    taskStatus.setMessage("OK");
                    //taskStatus.setSeverityLabel("retrieved");
                    _multiTaskStatusControl.update(taskStatus);                   
                }
                catch (Exception e) {
                    taskStatus.setSeverity(TaskStatus.ERROR);
                    taskStatus.setMessage("Unable to retrieve WGA configuration.");
                    taskStatus.setException(e);                   
                    return;                                              
                } finally {
                    _multiTaskStatusControl.update(taskStatus);
                }
               
                taskStatus = _taskStatusMap.get(WEBAPP_TASK);
                try {
                    // check duplicate webapp
                    if (_config.getContentStore(_webApplication.toLowerCase()) == null) {                   
                        taskStatus.setSeverity(TaskStatus.OK);
                        taskStatus.setMessage("OK");                   
                    } else {
                        taskStatus.setSeverity(TaskStatus.ERROR);
                        taskStatus.setMessage("Web application '" + _webApplication + "' already exists on this server.");
                        //taskStatus.setSeverityLabel("duplicate");
                        canFinish = false;
                    }                   
                }
                catch (Exception e) {
                    taskStatus.setSeverity(TaskStatus.ERROR);
                    taskStatus.setMessage("Error occured during config check.");
                    taskStatus.setException(e);
                } finally {
                    _multiTaskStatusControl.update(taskStatus);
                }
               
                // check domain
                taskStatus = _taskStatusMap.get(DOMAIN_TASK);                  
                try {
                    // retrieve local domain
                    WGAConfiguration localConfig = _runtime.retrieveWGAConfig(false);
                    ContentStore localCS = localConfig.getContentStore(_webApplication.toLowerCase());
                    String localDomainUID = localCS.getDomain();
                    Domain localDomain = localConfig.getDomain(localDomainUID);
                    boolean hasDomain = false;
                    for (Domain remoteDomain : _config.getDomains()) {
                        if (remoteDomain.getName().equals(localDomain.getName())) {
                            hasDomain = true;
                        }
                    }
                    if (hasDomain) {
                        taskStatus.setSeverity(TaskStatus.OK);
                        taskStatus.setMessage("OK");       
                        //taskStatus.setSeverityLabel("exists");
                    } else {
                        taskStatus.setSeverity(TaskStatus.ERROR);
                        taskStatus.setMessage("Domain '" + localDomain.getName() + "' does not exist on server.");
                        //taskStatus.setSeverityLabel("missing");
                        canFinish = false;
                    }
                }
                catch (Exception e) {
                    taskStatus.setSeverity(TaskStatus.ERROR);
                    taskStatus.setMessage("Error occured during config check.");
                    taskStatus.setException(e);
                } finally {
                    _multiTaskStatusControl.update(taskStatus);   
                }
            
                // retrieve content store providing db servers
                taskStatus = _taskStatusMap.get(DBSERVER_TASK);                  
                try {
                    List<DatabaseServerInfo> dbServers = _server.getServices().retrieveContentStoreDatabaseServers(_server.getSession());
                    // filter servers
                    _filteredServers = new ArrayList<DatabaseServerInfo>();
                    for(DatabaseServerInfo info : dbServers) {
                        if (!info.getCreateableContentStoreImplemenations().isEmpty()) {
                            _filteredServers.add(info);
                        }
                    }
                   
                    if (!_filteredServers.isEmpty()) {
                        taskStatus.setSeverity(TaskStatus.OK);
                        taskStatus.setMessage("OK");
                        //taskStatus.setSeverityLabel("retrieved");
                    } else {
                        taskStatus.setSeverity(TaskStatus.ERROR);
                        taskStatus.setMessage("No database server available on remote location for web application export.");
                        //taskStatus.setSeverityLabel("retrieved but empty");
                        canFinish = false;
                    }
                }
                catch (Exception e) {
                    taskStatus.setSeverity(TaskStatus.ERROR);
                    taskStatus.setMessage("Error occured during db server retrieval.");
                    taskStatus.setException(e);                 
                } finally {
                    _multiTaskStatusControl.update(taskStatus);   
                }
               
                ExportWGAApplication wizard = (ExportWGAApplication)getWizard();
View Full Code Here

        _multiTaskStatusControl = new MultiTaskStatusControl(_container, SWT.NONE);
       
        _multiTaskStatusControl.setLayoutData(new GridData(GridData.FILL_BOTH));
       
        _taskStatusMap = new LinkedHashMap<String, TaskStatus>();
        _taskStatusMap.put(DBNAME_TASK, new TaskStatus("Name for new database is available on database server"));              
        _taskStatusMap.put(DESIGN_TASK,new TaskStatus("WebTML design"));
        _taskStatusMap.put(PLUGINS_TASK,new TaskStatus("Plugin status:"));
       
        List<TaskStatus> statusList = new ArrayList<TaskStatus>();
        statusList.addAll(_taskStatusMap.values());
        _multiTaskStatusControl.init(statusList);
             
View Full Code Here

            public void run() {  
                boolean canFinish = true;
               
                ExportWGAApplication wizard = (ExportWGAApplication) getWizard();
               
                TaskStatus taskStatus = _taskStatusMap.get(DBNAME_TASK);
                try {
                    DatabaseInformation dbInfo = new DatabaseInformation();
                    dbInfo.setImplementationClass(wizard.getRemoteDatabaseServer().getCreateableContentStoreImplemenations().get(0));
                    dbInfo.getOptions().put(ExportWGAApplication.CS_PATH_OPTION_NAME, wizard.getRemoteDatabaseName());
                    List<DatabaseInformation> dbInfos = wizard.getRemoteServer().getServices().getAvailableDatabases(wizard.getRemoteServer().getSession(), wizard.getRemoteDatabaseServer(), dbInfo.getImplementationClass());
                    if (dbInfos.contains(dbInfo)) {
                        taskStatus.setSeverity(TaskStatus.ERROR);
                        //taskStatus.setSeverityLabel("duplicate database name");
                        taskStatus.setMessage("A database with name '" + dbInfo.getOptions().get(ExportWGAApplication.CS_PATH_OPTION_NAME) + "' already exists on the database server.");
                        canFinish = false;
                    } else {
                        taskStatus.setSeverity(TaskStatus.OK);
                        taskStatus.setMessage("OK");                       
                    }
                } catch (Exception e) {
                    taskStatus.setSeverity(TaskStatus.ERROR);
                    taskStatus.setMessage("Error occured during duplicate database check.");
                    taskStatus.setException(e);
                } finally {
                    _multiTaskStatusControl.update(taskStatus);
                }
               
                taskStatus = _taskStatusMap.get(DESIGN_TASK);
                try {
                    IContainer designContainer = wizard.getRuntime().getConnectedDesignContainers().get(wizard.getWebApplication());
                    List<FSDesignResourceState> state = wizard.getRemoteServer().getServices().retrieveFSDesignResourceState(wizard.getRemoteServer().getSession(), designContainer.getName());
                    if (!state.isEmpty()) {
                        taskStatus.setSeverity(TaskStatus.WARNING);
                        taskStatus.setMessage("Design for web application already exist on remote server. The design will not be committed during this export. Please sync changes via design synchronization dialog after export.");
                        taskStatus.setSeverityLabel("already exists");
                    } else {
                        taskStatus.setSeverity(TaskStatus.OK);
                        taskStatus.setSeverityLabel("will be created");
                    }
                } catch (Exception e) {
                    taskStatus.setSeverity(TaskStatus.ERROR);
                    taskStatus.setMessage("Error occured during design status check.");
                    taskStatus.setException(e);
                } finally {
                    _multiTaskStatusControl.update(taskStatus);
                }
               
                taskStatus = _taskStatusMap.get(PLUGINS_TASK);
                try {
                    WGARemoteServer local = wizard.getRuntime().createRemoteServer();
                    local.connectToServer();
                    List<PluginInfo> localPluginInfos = local.getServices().getPluginInformation(local.getSession());                   
                    List<PluginInfo> remotePluginInfos = wizard.getRemoteServer().getServices().getPluginInformation(wizard.getRemoteServer().getSession());
                   
                    List<PluginInfo> pluginsMissing = new ArrayList<PluginInfo>();
                    Map<PluginInfo, PluginInfo> pluginsDifferent = new HashMap<PluginInfo, PluginInfo>();
                    for (PluginInfo localInfo: localPluginInfos) {
                        if (localInfo.isActive() && localInfo.isValid() && !localInfo.isPlatformPlugin()) {
                            PluginInfo remoteInfo = retrieveActiveByUniqueName(remotePluginInfos, localInfo.getUniqueName());
                            if (remoteInfo == null) {
                                pluginsMissing.add(localInfo);
                            } else {
                                if (!remoteInfo.getVersion().equals(localInfo.getVersion())) {
                                    pluginsDifferent.put(localInfo, remoteInfo);
                                }
                            }
                        }
                    }
                   
                    taskStatus.setSeverityLabel(pluginsMissing.size() + " missing, " + pluginsDifferent.size() + " different");
                    if (!pluginsMissing.isEmpty() || !pluginsDifferent.isEmpty()) {
                        taskStatus.setSeverity(TaskStatus.WARNING);                       
                        StringBuffer status = new StringBuffer();
                        if (!pluginsMissing.isEmpty()) {                           
                            status.append("The following plugins are missing on the remote server:\n");                          
                            for (int i=0; i < pluginsMissing.size(); i++) {
                                PluginInfo info = pluginsMissing.get(i);
                                status.append("- " + info.getUniqueName() + " (" + info.getVersion() ")");
                                status.append("\n");
                            }
                           
                        }
                        if (!pluginsDifferent.isEmpty()) {
                            status.append("The following plugins have different versions on the remote server:\n");
                            Iterator<PluginInfo> localInfos = pluginsDifferent.keySet().iterator();
                            while (localInfos.hasNext()) {
                                PluginInfo info = localInfos.next();
                                PluginInfo remote = pluginsDifferent.get(info);
                                status.append("- " + info.getUniqueName() + " (" + info.getVersion() + " != " + remote.getVersion() + ")");
                                status.append("\n");
                            }
                        }
                        taskStatus.setMessage(status.toString());
                    } else {
                        taskStatus.setSeverity(TaskStatus.OK);
                    }
                } catch (Exception e) {
                    taskStatus.setSeverity(TaskStatus.ERROR);
                    taskStatus.setMessage("Error occured during plugin compare.");
                    taskStatus.setException(e);
                } finally {
                    _multiTaskStatusControl.update(taskStatus);
                }               
               
                setPageComplete(canFinish);
View Full Code Here

TOP

Related Classes of de.innovationgate.eclipse.utils.ui.model.TaskStatus

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.