jet.server.api.rmi
Interface RemoteResourceManager

All Superinterfaces:
java.rmi.Remote

public interface RemoteResourceManager
extends java.rmi.Remote

This RMI interface defines methods to explore the resources on the remote JReport Server.
This is an RMI-based interface, invocation on the methods of this interface will make an RMI call to the associated JReport Server.


Method Summary
 java.lang.String addFolder(java.lang.String userID, java.lang.String parentPath, java.util.Hashtable htFolder)
          Deprecated. since version 6.1, replaced by createFolder(...) and addResourcesToFolder(...). the param "includesSubDir" of the method addResourcesToFolder(...) should be true in this case.
 VersionRecord addResource(java.lang.String userID, java.lang.String folderPath, boolean isAutoConvert, java.util.Hashtable htResource, java.util.Hashtable[] permissions)
          Adds a resource into the specified folder.
 VersionRecord addResource(java.lang.String userID, java.lang.String folderPath, java.util.Hashtable htResource)
          Deprecated. since version 6.1, replaced by addResource(String userID, String folderPath, Hashtable htResource, Hashtable[] permissions)
 VersionRecord addResource(java.lang.String userID, java.lang.String folderPath, java.util.Hashtable htResource, java.util.Hashtable[] permissions)
          Adds a resource into the specified folder.
 void addResourcesToFolder(java.lang.String userID, java.lang.String folderPath, java.lang.String fromRealDir, boolean includesSubDir, boolean isAutoConvert, java.util.Hashtable htResource, java.util.Hashtable[] permissions)
          Adds resources and folders according to catalog/report files and sub-folders under the disk directory into the specified folder.
 void addResourcesToFolder(java.lang.String userID, java.lang.String folderPath, java.lang.String fromRealDir, boolean includesSubDir, java.util.Hashtable htResource, java.util.Hashtable[] permissions)
          Adds resources and folders according to catalog/report files and sub-folders under the disk directory into the specified folder.
 VersionRecord addResultInReport(java.lang.String userID, java.lang.String reportPath, java.util.Hashtable htResult)
          Adds a result into the specific report.
 boolean checkPermission(java.lang.String userID, java.lang.String resourcePath, int versionNumber, java.security.acl.Permission permission)
          Checks whether the specific user has a permission on the specific version number of a resource path.
 boolean checkPermission(java.lang.String userID, java.lang.String resourcePath, java.security.acl.Permission permission)
          Checks whether the specific user has a permission on the specific resource path.
 java.lang.String createFolder(java.lang.String userID, java.lang.String parentPath, java.lang.String folderName, java.util.Hashtable htFolder, java.util.Hashtable[] permissions)
          Creates a sub-folder into the specified folder.
 java.util.Vector getAllRoles(java.lang.String submitter)
          Gets all roles.
 java.util.Vector getAllUsers(java.lang.String submitter)
          Gets all users.
 java.util.Vector getCatalogsInPath(java.lang.String userID, java.lang.String path)
          Gets the catalogs in a resource path.
 CatalogVersionRecord getCatalogVersion(java.lang.String userID, java.lang.String catName, int versionNumber)
          Gets a catalog version by catalog name and version number.
 java.util.Vector getCatalogVersions(java.lang.String userID, java.lang.String catName)
          Gets the versions of a specific catalog.
 java.util.Vector<PathInfo> getDashboardsInPath(java.lang.String userID, java.lang.String path)
          Gets the dashboards in a resource path.
 java.util.Vector getEnabledCustomFieldNames()
          Gets all names of enabled custom fields.
 java.lang.String[] getExtensions(java.lang.String mimieType)
          Gets file extensions of the MIME type.
 java.util.Vector getFileSysDirsInPath(java.lang.String userID, java.lang.String path)
          Gets the sub-directories in a resource path.
 java.util.Vector getFileSysFilesInPath(java.lang.String userID, java.lang.String path)
          Gets the files in a resource path.
 java.util.Vector getFoldersInPath(java.lang.String userID, java.lang.String path)
          Gets the folders in a resource path.
 java.lang.String getHistDir()
          Gets the directory in which result versions are saved to.
 java.lang.String getHistFile(java.lang.String file)
          Gets the history file directory path.
 java.util.Vector getImagesByCatalog(java.lang.String userID, java.lang.String catalog)
          Gets inherited permissions of the users attached to the specific path.
 java.lang.String getInheritedLinkedCatalog(java.lang.String userID, java.lang.String path)
          Gets inherited linked catalog.
 java.util.Hashtable[] getInheritedPermissions(java.lang.String userID, java.lang.String path, int versionNumber)
          Gets inherited permissions set to the specific path.
 int getLatestVersionNumber(java.lang.String resourcePath)
          Gets the latest version number of the specific resource.
 int getLatestVersionNumber(java.lang.String resourcePath, java.lang.String userID)
          Gets the latest version number of the specific resource.
 java.util.Vector<PathInfo> getLCsInPath(java.lang.String userID, java.lang.String path)
          Gets the library components (LCs) in a resource path.
 LCVersionRecord getLCVersion(java.lang.String userID, java.lang.String lcName, int versionNumber)
          Gets an LC version by LC name and version number.
 java.util.Vector<LCVersionRecord> getLCVersions(java.lang.String userID, java.lang.String lcName)
          Gets the versions of a specific LC.
 java.lang.String getMIMEType(java.lang.String extName)
          Gets the MIME type of a file extension.
 PathInfo getPathInfo(java.lang.String userID, java.lang.String path)
          Gets the PathInfo for a specific user.
 java.util.Hashtable[] getPermissions(java.lang.String userID, java.lang.String path, int versionNumber)
          Gets the permissions set to the specific path.
 java.lang.String getRealm()
          Gets the active realm.
 java.lang.String getRealmDir()
          Gets the directory of the active realm.
 java.lang.String getRealPathOfNode(java.lang.String userID, java.lang.String path)
          Gets real path property of a node, which is specified by path.
 java.util.Vector getReferGroups(java.lang.String userID)
          Gets the groups which the specific user belongs to.
 java.util.Vector getReferRoles(java.lang.String userID)
          Gets the roles which are defined for the specific user.
 java.util.Vector getReferUsers(java.lang.String userID)
          Gets the users which the specific user is referred.
 java.util.Vector getReports(java.lang.String userID, java.lang.String catalog)
          Gets the reports of a catalog.
 java.util.Vector getReportsInPath(java.lang.String userID, java.lang.String path)
          Gets the reports in a resource path.
 ReportVersionRecord getReportVersion(java.lang.String userID, java.lang.String rptName, int versionNumber)
          Gets a version of the specific report by version number.
 java.util.Vector getReportVersions(java.lang.String userID, java.lang.String rptName)
          Gets the versions of a specific report.
 byte[] getResourceTreeInputStream(java.lang.String userID, int streamType, java.lang.String[] roots, java.lang.String[] suffixes, java.util.Locale locale)
          Gets resource tree input stream.
 byte[] getResourceTreeInputStream(java.lang.String userID, java.lang.String... pathPrefix)
          Gets the resource tree XML input stream.
 byte[] getResourceTreeInputStreamByType(java.lang.String userID, int streamType, java.lang.String... pathPrefix)
          Gets the resource tree XML input stream.
 ResultVersionRecord getResultDocVersion(java.lang.String userID, java.lang.String resultDocName, int versionNumber)
          Gets the version of the specific result by version number.
 java.util.Vector getResultDocVersions(java.lang.String userID, java.lang.String resultDocName)
          Gets the versions of a specific result.
 int getResultMaxVersionAmount(java.lang.String userID, java.lang.String reportResource)
          Gets the maximum number of versions for the specific report's results.
 java.util.Vector getResultsInPath(java.lang.String userID, java.lang.String path)
          Gets the results in a resource path.
 ResultVersionRecord getResultVersion(java.lang.String userID, java.lang.String rptName, int versionNumber)
          Gets a result version attached to the specific report by version number.
 ResultVersionRecord getResultVersionByNodeID(java.lang.String recordID)
          Gets a result version by node id.
 java.util.Vector getResultVersions(java.lang.String userID, java.lang.String rptName)
          Gets the result versions that are attached to a specific report.
 java.util.Vector getRolesByUser(java.lang.String submitter, java.lang.String userID)
          Gets the roles which the specific user has.
 java.lang.String getRoot()
          Gets the resource root directory of the report server.
 java.lang.String getRootNodeDisplay(java.util.Locale locale)
          Get "Root" node's display text on UI for specified locale.
 java.lang.String getSchedulePath()
          Gets the path of the Schedule.
 java.util.Vector getSubnodes(java.lang.String userID, java.lang.String path)
          Gets the sub-nodes of a resource node in the resource tree.
 java.util.Vector getSubpaths(java.lang.String userID, java.lang.String path)
          Gets the sub-paths of a resource path.
 java.util.Vector getSubpathsAndCatalogs(java.lang.String userID, java.lang.String path)
          Gets the sub-paths of a resource path and catalogs.
 java.lang.String getTempDir()
          Gets the temporary directory of the server.
 java.util.Vector getUsersByRole(java.lang.String submitter, java.lang.String roleID)
          Gets the users who have the specific role.
 VersionRecord getVersion(java.lang.String userID, java.lang.String resourceName, int versionNumber)
          Gets a resource version by resource name and version number.
 boolean isAdminUser(java.lang.String userID)
          Checks if a user is an administrator.
 boolean isCatalogLinked(java.lang.String userID, java.lang.String path)
          Checks whether the catalog is linked.
 boolean isNodeExist(java.lang.String path, java.lang.String userName)
          Checks whether or not the specified node exists.
 boolean isOrganizationAdminUser(java.lang.String userID)
          Checks if a user is an administrator of an organization.
 void loadUserResAliasToMem(java.lang.String userID)
          Loads the resource alias of a user and save them into memory.
 java.lang.String refreshFolders(java.lang.String userID)
          Refreshes the folders representing in UI for the specific user.
 void removeNode(java.lang.String userID, java.lang.String path)
          Removes the specific node which was indicated by path.
 void removeVersion(java.lang.String userID, java.lang.String versionID)
          Removes the specific version.
 void rmUserResAliasFromMem(java.lang.String userID)
          Removes the resource alias of a user from memory.
 void setNodeProperties(java.lang.String userID, java.lang.String path, java.util.Hashtable htProps, java.util.Hashtable[] permissions)
          Sets properties and permissions of users on the specific path.
 void setNodeProperties(java.lang.String userID, java.lang.String path, int versionNumber, java.util.Hashtable htProps, java.util.Hashtable[] permissions)
          Sets properties and permissions on the specific version of path or path.
 void setPermissions(java.lang.String userID, java.lang.String path, int versionNumber, java.util.Hashtable[] permissions)
          Sets permissions for the specified path.
 void setResultMaxVersionAmount(java.lang.String userID, java.lang.String reportResource, int maxVersionAmount)
          Sets the maximum number of versions for the specific report's results.
 void setResultVersionProperties(java.lang.String userID, java.lang.String report, int versionNumber, java.util.Hashtable htProps)
          Sets properties of users on the specific result version of a report.
 

