package org.safehaus.penrose.studio.server.wizard; import org.eclipse.jface.wizard.Wizard; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.safehaus.penrose.studio.server.ServerConfig; import org.safehaus.penrose.studio.PenroseStudio; import org.safehaus.penrose.studio.dialog.ErrorDialog; import org.safehaus.penrose.studio.util.ApplicationConfig; /** * @author Endi Sukma Dewata */ public class AddServerWizard extends Wizard { Logger log = LoggerFactory.getLogger(getClass()); ServerWizardPage propertiesPage; ServerConfig serverConfig; public AddServerWizard() { setWindowTitle("New Server"); } public void addPages() { propertiesPage = new ServerWizardPage(); propertiesPage.setServerName(serverConfig.getName()); propertiesPage.setType(serverConfig.getType()); propertiesPage.setHost(serverConfig.getHost()); propertiesPage.setPort(""+serverConfig.getPort()); propertiesPage.setBindDn(serverConfig.getUsername()); propertiesPage.setBindPassword(serverConfig.getPassword()); addPage(propertiesPage); } public boolean canFinish() { return true; } public boolean performFinish() { try { serverConfig.setName(propertiesPage.getServerName()); serverConfig.setType(propertiesPage.getType()); serverConfig.setHost(propertiesPage.getHost()); String port = propertiesPage.getPort(); serverConfig.setPort(port == null ? 0 : Integer.parseInt(port)); serverConfig.setUsername(propertiesPage.getBindDn()); serverConfig.setPassword(propertiesPage.getBindPassword()); PenroseStudio penroseStudio = PenroseStudio.getInstance(); ApplicationConfig applicationConfig = penroseStudio.getApplicationConfig(); applicationConfig.addServerConfig(serverConfig); penroseStudio.store(); return true; } catch (Exception e) { log.error(e.getMessage(), e); ErrorDialog.open(e.getMessage()); return false; } } public boolean needsPreviousAndNextButtons() { return true; } public ServerConfig getServerConfig() { return serverConfig; } public void setServerConfig(ServerConfig serverConfig) { this.serverConfig = serverConfig; } }