Loading TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/businesslayer/CredentialsConfiguration.java 0 → 100644 +54 −0 Original line number Diff line number Diff line package it.inaf.oats.ia2.tapschemamanager.businesslayer; import it.inaf.oats.ia2.tapschemamanager.datalayer.Credentials; 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.XmlElements; import javax.xml.bind.annotation.XmlRootElement; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ @XmlRootElement(name = "credentials-config") public class CredentialsConfiguration { private String password; private List<Object> credentialsInfo; public CredentialsConfiguration() { credentialsInfo = new ArrayList<Object>(); } public void addCredentials(Credentials credentials) { credentialsInfo.add(credentials); } public void addSeparateCredentials(SeparateCredentials separateCredentials) { credentialsInfo.add(separateCredentials); } @XmlElements({ @XmlElement(name = "credentials", type = Credentials.class), @XmlElement(name = "separate-credentials", type = SeparateCredentials.class) }) public List<Object> getCredentialsInfo() { return credentialsInfo; } private void setCredentialsInfo(List<Object> credentialsInfo) { this.credentialsInfo = credentialsInfo; } @XmlAttribute(name = "password") public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/businesslayer/CredentialsConfigurationBean.java 0 → 100644 +14 −0 Original line number Diff line number Diff line /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package it.inaf.oats.ia2.tapschemamanager.businesslayer; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ public class CredentialsConfigurationBean { } TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/businesslayer/SeparateCredentials.java 0 → 100644 +41 −0 Original line number Diff line number Diff line package it.inaf.oats.ia2.tapschemamanager.businesslayer; import it.inaf.oats.ia2.tapschemamanager.datalayer.Credentials; import javax.xml.bind.annotation.XmlElement; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ public class SeparateCredentials { private Credentials sourceCredentials; private Credentials tapSchemaCredentials; public SeparateCredentials() { } public SeparateCredentials(Credentials sourceCredentials, Credentials tapSchemaCredentials) { this.sourceCredentials = sourceCredentials; this.tapSchemaCredentials = tapSchemaCredentials; } @XmlElement(name = "source-credentials") public Credentials getSourceCredentials() { return sourceCredentials; } public void setSourceCredentials(Credentials sourceCredentials) { this.sourceCredentials = sourceCredentials; } @XmlElement(name = "tap-schema-credentials") public Credentials getTapSchemaCredentials() { return tapSchemaCredentials; } public void setTapSchemaCredentials(Credentials tapSchemaCredentials) { this.tapSchemaCredentials = tapSchemaCredentials; } } TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/webapp/CredentialsBean.java +102 −14 Original line number Diff line number Diff line package it.inaf.oats.ia2.tapschemamanager.webapp; import it.inaf.oats.ia2.tapschemamanager.businesslayer.SeparateCredentials; import it.inaf.oats.ia2.tapschemamanager.datalayer.Credentials; import it.inaf.oats.ia2.tapschemamanager.datalayer.DBWrapper; import java.io.IOException; import java.io.Serializable; import java.sql.SQLException; import java.util.List; import javax.annotation.PostConstruct; import javax.enterprise.context.Conversation; import javax.faces.view.ViewScoped; import javax.enterprise.context.SessionScoped; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; import org.apache.log4j.Logger; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ @Named("credentialsInsertion") @ViewScoped @SessionScoped public class CredentialsBean implements Serializable { private static final long serialVersionUID = -2688980249773483198L; private static final Logger log = Logger.getLogger(CredentialsBean.class); private static final Logger log = LoggerFactory.getLogger(CredentialsBean.class); @Inject CredentialsConfigurationBean ccBean; @Inject Conversation conversation; Loading @@ -28,11 +38,14 @@ public class CredentialsBean implements Serializable { @Inject SchemaSelectionBean schemaSelectionBean; private boolean loggedIn; private String adminPassword; private String loginError; private Credentials sourceCredentials; private Credentials tapSchemaCredentials; private boolean separateCredentials; private int currentEditingRow; @PostConstruct public void init() { Loading @@ -46,23 +59,52 @@ public class CredentialsBean implements Serializable { tapSchemaCredentials = new Credentials(); } public void login() { if (adminPassword != null && adminPassword.equals(ccBean.getConfig().getPassword())) { loggedIn = true; } else { FacesContext.getCurrentInstance().addMessage("main:password", new FacesMessage("Invalid credentials")); } } public String getLoginError() { return loginError; } public String login() { System.out.println("login called"); log.info("login called"); public List getSavedCredentials() { return ccBean.getConfig().getCredentialsInfo(); } loginError = null; public void editCredentials(Credentials credentials, int index) { this.sourceCredentials = credentials; separateCredentials = false; currentEditingRow = index; } DBWrapper dbWrapper; if (separateCredentials) { dbWrapper = new DBWrapper(sourceCredentials, tapSchemaCredentials); } else { dbWrapper = new DBWrapper(sourceCredentials); public void editSeparateCredentials(SeparateCredentials separateCredentials, int index) { this.sourceCredentials = separateCredentials.getSourceCredentials(); this.tapSchemaCredentials = separateCredentials.getTapSchemaCredentials(); currentEditingRow = index; } public void addNewCredentials() { separateCredentials = false; this.sourceCredentials = new Credentials(); this.tapSchemaCredentials = new Credentials(); currentEditingRow = ccBean.getConfig().getCredentialsInfo().size(); } public String login(Credentials credentials) { return loginWithDBWrapper(new DBWrapper(credentials)); } public String login(Credentials sourceCredentials, Credentials tapSchemaCredentials) { return loginWithDBWrapper(new DBWrapper(sourceCredentials, tapSchemaCredentials)); } private String loginWithDBWrapper(DBWrapper dbWrapper) { loginError = null; try { dbWrapper.testConnections(); conversation.setTimeout(30 * 60000L); // 30 minutes Loading @@ -76,6 +118,29 @@ public class CredentialsBean implements Serializable { } } public void removeCredentials(int index) throws IOException { ccBean.getConfig().getCredentialsInfo().remove(index); ccBean.updateConfigurationFile(); } public void saveCredentialsEdited() throws IOException { List credentialsList = ccBean.getConfig().getCredentialsInfo(); if (currentEditingRow < credentialsList.size()) { credentialsList.remove(currentEditingRow); } if (separateCredentials) { SeparateCredentials sc = new SeparateCredentials(sourceCredentials, tapSchemaCredentials); credentialsList.add(currentEditingRow, sc); } else { credentialsList.add(currentEditingRow, sourceCredentials); } ccBean.updateConfigurationFile(); } public boolean isSeparateCredentials() { return separateCredentials; } Loading @@ -99,4 +164,27 @@ public class CredentialsBean implements Serializable { public void setTapSchemaCredentials(Credentials tapSchemaCredentials) { 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 void logout() { HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest(); if (request.isRequestedSessionIdValid()) { request.getSession().invalidate(); } } } TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/webapp/CredentialsConfigurationBean.java 0 → 100644 +51 −0 Original line number Diff line number Diff line package it.inaf.oats.ia2.tapschemamanager.webapp; import it.inaf.oats.ia2.tapschemamanager.businesslayer.CredentialsConfiguration; import java.io.File; import java.io.FileWriter; import java.io.IOException; import javax.annotation.PostConstruct; import javax.enterprise.context.ApplicationScoped; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.xml.bind.JAXB; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ @ApplicationScoped public class CredentialsConfigurationBean { private static final Logger log = LoggerFactory.getLogger(CredentialsConfigurationBean.class); private String credentialsConfigPath; private CredentialsConfiguration cc; @PostConstruct public void init() { try { InitialContext ic = new InitialContext(); credentialsConfigPath = (String) ic.lookup("java:comp/env/CREDENTIALS_CONFIG_PATH"); log.debug("CREDENTIALS_CONFIG_PATH={}", credentialsConfigPath); cc = JAXB.unmarshal(new File(credentialsConfigPath), CredentialsConfiguration.class); } catch (NamingException e) { throw new RuntimeException(e); } } public CredentialsConfiguration getConfig() { return cc; } public void updateConfigurationFile() throws IOException { FileWriter fw = new FileWriter(credentialsConfigPath); JAXB.marshal(cc, fw); fw.close(); } } Loading
TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/businesslayer/CredentialsConfiguration.java 0 → 100644 +54 −0 Original line number Diff line number Diff line package it.inaf.oats.ia2.tapschemamanager.businesslayer; import it.inaf.oats.ia2.tapschemamanager.datalayer.Credentials; 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.XmlElements; import javax.xml.bind.annotation.XmlRootElement; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ @XmlRootElement(name = "credentials-config") public class CredentialsConfiguration { private String password; private List<Object> credentialsInfo; public CredentialsConfiguration() { credentialsInfo = new ArrayList<Object>(); } public void addCredentials(Credentials credentials) { credentialsInfo.add(credentials); } public void addSeparateCredentials(SeparateCredentials separateCredentials) { credentialsInfo.add(separateCredentials); } @XmlElements({ @XmlElement(name = "credentials", type = Credentials.class), @XmlElement(name = "separate-credentials", type = SeparateCredentials.class) }) public List<Object> getCredentialsInfo() { return credentialsInfo; } private void setCredentialsInfo(List<Object> credentialsInfo) { this.credentialsInfo = credentialsInfo; } @XmlAttribute(name = "password") public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/businesslayer/CredentialsConfigurationBean.java 0 → 100644 +14 −0 Original line number Diff line number Diff line /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package it.inaf.oats.ia2.tapschemamanager.businesslayer; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ public class CredentialsConfigurationBean { }
TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/businesslayer/SeparateCredentials.java 0 → 100644 +41 −0 Original line number Diff line number Diff line package it.inaf.oats.ia2.tapschemamanager.businesslayer; import it.inaf.oats.ia2.tapschemamanager.datalayer.Credentials; import javax.xml.bind.annotation.XmlElement; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ public class SeparateCredentials { private Credentials sourceCredentials; private Credentials tapSchemaCredentials; public SeparateCredentials() { } public SeparateCredentials(Credentials sourceCredentials, Credentials tapSchemaCredentials) { this.sourceCredentials = sourceCredentials; this.tapSchemaCredentials = tapSchemaCredentials; } @XmlElement(name = "source-credentials") public Credentials getSourceCredentials() { return sourceCredentials; } public void setSourceCredentials(Credentials sourceCredentials) { this.sourceCredentials = sourceCredentials; } @XmlElement(name = "tap-schema-credentials") public Credentials getTapSchemaCredentials() { return tapSchemaCredentials; } public void setTapSchemaCredentials(Credentials tapSchemaCredentials) { this.tapSchemaCredentials = tapSchemaCredentials; } }
TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/webapp/CredentialsBean.java +102 −14 Original line number Diff line number Diff line package it.inaf.oats.ia2.tapschemamanager.webapp; import it.inaf.oats.ia2.tapschemamanager.businesslayer.SeparateCredentials; import it.inaf.oats.ia2.tapschemamanager.datalayer.Credentials; import it.inaf.oats.ia2.tapschemamanager.datalayer.DBWrapper; import java.io.IOException; import java.io.Serializable; import java.sql.SQLException; import java.util.List; import javax.annotation.PostConstruct; import javax.enterprise.context.Conversation; import javax.faces.view.ViewScoped; import javax.enterprise.context.SessionScoped; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; import org.apache.log4j.Logger; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ @Named("credentialsInsertion") @ViewScoped @SessionScoped public class CredentialsBean implements Serializable { private static final long serialVersionUID = -2688980249773483198L; private static final Logger log = Logger.getLogger(CredentialsBean.class); private static final Logger log = LoggerFactory.getLogger(CredentialsBean.class); @Inject CredentialsConfigurationBean ccBean; @Inject Conversation conversation; Loading @@ -28,11 +38,14 @@ public class CredentialsBean implements Serializable { @Inject SchemaSelectionBean schemaSelectionBean; private boolean loggedIn; private String adminPassword; private String loginError; private Credentials sourceCredentials; private Credentials tapSchemaCredentials; private boolean separateCredentials; private int currentEditingRow; @PostConstruct public void init() { Loading @@ -46,23 +59,52 @@ public class CredentialsBean implements Serializable { tapSchemaCredentials = new Credentials(); } public void login() { if (adminPassword != null && adminPassword.equals(ccBean.getConfig().getPassword())) { loggedIn = true; } else { FacesContext.getCurrentInstance().addMessage("main:password", new FacesMessage("Invalid credentials")); } } public String getLoginError() { return loginError; } public String login() { System.out.println("login called"); log.info("login called"); public List getSavedCredentials() { return ccBean.getConfig().getCredentialsInfo(); } loginError = null; public void editCredentials(Credentials credentials, int index) { this.sourceCredentials = credentials; separateCredentials = false; currentEditingRow = index; } DBWrapper dbWrapper; if (separateCredentials) { dbWrapper = new DBWrapper(sourceCredentials, tapSchemaCredentials); } else { dbWrapper = new DBWrapper(sourceCredentials); public void editSeparateCredentials(SeparateCredentials separateCredentials, int index) { this.sourceCredentials = separateCredentials.getSourceCredentials(); this.tapSchemaCredentials = separateCredentials.getTapSchemaCredentials(); currentEditingRow = index; } public void addNewCredentials() { separateCredentials = false; this.sourceCredentials = new Credentials(); this.tapSchemaCredentials = new Credentials(); currentEditingRow = ccBean.getConfig().getCredentialsInfo().size(); } public String login(Credentials credentials) { return loginWithDBWrapper(new DBWrapper(credentials)); } public String login(Credentials sourceCredentials, Credentials tapSchemaCredentials) { return loginWithDBWrapper(new DBWrapper(sourceCredentials, tapSchemaCredentials)); } private String loginWithDBWrapper(DBWrapper dbWrapper) { loginError = null; try { dbWrapper.testConnections(); conversation.setTimeout(30 * 60000L); // 30 minutes Loading @@ -76,6 +118,29 @@ public class CredentialsBean implements Serializable { } } public void removeCredentials(int index) throws IOException { ccBean.getConfig().getCredentialsInfo().remove(index); ccBean.updateConfigurationFile(); } public void saveCredentialsEdited() throws IOException { List credentialsList = ccBean.getConfig().getCredentialsInfo(); if (currentEditingRow < credentialsList.size()) { credentialsList.remove(currentEditingRow); } if (separateCredentials) { SeparateCredentials sc = new SeparateCredentials(sourceCredentials, tapSchemaCredentials); credentialsList.add(currentEditingRow, sc); } else { credentialsList.add(currentEditingRow, sourceCredentials); } ccBean.updateConfigurationFile(); } public boolean isSeparateCredentials() { return separateCredentials; } Loading @@ -99,4 +164,27 @@ public class CredentialsBean implements Serializable { public void setTapSchemaCredentials(Credentials tapSchemaCredentials) { 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 void logout() { HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest(); if (request.isRequestedSessionIdValid()) { request.getSession().invalidate(); } } }
TapSchemaManager/src/main/java/it/inaf/oats/ia2/tapschemamanager/webapp/CredentialsConfigurationBean.java 0 → 100644 +51 −0 Original line number Diff line number Diff line package it.inaf.oats.ia2.tapschemamanager.webapp; import it.inaf.oats.ia2.tapschemamanager.businesslayer.CredentialsConfiguration; import java.io.File; import java.io.FileWriter; import java.io.IOException; import javax.annotation.PostConstruct; import javax.enterprise.context.ApplicationScoped; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.xml.bind.JAXB; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * * @author Sonia Zorba <zorba at oats.inaf.it> */ @ApplicationScoped public class CredentialsConfigurationBean { private static final Logger log = LoggerFactory.getLogger(CredentialsConfigurationBean.class); private String credentialsConfigPath; private CredentialsConfiguration cc; @PostConstruct public void init() { try { InitialContext ic = new InitialContext(); credentialsConfigPath = (String) ic.lookup("java:comp/env/CREDENTIALS_CONFIG_PATH"); log.debug("CREDENTIALS_CONFIG_PATH={}", credentialsConfigPath); cc = JAXB.unmarshal(new File(credentialsConfigPath), CredentialsConfiguration.class); } catch (NamingException e) { throw new RuntimeException(e); } } public CredentialsConfiguration getConfig() { return cc; } public void updateConfigurationFile() throws IOException { FileWriter fw = new FileWriter(credentialsConfigPath); JAXB.marshal(cc, fw); fw.close(); } }