Method Detail

getMIMEType

java.lang.String getMIMEType(java.lang.String extName)
                             throws java.rmi.RemoteException
Gets the MIME type of a file extension.

Parameters:
extName - the file extension.
Returns:
the MIME type of a file extension.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getExtensions

java.lang.String[] getExtensions(java.lang.String mimieType)
                                 throws java.rmi.RemoteException
Gets file extensions of the MIME type.

Parameters:
mimieType - the MIME type.
Returns:
file extensions of the MIME type.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getRealm

java.lang.String getRealm()
                          throws java.rmi.RemoteException
Gets the active realm.

Returns:
the active realm.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getRealmDir

java.lang.String getRealmDir()
                             throws java.rmi.RemoteException
Gets the directory of the active realm.

Returns:
the directory of the active realm.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getTempDir

java.lang.String getTempDir()
                            throws java.rmi.RemoteException
Gets the temporary directory of the server.

Returns:
the temporary directory of the server.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getHistDir

java.lang.String getHistDir()
                            throws java.rmi.RemoteException
Gets the directory in which result versions are saved to.

Returns:
the directory in which result versions are saved to.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getRoot

java.lang.String getRoot()
                         throws java.rmi.RemoteException
Gets the resource root directory of the report server.

Returns:
the resource root directory of the report server.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getPathInfo

PathInfo getPathInfo(java.lang.String userID,
                     java.lang.String path)
                     throws java.rmi.RemoteException,
                            RptServerException
Gets the PathInfo for a specific user.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the PathInfo.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getSubpaths

java.util.Vector getSubpaths(java.lang.String userID,
                             java.lang.String path)
                             throws java.rmi.RemoteException,
                                    RptServerException
Gets the sub-paths of a resource path. The sub-paths mean non-leaf resource sub-nodes (except catalogs) and sub-directories.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the sub-paths of the resource path. The Vector contains PathInfo objects.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getSubpathsAndCatalogs

java.util.Vector getSubpathsAndCatalogs(java.lang.String userID,
                                        java.lang.String path)
                                        throws java.rmi.RemoteException,
                                               RptServerException
Gets the sub-paths of a resource path and catalogs.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the sub-paths of the resource path and catalogs. The Vector contains PathInfo objects.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getSubnodes

java.util.Vector getSubnodes(java.lang.String userID,
                             java.lang.String path)
                             throws java.rmi.RemoteException,
                                    RptServerException
Gets the sub-nodes of a resource node in the resource tree.

Parameters:
userID - the user ID.
path - the resource node, for example, /SunVMDemo.
Returns:
the sub-nodes of the resource node in the resource tree. The Vector contains PathInfo objects.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getCatalogsInPath

java.util.Vector getCatalogsInPath(java.lang.String userID,
                                   java.lang.String path)
                                   throws java.rmi.RemoteException,
                                          RptServerException
Gets the catalogs in a resource path.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the catalogs in the resource path. The Vector contains PathInfo objects.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getLCsInPath

java.util.Vector<PathInfo> getLCsInPath(java.lang.String userID,
                                        java.lang.String path)
                                        throws java.rmi.RemoteException,
                                               RptServerException
Gets the library components (LCs) in a resource path.

Parameters:
userID - the user ID.
path - the resource path, for example, /COMPONENT_LIB/test.
Returns:
the catalogs in the resource path. The Vector contains PathInfo objects.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getFileSysDirsInPath

java.util.Vector getFileSysDirsInPath(java.lang.String userID,
                                      java.lang.String path)
                                      throws java.rmi.RemoteException,
                                             RptServerException
