Skip to content
CredentialsBean.java 2.8 KiB
Newer Older
package it.inaf.oats.ia2.tapschemamanager.webapp;

import it.inaf.oats.ia2.tapschemamanager.datalayer.Credentials;
import it.inaf.oats.ia2.tapschemamanager.datalayer.DBWrapper;
import java.io.Serializable;
import java.sql.SQLException;
import javax.annotation.PostConstruct;
import javax.enterprise.context.Conversation;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.apache.log4j.Logger;

/**
 *
 * @author Sonia Zorba <zorba at oats.inaf.it>
 */
@Named("credentialsInsertion")
public class CredentialsBean implements Serializable {
    private static final long serialVersionUID = -2688980249773483198L;
    private static final Logger log = Logger.getLogger(CredentialsBean.class);

    @Inject
    Conversation conversation;

    @Inject
    SchemaSelectionBean schemaSelectionBean;

    private String loginError;

    private Credentials sourceCredentials;
    private Credentials tapSchemaCredentials;
    private boolean separateCredentials;

    @PostConstruct
    public void init() {
        log.debug("CredentialsBean created");

        if (!conversation.isTransient()) {
            conversation.end();
        }

        sourceCredentials = new Credentials();
        tapSchemaCredentials = new Credentials();
    public String getLoginError() {
        return loginError;
    public String login() {
        System.out.println("login called");
        log.info("login called");
        loginError = null;
        DBWrapper dbWrapper;
        if (separateCredentials) {
            dbWrapper = new DBWrapper(sourceCredentials, tapSchemaCredentials);
        } else {
            dbWrapper = new DBWrapper(sourceCredentials);
            dbWrapper.testConnections();
            conversation.setTimeout(30 * 60000L); // 30 minutes
            conversation.begin();
            schemaSelectionBean.setDbWrapper(dbWrapper);
            return "schemaSelection.xhtml?faces-redirect=true";
        } catch (SQLException e) {
            log.error("Exception caught", e);
            loginError = "Connection error: " + e.getMessage();
            return null;
        }
    public boolean isSeparateCredentials() {
        return separateCredentials;
    public void setSeparateCredentials(boolean separateCredentials) {
        this.separateCredentials = separateCredentials;
    public Credentials getSourceCredentials() {
        return sourceCredentials;
    public void setSourceCredentials(Credentials sourceCredentials) {
        this.sourceCredentials = sourceCredentials;
    public Credentials getTapSchemaCredentials() {
        return tapSchemaCredentials;
    public void setTapSchemaCredentials(Credentials tapSchemaCredentials) {
        this.tapSchemaCredentials = tapSchemaCredentials;