psdi.security

Class Profile

  • java.lang.Object
    • psdi.security.Profile
  • All Implemented Interfaces:
    java.rmi.Remote, MaxRemoteProxy, ProfileRemote


    public class Profile
    extends java.lang.Object
    implements ProfileRemote, MaxRemoteProxy
    The Profile class is responsible for identifying and consolidating the security parameters for a user who has connected to MXServer. This includes parameters related to security Groups, as well as those pertinent to that specific user. Profile is instanciated from SecurityService.

    The profile can be obtained via methods in AppService, Mbo, MboSet, RMISession, and MXSession.

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.String IGNORE_SITE
      This is a bullentin board key indicating that Profile.getAppOptionAuth() should ignore the siteid.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method and Description
      void addApp(java.lang.String app, UserInfo userInfo)
      This method supports Application Designer.
      boolean allCollectionsAllowed()
      Identifies whether the user has access to all collections.
      java.util.ArrayList dumpAppAuth()
      Dump the application auth fields to an array list (for testing only!!!).
      java.util.ArrayList dumpGLAuth()
      Dump the GL fields to an array list (for testing only!!!).
      java.util.ArrayList dumpLaborAuth(java.lang.String tempUserid)
      Dump the labor authorities to an array list (for testing only!!!).
      java.util.ArrayList dumpLocAuth()
      Dump the location authorities to an array list (for testing only!!!).
      java.util.ArrayList dumpNonStandardApps()
      Dump the nonStandardApps we have in memory to an array list (for testing only!!!).
      java.util.ArrayList dumpPwDays()
      Dump the password duration and warning to an array list (for testing only!!!).
      java.util.ArrayList dumpRoleRestrictions()
      Deprecated.  
      java.util.ArrayList dumpSites()
      Dump the sites we have in memory to an array list (for testing only!!!).
      java.util.ArrayList dumpTolerances()
      Dump the tolerances to an array list (for testing only!!!).
      boolean getAppAuth(java.lang.String app)
      Identify whether there is any authority whatsoever for the specified app.
      java.util.Hashtable getAppInfo(java.lang.String app, UserInfo userInfo)
      Return hashtable of attributes and values that describe the application.
      int getAppLevel(java.lang.String app)
      Get the level of an app (system, org, site...)
      java.util.TreeMap getAppMenu(java.lang.String app, UserInfo userInfo)
      Return TreeMap of menu options for which this user has privilege.
      boolean getAppOptionAuth(java.lang.String app, java.lang.String optionname, java.lang.String siteorg)
      Identify whether there is authority for this app, optionname, and siteid.
      java.util.HashSet getAppOptions(java.lang.String app)
      Get all the options for which this user has some kind of privilege.
      java.util.HashSet getApps()
      Get the app names which exist in apps HashMap for this user.
      java.util.HashSet getApps(int sysFlag)
      Called by UserProfileHierarchySet to build the profile tree in the Users app.
      java.util.TreeMap getAppSearch(java.lang.String app, UserInfo userInfo)
      Return TreeMap of search options for which this user has privilege.
      java.util.HashSet getAppSiteOrgs(java.lang.String app)
      Get all the sites/orgs for which this user has READ privilege for this app.
      java.util.HashSet getAppSiteOrgs(java.lang.String app, int forceLevel)
      Get all the sites/orgs for which this user has READ privilege for this app.
      java.util.HashMap getAppsStructure()
      Get the app structure for which this user has any form of privilege
      java.util.TreeMap getAppTools(java.lang.String app, UserInfo userInfo)
      Return TreeMap of toolbar options for which this user has privilege.
      java.util.HashSet getCollections()
      Return the collections to which the user has access.
      java.util.HashSet getCombinableSites() 
      java.util.HashSet getConditions(java.lang.String app, java.lang.String optionname, java.lang.String siteorg)
      Identifies any data-related conditions for the specified privilege.
      java.lang.String getDefaultOrg()
      Returns the organization of the default site of the user.
      java.lang.String getDefaultRepairFacility()
      Returns the default repair location of the user.
      java.lang.String getDefaultRepairFacilitySite()
      Returns the default repair site of the user.
      java.lang.String getDefaultSite()
      Returns the default site of the user.
      java.lang.String getDefaultStoreroom()
      Gets the default storeroom for the user.
      java.lang.String getDefaultStoreroomSite()
      Gets the default storeroom's site for the user.
      java.util.HashMap getDiscreteRepFacAuthSites() 
      java.lang.String getEveryoneCondition(java.lang.String app, java.lang.String optionName)
      Assuming Profile has been built for the specified app, get the Everyone condition (if any) for the specified app and optionname.
      boolean getGLAuth(int glFieldPos, java.lang.String siteorg)
      Identifies whether there is authority for the specified GL field at the specified site or orgid, using glSegs.
      boolean getGLAuth(java.lang.String glField, java.lang.String siteorg)
      Identifies whether there is authority for the specified GL field at the specified site or orgid, using glSegs.
      boolean getGLAuthForUserApp(int glFieldPos)
      Similar to getGLAuth, except this bypasses the orgid/siteid check.
      java.util.HashSet getGroupNames()
      Return a HashSet containing the names of the user's security groups (groupname).
      java.lang.String getGroupsString()
      Return a string suitable for use in a Where clause that specifies all the security groups for this user..
      java.util.HashSet getGroupStartApps()
      Return a HashSet containing the names of the user's start apps from groups.
      java.lang.String getInsertCompanySet()
      Returns the insert Companyset.
      java.lang.String getInsertItemSet()
      Returns the insert itemset.
      java.lang.String getInsertOrg()
      Get the insert organization.
      java.lang.String getInsertSite()
      Returns the insert site of the user.
      boolean getLaborAuth(java.lang.String orgid, java.lang.String laborcode)
      Get the labor authority for the specified orgid and laborcode.
      java.util.HashMap getLaborAuthFlags(java.lang.String orgid)
      Get the laborauth flags for the given orgid
      java.util.HashMap getLaborAuthorities()
      Returns the labor authorities structure for the current profile
      java.lang.String getLaborCodes(java.lang.String orgid)
      Given an orgid, return all the laborcodes within that organization for which the user has access.
      static java.lang.String getLaborCodeSubWhere(java.lang.String laborcodes) 
      boolean getLeftNav() 
      boolean getLocAuth(java.lang.String siteid, java.lang.String location)
      Get the location authority for the specified siteid and location.
      boolean getLogout()
      Return true if user has been administratively logged out.
      java.util.TreeMap getModules(UserInfo userInfo)
      Return the module map for this user.
      boolean getNonStandardAppOptionAuth(java.lang.String app, java.lang.String optionname, java.lang.String orgid, java.lang.String siteid)
      Similar to getAppOptionAuth, but for a non-standard app and siteid or orgid.
      java.util.HashMap getNonStandardApps()
      For use by UserProfileHierarchySet in the Users application.
      java.util.HashSet getNonStandardSiteOrgs(java.lang.String app, boolean getSites)
      For apps whose siteorgtype is SYSTEMORGSITE, SYSTEMORG, SYSTEMSITE, or ORGSITE, return the readonly sites or organizations.
      boolean getOrg(java.lang.String orgid)
      Identify whether the user has any form of authorization for this site (SiteAuth table).
      java.util.TreeSet getOrgs()
      Identify organizations for which the user has any form of authorization (SiteAuth table).
      java.lang.String getOrgsString()
      Return a string suitable for use in a Where clause that specifies all the organizations for which the user has any form of authorization.
      java.lang.String getPrerequisite(java.lang.String app, java.lang.String optionname)
      Returns the prerequisite for the option.
      java.rmi.Remote getProxy() 
      int getPwDuration()
      Return the password duration (pwDuration).
      int getPwWarning()
      Return the password warning (pwWarning).
      java.util.TreeMap getQueryMap(java.lang.String app, UserInfo userInfo)
      Return TreeMap of queries for which this user has execute privilege.
      boolean getQueryWithSite()
      Get the querywithsite flag from the maxuser object associated with the user.
      java.util.TreeSet getReadableOrgs(java.lang.String app)
      Identify organizations for which the user has READ authorization in this app.
      java.lang.String getReadableOrgsString(java.lang.String app)
      Identify organizations for which the user has NEXT authorization in this app; return a string suitable for use in a Where clause.
      java.util.TreeSet getReadableSites(java.lang.String app)
      Identify sites for which the user has READ authorization in this app.
      java.lang.String getReadableSitesString(java.lang.String app)
      Identify sites for which the user has NEXT authorization in this app; return a string suitable for use in a Where clause.
      java.lang.Integer getReportLimit(java.lang.String attributeName)
      Returns the specified report limit for the user.
      java.util.HashMap getRoleRestrictions()
      Deprecated.  
      java.lang.String getRoleRestrictions(java.lang.String entityname)
      Deprecated.  
      boolean getSite(java.lang.String siteid)
      Identify whether the user has any form of authorization for this site (SiteAuth table).
      java.util.HashSet getSiteCache(UserInfo ui)
      APAR IV51241 - New method to load the list of sites that a user has access to from a cache.
      java.util.TreeSet getSites()
      Identify sites for which the user has any form of authorization (SiteAuth table).
      java.lang.String getSitesString()
      Return a string suitable for use in a Where clause that specifies all the sites for which the user has any form of authorization.
      java.lang.String getStorerooms(java.lang.String siteid)
      Given a siteid, return all the storerooms (location codes with type Storeroom) within that site for which the user has access.
      java.util.TreeMap getSystemOptionMap(UserInfo userInfo)
      Call getAppMenu for STARTCNTR.
      double getTolerance(java.lang.String attrName, java.lang.String siteorg)
      Get the tolerance for the specified attribute name and site or orgid.
      java.lang.String getUserStatus()
      Return the cached Maximo user status for this user.
      boolean hasAllGLAuth(java.lang.String siteorg)
      Identifies whether there is authority for the all GL fields at the specified site or orgid, using glSegs.
      boolean hasAnyGLAuth(java.lang.String siteorg)
      Identifies whether there is authority for any of the GL fields at the specified site or orgid, using glSegs.
      boolean hasAppOption(java.lang.String app, java.lang.String sigOption)
      Returns wheather a given option to an app is granted for this user.
      boolean hasCombinableAllRepairFacilities()
      Identify whether the user can access all non-null repair facilities.
      boolean hasCombinableNullRepairFacilities() 
      boolean isAllCombineableGLSegments()
      Returns True if authorized all GL segments for combineable groups.
      boolean isAllIndependentGLSegments()
      Returns True if authorized all GL segments for independent groups.
      boolean isAuthLaborCrew(java.lang.String orgid, java.lang.String laborcode)
      Checks if the given laborcode is a crew member of this user
      boolean isAuthLaborGroup(java.lang.String orgid, java.lang.String laborcode)
      Checks if the given laborcode belongs in the same persongroup as this user
      boolean isAuthLaborSelf(java.lang.String orgid, java.lang.String laborcode)
      Checks if current user is represented by the given laborcode
      boolean isAuthLaborSuper(java.lang.String orgid, java.lang.String laborcode)
      Checks if current user is a supervisor of the given laborcode
      boolean isLaborAuthAll()
      Checks if labor authority is &ALL& (ProfileRemote.ALL) across the board
      boolean isLocAuthAll()
      Returns True if storeroom privelage is "auth all sites" + "auth all storerooms"
      boolean isLocAuthAll(java.lang.String siteid)
      Returns True if storeroom privelage is "auth all sites" + "auth all storerooms" OR if privelage is not "auth all sites" but "auth all storerooms" for the given site
      boolean oneGroupHasAllSites()
      Return True if one or more of this user's groups has authallsites = True.
      boolean orgLevelApp(java.lang.String app)
      Call orgLevelApp with second parameter True (base level only).
      boolean orgLevelApp(java.lang.String app, boolean baseLevelOnly)
      Returns True if this is an org-level app.
      void setDefaultOrg(java.lang.String org)
      Set value for default organization.
      void setDefaultSite(java.lang.String site)
      Set value for default site.
      void setInsertCompanySet(java.lang.String setid)
      It sets the insert company set id.
      void setInsertItemSet(java.lang.String setid)
      It sets the insert item set id.
      void setInsertOrg(java.lang.String org)
      Set user's insert organization.
      void setInsertSite(java.lang.String site)
      Set the insert site.
      void setProxy(java.rmi.Remote proxy) 
      void setQueryMap(java.lang.String app, java.util.TreeMap newQueryMap, UserInfo userInfo)
      Replace our queryMap with the new one provided.
      void setUserStatus(java.lang.String newInternalStatus)
      Update the cached Maximo user status for this user.
      boolean siteLevelApp(java.lang.String app)
      Call siteLevelApp with second parameter True (base level only).
      boolean siteLevelApp(java.lang.String app, boolean baseLevelOnly)
      Returns True if this is a site-level app.
      boolean sysLevelApp(java.lang.String app)
      Returns True if this is a system-level app.
      void updateAppMaps(java.lang.String app, UserInfo userInfo)
      This method supports Application Designer.
      boolean useDataRestriction(java.lang.String groupname, java.lang.String app, java.lang.String siteorg)
      This method is used when a data restriction exists for the specified security group and app, but it is unknown whether to apply this restriction for this logged-on user.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • IGNORE_SITE

        public static final java.lang.String IGNORE_SITE
        This is a bullentin board key indicating that Profile.getAppOptionAuth() should ignore the siteid.
        See Also:
        Constant Field Values
    • Method Detail

      • dumpPwDays

        public java.util.ArrayList dumpPwDays()
                                       throws MXException,
                                              java.rmi.RemoteException
        Dump the password duration and warning to an array list (for testing only!!!).
        Specified by:
        dumpPwDays in interface ProfileRemote
        Returns:
        Password duration and warning values
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.dumpPwDays()
      • getApps

        public java.util.HashSet getApps()
                                  throws MXException,
                                         java.rmi.RemoteException
        Get the app names which exist in apps HashMap for this user. An app will exist in this HashMap only if the user has READ privilege (see constructAppAuthOneApp.
        Specified by:
        getApps in interface ProfileRemote
        Returns:
        HashSet of all apps for which this user has privilege.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getApps()
      • getApps

        public java.util.HashSet getApps(int sysFlag)
                                  throws MXException,
                                         java.rmi.RemoteException
        Called by UserProfileHierarchySet to build the profile tree in the Users app.
        Specified by:
        getApps in interface ProfileRemote
        Parameters:
        sysFlag - 1=System-level apps only, 2=Non-System-level apps only, 3=All apps (any level)
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getApps(int)
      • getAppsStructure

        public java.util.HashMap getAppsStructure()
                                           throws MXException,
                                                  java.rmi.RemoteException
        Get the app structure for which this user has any form of privilege
        Specified by:
        getAppsStructure in interface ProfileRemote
        Returns:
        HashMap of all apps for which this user has any form of privilege.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getAppsStructure()
      • orgLevelApp

        public boolean orgLevelApp(java.lang.String app,
                                   boolean baseLevelOnly)
                            throws MXException,
                                   java.rmi.RemoteException
        Returns True if this is an org-level app.
        Parameters:
        app - Application name
        baseLevelOnly - Some levels can be system-level but optionally can ask for a list of orgs. If param is True then this method checks only the base level of the app. If param is False then this method will also return true if base level is system but org-level is optional for this app.
        Returns:
        True if org-level, else False.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.siteLevelApp(java.lang.String)
      • siteLevelApp

        public boolean siteLevelApp(java.lang.String app,
                                    boolean baseLevelOnly)
                             throws MXException,
                                    java.rmi.RemoteException
        Returns True if this is a site-level app.
        Parameters:
        app - Application name
        baseLevelOnly - Some levels can be system-level but optionally can ask for a list of orgs or sites, or can be primarily org level but can ask for sites. If param is True then this method checks only the base level of the app. If param is False then this method will also return true if base level is system or org, but site-level is optional for this app.
        Returns:
        True if site-level, else False.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.orgLevelApp(java.lang.String)
      • getAppOptionAuth

        public boolean getAppOptionAuth(java.lang.String app,
                                        java.lang.String optionname,
                                        java.lang.String siteorg)
                                 throws MXException,
                                        java.rmi.RemoteException
        Identify whether there is authority for this app, optionname, and siteid.
        Specified by:
        getAppOptionAuth in interface ProfileRemote
        Parameters:
        app - Application name
        optionname - The option name (see SigOption
        siteorg - The siteid or orgid. For a site-level app, this should equal siteid; for an org-level app, this should equal orgid. If this is a system-level app, this parameter is ignored.
        Returns:
        True if access is allowed to this option, else False
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getAppOptionAuth(java.lang.String, java.lang.String, java.lang.String)
      • getConditions

        public java.util.HashSet getConditions(java.lang.String app,
                                               java.lang.String optionname,
                                               java.lang.String siteorg)
                                        throws MXException,
                                               java.rmi.RemoteException
        Identifies any data-related conditions for the specified privilege. If the has no privilege for this option at this site, an error is thrown.
        Specified by:
        getConditions in interface ProfileRemote
        Parameters:
        app - Application name
        optionname - The option name (see SigOption
        siteorg - The siteid or orgid of the data to be checked. For a site-level app, this should equal siteid; for an org-level app, this should equal orgid. If this is a system-level app, this parameter is ignored.
        Returns:
        Set of conditions (conditionnum, key to Condition table). If there are no conditions, this will be empty.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getConditions(java.lang.String, java.lang.String, java.lang.String)
      • getEveryoneCondition

        public java.lang.String getEveryoneCondition(java.lang.String app,
                                                     java.lang.String optionName)
                                              throws MXException,
                                                     java.rmi.RemoteException
        Assuming Profile has been built for the specified app, get the Everyone condition (if any) for the specified app and optionname. If there is no condition, or user does not belong to the Everyone group, or app or optionname is invalid, then return null.
        Specified by:
        getEveryoneCondition in interface ProfileRemote
        Parameters:
        app -
        optionName -
        Returns:
        ConditionNum (from ApplicationAuth); null if not found.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getEveryoneCondition(java.lang.String, java.lang.String)
      • getAppSiteOrgs

        public java.util.HashSet getAppSiteOrgs(java.lang.String app)
                                         throws MXException,
                                                java.rmi.RemoteException
        Get all the sites/orgs for which this user has READ privilege for this app. If this is a site-level app this will be sites; if an org-level app this will be orgs; if this is a system-level or set-level this will contain ProfileRemote.ALL.
        Specified by:
        getAppSiteOrgs in interface ProfileRemote
        Parameters:
        app - Application name
        Returns:
        HashSet of sites.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getAppSiteOrgs(String, int)
      • getAppSiteOrgs

        public java.util.HashSet getAppSiteOrgs(java.lang.String app,
                                                int forceLevel)
                                         throws MXException,
                                                java.rmi.RemoteException
        Get all the sites/orgs for which this user has READ privilege for this app. If this is a site-level app this will be sites; if an org-level app this will be orgs; if this is a system-level or set-level this will contain ProfileRemote.ALL. The forceLevel param can be used for System-Org-Site, System-Site, System-Org, and Org-Site level apps to specify whether sites or orgs are being requested.
        Specified by:
        getAppSiteOrgs in interface ProfileRemote
        Parameters:
        app - Application name
        forceLevel - Normally this will be zero. However, this can equal 1 = org, 2 = site.
        Returns:
        HashSet of sites.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getAppSiteOrgs(String, int)
      • getSiteCache

        public java.util.HashSet getSiteCache(UserInfo ui)
                                       throws MXException,
                                              java.rmi.RemoteException
        APAR IV51241 - New method to load the list of sites that a user has access to from a cache. Needs to be refetched and stored for each profile.
        Specified by:
        getSiteCache in interface ProfileRemote
        Throws:
        MXException
        java.rmi.RemoteException
      • getAppMenu

        public java.util.TreeMap getAppMenu(java.lang.String app,
                                            UserInfo userInfo)
                                     throws MXException,
                                            java.rmi.RemoteException
        Return TreeMap of menu options for which this user has privilege.
        Specified by:
        getAppMenu in interface ProfileRemote
        Parameters:
        app - Application name
        userInfo - UserInfo for the application user.
        Returns:
        TreeMap of menu options. If you iterate the map from the beginning, the options will be in sequence by position and subposition. This can be done as in the following example:

        TreeMap menuMap = session.getProfile().getAppMenu(app, userInfo);

        Iterator it = menuMap.values().iterator();

        while (it.hasNext())
        {
        Hashtable menuOption = (Hashtable) it.next();
        String imagename = (String) menuOption.get("IMAGE");
        }

        Each element in the map is a Hashtable, whose key is an attribute name from the MaxMenu and relevant description table and whose value is that attribute value as String.

        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.loadAppMaps(java.lang.String, psdi.security.UserInfo)
      • getAppTools

        public java.util.TreeMap getAppTools(java.lang.String app,
                                             UserInfo userInfo)
                                      throws MXException,
                                             java.rmi.RemoteException
        Return TreeMap of toolbar options for which this user has privilege.
        Specified by:
        getAppTools in interface ProfileRemote
        Parameters:
        app - Application name
        userInfo - UserInfo for the application user.
        Returns:
        TreeMap of toolbar options. If you iterate the map from the beginning, the options will be in sequence by position and subposition. This can be done as in the following example:

        TreeMap toolMap = session.getProfile().getAppTools(app, userInfo);

        Iterator it = toolMap.values().iterator();

        while (it.hasNext())
        {
        Hashtable toolOption = (Hashtable) it.next();
        String imageName = (String) toolOption.get("IMAGE");
        }

        Each element in the map is a Hashtable, whose key is an attribute name from the MaxMenu and relevant description table and whose value is that attribute value as String.

        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.loadAppMaps(java.lang.String, psdi.security.UserInfo)
      • getAppSearch

        public java.util.TreeMap getAppSearch(java.lang.String app,
                                              UserInfo userInfo)
                                       throws MXException,
                                              java.rmi.RemoteException
        Return TreeMap of search options for which this user has privilege.
        Specified by:
        getAppSearch in interface ProfileRemote
        Parameters:
        app - Application name
        userInfo - UserInfo for the application user.
        Returns:
        TreeMap of search options. If you iterate the map from the beginning, the options will be in sequence by position and subposition. This can be done as in the following example:

        TreeMap searchMap = session.getProfile().getAppSearch(app, userInfo);

        Iterator it = searchMap.values().iterator();

        while (it.hasNext())
        {
        Hashtable searchOption = (Hashtable) it.next();
        String imageName = (String) searchOption.get("IMAGE");
        }

        Each element in the map is a Hashtable, whose key is an attribute name from the MaxMenu and relevant description table and whose value is that attribute value as String.

        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.loadAppMaps(java.lang.String, psdi.security.UserInfo)
      • getQueryMap

        public java.util.TreeMap getQueryMap(java.lang.String app,
                                             UserInfo userInfo)
                                      throws MXException,
                                             java.rmi.RemoteException
        Return TreeMap of queries for which this user has execute privilege.
        Specified by:
        getQueryMap in interface ProfileRemote
        Parameters:
        app - Application name
        userInfo - UserInfo for the application user.
        Returns:
        TreeMap of queries. If you iterate the map from the beginning, the options will be in sequence by clausename. This can be done as in the following example:

        TreeMap queryMap = session.getProfile().getQueryMap(app, userInfo);

        Iterator it = queryMap.values().iterator();

        while (it.hasNext())
        {
        Hashtable query = (Hashtable) it.next();
        String clause = (String) query.get("CLAUSE");
        }

        Each element in the map is a Hashtable, whose key is an attribute name from the Query table and whose value is that attribute value as String. This key is case sensitive (the attribute name is in upper case). This also includes the non-persistent attribute DEFAULT, which indicates which (if any) of these queries is the default query for this app and user.

        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.loadAppMaps(java.lang.String, psdi.security.UserInfo)
      • getAppInfo

        public java.util.Hashtable getAppInfo(java.lang.String app,
                                              UserInfo userInfo)
                                       throws MXException,
                                              java.rmi.RemoteException
        Return hashtable of attributes and values that describe the application.
        Specified by:
        getAppInfo in interface ProfileRemote
        Parameters:
        app - Application name.
        userInfo - UserInfo for this user.
        Returns:
        Hashtable of attributes and their values as String.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.appInfo
      • addApp

        public void addApp(java.lang.String app,
                           UserInfo userInfo)
                    throws MXException,
                           java.rmi.RemoteException
        This method supports Application Designer. The user of Application Designer has to have the Profile updated dynamically without having to log out and back in again.
        Parameters:
        app - Application name.
        Throws:
        MXException
        java.rmi.RemoteException
      • updateAppMaps

        public void updateAppMaps(java.lang.String app,
                                  UserInfo userInfo)
                           throws MXException,
                                  java.rmi.RemoteException
        This method supports Application Designer. The user of Application Designer has to have the Profile updated dynamically without having to log out and back in again.
        Parameters:
        app - Application name.
        Throws:
        MXException
        java.rmi.RemoteException
      • getGLAuth

        public boolean getGLAuth(java.lang.String glField,
                                 java.lang.String siteorg)
                          throws MXException,
                                 java.rmi.RemoteException
        Identifies whether there is authority for the specified GL field at the specified site or orgid, using glSegs.
        Specified by:
        getGLAuth in interface ProfileRemote
        Parameters:
        glField - The name of the GL segment (from GLConfigure table).
        siteorg - The siteid or orgid to be checked.
        Returns:
        True if the user has authority for this segment and site/org, else False.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getGLAuth(String, String)
      • getGLAuth

        public boolean getGLAuth(int glFieldPos,
                                 java.lang.String siteorg)
                          throws MXException,
                                 java.rmi.RemoteException
        Identifies whether there is authority for the specified GL field at the specified site or orgid, using glSegs.
        Specified by:
        getGLAuth in interface ProfileRemote
        Parameters:
        glFieldPos - Position of GLConfigure component (from GLConfigure table).
        siteorg - The siteid or orgid to be checked.
        Returns:
        True if the user has authority for this segment and site/org, else False.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        getGLConfigure, Profile.getGLAuth(String, String)
      • hasAllGLAuth

        public boolean hasAllGLAuth(java.lang.String siteorg)
                             throws MXException,
                                    java.rmi.RemoteException
        Identifies whether there is authority for the all GL fields at the specified site or orgid, using glSegs.
        Specified by:
        hasAllGLAuth in interface ProfileRemote
        Parameters:
        siteorg - The siteid or orgid to be checked.
        Returns:
        True if the user has authority for all components at this site/org, else False.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        getGLConfigure, Profile.getGLAuth(String, String)
      • hasAnyGLAuth

        public boolean hasAnyGLAuth(java.lang.String siteorg)
                             throws MXException,
                                    java.rmi.RemoteException
        Identifies whether there is authority for any of the GL fields at the specified site or orgid, using glSegs.
        Specified by:
        hasAnyGLAuth in interface ProfileRemote
        Parameters:
        siteorg - The siteid or orgid to be checked.
        Returns:
        True if the user has authority for at least one GL component at this site/org, else False.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        getGLConfigure, Profile.getGLAuth(String, String)
      • isLocAuthAll

        public boolean isLocAuthAll()
                             throws MXException,
                                    java.rmi.RemoteException
        Returns True if storeroom privelage is "auth all sites" + "auth all storerooms"
        Specified by:
        isLocAuthAll in interface ProfileRemote
        Returns:
        True if "auth all sites" + "auth all storerooms"
        Throws:
        MXException, - RemoteException
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.isLocAuthAll()
      • isLocAuthAll

        public boolean isLocAuthAll(java.lang.String siteid)
                             throws MXException,
                                    java.rmi.RemoteException
        Returns True if storeroom privelage is "auth all sites" + "auth all storerooms" OR if privelage is not "auth all sites" but "auth all storerooms" for the given site
        Specified by:
        isLocAuthAll in interface ProfileRemote
        Returns:
        True if "auth all sites" + "auth all storerooms"
        Throws:
        MXException, - RemoteException
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.isLocAuthAll(String siteid)
      • getStorerooms

        public java.lang.String getStorerooms(java.lang.String siteid)
                                       throws MXException,
                                              java.rmi.RemoteException
        Given a siteid, return all the storerooms (location codes with type Storeroom) within that site for which the user has access. If all are allowed, return &ALL& (ProfileRemote.ALL).
        Specified by:
        getStorerooms in interface ProfileRemote
        Parameters:
        siteid - Site identifier
        Returns:
        Locations, concatenated by commas and with quotes if needed. If all storerooms in site are allowed, this will equal &ALL& (ProfileRemote.ALL). If none are allowed, this will equal the empty string.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getStorerooms(java.lang.String)
      • getGroupsString

        public java.lang.String getGroupsString()
                                         throws MXException,
                                                java.rmi.RemoteException
        Return a string suitable for use in a Where clause that specifies all the security groups for this user.. The format will be "(" + quoted, comma-separated series of groupnames + ")"; for example, ('PLANNING', 'NESITES'). If the user has no security groups, the string will be null.
        Specified by:
        getGroupsString in interface ProfileRemote
        Returns:
        String as described above.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.allRolesString, Profile.getGroupNames()
      • getSite

        public boolean getSite(java.lang.String siteid)
                        throws MXException,
                               java.rmi.RemoteException
        Identify whether the user has any form of authorization for this site (SiteAuth table).
        Specified by:
        getSite in interface ProfileRemote
        Parameters:
        siteid - The site ID
        Returns:
        True if site is authorized, else False
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getSite(java.lang.String)
      • getOrg

        public boolean getOrg(java.lang.String orgid)
                       throws MXException,
                              java.rmi.RemoteException
        Identify whether the user has any form of authorization for this site (SiteAuth table).
        Specified by:
        getOrg in interface ProfileRemote
        Parameters:
        siteid - The site ID
        Returns:
        True if site is authorized, else False
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getOrg(java.lang.String)
      • getSites

        public java.util.TreeSet getSites()
                                   throws MXException,
                                          java.rmi.RemoteException
        Identify sites for which the user has any form of authorization (SiteAuth table).

        This method should be called ONLY for lookups and drilldowns.

        Specified by:
        getSites in interface ProfileRemote
        Returns:
        ArrayList of siteids; &ALL& (ProfileRemote.ALL) if all sites are authorized.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getSites()
      • getSitesString

        public java.lang.String getSitesString()
                                        throws MXException,
                                               java.rmi.RemoteException
        Return a string suitable for use in a Where clause that specifies all the sites for which the user has any form of authorization. The format will be "(" + quoted, comma-separated series of siteids + ")"; for example, ('BEDFORD', 'NASHUA', 'TEXAS'). If the user has no authorized sites, the string will be null.

        This method should be called ONLY for lookups and drilldowns.

        Specified by:
        getSitesString in interface ProfileRemote
        Returns:
        String as described above.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getSitesString()
      • hasCombinableAllRepairFacilities

        public boolean hasCombinableAllRepairFacilities()
                                                 throws MXException,
                                                        java.rmi.RemoteException
        Identify whether the user can access all non-null repair facilities. If this is false, then specific facilities may have been granted via the RepFacAuth table. See MaxGroup "authallrepfacs".
        Specified by:
        hasCombinableAllRepairFacilities in interface ProfileRemote
        Returns:
        True if user has permission to see all non-null repair facilities.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        psdi.security.Profile#hasAllRepairFacilities
      • getOrgs

        public java.util.TreeSet getOrgs()
                                  throws MXException,
                                         java.rmi.RemoteException
        Identify organizations for which the user has any form of authorization (SiteAuth table).

        This method should be called ONLY for lookups and drilldowns.

        Specified by:
        getOrgs in interface ProfileRemote
        Returns:
        ArrayList of orgids; &ALL& (ProfileRemote.ALL) if all orgs are authorized.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getOrgs()
      • getOrgsString

        public java.lang.String getOrgsString()
                                       throws MXException,
                                              java.rmi.RemoteException
        Return a string suitable for use in a Where clause that specifies all the organizations for which the user has any form of authorization. The format will be "(" + quoted, comma-separated series of orgids + ")"; for example, ('EAGLENA', 'EAGLESA'). If the user has no authorized orgs, the string will be null.

        This method should be called ONLY for lookups and drilldowns.

        Specified by:
        getOrgsString in interface ProfileRemote
        Returns:
        String as described above.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getOrgsString()
      • getReadableSites

        public java.util.TreeSet getReadableSites(java.lang.String app)
                                           throws MXException,
                                                  java.rmi.RemoteException
        Identify sites for which the user has READ authorization in this app.

        If this is a system-level or org-level application, an error will be thrown.

        Specified by:
        getReadableSites in interface ProfileRemote
        Parameters:
        app - Application name
        Returns:
        ArrayList of siteids; &ALL& (ProfileRemote.ALL) if all sites are authorized.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getReadableSites(java.lang.String)
      • getReadableSitesString

        public java.lang.String getReadableSitesString(java.lang.String app)
                                                throws MXException,
                                                       java.rmi.RemoteException
        Identify sites for which the user has NEXT authorization in this app; return a string suitable for use in a Where clause. The format will be "(" + quoted, comma-separated series of siteids + ")"; for example, ('BEDFORD', 'NASHUA', 'TEXAS'). If the user has no authorized sites, the string will be null.

        If this is a system-level or org-level application, an error will be thrown.

        Specified by:
        getReadableSitesString in interface ProfileRemote
        Parameters:
        app - Application name
        Returns:
        String as described above.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getReadableSitesString(java.lang.String)
      • getReadableOrgs

        public java.util.TreeSet getReadableOrgs(java.lang.String app)
                                          throws MXException,
                                                 java.rmi.RemoteException
        Identify organizations for which the user has READ authorization in this app.

        If this is a system-level or site-level application, an error will be thrown.

        Specified by:
        getReadableOrgs in interface ProfileRemote
        Returns:
        ArrayList of orgids; &ALL& (ProfileRemote.ALL) if all orgs are authorized.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getReadableOrgs(java.lang.String)
      • getReadableOrgsString

        public java.lang.String getReadableOrgsString(java.lang.String app)
                                               throws MXException,
                                                      java.rmi.RemoteException
        Identify organizations for which the user has NEXT authorization in this app; return a string suitable for use in a Where clause. The format will be "(" + quoted, comma-separated series of orgids + ")"; for example, ('EAGLENA', 'EAGLESA'). If the user has no authorized orgs, the string will be null.

        If this is a system-level or site-level application, an error will be thrown.

        Specified by:
        getReadableOrgsString in interface ProfileRemote
        Parameters:
        app - Application name
        Returns:
        String as described above.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getReadableOrgsString(java.lang.String)
      • getLaborCodes

        public java.lang.String getLaborCodes(java.lang.String orgid)
                                       throws MXException,
                                              java.rmi.RemoteException
        Given an orgid, return all the laborcodes within that organization for which the user has access. If all are allowed, return &ALL& (ProfileRemote.ALL).
        Specified by:
        getLaborCodes in interface ProfileRemote
        Parameters:
        orgid - Organization identifier
        Returns:
        Laborcodes, concatenated by commas and with quotes if needed. If all laborcodes in org are allowed, this will equal &ALL& (ProfileRemote.ALL). If none are allowed, this will equal the empty string. A separator of || is used for every 1000 labor codes as the in clause in sql doesn't allow more than 1000 items.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getLaborCodes(java.lang.String)
      • getLaborCodeSubWhere

        public static java.lang.String getLaborCodeSubWhere(java.lang.String laborcodes)
        Parameters:
        laborcodes - The string returned from the method getLaborCodes
        Returns:
        The sub where clause for labor codes. If there are less than 1000 labor codes, the string returned is "laborcode in ('labor1', 'labor2'...)". If there are more than 1000 labor codes, the string returned is "laborcode in ('labor1', ...., 'labor999') or laborcode in ('labor1000', .....) or laborcode in ('labor2000', ....).....".
      • dumpLaborAuth

        public java.util.ArrayList dumpLaborAuth(java.lang.String tempUserid)
                                          throws MXException,
                                                 java.rmi.RemoteException
        Dump the labor authorities to an array list (for testing only!!!).
        Specified by:
        dumpLaborAuth in interface ProfileRemote
        Parameters:
        tempUserid - Userid to use when getting laborcodes based on crew, laborgroup, etc. and we've constructed this Profile without userID.
        Returns:
        Labor authorities.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.dumpLaborAuth(java.lang.String)
      • getRoleRestrictions

        public java.lang.String getRoleRestrictions(java.lang.String entityname)
                                             throws MXException,
                                                    java.rmi.RemoteException
        Deprecated. 
        Return group restrictions for the specified entityname, ANDed together if more than one exist. If none, return the empty string.
        Specified by:
        getRoleRestrictions in interface ProfileRemote
        Parameters:
        entityname -
        Returns:
        Where clause for role restrictions.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getRoleRestrictions(String)
      • getRoleRestrictions

        public java.util.HashMap getRoleRestrictions()
                                              throws MXException,
                                                     java.rmi.RemoteException
        Deprecated. 
        Used by User Profile Hierarchy tab in the Users app.
        Specified by:
        getRoleRestrictions in interface ProfileRemote
        Returns:
        roleRestrictions
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        #roleRestrictions
      • getNonStandardSiteOrgs

        public java.util.HashSet getNonStandardSiteOrgs(java.lang.String app,
                                                        boolean getSites)
                                                 throws MXException,
                                                        java.rmi.RemoteException
        For apps whose siteorgtype is SYSTEMORGSITE, SYSTEMORG, SYSTEMSITE, or ORGSITE, return the readonly sites or organizations. If the user has no access to the app, or no Save access, then return empty HashSet.
        Specified by:
        getNonStandardSiteOrgs in interface ProfileRemote
        Parameters:
        app - Application name.
        getSites - True to get readonly sites, False to get readonly organizations.
        Returns:
        HashSet containing readonly sites or orgs for this non-standard app. If the requested app has no access or is not non-standard, or there are no readonly sites/orgs, this will be empty. If all sites or orgs are readonly, this will contain ALL.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.nonStandardApps
      • getNonStandardAppOptionAuth

        public boolean getNonStandardAppOptionAuth(java.lang.String app,
                                                   java.lang.String optionname,
                                                   java.lang.String orgid,
                                                   java.lang.String siteid)
                                            throws MXException,
                                                   java.rmi.RemoteException
        Similar to getAppOptionAuth, but for a non-standard app and siteid or orgid. Identifies whether a Mbo for the specified siteid or orgid is authorized for the specified optionname.
        Specified by:
        getNonStandardAppOptionAuth in interface ProfileRemote
        Parameters:
        app - Application name
        optionname - Option name to test for.
        orgid - Orgid to test for. If null or empty string, the method will test for siteid.
        siteid - Siteid to test for.
        Returns:
        True if authorized, else false.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.nonStandardApps
      • getDefaultSite

        public java.lang.String getDefaultSite()
                                        throws MXException,
                                               java.rmi.RemoteException
        Returns the default site of the user. It is obtained from the maxuser object and this method has to be called after MXServer has been set to the UserInfo.
        Specified by:
        getDefaultSite in interface ProfileRemote
        Returns:
        User's default site
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getDefaultSite()
      • setDefaultSite

        public void setDefaultSite(java.lang.String site)
        Set value for default site.
        Parameters:
        site -
      • getDefaultOrg

        public java.lang.String getDefaultOrg()
                                       throws MXException,
                                              java.rmi.RemoteException
        Returns the organization of the default site of the user. It is obtained from the maxuser object and this method has to be called after MXServer has been set to the UserInfo.
        Specified by:
        getDefaultOrg in interface ProfileRemote
        Returns:
        User's default organization
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getDefaultOrg()
      • setDefaultOrg

        public void setDefaultOrg(java.lang.String org)
        Set value for default organization.
        Parameters:
        org -
      • getInsertSite

        public java.lang.String getInsertSite()
                                       throws MXException,
                                              java.rmi.RemoteException
        Returns the insert site of the user. If not set explicitly, it is defaulted to the default site of the user.
        Specified by:
        getInsertSite in interface ProfileRemote
        Returns:
        User's insert site
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getInsertSite()
      • getInsertOrg

        public java.lang.String getInsertOrg()
                                      throws MXException,
                                             java.rmi.RemoteException
        Get the insert organization. The insert organization can be set through setInsertOrg() method. It is defaulted to the user's default site's organization if the user has the default site. This method will return null if the user doesn't have a default site and the setInsertOrg() hasn't been called. This method should be called only after MXServer is set to this UserInfo.
        Specified by:
        getInsertOrg in interface ProfileRemote
        Returns:
        User's insert organization
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getInsertOrg()
      • setInsertOrg

        public void setInsertOrg(java.lang.String org)
                          throws MXException,
                                 java.rmi.RemoteException
        Set user's insert organization.
        Parameters:
        org - Insert organization
        Throws:
        MXException
        java.rmi.RemoteException
      • setInsertSite

        public void setInsertSite(java.lang.String site)
                           throws MXException,
                                  java.rmi.RemoteException
        Set the insert site. It will validate if it is one of the site in site table. The insert organization will be set to this site's organization. This method has to be called after the connection to server is done.
        Specified by:
        setInsertSite in interface ProfileRemote
        Parameters:
        site - Insert site
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.setInsertSite(java.lang.String)
      • getDefaultRepairFacilitySite

        public java.lang.String getDefaultRepairFacilitySite()
                                                      throws MXException,
                                                             java.rmi.RemoteException
        Returns the default repair site of the user.
        Specified by:
        getDefaultRepairFacilitySite in interface ProfileRemote
        Returns:
        User's default repair site
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        psdi.security.Profile#getDefaultRepairSite
      • setInsertItemSet

        public void setInsertItemSet(java.lang.String setid)
                              throws MXException,
                                     java.rmi.RemoteException
        It sets the insert item set id. It will validate if the setid is one of the existing set. This method works independently from setInsertOrg(). However, if setInsertItemSet() is not called, getInsertItemSet() will return the itemset of the organization returned by getInsertOrg(). This method has to be called after the connection to server has been done.
        Specified by:
        setInsertItemSet in interface ProfileRemote
        Parameters:
        setid - Insert item set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.setInsertItemSet(java.lang.String)
      • getInsertItemSet

        public java.lang.String getInsertItemSet()
                                          throws MXException,
                                                 java.rmi.RemoteException
        Returns the insert itemset. If the insert item set is not set explicitly by setInsertItemSet() method, it returns the itemset of the insert organization returned by method getInsertOrg(). If the insert org hasn't been set explicitly and the user doesn't have a default site, this method will return null.
        Specified by:
        getInsertItemSet in interface ProfileRemote
        Returns:
        Insert item set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getInsertItemSet()
      • setInsertCompanySet

        public void setInsertCompanySet(java.lang.String setid)
                                 throws MXException,
                                        java.rmi.RemoteException
        It sets the insert company set id. It will validate if the setid is one of the existing set. This method works independently from setInsertOrg(). However, if setInsertCompanySet() is not called, getInsertCompanySet() will return the Companyset of the organization returned by getInsertOrg(). This method has to be called after the connection to server has been done.
        Specified by:
        setInsertCompanySet in interface ProfileRemote
        Parameters:
        setid - Insert company set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.setInsertCompanySet(java.lang.String)
      • getInsertCompanySet

        public java.lang.String getInsertCompanySet()
                                             throws MXException,
                                                    java.rmi.RemoteException
        Returns the insert Companyset. If the insert Company set is not set explicitly by setInsertCompanySet() method, it returns the Companyset of the insert organization returned by method getInsertOrg(). If the insert org hasn't been set explicitly and the user doesn't have a default site, this method will return null.
        Specified by:
        getInsertCompanySet in interface ProfileRemote
        Returns:
        Insert company set
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getInsertCompanySet()
      • getQueryWithSite

        public boolean getQueryWithSite()
                                 throws MXException,
                                        java.rmi.RemoteException
        Get the querywithsite flag from the maxuser object associated with the user. This method has to be called after MXServer has been set.
        Specified by:
        getQueryWithSite in interface ProfileRemote
        Returns:
        Value of "querywithsite" for this user
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getQueryWithSite()
      • setUserStatus

        public void setUserStatus(java.lang.String newInternalStatus)
        Update the cached Maximo user status for this user.
        Parameters:
        newInternalStatus - New user status (Maximo value)
      • useDataRestriction

        public boolean useDataRestriction(java.lang.String groupname,
                                          java.lang.String app,
                                          java.lang.String siteorg)
                                   throws MXException,
                                          java.rmi.RemoteException
        This method is used when a data restriction exists for the specified security group and app, but it is unknown whether to apply this restriction for this logged-on user.

        When evaluating a given Mbo and the app is site-level or org-level, then the siteorg parameter should be supplied. For example, if the app is WOTRACK and we are trying to determine whether a particular Mbo or attribute should be Hidden or Readonly, the siteid of the Mbo would be supplied.

        This method is needed because other classes are generally not aware of which security groups a user belongs to, and also are not aware of any of the combining rules for the groups.

        Specified by:
        useDataRestriction in interface ProfileRemote
        Parameters:
        groupname - Security group name of the data restriction (securityrestriction table). Data restrictions not having a group name do not need to be tested in Profile. If this parameter is null, this method will return False.
        app - Application name, either existing on the securityrestriction table, or existing in the MboSet hierarchy.
        siteorg - Siteid or Orgid, if the evaluation should be Mbo-based. This can be null to bypass the site check. For example, when evaluating row restrictions for QUALIFIED, this should be null.
        Returns:
        True if data restrictions for this groupname and app should be applied.
        Throws:
        MXException
        java.rmi.RemoteException
        See Also:
        Profile.getUserStatus()
      • getCollections

        public java.util.HashSet getCollections()
        Return the collections to which the user has access. If this is empty then user has access to all collections.
        Specified by:
        getCollections in interface ProfileRemote
        Returns:
        Set of collectionnum.
        See Also:
        Profile.getCollections()
      • setProxy

        public void setProxy(java.rmi.Remote proxy)
        Specified by:
        setProxy in interface MaxRemoteProxy
      • getReportLimit

        public java.lang.Integer getReportLimit(java.lang.String attributeName)
                                         throws MXException,
                                                java.rmi.RemoteException
        Returns the specified report limit for the user.
        Specified by:
        getReportLimit in interface ProfileRemote
        Returns:
        The value of the specified limit for the user, null if there is no limit
        Throws:
        MXException
        java.rmi.RemoteException