Gets the sub-directories in a resource path.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the sub-directories in the resource path. The Vector contains PathInfo objects.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getFileSysFilesInPath

java.util.Vector getFileSysFilesInPath(java.lang.String userID,
                                       java.lang.String path)
                                       throws java.rmi.RemoteException,
                                              RptServerException
Gets the files in a resource path.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the files in the resource path. The Vector contains PathInfo objects.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getReports

java.util.Vector getReports(java.lang.String userID,
                            java.lang.String catalog)
                            throws java.rmi.RemoteException,
                                   RptServerException
Gets the reports of a catalog.

Parameters:
userID - the user ID.
catalog - the catalog, for example, /SunVMDemo/SunVMDemo.cat.
Returns:
the reports of the catalog. The Vector contains PathInfo objects.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getSchedulePath

java.lang.String getSchedulePath()
                                 throws java.rmi.RemoteException
Gets the path of the Schedule.

Returns:
the path of the Schedule.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getHistFile

java.lang.String getHistFile(java.lang.String file)
                             throws java.rmi.RemoteException
Gets the history file directory path.

Parameters:
file - the file.
Returns:
the history file.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getReportsInPath

java.util.Vector getReportsInPath(java.lang.String userID,
                                  java.lang.String path)
                                  throws java.rmi.RemoteException,
                                         NoPrivilegeException,
                                         UnknownResource
Gets the reports in a resource path.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the reports in the resource path. The Vector contains PathInfo objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
PathInfo

getDashboardsInPath

java.util.Vector<PathInfo> getDashboardsInPath(java.lang.String userID,
                                               java.lang.String path)
                                               throws java.rmi.RemoteException,
                                                      NoPrivilegeException,
                                                      UnknownResource
Gets the dashboards in a resource path.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the dashboards in the resource path, the vector contains PathInfo objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 10.1
See Also:
PathInfo

getResultsInPath

java.util.Vector getResultsInPath(java.lang.String userID,
                                  java.lang.String path)
                                  throws java.rmi.RemoteException,
                                         NoPrivilegeException,
                                         UnknownResource
Gets the results in a resource path.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the results in the resource path. The Vector contains PathInfo objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
PathInfo

getFoldersInPath

java.util.Vector getFoldersInPath(java.lang.String userID,
                                  java.lang.String path)
                                  throws java.rmi.RemoteException,
                                         NoPrivilegeException,
                                         UnknownResource
Gets the folders in a resource path.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the folders in the resource path. The Vector contains PathInfo objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
PathInfo

getCatalogVersions

java.util.Vector getCatalogVersions(java.lang.String userID,
                                    java.lang.String catName)
                                    throws java.rmi.RemoteException,
                                           NoPrivilegeException,
                                           UnknownResource
Gets the versions of a specific catalog.

Parameters:
userID - the user ID.
catName - the catalog name, for example, /SampleReports/SampleReports.cat.
Returns:
the versions of the catalog. The Vector object contains CatalogVersionRecord objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
CatalogVersionRecord

getLCVersions

java.util.Vector<LCVersionRecord> getLCVersions(java.lang.String userID,
                                                java.lang.String lcName)
                                                throws java.rmi.RemoteException,
                                                       NoPrivilegeException,
                                                       UnknownResource
Gets the versions of a specific LC.

Parameters:
userID - the user ID.
lcName - the LC name, for example, /COMPONENT_LIB/SampleReports.lc.
Returns:
the versions of the LC. The Vector object contains LCVersionRecord objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 10.1
See Also:
LCVersionRecord

getReportVersions

java.util.Vector getReportVersions(java.lang.String userID,
                                   java.lang.String rptName)
                                   throws java.rmi.RemoteException,
                                          NoPrivilegeException,
                                          UnknownResource
Gets the versions of a specific report.

Parameters:
userID - the user ID.
rptName - the report name, for example, /SampleReports/CustomerAnalysis.cls.
Returns:
the versions of the report. The Vector object contains ReportVersionRecord objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
ReportVersionRecord

getResultVersions

java.util.Vector getResultVersions(java.lang.String userID,
                                   java.lang.String rptName)
                                   throws java.rmi.RemoteException,
                                          NoPrivilegeException,
                                          UnknownResource
Gets the result versions that are attached to a specific report.

Parameters:
userID - the user ID.
rptName - the report name, for example, /SampleReports/CustomerAnalysis.cls.
Returns:
the result versions of the report. The Vector object contains ResultVersionRecord objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution .
Since:
version 6
See Also:
ResultVersionRecord

getResultDocVersions

java.util.Vector getResultDocVersions(java.lang.String userID,
                                      java.lang.String resultDocName)
                                      throws java.rmi.RemoteException,
                                             NoPrivilegeException,
                                             UnknownResource
Gets the versions of a specific result.

Parameters:
userID - the user ID.
resultDocName - the result name, for example, /SampleReports/resultdoc1.
Returns:
the versions of the result. The Vector object contains ResultVersionRecord objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
ResultVersionRecord

getCatalogVersion

CatalogVersionRecord getCatalogVersion(java.lang.String userID,
                                       java.lang.String catName,
                                       int versionNumber)
                                       throws java.rmi.RemoteException,
                                              NoPrivilegeException,
                                              UnknownResource
Gets a catalog version by catalog name and version number.

Parameters:
userID - the user ID.
catName - the catalog name, for example, /SampleReports/Tutorail.cat.
versionNumber - the version number
Returns:
the version of the specific catalog, a CatalogVersionRecord object, or null if the specific version cannot be gotten.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
CatalogVersionRecord

getVersion

VersionRecord getVersion(java.lang.String userID,
                         java.lang.String resourceName,
                         int versionNumber)
                         throws java.rmi.RemoteException,
                                NoPrivilegeException,
                                UnknownResource
Gets a resource version by resource name and version number.

Parameters:
userID - the user ID.
resourceName - the resource name, for example, /COMPONENT_LIB/Tutorail.lc.
versionNumber - the version number
Returns:
the version of the specific LC, a VersionRecord object, or null if the specific version cannot be gotten.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 10.1
See Also:
VersionRecord

getLCVersion

LCVersionRecord getLCVersion(java.lang.String userID,
                             java.lang.String lcName,
                             int versionNumber)
                             throws java.rmi.RemoteException,
                                    NoPrivilegeException,
                                    UnknownResource
Gets an LC version by LC name and version number.

Parameters:
userID - the user ID.
lcName - the LC name, for example, /COMPONENT_LIB/Tutorail.lc.
versionNumber - the version number.
Returns:
the version of the specific LC, a LCVersionRecord object or null if the specific version cannot be gotten.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 10.1
See Also:
LCVersionRecord

getReportVersion

ReportVersionRecord getReportVersion(java.lang.String userID,
                                     java.lang.String rptName,
                                     int versionNumber)
                                     throws java.rmi.RemoteException,
                                            NoPrivilegeException,
                                            UnknownResource
Gets a version of the specific report by version number.

Parameters:
userID - the user ID.
rptName - the report name, for example, /SampleReports/CustomerAnalysis.cls.
versionNumber - the version number.
Returns:
a ReportVersionRecord object, or null if the specific version cannot be gotten.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
ReportVersionRecord

getResultVersion

