@Test public final void testPreProcessNextTab() { HttpServletRequest aReq = new MockHttpServletRequest(); testSetAgencyUserManager(); testSetAuthorityManager(); testSetHarvestCoordinator(); testSetTargetInstanceManager(); TargetInstance targetInstance = getTargetInstanceManager().getTargetInstance(5001L); aReq.getSession().setAttribute(TargetInstanceCommand.SESSION_TI, targetInstance); aReq.getSession().setAttribute(TargetInstanceCommand.SESSION_MODE, true); HttpServletResponse aResp = new MockHttpServletResponse(); TargetInstanceCommand aCmd = new TargetInstanceCommand(); aCmd.setCmd(TargetInstanceCommand.ACTION_EDIT); TabbedController tc = new TabbedTargetInstanceController(); TabConfig tabConfig = new TabConfig(); tabConfig.setViewName("targetInstance"); List<Tab> tabs = getTabList(); tabConfig.setTabs(tabs); tc.setTabConfig(tabConfig); tc.setDefaultCommandClass(org.webcurator.ui.target.command.TargetInstanceCommand.class); Tab currentTab = tabs.get(0); BindException aErrors = new BindException(aCmd, aCmd.getCmd()); ModelAndView mav = testInstance.preProcessNextTab(tc, currentTab, aReq, aResp, aCmd, aErrors); assertTrue(((TargetInstanceCommand)mav.getModel().get("command")).getFlagged() == targetInstance.getFlagged()); }
@SuppressWarnings("unchecked") public TabbedModelAndView preProcessNextTab(TabbedController tc, Tab nextTabID, HttpServletRequest req, HttpServletResponse res, Object comm, BindException errors) { TabbedModelAndView tmav = tc.new TabbedModelAndView(); Boolean editMode = false; TargetInstanceCommand cmd = null; TargetInstance ti = null; if (comm instanceof TargetInstanceCommand) { cmd = (TargetInstanceCommand) comm; if ((Boolean)(req.getSession().getAttribute(TargetInstanceCommand.SESSION_MODE))) { editMode = true; } } ti = (TargetInstance) req.getSession().getAttribute(TargetInstanceCommand.SESSION_TI); if (ti == null) { ti = targetInstanceManager.getTargetInstance(cmd.getTargetInstanceId(), true); } if (!authorityManager.hasPrivilege(ti, Privilege.MANAGE_TARGET_INSTANCES)) { editMode = false; } TargetInstanceCommand populatedCommand = new TargetInstanceCommand(ti); if (editMode) { populatedCommand.setCmd(TargetInstanceCommand.ACTION_EDIT); } String fromHistoryTIOid = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_TI_OID); String fromHistoryResultId = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_HR_OID); if (fromHistoryTIOid != null) { populatedCommand.setHistoryTIOid(fromHistoryTIOid); } if (fromHistoryResultId != null) { populatedCommand.setHistoryResultId(fromHistoryResultId); } tmav.addObject(Constants.GBL_CMD_DATA, populatedCommand); tmav.addObject(TargetInstanceCommand.MDL_INSTANCE, ti); int scope = Privilege.SCOPE_NONE; if (ti.getOwningUser().equals(AuthUtil.getRemoteUserObject())) { if (authorityManager.hasPrivilege(Privilege.GIVE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.GIVE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } else { if (authorityManager.hasPrivilege(Privilege.TAKE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.TAKE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } List<UserDTO> owners = new ArrayList<UserDTO>(); if (scope == Privilege.SCOPE_AGENCY) { owners = agencyUserManager.getUserDTOs(AuthUtil.getRemoteUserObject().getAgency().getOid()); } if (scope == Privilege.SCOPE_ALL) { owners = agencyUserManager.getUserDTOs(); } UserDTO owner = new UserDTO(ti.getOwner().getOid(), ti.getOwner().getUsername(), ti.getOwner().getEmail(), ti.getOwner().isNotificationsByEmail(), ti.getOwner().isTasksByEmail(), ti.getOwner().getTitle(), ti.getOwner().getFirstname(), ti.getOwner().getLastname(), ti.getOwner().getPhone(), ti.getOwner().getAddress(), ti.getOwner().isActive(), ti.getOwner().getAgency().getName(), ti.getOwner().isNotifyOnHarvestWarnings(), ti.getOwner().isNotifyOnGeneral()); if (owners.isEmpty() || !owners.contains(owner)) { owners.add(owner); } tmav.addObject(TargetInstanceCommand.MDL_OWNERS, owners); tmav.addObject(TargetInstanceCommand.MDL_PRIORITIES, ti.getPriorities()); if(autoQAUrl != null && autoQAUrl.length() > 0) { tmav.addObject("showAQAOption", 1); } else { tmav.addObject("showAQAOption", 0); } if (enableQaModule) { List<Flag> flags = agencyUserManager.getFlagForLoggedInUser(); List<Flag> copy = new ArrayList<Flag>(flags); for(Flag flag:copy) { if(flag.equals(ti.getFlag())) { continue; } if(!flag.getAgency().equals(ti.getOwner().getAgency())) { flags.remove(flag); } } tmav.addObject(FlagCommand.MDL_FLAGS, flags); tmav.addObject(Constants.ENABLE_QA_MODULE, true); } else { tmav.addObject(Constants.ENABLE_QA_MODULE, false); } return tmav; }
TargetInstanceGeneralHandler extends TabHandler { @SuppressWarnings("unchecked") public TabbedModelAndView preProcessNextTab(TabbedController tc, Tab nextTabID, HttpServletRequest req, HttpServletResponse res, Object comm, BindException errors) { TabbedModelAndView tmav = tc.new TabbedModelAndView(); Boolean editMode = false; TargetInstanceCommand cmd = null; TargetInstance ti = null; if (comm instanceof TargetInstanceCommand) { cmd = (TargetInstanceCommand) comm; if ((Boolean)(req.getSession().getAttribute(TargetInstanceCommand.SESSION_MODE))) { editMode = true; } } ti = (TargetInstance) req.getSession().getAttribute(TargetInstanceCommand.SESSION_TI); if (ti == null) { ti = targetInstanceManager.getTargetInstance(cmd.getTargetInstanceId(), true); } if (!authorityManager.hasPrivilege(ti, Privilege.MANAGE_TARGET_INSTANCES)) { editMode = false; } TargetInstanceCommand populatedCommand = new TargetInstanceCommand(ti); if (editMode) { populatedCommand.setCmd(TargetInstanceCommand.ACTION_EDIT); } String fromHistoryTIOid = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_TI_OID); String fromHistoryResultId = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_HR_OID); if (fromHistoryTIOid != null) { populatedCommand.setHistoryTIOid(fromHistoryTIOid); } if (fromHistoryResultId != null) { populatedCommand.setHistoryResultId(fromHistoryResultId); } tmav.addObject(Constants.GBL_CMD_DATA, populatedCommand); tmav.addObject(TargetInstanceCommand.MDL_INSTANCE, ti); int scope = Privilege.SCOPE_NONE; if (ti.getOwningUser().equals(AuthUtil.getRemoteUserObject())) { if (authorityManager.hasPrivilege(Privilege.GIVE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.GIVE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } else { if (authorityManager.hasPrivilege(Privilege.TAKE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.TAKE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } List<UserDTO> owners = new ArrayList<UserDTO>(); if (scope == Privilege.SCOPE_AGENCY) { owners = agencyUserManager.getUserDTOs(AuthUtil.getRemoteUserObject().getAgency().getOid()); } if (scope == Privilege.SCOPE_ALL) { owners = agencyUserManager.getUserDTOs(); } UserDTO owner = new UserDTO(ti.getOwner().getOid(), ti.getOwner().getUsername(), ti.getOwner().getEmail(), ti.getOwner().isNotificationsByEmail(), ti.getOwner().isTasksByEmail(), ti.getOwner().getTitle(), ti.getOwner().getFirstname(), ti.getOwner().getLastname(), ti.getOwner().getPhone(), ti.getOwner().getAddress(), ti.getOwner().isActive(), ti.getOwner().getAgency().getName(), ti.getOwner().isNotifyOnHarvestWarnings(), ti.getOwner().isNotifyOnGeneral()); if (owners.isEmpty() || !owners.contains(owner)) { owners.add(owner); } tmav.addObject(TargetInstanceCommand.MDL_OWNERS, owners); tmav.addObject(TargetInstanceCommand.MDL_PRIORITIES, ti.getPriorities()); if(autoQAUrl != null && autoQAUrl.length() > 0) { tmav.addObject("showAQAOption", 1); } else { tmav.addObject("showAQAOption", 0); } if (enableQaModule) { List<Flag> flags = agencyUserManager.getFlagForLoggedInUser(); List<Flag> copy = new ArrayList<Flag>(flags); for(Flag flag:copy) { if(flag.equals(ti.getFlag())) { continue; } if(!flag.getAgency().equals(ti.getOwner().getAgency())) { flags.remove(flag); } } tmav.addObject(FlagCommand.MDL_FLAGS, flags); tmav.addObject(Constants.ENABLE_QA_MODULE, true); } else { tmav.addObject(Constants.ENABLE_QA_MODULE, false); } return tmav; } }
TargetInstanceGeneralHandler extends TabHandler { @SuppressWarnings("unchecked") public TabbedModelAndView preProcessNextTab(TabbedController tc, Tab nextTabID, HttpServletRequest req, HttpServletResponse res, Object comm, BindException errors) { TabbedModelAndView tmav = tc.new TabbedModelAndView(); Boolean editMode = false; TargetInstanceCommand cmd = null; TargetInstance ti = null; if (comm instanceof TargetInstanceCommand) { cmd = (TargetInstanceCommand) comm; if ((Boolean)(req.getSession().getAttribute(TargetInstanceCommand.SESSION_MODE))) { editMode = true; } } ti = (TargetInstance) req.getSession().getAttribute(TargetInstanceCommand.SESSION_TI); if (ti == null) { ti = targetInstanceManager.getTargetInstance(cmd.getTargetInstanceId(), true); } if (!authorityManager.hasPrivilege(ti, Privilege.MANAGE_TARGET_INSTANCES)) { editMode = false; } TargetInstanceCommand populatedCommand = new TargetInstanceCommand(ti); if (editMode) { populatedCommand.setCmd(TargetInstanceCommand.ACTION_EDIT); } String fromHistoryTIOid = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_TI_OID); String fromHistoryResultId = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_HR_OID); if (fromHistoryTIOid != null) { populatedCommand.setHistoryTIOid(fromHistoryTIOid); } if (fromHistoryResultId != null) { populatedCommand.setHistoryResultId(fromHistoryResultId); } tmav.addObject(Constants.GBL_CMD_DATA, populatedCommand); tmav.addObject(TargetInstanceCommand.MDL_INSTANCE, ti); int scope = Privilege.SCOPE_NONE; if (ti.getOwningUser().equals(AuthUtil.getRemoteUserObject())) { if (authorityManager.hasPrivilege(Privilege.GIVE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.GIVE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } else { if (authorityManager.hasPrivilege(Privilege.TAKE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.TAKE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } List<UserDTO> owners = new ArrayList<UserDTO>(); if (scope == Privilege.SCOPE_AGENCY) { owners = agencyUserManager.getUserDTOs(AuthUtil.getRemoteUserObject().getAgency().getOid()); } if (scope == Privilege.SCOPE_ALL) { owners = agencyUserManager.getUserDTOs(); } UserDTO owner = new UserDTO(ti.getOwner().getOid(), ti.getOwner().getUsername(), ti.getOwner().getEmail(), ti.getOwner().isNotificationsByEmail(), ti.getOwner().isTasksByEmail(), ti.getOwner().getTitle(), ti.getOwner().getFirstname(), ti.getOwner().getLastname(), ti.getOwner().getPhone(), ti.getOwner().getAddress(), ti.getOwner().isActive(), ti.getOwner().getAgency().getName(), ti.getOwner().isNotifyOnHarvestWarnings(), ti.getOwner().isNotifyOnGeneral()); if (owners.isEmpty() || !owners.contains(owner)) { owners.add(owner); } tmav.addObject(TargetInstanceCommand.MDL_OWNERS, owners); tmav.addObject(TargetInstanceCommand.MDL_PRIORITIES, ti.getPriorities()); if(autoQAUrl != null && autoQAUrl.length() > 0) { tmav.addObject("showAQAOption", 1); } else { tmav.addObject("showAQAOption", 0); } if (enableQaModule) { List<Flag> flags = agencyUserManager.getFlagForLoggedInUser(); List<Flag> copy = new ArrayList<Flag>(flags); for(Flag flag:copy) { if(flag.equals(ti.getFlag())) { continue; } if(!flag.getAgency().equals(ti.getOwner().getAgency())) { flags.remove(flag); } } tmav.addObject(FlagCommand.MDL_FLAGS, flags); tmav.addObject(Constants.ENABLE_QA_MODULE, true); } else { tmav.addObject(Constants.ENABLE_QA_MODULE, false); } return tmav; }  }
TargetInstanceGeneralHandler extends TabHandler { @SuppressWarnings("unchecked") public TabbedModelAndView preProcessNextTab(TabbedController tc, Tab nextTabID, HttpServletRequest req, HttpServletResponse res, Object comm, BindException errors) { TabbedModelAndView tmav = tc.new TabbedModelAndView(); Boolean editMode = false; TargetInstanceCommand cmd = null; TargetInstance ti = null; if (comm instanceof TargetInstanceCommand) { cmd = (TargetInstanceCommand) comm; if ((Boolean)(req.getSession().getAttribute(TargetInstanceCommand.SESSION_MODE))) { editMode = true; } } ti = (TargetInstance) req.getSession().getAttribute(TargetInstanceCommand.SESSION_TI); if (ti == null) { ti = targetInstanceManager.getTargetInstance(cmd.getTargetInstanceId(), true); } if (!authorityManager.hasPrivilege(ti, Privilege.MANAGE_TARGET_INSTANCES)) { editMode = false; } TargetInstanceCommand populatedCommand = new TargetInstanceCommand(ti); if (editMode) { populatedCommand.setCmd(TargetInstanceCommand.ACTION_EDIT); } String fromHistoryTIOid = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_TI_OID); String fromHistoryResultId = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_HR_OID); if (fromHistoryTIOid != null) { populatedCommand.setHistoryTIOid(fromHistoryTIOid); } if (fromHistoryResultId != null) { populatedCommand.setHistoryResultId(fromHistoryResultId); } tmav.addObject(Constants.GBL_CMD_DATA, populatedCommand); tmav.addObject(TargetInstanceCommand.MDL_INSTANCE, ti); int scope = Privilege.SCOPE_NONE; if (ti.getOwningUser().equals(AuthUtil.getRemoteUserObject())) { if (authorityManager.hasPrivilege(Privilege.GIVE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.GIVE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } else { if (authorityManager.hasPrivilege(Privilege.TAKE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.TAKE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } List<UserDTO> owners = new ArrayList<UserDTO>(); if (scope == Privilege.SCOPE_AGENCY) { owners = agencyUserManager.getUserDTOs(AuthUtil.getRemoteUserObject().getAgency().getOid()); } if (scope == Privilege.SCOPE_ALL) { owners = agencyUserManager.getUserDTOs(); } UserDTO owner = new UserDTO(ti.getOwner().getOid(), ti.getOwner().getUsername(), ti.getOwner().getEmail(), ti.getOwner().isNotificationsByEmail(), ti.getOwner().isTasksByEmail(), ti.getOwner().getTitle(), ti.getOwner().getFirstname(), ti.getOwner().getLastname(), ti.getOwner().getPhone(), ti.getOwner().getAddress(), ti.getOwner().isActive(), ti.getOwner().getAgency().getName(), ti.getOwner().isNotifyOnHarvestWarnings(), ti.getOwner().isNotifyOnGeneral()); if (owners.isEmpty() || !owners.contains(owner)) { owners.add(owner); } tmav.addObject(TargetInstanceCommand.MDL_OWNERS, owners); tmav.addObject(TargetInstanceCommand.MDL_PRIORITIES, ti.getPriorities()); if(autoQAUrl != null && autoQAUrl.length() > 0) { tmav.addObject("showAQAOption", 1); } else { tmav.addObject("showAQAOption", 0); } if (enableQaModule) { List<Flag> flags = agencyUserManager.getFlagForLoggedInUser(); List<Flag> copy = new ArrayList<Flag>(flags); for(Flag flag:copy) { if(flag.equals(ti.getFlag())) { continue; } if(!flag.getAgency().equals(ti.getOwner().getAgency())) { flags.remove(flag); } } tmav.addObject(FlagCommand.MDL_FLAGS, flags); tmav.addObject(Constants.ENABLE_QA_MODULE, true); } else { tmav.addObject(Constants.ENABLE_QA_MODULE, false); } return tmav; }  void setAuthorityManager(AuthorityManager authorityManager); void initBinder(HttpServletRequest request, ServletRequestDataBinder binder); void processTab(TabbedController tc, Tab currentTab,
            HttpServletRequest req, HttpServletResponse res, Object comm,
            BindException errors); @SuppressWarnings("unchecked") TabbedModelAndView preProcessNextTab(TabbedController tc,
            Tab nextTabID, HttpServletRequest req, HttpServletResponse res,
            Object comm, BindException errors); ModelAndView processOther(TabbedController tc, Tab currentTab,
            HttpServletRequest req, HttpServletResponse res, Object comm,
            BindException errors); void setHarvestCoordinator(HarvestCoordinator harvestCoordinator); void setTargetInstanceManager(TargetInstanceManager targetInstanceManager); void setAgencyUserManager(AgencyUserManager agencyUserManager); void setAutoQAUrl(String autoQAUrl); String getAutoQAUrl(); void setEnableQaModule(Boolean enableQaModule); }
TargetInstanceGeneralHandler extends TabHandler { @SuppressWarnings("unchecked") public TabbedModelAndView preProcessNextTab(TabbedController tc, Tab nextTabID, HttpServletRequest req, HttpServletResponse res, Object comm, BindException errors) { TabbedModelAndView tmav = tc.new TabbedModelAndView(); Boolean editMode = false; TargetInstanceCommand cmd = null; TargetInstance ti = null; if (comm instanceof TargetInstanceCommand) { cmd = (TargetInstanceCommand) comm; if ((Boolean)(req.getSession().getAttribute(TargetInstanceCommand.SESSION_MODE))) { editMode = true; } } ti = (TargetInstance) req.getSession().getAttribute(TargetInstanceCommand.SESSION_TI); if (ti == null) { ti = targetInstanceManager.getTargetInstance(cmd.getTargetInstanceId(), true); } if (!authorityManager.hasPrivilege(ti, Privilege.MANAGE_TARGET_INSTANCES)) { editMode = false; } TargetInstanceCommand populatedCommand = new TargetInstanceCommand(ti); if (editMode) { populatedCommand.setCmd(TargetInstanceCommand.ACTION_EDIT); } String fromHistoryTIOid = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_TI_OID); String fromHistoryResultId = (String) req.getSession().getAttribute(TargetInstanceCommand.SESSION_HH_HR_OID); if (fromHistoryTIOid != null) { populatedCommand.setHistoryTIOid(fromHistoryTIOid); } if (fromHistoryResultId != null) { populatedCommand.setHistoryResultId(fromHistoryResultId); } tmav.addObject(Constants.GBL_CMD_DATA, populatedCommand); tmav.addObject(TargetInstanceCommand.MDL_INSTANCE, ti); int scope = Privilege.SCOPE_NONE; if (ti.getOwningUser().equals(AuthUtil.getRemoteUserObject())) { if (authorityManager.hasPrivilege(Privilege.GIVE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.GIVE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } else { if (authorityManager.hasPrivilege(Privilege.TAKE_OWNERSHIP, Privilege.SCOPE_NONE)) { try { scope = authorityManager.getPrivilegeScope(Privilege.TAKE_OWNERSHIP); } catch (NoPrivilegeException e) { if (log.isErrorEnabled()) { log.error("Failed to get the privilege scope " + e.getMessage(), e); } } } } List<UserDTO> owners = new ArrayList<UserDTO>(); if (scope == Privilege.SCOPE_AGENCY) { owners = agencyUserManager.getUserDTOs(AuthUtil.getRemoteUserObject().getAgency().getOid()); } if (scope == Privilege.SCOPE_ALL) { owners = agencyUserManager.getUserDTOs(); } UserDTO owner = new UserDTO(ti.getOwner().getOid(), ti.getOwner().getUsername(), ti.getOwner().getEmail(), ti.getOwner().isNotificationsByEmail(), ti.getOwner().isTasksByEmail(), ti.getOwner().getTitle(), ti.getOwner().getFirstname(), ti.getOwner().getLastname(), ti.getOwner().getPhone(), ti.getOwner().getAddress(), ti.getOwner().isActive(), ti.getOwner().getAgency().getName(), ti.getOwner().isNotifyOnHarvestWarnings(), ti.getOwner().isNotifyOnGeneral()); if (owners.isEmpty() || !owners.contains(owner)) { owners.add(owner); } tmav.addObject(TargetInstanceCommand.MDL_OWNERS, owners); tmav.addObject(TargetInstanceCommand.MDL_PRIORITIES, ti.getPriorities()); if(autoQAUrl != null && autoQAUrl.length() > 0) { tmav.addObject("showAQAOption", 1); } else { tmav.addObject("showAQAOption", 0); } if (enableQaModule) { List<Flag> flags = agencyUserManager.getFlagForLoggedInUser(); List<Flag> copy = new ArrayList<Flag>(flags); for(Flag flag:copy) { if(flag.equals(ti.getFlag())) { continue; } if(!flag.getAgency().equals(ti.getOwner().getAgency())) { flags.remove(flag); } } tmav.addObject(FlagCommand.MDL_FLAGS, flags); tmav.addObject(Constants.ENABLE_QA_MODULE, true); } else { tmav.addObject(Constants.ENABLE_QA_MODULE, false); } return tmav; }  void setAuthorityManager(AuthorityManager authorityManager); void initBinder(HttpServletRequest request, ServletRequestDataBinder binder); void processTab(TabbedController tc, Tab currentTab,
            HttpServletRequest req, HttpServletResponse res, Object comm,
            BindException errors); @SuppressWarnings("unchecked") TabbedModelAndView preProcessNextTab(TabbedController tc,
            Tab nextTabID, HttpServletRequest req, HttpServletResponse res,
            Object comm, BindException errors); ModelAndView processOther(TabbedController tc, Tab currentTab,
            HttpServletRequest req, HttpServletResponse res, Object comm,
            BindException errors); void setHarvestCoordinator(HarvestCoordinator harvestCoordinator); void setTargetInstanceManager(TargetInstanceManager targetInstanceManager); void setAgencyUserManager(AgencyUserManager agencyUserManager); void setAutoQAUrl(String autoQAUrl); String getAutoQAUrl(); void setEnableQaModule(Boolean enableQaModule);  }