john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

Report 0.6 NetworkAccountDAO

// 2012-10-23 johnpfeiffer
// TODO: unit tests



import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList;

public class NetworkAccountDAO
{
    private static final String CLASSVERSION = "0.6";
    protected String DATABASENAME = "networkid";
    protected String TABLENAME = "PstNetworkAccount";
    private static final String HEADEROID = "oid";
    private static final String HEADERACCOUNTID = "accountId";
    private static final String HEADERNAME = "name";
    private static final String HEADERLOGINURL = "loginUrl";
    private static final String HEADERLOGOUTURL = "logoutUrl";
    private static final String HEADERCREATEDATETIME = "createDatetime";
    private static final String HEADERDISABLED = "disabled";
    private static final String HEADERDELETED = "deleted";
    private static final String HEADERINTERNALAUTHENTICATIONENABLED = "internalAuthenticationEnabled";
    private static final String HEADEREXTERNALAUTHENTICATIONENABLED = "externalAuthenticationEnabled";
    private static final String HEADERREPOSITORYMANAGERSERVICEID = "repositoryManagerServiceId";
    private final String query = "select * from " + DATABASENAME + "." + TABLENAME + ";";

    private ArrayList <NetworkAccount> networkAccounts;
    private long networkAccountCount = 0;

    String resultOid;
    String resultAccountId;
    String resultName;
    String resultLoginUrl;
    String resultLogoutUrl;
    Timestamp resultCreateDatetime;
    short resultDisabled;
    short resultDeleted;
    short resultInternalAuthenticationEnabled;
    short resultExternalAuthenticationEnabled;
    String resultRepositoryManagerServiceId;

    NetworkAccountDAO( Connection c )
    {
        if( c != null )
        {
            try
            {
                networkAccounts = new ArrayList <NetworkAccount>();
                populateNetworkAccount( c );
            }catch( SQLException sqle )
            {
                System.err.println( sqle.getMessage() );
            }catch( Exception e )
            {
                e.printStackTrace();
            }
        }else
        {
            throw new IllegalArgumentException( "connection or oid is null or empty" );
        }
    }

    protected String getVersion()
    {
        return CLASSVERSION;
    }

    protected ArrayList <NetworkAccount> getList()
    {
        return networkAccounts;
    }

    protected void populateNetworkAccount( Connection c ) throws SQLException
    {
        System.out.println( "DEBUG: " + query );
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try
        {
            pstmt = c.prepareStatement( query );
            rs = pstmt.executeQuery();
            ResultSetMetaData rsmeta = rs.getMetaData();
            int columnCount = rsmeta.getColumnCount();
            System.out.println( "DEBUG: columnCount = " + columnCount );
            while( rs.next() )
            {
                resetResultVariables();
                resultOid = rs.getString( HEADEROID );
                resultAccountId = rs.getString( HEADERACCOUNTID );
                resultName = rs.getString( HEADERNAME );
                resultLoginUrl = rs.getString( HEADERLOGINURL );
                resultLogoutUrl = rs.getString( HEADERLOGOUTURL );
                resultCreateDatetime = rs.getTimestamp( HEADERCREATEDATETIME );
                resultDisabled = rs.getShort( HEADERDISABLED );
                resultDeleted = rs.getShort( HEADERDELETED );
                resultInternalAuthenticationEnabled = rs.getShort( HEADERINTERNALAUTHENTICATIONENABLED );
                resultExternalAuthenticationEnabled = rs.getShort( HEADEREXTERNALAUTHENTICATIONENABLED );
                resultRepositoryManagerServiceId = rs.getString( HEADERREPOSITORYMANAGERSERVICEID );

                networkAccountCount++;

                networkAccounts.add( new NetworkAccount( resultOid , resultAccountId , resultName , resultLoginUrl , resultLogoutUrl , resultCreateDatetime , resultDisabled ,
                        resultDeleted , resultInternalAuthenticationEnabled , resultExternalAuthenticationEnabled , resultRepositoryManagerServiceId ) );

            } // end while

        }finally
        {
            System.out.println( "DEBUG: networkAccountCount = " + networkAccountCount );
            if( pstmt != null )
            {
                pstmt.close();
            }
            if( rs != null )
            {
                rs.close();
            }
        }
    }

    private void resetResultVariables()
    {
        resultOid = null;
        resultAccountId = null;
        resultName = null;
        resultLoginUrl = null;
        resultLogoutUrl = null;
        resultCreateDatetime = null;
        resultDisabled = -1;
        resultDeleted = -1;
        resultInternalAuthenticationEnabled = -1;
        resultExternalAuthenticationEnabled = -1;
        resultRepositoryManagerServiceId = null;
    }

} // end class

  • « Report 0.6 NetworkAccount
  • Report 0.6 NetworkAccountCLI »

Published

Oct 23, 2012

Category

java-servlet

~309 words

Tags

  • 0.6 6
  • java-servlet 61
  • networkaccountdao 1
  • report 14