ResultVersionRecord getResultVersion(java.lang.String userID,
                                     java.lang.String rptName,
                                     int versionNumber)
                                     throws java.rmi.RemoteException,
                                            NoPrivilegeException,
                                            UnknownResource
Gets a result version attached to the specific report by version number.

Parameters:
userID - the user ID.
rptName - the report name, for example, /SampleReports/CustomerAnalysis.cls.
versionNumber - the version number.
Returns:
a ResultVersionRecord object, or null if the specific version cannot be gotten
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
ResultVersionRecord

getResultDocVersion

ResultVersionRecord getResultDocVersion(java.lang.String userID,
                                        java.lang.String resultDocName,
                                        int versionNumber)
                                        throws java.rmi.RemoteException,
                                               NoPrivilegeException,
                                               UnknownResource
Gets the version of the specific result by version number.

Parameters:
userID - the user ID.
resultDocName - the result name, for example, /SampleReports/resultdoc1.
versionNumber - the version number.
Returns:
a ResultVersionRecord object, or null if the specific version cannot be gotten.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 6
See Also:
ResultVersionRecord

setResultMaxVersionAmount

void setResultMaxVersionAmount(java.lang.String userID,
                               java.lang.String reportResource,
                               int maxVersionAmount)
                               throws java.rmi.RemoteException,
                                      NoPrivilegeException,
                                      UnknownResource
Sets the maximum number of versions for the specific report's results.

Parameters:
userID - the user ID.
reportResource - the report resource name, for example, /SampleReports/CustomerAnalysis.cls
maxVersionAmount - the new maximum number of versions value. If it is 0 or a negative value, number of versions of the specific resource will be unlimited.
Throws:
NoPrivilegException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
NoPrivilegeException
Since:
version 6

getResultMaxVersionAmount

int getResultMaxVersionAmount(java.lang.String userID,
                              java.lang.String reportResource)
                              throws java.rmi.RemoteException,
                                     NoPrivilegeException,
                                     UnknownResource
Gets the maximum number of versions for the specific report's results.

Parameters:
userID - the user ID.
reportResource - the report resource name, for example, /SampleReports/CustomerAnalysis.cls
Returns:
the maximum number of versions value. If it is 0, the number of versions of the specific resource will be unlimited, if -1 is returned, some error occurred.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution
Since:
version 6

removeNode

void removeNode(java.lang.String userID,
                java.lang.String path)
                throws java.rmi.RemoteException,
                       NoPrivilegeException,
                       UnknownResource
Removes the specific node which was indicated by path.

Parameters:
userID - the user ID.
path - the path from which a resource will be removed.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

addResource

VersionRecord addResource(java.lang.String userID,
                          java.lang.String folderPath,
                          java.util.Hashtable htResource)
                          throws java.rmi.RemoteException,
                                 NoPrivilegeException,
                                 NodeExistsException,
                                 UnknownResource
Deprecated. since version 6.1, replaced by addResource(String userID, String folderPath, Hashtable htResource, Hashtable[] permissions)

Adds a resource into the specific folder.

Parameters:
userID - the user ID.
folderPath - the path to specify the folder in which the new resource will be added.
htResource - a Hashtable that contains attributes of the new resource. These attributes can be indicated by some defined constants in APIConst, for example, TAG_NODE_NAME, TAG_RESOURCE_TYPE, TAG_DEFINE_PERMISSION, etc.
permissions - a Hashtable array which contains two Hashtable objects.
Returns:
a VersionRecord object to represent a resource version that was just added, or null if failed to add the resource.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
NodeExistsException - if a NodeExistsException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution .

addResource

VersionRecord addResource(java.lang.String userID,
                          java.lang.String folderPath,
                          java.util.Hashtable htResource,
                          java.util.Hashtable[] permissions)
                          throws java.rmi.RemoteException,
                                 NoPrivilegeException,
                                 NodeExistsException,
                                 UnknownResource
Adds a resource into the specified folder. The resource name is specified by APIConst.TAG_NODE_NAME. If the node does not exist under the specified folder, a resource node will be added under the folder. The resource type is specified by the value of APIConst.TAG_RESOURCE_TYPE in the parameter htResource, and a version will be added into the new resource node. If there is an existing resource with the same type and name, just add a version to the resource node. If there is a node with the same name under the folder, but with different node type and resource type, NodeExistsException will be thrown.

The addResource(userID, folderPath, htResource, permissions) has the same effect as:
addResource(userID, folderPath, false, htResource, permissions)

Parameters:
userID - the user ID to add resource. The user should have write permission (cannot set permissions) or grant permission (can set permissions), otherwise NoPrivilegeException will be thrown.
folderPath - the path to specify the folder, in which the new resource will be added.
htResource - a Hashtable that contains attributes of the new resource. These attributes can be indicated by some defined constants in APIConst, for example, TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
permissions - a Hashtable array, which contains three Hashtable objects to represent permissions that the path inherits from the parent. The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, value is a String of 8 length which presents the permissions that the user has on the specific path.
As the string of 8 length, 8 characters correspond to 8 permissions (the index starts from 0):
char 0 - visible
char 1 - read
char 2 - write
char 3 - execute
char 4 - schedule
char 5 - delete
char 6 - grant
char 7 - update status
The available value of a character is string value of jet.cs.api.CSPermission.ALLOW (1) and jet.cs.api.CSPermission.DENY (0).
For example, in the first element, a Hashtable entry ("guest" : "11000000") means user has permission visible and read.
The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

An array element which is null means user/role/group has no permission.
null means no permission setting on the resource.
Returns:
a VersionRecord object to represent a resource version that was just added, or null if it failed to add the resource.
Throws:
NoPrivilegeException - if the user does not have write (cannot set permissions) or grant permission on the folder.
NodeExistsException - if a same name node exists under the specified folder but it does not have the same node type and resource type.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

addResource

VersionRecord addResource(java.lang.String userID,
                          java.lang.String folderPath,
                          boolean isAutoConvert,
                          java.util.Hashtable htResource,
                          java.util.Hashtable[] permissions)
                          throws java.rmi.RemoteException,
                                 NoPrivilegeException,
                                 NodeExistsException,
                                 UnknownResource
Adds a resource into the specified folder. The resource name is specified by APIConst.TAG_NODE_NAME. If the node does not exist under the specified folder, a resource node will be added under the folder. The resource type is specified by the value of APIConst.TAG_RESOURCE_TYPE in the parameter htResource, and a version will be added into the new resource node.
If there is an existing resource with the same type and the same name, just add a version to the resource node.
If there is a node with the same name under the folder, but it does not have the same node type and resource type, NodeExistsException will be thrown.

Parameters:
userID - the user ID to add resource. The user should have write permission (cannot set permissions) or grant permission (can set permissions), otherwise NoPrivilegeException will be thrown.
folderPath - the path to specify the folder, in which the new resource will be added.
isAutoConvert - whether to convert the old version report to the latest version report. The old version report means the report that was created by using JReport version older than 8 (excluded).
htResource - a Hashtable that contains attributes of the new resource. These attributes can be indicated by some defined constants in APIConst, for example, TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
permissions - a Hashtable array, which contains three Hashtable objects to represent permissions that the path inherits from the parent. The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a String of 8 length which presents the permissions that the user has on the specific path.
As the string of 8 length, 8 characters correspond to 8 permissions (the index starts from 0):
char 0 - visible
char 1 - read
char 2 - write
char 3 - execute
char 4 - schedule
char 5 - delete
char 6 - grant
char 7 - update status
The available value of a character is string value of jet.cs.api.CSPermission.ALLOW (1) and jet.cs.api.CSPermission.DENY (0).
For example, in the first element, a Hashtable entry ("guest" : "11000000") means user has permission visible and read.
The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

