} // end of CreateUserSession /// <summary> /// Creates a Admin Session /// </summary> private void CreateAdminSession() { // create and initialize admin session object cqAdminSession = CQWrapper.CreateAdminSession(); Logger.WritePerf(LogSource.CQ, "Connecting to CQ Admin Session"); CQWrapper.AdminLogon(cqAdminSession, m_user, m_pwd, m_dbSet, m_configFile); Logger.WritePerf(LogSource.CQ, "Connected to CQ Admin Session"); OAdUser cqUser = CQWrapper.GetUser(cqAdminSession, m_user); try { if (!CQWrapper.IsSuperUser(cqUser)) { string errMsg = UtilityMethods.Format(CQResource.CQ_NO_ADMIN_RIGHT, CurConResource.Analysis, m_configFile); Logger.Write(LogSource.CQ, TraceLevel.Error, errMsg); ConverterMain.MigrationReport.WriteIssue(String.Empty, errMsg, string.Empty /* no item */, null, "Config", ReportIssueType.Critical); throw new ConverterException(errMsg); } } catch (System.Runtime.InteropServices.COMException ex) { string errMsg = UtilityMethods.Format(CQResource.CQ_NO_ADMIN_RIGHT, m_configFile); Logger.WriteException(LogSource.CQ, ex); Logger.Write(LogSource.CQ, TraceLevel.Error, errMsg); ConverterMain.MigrationReport.WriteIssue(String.Empty, errMsg, string.Empty /* no item */, null, "Config", ReportIssueType.Critical); throw new ConverterException(errMsg); } } // end of CreateAdminSession
internal static bool IsSuperUser(OAdUser user) { try { return(user.SuperUser); } catch (COMException ex) { InteropErrorHandler.HandleCQException(ex); } return(false); }
internal static OAdUser GetUser(AdminSession cqAdminSession, string userName) { OAdUser user = null; try { user = (OAdUser)cqAdminSession.GetUser(userName); } catch (COMException ex) { InteropErrorHandler.HandleCQException(ex); } return(user); }
internal static OAdUser GetUser(OAdUsers users, ref object userObj) { OAdUser aUser = null; try { aUser = (OAdUser)users.item(ref userObj); } catch (COMException ex) { InteropErrorHandler.HandleCQException(ex); } return(aUser); }
/// <summary> /// Generate User Mappings based on the Clearquest users /// Each User mapping generates the same user name in to section also /// </summary> private void GenerateDefaultUserMaps(string userMapFileName) { Logger.WritePerf(LogSource.CQ, "Generating Default User Map"); AdminSession cqAdminSess = m_cqConnection.GetAdminSession(); OAdUsers users = CQWrapper.GetUsers(cqAdminSess); // create a instance of usermap.xml file UserMappings userMaps = new UserMappings(userMapFileName); for (int userindx = 0; userindx < users.Count; userindx++) { object userObj = (object)userindx; OAdUser aUser = CQWrapper.GetUser(users, ref userObj); userMaps.Add(aUser.Name, aUser.Name); } userMaps.Flush(); Logger.WritePerf(LogSource.CQ, "Default User Map Generation Done"); } // end of GenerateDefaultUserMaps()
public static AdminSession GetAdminSession(ClearQuestConnectionConfig connConfig) { string idStr = GenerateSessionIdStr(connConfig); lock (s_adminSessionLock) { if (s_adminSessions.ContainsKey(idStr)) { return(s_adminSessions[idStr]); } // create and initialize admin session object AdminSession adminSession = CQWrapper.CreateAdminSession(); TraceManager.TraceInformation("Connecting to CQ Admin Session"); CQWrapper.AdminLogon(adminSession, connConfig.User, connConfig.Password, connConfig.DBSet); TraceManager.TraceInformation("Connected to CQ Admin Session"); OAdUser cqUser = CQWrapper.GetUser(adminSession, connConfig.User); try { if (!CQWrapper.IsSuperUser(cqUser)) { string errMsg = UtilityMethods.Format(CQResource.CQ_NO_ADMIN_RIGHT, connConfig.User ?? string.Empty); TraceManager.TraceError(errMsg); throw new MigrationException(errMsg); } } catch (System.Runtime.InteropServices.COMException ex) { string errMsg = UtilityMethods.Format(CQResource.CQ_NO_ADMIN_RIGHT, connConfig.User ?? string.Empty); TraceManager.TraceException(ex); TraceManager.TraceError(errMsg); throw new MigrationException(errMsg); } s_adminSessions.Add(idStr, adminSession); return(adminSession); } }