Loading TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/Configuration.javadeleted 100644 → 0 +0 −55 Original line number Diff line number Diff line package it.inaf.ia2.tsm.webapp; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; /** * JAXB model for TSM web application configuration. * * @author Sonia Zorba {@literal <zorba at oats.inaf.it>} */ @XmlRootElement(name = "configuration") public class Configuration { private CredentialsConfiguration credentialsConfiguration; private List<String> customUCDs; private String version; public Configuration() { version = Version.NUMBER; credentialsConfiguration = new CredentialsConfiguration(); customUCDs = new ArrayList<>(); } @XmlElement(name = "credentials-config") public CredentialsConfiguration getCredentialsConfiguration() { return credentialsConfiguration; } public void setCredentialsConfiguration(CredentialsConfiguration credentialsConfiguration) { this.credentialsConfiguration = credentialsConfiguration; } @XmlElementWrapper(name = "custom-ucds") @XmlElement(name = "ucd") public List<String> getCustomUCDs() { return customUCDs; } public void setCustomUCDs(List<String> customUCDs) { this.customUCDs = customUCDs; } @XmlAttribute(name = "version") public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } } TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/WebAppConfigurationBean.java→TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/ConfigurationData.java +18 −44 Original line number Diff line number Diff line Loading @@ -22,33 +22,31 @@ */ package it.inaf.ia2.tsm.webapp; import ari.ucidy.UCDSyntax; import ari.ucidy.UCDWord; import ari.ucidy.UCDWordList; import it.inaf.ia2.tsm.webapp.xmlconfig.Configuration; import it.inaf.ia2.tsm.webapp.xmlconfig.UserConfiguration; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import javax.annotation.PostConstruct; import javax.enterprise.context.ApplicationScoped; import javax.faces.context.FacesContext; import javax.inject.Named; import javax.xml.bind.JAXB; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; /** * * @author Sonia Zorba {@literal <zorba at oats.inaf.it>} */ @Named("config") @ApplicationScoped public class WebAppConfigurationBean { public class ConfigurationData { private static final Logger LOG = LoggerFactory.getLogger(WebAppConfigurationBean.class); private static final Logger LOG = LoggerFactory.getLogger(ConfigurationData.class); private File configFile; private String password; private Configuration configuration; @PostConstruct Loading @@ -59,7 +57,6 @@ public class WebAppConfigurationBean { prop.load(in); } configFile = new File(prop.getProperty("config_file_path")); password = prop.getProperty("password"); if (!configFile.exists()) { Loading @@ -72,21 +69,15 @@ public class WebAppConfigurationBean { } else { configuration = getOldConfigurationUpdated(configFile); if (configuration != null) { updateConfigurationFile(); } else { // Configuration file was ok, simply unmarshal it // Configuration file exists, simply unmarshal it configuration = JAXB.unmarshal(configFile, Configuration.class); } } } catch (IOException e) { throw new ExceptionInInitializerError(e); } } public Configuration getConfig() { public Configuration getData() { return configuration; } Loading @@ -94,33 +85,16 @@ public class WebAppConfigurationBean { JAXB.marshal(configuration, configFile); } public String getPassword() { return password; public synchronized void addUser(UserConfiguration user) throws IOException { configuration.getUsers().add(user); updateConfigurationFile(); } /** * Checking for old configuration and updating configuration model, if * necessary. This method returns null if no update is necessary. */ private Configuration getOldConfigurationUpdated(File file) throws IOException { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(file); String nodeName = doc.getDocumentElement().getNodeName(); if (nodeName.equals("credentials-config")) { LOG.debug("Detected version 1.0.3 or lower. Extracting CredentialsConfiguration and updating the XML model."); CredentialsConfiguration cc = JAXB.unmarshal(file, CredentialsConfiguration.class); Configuration updatedConfiguration = new Configuration(); updatedConfiguration.setCredentialsConfiguration(cc); return updatedConfiguration; public String getRestPath() { return FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "/rest"; } // Currently for version 1.0.4+ no updated are necessary. return null; } catch (Throwable t) { LOG.warn("Unable to parse XML configuration. Deleting it and creating a new empy one."); return new Configuration(); } public String getVersion() { return Version.NUMBER; } } TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/CredentialsDialogResource.java 0 → 100644 +48 −0 Original line number Diff line number Diff line /* * _____________________________________________________________________________ * * INAF - OATS National Institute for Astrophysics - Astronomical Observatory of * Trieste INAF - IA2 Italian Center for Astronomical Archives * _____________________________________________________________________________ * * Copyright (C) 2017 Istituto Nazionale di Astrofisica * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License Version 3 as published by the * Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 51 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package it.inaf.ia2.tsm.webapp; import javax.ws.rs.Path; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.ws.rs.POST; import javax.ws.rs.QueryParam; /** * REST Web Service for setting opening dialog status using JavaScript. This is * necessary to conditionally disable JSF validation when dialog is closed. * * @author Sonia Zorba <zorba at oats.inaf.it> */ @Path("credentialsDialog") @RequestScoped public class CredentialsDialogResource { @Inject CredentialsEditing credentialsEditing; @POST public void setOpened(@QueryParam("opened") boolean opened) { credentialsEditing.setCredentialsDialogOpened(opened); } } TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/CredentialsBean.java→TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/CredentialsEditing.java +28 −58 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ package it.inaf.ia2.tsm.webapp; import it.inaf.ia2.tsm.api.Credentials; import it.inaf.ia2.tsm.api.DBWrapper; import it.inaf.ia2.tsm.webapp.xmlconfig.UserConfiguration; import java.io.IOException; import java.io.Serializable; import java.sql.SQLException; Loading @@ -31,11 +32,8 @@ import java.util.List; import javax.annotation.PostConstruct; import javax.enterprise.context.Conversation; import javax.enterprise.context.SessionScoped; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; Loading @@ -45,23 +43,24 @@ import org.slf4j.LoggerFactory; */ @Named("credentialsInsertion") @SessionScoped public class CredentialsBean implements Serializable { public class CredentialsEditing implements Serializable { private static final long serialVersionUID = -2688980249773483198L; private static final Logger log = LoggerFactory.getLogger(CredentialsBean.class); private static final Logger LOG = LoggerFactory.getLogger(CredentialsEditing.class); @Inject WebAppConfigurationBean ccBean; private User user; @Inject private ConfigurationData config; @Inject Conversation conversation; @Inject SchemaSelectionBean schemaSelectionBean; private SchemaSelectionBean schemaSelectionBean; private boolean loggedIn; private String adminPassword; private String loginError; private boolean credentialsDialogOpened; private Credentials sourceCredentials; private Credentials tapSchemaCredentials; Loading @@ -70,30 +69,20 @@ public class CredentialsBean implements Serializable { @PostConstruct public void init() { log.debug("CredentialsBean created"); if (!conversation.isTransient()) { conversation.end(); } sourceCredentials = new Credentials(); tapSchemaCredentials = new Credentials(); } public void login() { if (adminPassword != null && adminPassword.equals(ccBean.getPassword())) { loggedIn = true; } else { FacesContext.getCurrentInstance().addMessage("main:password", new FacesMessage("Invalid credentials")); } } for (UserConfiguration u : config.getData().getUsers()) { public String getLoginError() { return loginError; } } public List getSavedCredentials() { return ccBean.getConfig().getCredentialsConfiguration().getCredentialsInfo(); return user.getUserConfiguration().getCredentialsInfo(); } public void editCredentials(Credentials credentials, int index) { Loading @@ -113,21 +102,20 @@ public class CredentialsBean implements Serializable { separateCredentials = false; this.sourceCredentials = new Credentials(); this.tapSchemaCredentials = new Credentials(); currentEditingRow = ccBean.getConfig().getCredentialsConfiguration().getCredentialsInfo().size(); currentEditingRow = getSavedCredentials().size(); } public String loginWithSingleCredentials(Credentials credentials) { log.debug("Login with single credentials"); LOG.debug("Login with single credentials"); return loginWithDBWrapper(new DBWrapper(credentials)); } public String loginWithSeparatedCredentials(Credentials sourceCredentials, Credentials tapSchemaCredentials) { log.debug("Login with separated credentials"); LOG.debug("Login with separated credentials"); return loginWithDBWrapper(new DBWrapper(sourceCredentials, tapSchemaCredentials)); } private String loginWithDBWrapper(DBWrapper dbWrapper) { loginError = null; try { dbWrapper.testConnections(); Loading @@ -136,33 +124,31 @@ public class CredentialsBean implements Serializable { schemaSelectionBean.setDbWrapper(dbWrapper); return "schemaSelection.xhtml?faces-redirect=true"; } catch (SQLException e) { log.error("Exception caught", e); loginError = "Connection error: " + e.getMessage(); LOG.error("Exception caught", e); //loginError = "Connection error: " + e.getMessage(); return null; } } public void removeCredentials(int index) throws IOException { ccBean.getConfig().getCredentialsConfiguration().getCredentialsInfo().remove(index); ccBean.updateConfigurationFile(); getSavedCredentials().remove(index); config.updateConfigurationFile(); } public void saveCredentialsEdited() throws IOException { List credentialsList = ccBean.getConfig().getCredentialsConfiguration().getCredentialsInfo(); if (currentEditingRow < credentialsList.size()) { credentialsList.remove(currentEditingRow); if (currentEditingRow < getSavedCredentials().size()) { getSavedCredentials().remove(currentEditingRow); } if (separateCredentials) { SeparateCredentials sc = new SeparateCredentials(sourceCredentials, tapSchemaCredentials); credentialsList.add(currentEditingRow, sc); getSavedCredentials().add(currentEditingRow, sc); } else { credentialsList.add(currentEditingRow, sourceCredentials); getSavedCredentials().add(currentEditingRow, sourceCredentials); } ccBean.updateConfigurationFile(); config.updateConfigurationFile(); } public boolean isSeparateCredentials() { Loading @@ -189,27 +175,11 @@ public class CredentialsBean implements Serializable { this.tapSchemaCredentials = tapSchemaCredentials; } public String getAdminPassword() { return adminPassword; } public void setAdminPassword(String adminPassword) { this.adminPassword = adminPassword; } public boolean isLoggedIn() { return loggedIn; } public void setLoggedIn(boolean loggedIn) { this.loggedIn = loggedIn; public boolean isCredentialsDialogOpened() { return credentialsDialogOpened; } public String logout() { HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest(); if (request.isRequestedSessionIdValid()) { request.getSession().invalidate(); } return "index.xhtml?faces-redirect=true"; public void setCredentialsDialogOpened(boolean credentialsDialogOpened) { this.credentialsDialogOpened = credentialsDialogOpened; } } TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/FirstSetup.java 0 → 100644 +65 −0 Original line number Diff line number Diff line package it.inaf.ia2.tsm.webapp; import it.inaf.ia2.tsm.webapp.xmlconfig.UserConfiguration; import java.io.IOException; import javax.enterprise.context.RequestScoped; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ @Named @RequestScoped public class FirstSetup { @Inject ConfigurationData config; private String adminUsername; private String adminPassword; private String adminPasswordConfirm; public String createAdmin() throws IOException { if (adminPassword.equals(adminPasswordConfirm)) { UserConfiguration userConfig = new UserConfiguration(); userConfig.setUsername(adminUsername); userConfig.setPassword(adminPassword); userConfig.setRole("admin"); config.addUser(userConfig); return "index.xhtml?faces-redirect=true"; } else { FacesContext.getCurrentInstance().addMessage("admin-password-confirm", new FacesMessage("Passwords don't match")); } return null; } public String getAdminUsername() { return adminUsername; } public void setAdminUsername(String adminUsername) { this.adminUsername = adminUsername; } public String getAdminPassword() { return adminPassword; } public void setAdminPassword(String adminPassword) { this.adminPassword = adminPassword; } public String getAdminPasswordConfirm() { return adminPasswordConfirm; } public void setAdminPasswordConfirm(String adminPasswordConfirm) { this.adminPasswordConfirm = adminPasswordConfirm; } } Loading
TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/Configuration.javadeleted 100644 → 0 +0 −55 Original line number Diff line number Diff line package it.inaf.ia2.tsm.webapp; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; /** * JAXB model for TSM web application configuration. * * @author Sonia Zorba {@literal <zorba at oats.inaf.it>} */ @XmlRootElement(name = "configuration") public class Configuration { private CredentialsConfiguration credentialsConfiguration; private List<String> customUCDs; private String version; public Configuration() { version = Version.NUMBER; credentialsConfiguration = new CredentialsConfiguration(); customUCDs = new ArrayList<>(); } @XmlElement(name = "credentials-config") public CredentialsConfiguration getCredentialsConfiguration() { return credentialsConfiguration; } public void setCredentialsConfiguration(CredentialsConfiguration credentialsConfiguration) { this.credentialsConfiguration = credentialsConfiguration; } @XmlElementWrapper(name = "custom-ucds") @XmlElement(name = "ucd") public List<String> getCustomUCDs() { return customUCDs; } public void setCustomUCDs(List<String> customUCDs) { this.customUCDs = customUCDs; } @XmlAttribute(name = "version") public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } }
TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/WebAppConfigurationBean.java→TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/ConfigurationData.java +18 −44 Original line number Diff line number Diff line Loading @@ -22,33 +22,31 @@ */ package it.inaf.ia2.tsm.webapp; import ari.ucidy.UCDSyntax; import ari.ucidy.UCDWord; import ari.ucidy.UCDWordList; import it.inaf.ia2.tsm.webapp.xmlconfig.Configuration; import it.inaf.ia2.tsm.webapp.xmlconfig.UserConfiguration; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import javax.annotation.PostConstruct; import javax.enterprise.context.ApplicationScoped; import javax.faces.context.FacesContext; import javax.inject.Named; import javax.xml.bind.JAXB; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; /** * * @author Sonia Zorba {@literal <zorba at oats.inaf.it>} */ @Named("config") @ApplicationScoped public class WebAppConfigurationBean { public class ConfigurationData { private static final Logger LOG = LoggerFactory.getLogger(WebAppConfigurationBean.class); private static final Logger LOG = LoggerFactory.getLogger(ConfigurationData.class); private File configFile; private String password; private Configuration configuration; @PostConstruct Loading @@ -59,7 +57,6 @@ public class WebAppConfigurationBean { prop.load(in); } configFile = new File(prop.getProperty("config_file_path")); password = prop.getProperty("password"); if (!configFile.exists()) { Loading @@ -72,21 +69,15 @@ public class WebAppConfigurationBean { } else { configuration = getOldConfigurationUpdated(configFile); if (configuration != null) { updateConfigurationFile(); } else { // Configuration file was ok, simply unmarshal it // Configuration file exists, simply unmarshal it configuration = JAXB.unmarshal(configFile, Configuration.class); } } } catch (IOException e) { throw new ExceptionInInitializerError(e); } } public Configuration getConfig() { public Configuration getData() { return configuration; } Loading @@ -94,33 +85,16 @@ public class WebAppConfigurationBean { JAXB.marshal(configuration, configFile); } public String getPassword() { return password; public synchronized void addUser(UserConfiguration user) throws IOException { configuration.getUsers().add(user); updateConfigurationFile(); } /** * Checking for old configuration and updating configuration model, if * necessary. This method returns null if no update is necessary. */ private Configuration getOldConfigurationUpdated(File file) throws IOException { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(file); String nodeName = doc.getDocumentElement().getNodeName(); if (nodeName.equals("credentials-config")) { LOG.debug("Detected version 1.0.3 or lower. Extracting CredentialsConfiguration and updating the XML model."); CredentialsConfiguration cc = JAXB.unmarshal(file, CredentialsConfiguration.class); Configuration updatedConfiguration = new Configuration(); updatedConfiguration.setCredentialsConfiguration(cc); return updatedConfiguration; public String getRestPath() { return FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath() + "/rest"; } // Currently for version 1.0.4+ no updated are necessary. return null; } catch (Throwable t) { LOG.warn("Unable to parse XML configuration. Deleting it and creating a new empy one."); return new Configuration(); } public String getVersion() { return Version.NUMBER; } }
TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/CredentialsDialogResource.java 0 → 100644 +48 −0 Original line number Diff line number Diff line /* * _____________________________________________________________________________ * * INAF - OATS National Institute for Astrophysics - Astronomical Observatory of * Trieste INAF - IA2 Italian Center for Astronomical Archives * _____________________________________________________________________________ * * Copyright (C) 2017 Istituto Nazionale di Astrofisica * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License Version 3 as published by the * Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 51 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package it.inaf.ia2.tsm.webapp; import javax.ws.rs.Path; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.ws.rs.POST; import javax.ws.rs.QueryParam; /** * REST Web Service for setting opening dialog status using JavaScript. This is * necessary to conditionally disable JSF validation when dialog is closed. * * @author Sonia Zorba <zorba at oats.inaf.it> */ @Path("credentialsDialog") @RequestScoped public class CredentialsDialogResource { @Inject CredentialsEditing credentialsEditing; @POST public void setOpened(@QueryParam("opened") boolean opened) { credentialsEditing.setCredentialsDialogOpened(opened); } }
TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/CredentialsBean.java→TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/CredentialsEditing.java +28 −58 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ package it.inaf.ia2.tsm.webapp; import it.inaf.ia2.tsm.api.Credentials; import it.inaf.ia2.tsm.api.DBWrapper; import it.inaf.ia2.tsm.webapp.xmlconfig.UserConfiguration; import java.io.IOException; import java.io.Serializable; import java.sql.SQLException; Loading @@ -31,11 +32,8 @@ import java.util.List; import javax.annotation.PostConstruct; import javax.enterprise.context.Conversation; import javax.enterprise.context.SessionScoped; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; Loading @@ -45,23 +43,24 @@ import org.slf4j.LoggerFactory; */ @Named("credentialsInsertion") @SessionScoped public class CredentialsBean implements Serializable { public class CredentialsEditing implements Serializable { private static final long serialVersionUID = -2688980249773483198L; private static final Logger log = LoggerFactory.getLogger(CredentialsBean.class); private static final Logger LOG = LoggerFactory.getLogger(CredentialsEditing.class); @Inject WebAppConfigurationBean ccBean; private User user; @Inject private ConfigurationData config; @Inject Conversation conversation; @Inject SchemaSelectionBean schemaSelectionBean; private SchemaSelectionBean schemaSelectionBean; private boolean loggedIn; private String adminPassword; private String loginError; private boolean credentialsDialogOpened; private Credentials sourceCredentials; private Credentials tapSchemaCredentials; Loading @@ -70,30 +69,20 @@ public class CredentialsBean implements Serializable { @PostConstruct public void init() { log.debug("CredentialsBean created"); if (!conversation.isTransient()) { conversation.end(); } sourceCredentials = new Credentials(); tapSchemaCredentials = new Credentials(); } public void login() { if (adminPassword != null && adminPassword.equals(ccBean.getPassword())) { loggedIn = true; } else { FacesContext.getCurrentInstance().addMessage("main:password", new FacesMessage("Invalid credentials")); } } for (UserConfiguration u : config.getData().getUsers()) { public String getLoginError() { return loginError; } } public List getSavedCredentials() { return ccBean.getConfig().getCredentialsConfiguration().getCredentialsInfo(); return user.getUserConfiguration().getCredentialsInfo(); } public void editCredentials(Credentials credentials, int index) { Loading @@ -113,21 +102,20 @@ public class CredentialsBean implements Serializable { separateCredentials = false; this.sourceCredentials = new Credentials(); this.tapSchemaCredentials = new Credentials(); currentEditingRow = ccBean.getConfig().getCredentialsConfiguration().getCredentialsInfo().size(); currentEditingRow = getSavedCredentials().size(); } public String loginWithSingleCredentials(Credentials credentials) { log.debug("Login with single credentials"); LOG.debug("Login with single credentials"); return loginWithDBWrapper(new DBWrapper(credentials)); } public String loginWithSeparatedCredentials(Credentials sourceCredentials, Credentials tapSchemaCredentials) { log.debug("Login with separated credentials"); LOG.debug("Login with separated credentials"); return loginWithDBWrapper(new DBWrapper(sourceCredentials, tapSchemaCredentials)); } private String loginWithDBWrapper(DBWrapper dbWrapper) { loginError = null; try { dbWrapper.testConnections(); Loading @@ -136,33 +124,31 @@ public class CredentialsBean implements Serializable { schemaSelectionBean.setDbWrapper(dbWrapper); return "schemaSelection.xhtml?faces-redirect=true"; } catch (SQLException e) { log.error("Exception caught", e); loginError = "Connection error: " + e.getMessage(); LOG.error("Exception caught", e); //loginError = "Connection error: " + e.getMessage(); return null; } } public void removeCredentials(int index) throws IOException { ccBean.getConfig().getCredentialsConfiguration().getCredentialsInfo().remove(index); ccBean.updateConfigurationFile(); getSavedCredentials().remove(index); config.updateConfigurationFile(); } public void saveCredentialsEdited() throws IOException { List credentialsList = ccBean.getConfig().getCredentialsConfiguration().getCredentialsInfo(); if (currentEditingRow < credentialsList.size()) { credentialsList.remove(currentEditingRow); if (currentEditingRow < getSavedCredentials().size()) { getSavedCredentials().remove(currentEditingRow); } if (separateCredentials) { SeparateCredentials sc = new SeparateCredentials(sourceCredentials, tapSchemaCredentials); credentialsList.add(currentEditingRow, sc); getSavedCredentials().add(currentEditingRow, sc); } else { credentialsList.add(currentEditingRow, sourceCredentials); getSavedCredentials().add(currentEditingRow, sourceCredentials); } ccBean.updateConfigurationFile(); config.updateConfigurationFile(); } public boolean isSeparateCredentials() { Loading @@ -189,27 +175,11 @@ public class CredentialsBean implements Serializable { this.tapSchemaCredentials = tapSchemaCredentials; } public String getAdminPassword() { return adminPassword; } public void setAdminPassword(String adminPassword) { this.adminPassword = adminPassword; } public boolean isLoggedIn() { return loggedIn; } public void setLoggedIn(boolean loggedIn) { this.loggedIn = loggedIn; public boolean isCredentialsDialogOpened() { return credentialsDialogOpened; } public String logout() { HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest(); if (request.isRequestedSessionIdValid()) { request.getSession().invalidate(); } return "index.xhtml?faces-redirect=true"; public void setCredentialsDialogOpened(boolean credentialsDialogOpened) { this.credentialsDialogOpened = credentialsDialogOpened; } }
TapSchemaManagerWebApp/src/main/java/it/inaf/ia2/tsm/webapp/FirstSetup.java 0 → 100644 +65 −0 Original line number Diff line number Diff line package it.inaf.ia2.tsm.webapp; import it.inaf.ia2.tsm.webapp.xmlconfig.UserConfiguration; import java.io.IOException; import javax.enterprise.context.RequestScoped; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ @Named @RequestScoped public class FirstSetup { @Inject ConfigurationData config; private String adminUsername; private String adminPassword; private String adminPasswordConfirm; public String createAdmin() throws IOException { if (adminPassword.equals(adminPasswordConfirm)) { UserConfiguration userConfig = new UserConfiguration(); userConfig.setUsername(adminUsername); userConfig.setPassword(adminPassword); userConfig.setRole("admin"); config.addUser(userConfig); return "index.xhtml?faces-redirect=true"; } else { FacesContext.getCurrentInstance().addMessage("admin-password-confirm", new FacesMessage("Passwords don't match")); } return null; } public String getAdminUsername() { return adminUsername; } public void setAdminUsername(String adminUsername) { this.adminUsername = adminUsername; } public String getAdminPassword() { return adminPassword; } public void setAdminPassword(String adminPassword) { this.adminPassword = adminPassword; } public String getAdminPasswordConfirm() { return adminPasswordConfirm; } public void setAdminPasswordConfirm(String adminPasswordConfirm) { this.adminPasswordConfirm = adminPasswordConfirm; } }