An array element which is null means user/role/group has no permission.
null means no permission setting on the resource.
Returns:
a VersionRecord object to represent a resource version that was just added, or null if failed to add the resource.
Throws:
NoPrivilegeException - if the user does not have write (cannot set permissions) or grant permission on the folder.
NodeExistsException - if a same name node exists under the specified folder but it does not have the same node type and resource type.
UnknownResource - if no node can be found by the path
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

addResultInReport

VersionRecord addResultInReport(java.lang.String userID,
                                java.lang.String reportPath,
                                java.util.Hashtable htResult)
                                throws java.rmi.RemoteException,
                                       NoPrivilegeException,
                                       UnknownResource
Adds a result into the specific report.

Parameters:
userID - the user ID.
reportPath - the path to specify the report in which the new report will be added.
htResult - a Hashtable that contains attributes of the new result. These attributes can be indicated by some defined constants in APIConst, for example, TAG_NODE_NAME, TAG_RESOURCE_TYPE, TAG_DEFINE_PERMISSION, etc.
Returns:
a VersionRecord object to represent a result version that was just added, or null if it failed to add the result.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

addFolder

java.lang.String addFolder(java.lang.String userID,
                           java.lang.String parentPath,
                           java.util.Hashtable htFolder)
                           throws java.rmi.RemoteException,
                                  NoPrivilegeException,
                                  NodeExistsException,
                                  UnknownResource
Deprecated. since version 6.1, replaced by createFolder(...) and addResourcesToFolder(...). the param "includesSubDir" of the method addResourcesToFolder(...) should be true in this case.

Adds a sub-folder into the specific folder.

Parameters:
userID - the user ID.
parentPath - the path to specify in which folder the new resource will be added.
htFolder - a Hashtable that contains attributes of the new folder. These attributes can be indicated by some defined constants in APIConst, for example, TAG_NODE_NAME, TAG_DEFINE_PERMISSION, etc.
Returns:
the new folder's absolute path, or null if it failed add the sub-folder.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
NodeExistsException - if a NodeExistsException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

createFolder

java.lang.String createFolder(java.lang.String userID,
                              java.lang.String parentPath,
                              java.lang.String folderName,
                              java.util.Hashtable htFolder,
                              java.util.Hashtable[] permissions)
                              throws java.rmi.RemoteException,
                                     NoPrivilegeException,
                                     NodeExistsException,
                                     UnknownResource
Creates a sub-folder into the specified folder.

Parameters:
userID - the user ID to add resource. The user should have write permission (cannot set permissions) or grant permission (can set permissions), otherwise NoPrivilegeException will be thrown.
parentPath - the path to specify in which folder the new folder will be added.
folderName - the name of the new folder.
htFolder - a Hashtable that contains attributes of the new folder, These attributes can be indicated by some defined constants in APIConst, for example, TAG_NODE_DESC, etc.
permissions - a Hashtable array, which contains three Hashtable objects to represent permissions that the path inherits from the parent. The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a String of 8 length which presents the permissions that the user has on the specific path.
As the string of 8 length, 8 characters correspond to 8 permissions (the index starts from 0):
char 0 - visible
char 1 - read
char 2 - write
char 3 - execute
char 4 - schedule
char 5 - delete
char 6 - grant
char 7 - update status
The available value of a character is string value of jet.cs.api.CSPermission.ALLOW (1) and jet.cs.api.CSPermission.DENY (0).
For example, in the first element, a Hashtable entry ("guest" : "11000000") means user has permission visible and read.
The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

An array element which is null means user/role/group has no permission.
null means no permission setting on the resource.
Returns:
the new folder's absolute path, or null if failed to add the sub-folder.
Throws:
NoPrivilegeException - if the user does not have write (cannot set permissions) or grant permission on the parent folder.
NodeExistsException - if a same name node exists under the specified folder but it does not have the same node type and resource type.
UnknownResource - if no node can be found by the path
java.rmi.RemoteException - if communication-related error occurs during RMI call execution

addResourcesToFolder

void addResourcesToFolder(java.lang.String userID,
                          java.lang.String folderPath,
                          java.lang.String fromRealDir,
                          boolean includesSubDir,
                          java.util.Hashtable htResource,
                          java.util.Hashtable[] permissions)
                          throws java.rmi.RemoteException,
                                 NoPrivilegeException,
                                 NodeExistsException,
                                 UnknownResource
Adds resources and folders according to catalog/report files and sub-folders under the disk directory into the specified folder.
Report and catalog files under the disk directory will be added to folder as corresponding resource nodes, and sub-dir is added as folder, if the value of includesSubDir is true, the contents in the sub-dir will be added as well.

The addResourcesToFolder(userID, folderPath, fromRealDir, includesSubDir, htResource, permissions) has the same effect as:
addResourcesToFolder(userID, folderPath, fromRealDir, includesSubDir, false, htResource, permissions).

Parameters:
userID - the user ID. The user should have write permission (cannot set permissions) or grant permission (can set permissions), otherwise NoPrivilegeException will be thrown.
folderPath - the path to specify in which folder the new resources will be added.
fromRealDir - the disk directory which contains these files and sub-folders.
includesSubDir - indicates whether to add files in sub-dir or not.
htResource - a Hashtable that contains attributes of the new resources. These attributes can be indicated by some defined constants in APIConst.
permissions - a Hashtable array, which contains three Hashtable objects to represent permissions that the path inherits from the parent. The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a String of 8 length which presents the permissions that the user has on the specific path.
As the string of 8 length, 8 characters correspond to 8 permissions (the index starts from 0):
char 0 - visible
char 1 - read
char 2 - write
char 3 - execute
char 4 - schedule
char 5 - delete
char 6 - grant
char 7 - update status
The available value of a character is string value of jet.cs.api.CSPermission.ALLOW (1) and jet.cs.api.CSPermission.DENY (0).
For example, in the first element, a Hashtable entry ("guest" : "11000000") means user has permission visible and read.
The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

An array element which is null means user/role/group has no permission.
null means no permission setting on the resource.
Throws:
NoPrivilegeException - if the user does not have write (cannot set permissions) or grant permission on the parent folder.
NodeExistsException - if a same name node exists under the specified folder but it does not have the same node type and resource type.
UnknownResource - if no node can be found by the folderPath
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

addResourcesToFolder

void addResourcesToFolder(java.lang.String userID,
                          java.lang.String folderPath,
                          java.lang.String fromRealDir,
                          boolean includesSubDir,
                          boolean isAutoConvert,
                          java.util.Hashtable htResource,
                          java.util.Hashtable[] permissions)
                          throws java.rmi.RemoteException,
                                 NoPrivilegeException,
                                 NodeExistsException,
                                 UnknownResource
Adds resources and folders according to catalog/report files and sub-folders under the disk directory into the specified folder.
Report and catalog files under the disk directory will be added to the folder as corresponding resource nodes, and sub-dir is added as folder, if the value of includesSubDir is true, the contents in the sub-dir will be added as well.

