pStmt.setString( 2, distGroupVO.getDistGroupName() );
ResultSet rset = null;
rset = pStmt.executeQuery();
if( rset.next() ){
if(rset.getInt(1)>0){
DAOException daox = new DAOException ("Database Error");
daox.setMessageKey(IErrorMessageKeys.KEY_ERROR_DUPLICATE_DIST_GROUP);
throw daox;
}
}
sql = qManager.getUpdateDistGroupQuery(dbType);
log.debug(sql);
pStmt = con.prepareStatement( sql );
pStmt.setString( 1, distGroupVO.getDistGroupName() );
pStmt.setString( 2, distGroupVO.getDistGroupDesc() );
pStmt.setString( 3, distGroupVO.getIsEnabled());
pStmt.setString( 4, distGroupVO.getId());
pStmt.executeUpdate();
this.createSearchContent(con,dbType,distGroupVO,"TBL_DISTRIBUTION_GROUP","GROUP_ID");
//first delete old users
sql = qManager.getDeleteDistGroupUserQuery(dbType);
pStmt = con.prepareStatement( sql );
pStmt.setString( 1, distGroupVO.getId());
pStmt.executeUpdate();
String[] userIds = EEMSUtil.convertToArray(distGroupVO.getUserNames(),IConstants.EEMS_DELIMITER);
if(userIds!=null)
{
sql = qManager.getFetchDistGroupUserQuery(dbType);
pStmt = con.prepareStatement( sql );
log.debug(sql);
for (int i=0; i<userIds.length;i++)
{
if(userIds[i]!= null)
{
log.debug("userID " + userIds[i]);
log.debug("groupid "+distGroupVO.getId());
pStmt.setString( 1, userIds[i].trim() );
pStmt.setString( 2, distGroupVO.getId() );
pStmt.executeUpdate();
log.debug("user-group added" + i);
}
}
}
log.debug("inserted...and updated");
con.commit();
}
catch(SQLException ex)
{
try
{
con.rollback();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
log.error("Error: " + e);
}
DAOException daox = new DAOException ("Database Error");
daox.setMessageKey(IErrorMessageKeys.KEY_DATABASE_ERROR);
throw daox;
}
finally
{
try
{
if(pStmt!=null) pStmt.close();
this.releaseConnection(con);
}
catch (SQLException e)
{
// TODO Auto-generated catch block
log.error("Error: " + e);
DAOException daox = new DAOException ("FATAL Error");
daox.setMessageKey(IErrorMessageKeys.KEY_FATAL_ERROR);
throw daox;
}
}