Parameters:
userID - the user ID. The user should have write permission (cannot set permissions) or grant permission (can set permissions), otherwise NoPrivilegeException will be thrown.
folderPath - the path to specify in which folder new resources will be added.
fromRealDir - the disk directory which contains these files and sub-folders.
includesSubDir - indicates whether to add files in sub-dir or not.
isAutoConvert - whether to convert the old version report to the latest version report. The old version report means the report that was created by using JReport version older than 8 (excluded).
htResource - a Hashtable that contains attributes of the new resources. These attributes can be indicated by some defined constants in APIConst.
permissions - a Hashtable array, which contains three Hashtable objects to represent permissions that the path inherits from the parent. The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a String of 8 length which presents the permissions that the user has on the specific path.
As the string of 8 length, 8 characters correspond to 8 permissions (the index starts from 0):
char 0 - visible
char 1 - read
char 2 - write
char 3 - execute
char 4 - schedule
char 5 - delete
char 6 - grant
char 7 - update status
The available value of a character is string value of jet.cs.api.CSPermission.ALLOW (1) and jet.cs.api.CSPermission.DENY (0).
For example, in the first element, a Hashtable entry ("guest" : "11000000") means user has permission visible and read.
The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

An array element which is null means user/role/group has no permission.
null means no permission setting on the resource.
Throws:
NoPrivilegeException - if the user does not have write (cannot set permissions) or grant permission on the parent folder.
NodeExistsException - if a same name node exists under the specified folder but it does not have the same node type and resource type.
UnknownResource - if no node can be found by the folderPath
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

removeVersion

void removeVersion(java.lang.String userID,
                   java.lang.String versionID)
                   throws java.rmi.RemoteException,
                          NoPrivilegeException
Removes the specific version.

Parameters:
userID - the user ID.
versionID - the version ID to be removed. It can be gotten from VersionRecord.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
See Also:
VersionRecord

getAllUsers

java.util.Vector getAllUsers(java.lang.String submitter)
                             throws java.rmi.RemoteException
Gets all users.

Parameters:
submitter - the user id who sent this request.
Returns:
a Vector object containing all user names, or null if the submitter does not have permission to get all users.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getUsersByRole

java.util.Vector getUsersByRole(java.lang.String submitter,
                                java.lang.String roleID)
                                throws java.rmi.RemoteException,
                                       NoSuchRoleException
Gets the users who have the specific role.

Parameters:
submitter - the user id who sent this request.
roleID - the role ID.
Returns:
a Vector object containing the user names who have the specific role, or null if the submitter does not have permission to get users by this role.
Throws:
NoSuchRoleException - if a NoPrivilegeException occurs.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getAllRoles

java.util.Vector getAllRoles(java.lang.String submitter)
                             throws java.rmi.RemoteException
Gets all roles.

Parameters:
submitter - the user id who sent this request.
Returns:
a Vector object containing all role names, or null if the submitter does not have permission to get all roles.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getRolesByUser

java.util.Vector getRolesByUser(java.lang.String submitter,
                                java.lang.String userID)
                                throws java.rmi.RemoteException,
                                       NoSuchUserException
Gets the roles which the specific user has.

Parameters:
submitter - the user id who sent this request.
userID - the user ID.
Returns:
a Vector object containing the role names which the specific user has, or null if the submitter does not have permission to get roles by this user.
Throws:
NoSuchUserException - if a NoSuchUserException occurs.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getReferRoles

java.util.Vector getReferRoles(java.lang.String userID)
                               throws java.rmi.RemoteException,
                                      NoSuchUserException
Gets the roles which are defined for the specific user.

Parameters:
userID - the user ID.
Returns:
a Vector object containing the role names which the specific user is included in. These roles are owned by the specific user except administrator and everyone.
Throws:
NoSuchUserException - if a NoSuchUserException occurs.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getReferGroups

java.util.Vector getReferGroups(java.lang.String userID)
                                throws java.rmi.RemoteException,
                                       NoSuchUserException
Gets the groups which the specific user belongs to. These groups contain the specific user.

Parameters:
userID - the user ID.
Returns:
a Vector object containing the group names which the specific user belongs to.
Throws:
NoSuchUserException - if a NoSuchUserException occurs.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getReferUsers

java.util.Vector getReferUsers(java.lang.String userID)
                               throws java.rmi.RemoteException,
                                      NoSuchUserException
Gets the users which the specific user is referred. These users have same role except for administrator and everyone with the specific user.

Parameters:
userID - the user ID.
Returns:
a Vector object containing the user names which the specific user is referred.
Throws:
NoSuchUserException - if a NoSuchUserException occurs.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getPermissions

java.util.Hashtable[] getPermissions(java.lang.String userID,
                                     java.lang.String path,
                                     int versionNumber)
                                     throws java.rmi.RemoteException,
                                            NoPrivilegeException,
                                            UnknownResource
Gets the permissions set to the specific path.

Parameters:
userID - the user ID who wants to get permissions. The user should have read permission on this node, otherwise NoPrivilegeException will be thrown.
path - the path to set permissions to.
versionNumber - the version number to specify the version of the path. If the parameter path points to a folder, this parameter will be ignored, or if path points to a catalog/report/result node and the version number is 0, the version number will be ignored as well.
Returns:
a Hashtable array, which contains three Hashtable objects to represent permissions set on the path. null means no permission set on the path.

The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a String which presents the permissions that the user has on the specific path.
In the value string, character '1' and '0' respectively represents Allow and Deny, the position indicates which privilege it stand for (0 base):

  • 0 - visible
  • 1 - read
  • 2 - write
  • 3 - execute
  • 4 - schedule
  • 5 - delete
  • 6 - grant
  • 7 - update status
  • 8 - edit (JDashboard)
For example, a entry ("user1" : "110000000") means user1 has permission visible and read.

The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

Throws:
NoPrivilegeException - if the user does not have read permission on the path.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getInheritedPermissions

java.util.Hashtable[] getInheritedPermissions(java.lang.String userID,
                                              java.lang.String path,
                                              int versionNumber)
                                              throws java.rmi.RemoteException,
                                                     NoPrivilegeException,
                                                     UnknownResource
Gets inherited permissions set to the specific path. Inherited permissions means the permissions set on the parent node. If the parent node does not have permission setting, will get them from the parent of the parent node, and so on.
When checking permissions on a specified path for a user, if the path has set permissions on, JReport will check the user's permission in this permission setting, otherwise, will check user's permission in inherited permission settings. For example, inherited permissions will not take effect if the specified path has permission settings which override the inherited permissions.

Parameters:
userID - the user ID who wants to get permissions. The user should have read permission on this node, otherwise NoPrivilegeException will be thrown.
path - the path which is used to get inherited permissions.
versionNumber - the version number to specify the version of the path. If the parameter path points to a folder, this parameter will be ignored, or if path points to a catalog/report/result node and the version number is 0, the version number will be ignored as well.
Returns:
a Hashtable array, which contains three Hashtable objects to represent permissions that the path inherits from the parent. The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a String of 8 length which presents the permissions that the user has on the specific path.
As the string of 8 length, 8 characters correspond to 8 permissions (the index starts from 0):
char 0 - visible
char 1 - read
char 2 - write
char 3 - execute
char 4 - schedule
char 5 - delete
char 6 - grant
char 7 - update status
The available value of a character is string value of jet.cs.api.CSPermission.ALLOW (1) and jet.cs.api.CSPermission.DENY (0).
For example, in the first element, a Hashtable entry ("guest" : "11000000") means user has permission visible and read.
The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

An array element which is null means user/role/group has no permission set in inherited permissions.
Return null which means no permission set on the path.
Throws:
NoPrivilegeException - if the user does not have read permission on the path.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getImagesByCatalog

java.util.Vector getImagesByCatalog(java.lang.String userID,
                                    java.lang.String catalog)
                                    throws NoPrivilegeException,
                                           UnknownResource,
                                           java.rmi.RemoteException
Gets inherited permissions of the users attached to the specific path.

Parameters:
userID - the user ID who wants to get permissions.
catalog - the full catalog path, for example, /SunVMDemo/SunVMDemo.cat.
Returns:
the image files in the resource path. The Vector contains PathInfo objects.
Throws:
NoPrivilegeException - if the user does not have grant permission on the path.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

setPermissions

void setPermissions(java.lang.String userID,
                    java.lang.String path,
                    int versionNumber,
                    java.util.Hashtable[] permissions)
                    throws java.rmi.RemoteException,
                           NoPrivilegeException,
                           UnknownResource
Sets permissions for the specified path.

Parameters:
userID - the user ID who wants to set permissions. The user should have grant permission on this node, otherwise NoPrivilegeException will be thrown.
path - the path which will be used to set permissions on.
versionNumber - the version number to specify the version of the path. If the parameter path points to a folder, this parameter will be ignored, or if path points to a catalog/report/result node and the version number is 0, the version number will be ignored as well.
permissions - a Hashtable array, which contains three Hashtable objects to represent permissions set on the path.

The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a String which presents the permissions that the user has on the specific path.
In the value string, character '1' and '0' respectively represents Allow and Deny, the position indicates which privilege it stand for (0 base):

  • 0 - visible
  • 1 - read
  • 2 - write
  • 3 - execute
  • 4 - schedule
  • 5 - delete
  • 6 - grant
  • 7 - update status
  • 8 - edit (JDashboard)
For example, a entry ("user1" : "110000000") means user1 has permission visible and read.

The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

Throws:
NoPrivilegeException - if the user does not have grant permission on the path.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

setNodeProperties

void setNodeProperties(java.lang.String userID,
                       java.lang.String path,
                       java.util.Hashtable htProps,
                       java.util.Hashtable[] permissions)
                       throws java.rmi.RemoteException,
                              NoPrivilegeException,
                              NodeExistsException,
                              UnknownResource
Sets properties and permissions of users on the specific path.

Parameters:
userID - the user ID who wants to set properties. The user should have write permission (cannot set permission together), or grant permission (can set permission in this method) on this node, otherwise NoPrivilegeException will be thrown.
path - the path which will be used to set properties and permissions on.
htProps - the properties of the specific node. These properties are indicated by APIConst.TAG_MAXVERSION, APIConst.TAG_REPLACE_OLD_VERSION, APIConst.TAG_NODE_REAL_PATH, APIConst.TAG_TAG_ENABLE_DEFAULT_LINKED_CATALOG, APIConst.TAG_DEFAULT_LINKED_CATALOG APIConst.TAG_IS_USING_INHERITED, etc. all values are represented by a String.
permissions - a Hashtable array, which contains three Hashtable objects to represent permissions that the path inherits from the parent. The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a String of 8 length which presents the permissions that the user has on the specific path.
As the string of 8 length, 8 characters correspond to 8 permissions (the index starts from 0):
char 0 - visible
char 1 - read
char 2 - write
char 3 - execute
char 4 - schedule
char 5 - delete
char 6 - grant
char 7 - update status
The available value of a character is string value of jet.cs.api.CSPermission.ALLOW (1) and jet.cs.api.CSPermission.DENY (0).
For example, in the first element, a Hashtable entry ("guest" : "11000000") means user has permission visible and read.
The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

An array element which is null means user/role/group has no permission.
null means on permission setting on the path.
Throws:
NoPrivilegeException - if the user does not have write permission (cannot set permission together), or grant permission (can set permission in this method) on the path.
NodeExistsException - if you rename a node to an existing node name.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

setNodeProperties

void setNodeProperties(java.lang.String userID,
                       java.lang.String path,
                       int versionNumber,
                       java.util.Hashtable htProps,
                       java.util.Hashtable[] permissions)
                       throws java.rmi.RemoteException,
                              NoPrivilegeException,
                              UnknownResource
Sets properties and permissions on the specific version of path or path.

Parameters:
userID - the user ID who wants to set properties. The user should have write permission (cannot set permission together), or grant permission (can set permission in this method) on this node, otherwise NoPrivilegeException will be thrown.
path - the path which will be used to set properties and permissions on.
versionNumber - the version number to specify the version of the path. If the parameter path points to a folder, this parameter will be ignored, or if path points to a catalog/report/result node and the version number is 0, the version number will be ignored as well.
htProps - the properties of the specific node. These properties are indicated by APIConst.TAG_EXPIRED_TIME, etc. all values are represented by a String.
permissions - a Hashtable array, which contains three Hashtable objects to represent permissions that the path inherits from the parent. The first Hashtable contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a String of 8 length which presents the permissions that the user has on the specific path.
As the string of 8 length, 8 characters correspond to 8 permissions (the index starts from 0):
char 0 - visible
char 1 - read
char 2 - write
char 3 - execute
char 4 - schedule
char 5 - delete
char 6 - grant
char 7 - update status
The available value of a character is string value of jet.cs.api.CSPermission.ALLOW (1) and jet.cs.api.CSPermission.DENY (0).
For example, in the first element, a Hashtable entry ("guest" : "11000000") means user has permission visible and read.
The second Hashtable object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
The third Hashtable object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

An array element which is null means user/role/group has no permission.
null means no permission setting on the path.
Throws:
NoPrivilegeException - if the user does not have write permission (cannot set permission together), or grant permission (can set permission in this method) on the path.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

setResultVersionProperties

void setResultVersionProperties(java.lang.String userID,
                                java.lang.String report,
                                int versionNumber,
                                java.util.Hashtable htProps)
                                throws java.rmi.RemoteException,
                                       NoPrivilegeException,
                                       UnknownResource
Sets properties of users on the specific result version of a report.

Parameters:
userID - the user ID who wants to set properties.
report - the report which will be used to set properties on attached result version of.
versionNumber - the version number. If it is zero or an invalid version number, no action will be performed.
htProps - the properties of the specific node. These properties are indicated by APIConst.TAG_EXPIRED_TIME, etc. all values are represented by a String.
Throws:
NoPrivilegeException - if the user does not have write permission (cannot set permission together), or grant permission (can set permission in this method) on the path.
UnknownResource - if an UnknownResource occurs.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getRealPathOfNode

java.lang.String getRealPathOfNode(java.lang.String userID,
                                   java.lang.String path)
                                   throws java.rmi.RemoteException,
                                          NoPrivilegeException,
                                          UnknownResource
Gets real path property of a node, which is specified by path.

Parameters:
userID - the user id.
path - the path to specify a node (a folder, catalog, or report).
Returns:
the real path of the specific node.
Throws:
NoPrivilegeException - if the user does not have permission to get the specific node's realPath.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

refreshFolders

java.lang.String refreshFolders(java.lang.String userID)
                                throws java.rmi.RemoteException
Refreshes the folders representing in UI for the specific user. JReport Server creates an xml file for every user. All folders can be shown in UI for the users that are represented in this xml file. If a user wants to refresh his folder tree in UI, this method should be invoked.

Parameters:
userID - the user id.
Returns:
the xml file name.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getResourceTreeInputStream

byte[] getResourceTreeInputStream(java.lang.String userID,
                                  java.lang.String... pathPrefix)
                                  throws java.rmi.RemoteException
Gets the resource tree XML input stream.

Parameters:
userID - the user id.
pathPrefix - the root path prefix, such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
Throws:
java.rmi.RemoteException

getResourceTreeInputStream

byte[] getResourceTreeInputStream(java.lang.String userID,
                                  int streamType,
                                  java.lang.String[] roots,
                                  java.lang.String[] suffixes,
                                  java.util.Locale locale)
                                  throws java.rmi.RemoteException
Gets resource tree input stream.

Parameters:
userID - the user id.
streamType - the type of return stream, XML_STREAM indicate return XML text stream, JSON_STREAM indicate return JSON text stream, other type return null.
root - root paths , such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
roots - root paths , such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
suffixes - resource suffix, such as ".cls", ".dsh", etc.
Returns:
the input stream of resource tree text.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getResourceTreeInputStreamByType

byte[] getResourceTreeInputStreamByType(java.lang.String userID,
                                        int streamType,
                                        java.lang.String... pathPrefix)
                                        throws java.rmi.RemoteException
Gets the resource tree XML input stream.

Parameters:
userID - the user id.
streamType - the type of return stream, XML_STREAM indicate return XML text stream, JSON_STREAM indicate return JSON text stream, other type return null.
pathPrefix - the root path prefix, such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
Throws:
java.rmi.RemoteException

getLatestVersionNumber

int getLatestVersionNumber(java.lang.String resourcePath)
                           throws java.rmi.RemoteException,
                                  UnknownResource
Gets the latest version number of the specific resource.

Parameters:
resourcePath - the resource path to specify the resource.
Returns:
the latest version number of the specific resource. If the specific resource does not exist or the input string does not specify a resource, return -1.
Throws:
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getLatestVersionNumber

int getLatestVersionNumber(java.lang.String resourcePath,
                           java.lang.String userID)
                           throws java.rmi.RemoteException,
                                  UnknownResource
Gets the latest version number of the specific resource.

Parameters:
resourcePath - the resource path to specify the resource.
userID - the user id.
Returns:
the latest version number of the specific resource. If the specific resource does not exist or the input string does not specify a resource, return -1.
Throws:
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

isAdminUser

boolean isAdminUser(java.lang.String userID)
                    throws java.rmi.RemoteException
Checks if a user is an administrator.

Parameters:
userID - the user id.
Returns:
true if the user is an administrator, otherwise false.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

isOrganizationAdminUser

boolean isOrganizationAdminUser(java.lang.String userID)
                                throws java.rmi.RemoteException
Checks if a user is an administrator of an organization.

Parameters:
userID - the user id.
Returns:
true if the user is an administrator of an organization, otherwise false.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

isNodeExist

boolean isNodeExist(java.lang.String path,
                    java.lang.String userName)
                    throws java.rmi.RemoteException
Checks whether or not the specified node exists. If it does, true is returned, otherwise false is returned.

Parameters:
path - the specific resource path.
userName - the user name.
Returns:
true if the node exists, otherwise false.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getResultVersionByNodeID

ResultVersionRecord getResultVersionByNodeID(java.lang.String recordID)
                                             throws java.rmi.RemoteException,
                                                    NoPrivilegeException,
                                                    UnknownResource
Gets a result version by node id.

Parameters:
recordID - the node id.
Returns:
ResultVersionRecord.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
NoPrivilegeException - if the user does not have permission to get the specific result version.
UnknownResource - if no node can be found by the path.
Since:
version 6
See Also:
ResultVersionRecord

checkPermission

boolean checkPermission(java.lang.String userID,
                        java.lang.String resourcePath,
                        java.security.acl.Permission permission)
                        throws NoSuchUserException,
                               UnknownResource,
                               java.rmi.RemoteException
Checks whether the specific user has a permission on the specific resource path.

Parameters:
userID - the user id.
resourcePath - the resource path.
permission - a permission, which should be one of the permissions defined in jet.server.api.Permissions.
Returns:
true if the user has the specific permission on the resource, otherwise false.
Throws:
NoSuchUserException - if NoSuchUserException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

checkPermission

boolean checkPermission(java.lang.String userID,
                        java.lang.String resourcePath,
                        int versionNumber,
                        java.security.acl.Permission permission)
                        throws NoSuchUserException,
                               UnknownResource,
                               java.rmi.RemoteException
Checks whether the specific user has a permission on the specific version number of a resource path.

Parameters:
userID - the user id.
resourcePath - the resource path.
versionNumber - the version number of the resource path.
permission - a permission, which should be one of the permissions defined in jet.server.api.Permissions.
Returns:
true if the user has the specific permission on the resource, otherwise false.
Throws:
NoSuchUserException - if NoSuchUserException occurs.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

loadUserResAliasToMem

void loadUserResAliasToMem(java.lang.String userID)
                           throws java.rmi.RemoteException
Loads the resource alias of a user and save them into memory.

Parameters:
userID - the user name.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

rmUserResAliasFromMem

void rmUserResAliasFromMem(java.lang.String userID)
                           throws java.rmi.RemoteException
Removes the resource alias of a user from memory.

Parameters:
userID - the user name.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.

getInheritedLinkedCatalog

java.lang.String getInheritedLinkedCatalog(java.lang.String userID,
                                           java.lang.String path)
                                           throws NoPrivilegeException,
                                                  UnknownResource,
                                                  java.rmi.RemoteException
Gets inherited linked catalog.

Parameters:
userID - the user name.
path - the resource path.
Returns:
the inherited linked catalog or null if the inheritance is broken.
Throws:
NoPrivilegeException - if the user does not have permission to get the specific linked catalog.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 8.1

isCatalogLinked

boolean isCatalogLinked(java.lang.String userID,
                        java.lang.String path)
                        throws NoPrivilegeException,
                               UnknownResource,
                               java.rmi.RemoteException
Checks whether the catalog is linked.

Parameters:
userID - the user name.
path - the catalog path.
Returns:
true if the catalog is linked.
Throws:
NoPrivilegeException - if the user does not have permission to get the specific node's properties.
UnknownResource - if no node can be found by the path.
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 8.2

getEnabledCustomFieldNames

java.util.Vector getEnabledCustomFieldNames()
                                            throws java.rmi.RemoteException
Gets all names of enabled custom fields.

Returns:
all names of enabled custom fields.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
Since:
version 9.1

getRootNodeDisplay

java.lang.String getRootNodeDisplay(java.util.Locale locale)
                                    throws java.rmi.RemoteException
Get "Root" node's display text on UI for specified locale. "Root" node is a virtual node, which does not really exist on resource tree, it has sub-folders: My Reports, My Components, Public Reports, Public Components, for organization user, also has sub-folders: Organization Reports and Organization Components.

Parameters:
locale - the locale
Returns:
"Root" node's display text, which should be defined by ResourceNLSManager.updateRootNLSEntry(Locale, TextNLSEntry, String), return null if not defined.
Throws:
java.rmi.RemoteException - if communication-related error occurs during RMI call execution.
See Also:
ResourceNLSManager