jet.server.api
Interface ResourceManager


public interface ResourceManager

This interface defines methods to explore the resources in the report 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 a specific 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 a specific folder
 java.lang.String 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 files and sub-folders into a specific 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 files and sub-folders into a specific folder.
 VersionRecord addResultInReport(java.lang.String userID, java.lang.String reportPath, java.util.Hashtable htResult)
          Adds a result into a 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 a specific version number of a resource path.
 boolean checkPermission(java.lang.String userID, java.lang.String resourcePath, java.security.acl.Permission permission)
          Checks whether a specific user has a permission on a 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)
          Adds a sub-folder into a specific 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<PathInfo> 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 path, int versionNumber)
          Gets a catalog version by catalog name and version number
 java.util.Vector<CatalogVersionRecord> 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 mimeType)
          Gets file extensions of the MIME type.
 java.util.Vector getFileSysDirsInPath(java.lang.String userID, java.lang.String path)
          Deprecated. As of version 6, replaced by getFoldersInPath().
 java.util.Vector getFileSysFilesInPath(java.lang.String userID, java.lang.String path)
          Deprecated. As of version 6, it was obsolete.
 java.util.Vector<PathInfo> getFoldersInPath(java.lang.String userID, java.lang.String path)
          Gets the folders in a resource path.
 java.lang.String getHistDir()
          Gets the directory 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 path)
          Gets the image files in the resource 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 the inherited permissions of the users attached to the specific path.
 int getLatestVersionNumber(java.lang.String resourcePath)
          Gets the latest version number of a specific resource.
 int getLatestVersionNumber(java.lang.String resourcePath, java.lang.String userID)
          Gets the latest version number of a specific resource.
 java.util.Vector<PathInfo> getLCsInPath(java.lang.String userID, java.lang.String path)
          Gets the LCs in a resource path.
 LCVersionRecord getLCVersion(java.lang.String userID, java.lang.String path, 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 PathInfo for a specific user.
 java.util.Hashtable[] getPermissions(java.lang.String userID, java.lang.String path, int versionNumber)
          Gets the defined permissions of the users attached 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 the 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 the specific user belongs to.
 java.util.Vector getReferUsers(java.lang.String userID)
          Gets the users which belong to the same role as the specific user.
 java.util.Vector getReports(java.lang.String userID, java.lang.String catalog)
          Deprecated. As of version 6, replaced by getReportsInPath().
 java.util.Vector<PathInfo> 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 rptPath, int versionNumber)
          Gets a version of a specific report by version number.
 java.util.Vector<ReportVersionRecord> getReportVersions(java.lang.String userID, java.lang.String rptName)
          Gets the versions of a specific report.
 java.io.InputStream getResourceTreeInputStream(java.lang.String userID, int streamType, java.lang.String[] roots, java.lang.String[] suffixes, java.util.Locale locale)
          Gets resource tree XML input stream.
 java.io.InputStream getResourceTreeInputStream(java.lang.String userID, java.lang.String... pathPrefix)
          Gets resource tree XML input stream.
 java.io.InputStream getResourceTreeInputStreamByType(java.lang.String userID, int streamType, java.lang.String... pathPrefix)
          Gets resource tree XML input stream.
 ResultVersionRecord getResultDocVersion(java.lang.String userID, java.lang.String resultDocName, int versionNumber)
          Gets a version of a specific result doc by version number.
 java.util.Vector<ResultVersionRecord> 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 of a 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 a specific report by version number.
 ResultVersionRecord getResultVersionByNodeID(java.lang.String recordID)
          Gets a result version by node id
 java.util.Vector<ResultVersionRecord> getResultVersions(java.lang.String userID, java.lang.String rptName)
          Gets the result versions 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<PathInfo> 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)
          Deprecated. As of version 6, replaced by getFoldersInPath().
 java.util.Vector<PathInfo> 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 resourcePath, 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 resource alias of a user from database and saves them into memory.
 java.lang.String refreshFolders(java.lang.String userID)
          Deprecated. reference #getResourceTreeInputStream(String)
 void removeNode(java.lang.String userID, java.lang.String path)
          Removes the specific node which is indicated by path.
 void removeVersion(java.lang.String userID, java.lang.String versionID)
          Removes a specific version.
 void rmUserResAliasFromMem(java.lang.String userID)
          Removes 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 the properties and permissions of the users for a specific path.
 void setNodeProperties(java.lang.String userID, java.lang.String path, int versionNumber, java.util.Hashtable htProps, java.util.Hashtable[] permissions)
          Sets the properties and permissions of the users for a specific version of path.
 void setPermissions(java.lang.String userID, java.lang.String path, int versionNumber, java.util.Hashtable[] permissions)
          Sets the permissions of users for a specific path.
 void setResultMaxVersionAmount(java.lang.String userID, java.lang.String reportResource, int maxVersionAmount)
          Sets the maximum number of versions of a specific report's results.
 void setResultVersionProperties(java.lang.String userID, java.lang.String report, int versionNumber, java.util.Hashtable htProps)
          Sets the properties of the users for a specific result version of report.
 

Method Detail

getMIMEType

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

Parameters:
extName - the file extension.
Returns:
the MIME type of a file extension.

getExtensions

java.lang.String[] getExtensions(java.lang.String mimeType)
Gets file extensions of the MIME type.

Parameters:
mimeType - the MIME type.
Returns:
file extensions of the MIME type.

getRealm

java.lang.String getRealm()
Gets the active realm.

Returns:
the active realm.

getRealmDir

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

Returns:
the directory of the active realm.

getTempDir

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

Returns:
the temporary directory of the server.

getHistDir

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

Returns:
the directory which result versions are saved to.

getRoot

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

Returns:
the resource root directory of the report server.

getPathInfo

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

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the PathInfo.
Throws:
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getSubpaths

java.util.Vector getSubpaths(java.lang.String userID,
                             java.lang.String path)
                             throws RptServerException
Deprecated. As of version 6, replaced by getFoldersInPath().

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 a resource path. The Vector contains PathInfo objects.
Throws:
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getSubpathsAndCatalogs

java.util.Vector<PathInfo> getSubpathsAndCatalogs(java.lang.String userID,
                                                  java.lang.String path)
                                                  throws 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 a resource path and catalogs. The Vector contains PathInfo objects.
Throws:
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getSubnodes

java.util.Vector<PathInfo> getSubnodes(java.lang.String userID,
                                       java.lang.String path)
                                       throws 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 a resource node in the resource tree. The Vector contains PathInfo objects.
Throws:
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getCatalogsInPath

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

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the catalogs in a resource path. The Vector contains PathInfo objects.
Throws:
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getLCsInPath

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

Parameters:
userID - the user ID.
path - the resource path, for example, /COMPONSNET_LIB/SunVMDemo.
Returns:
the LCs in a resource path. The Vector contains PathInfo objects.
Throws:
RptServerException - if an RptServerException occurs.
See Also:
V10.1

getFileSysDirsInPath

java.util.Vector getFileSysDirsInPath(java.lang.String userID,
                                      java.lang.String path)
                                      throws RptServerException
Deprecated. As of version 6, replaced by getFoldersInPath().

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 a resource path. The Vector contains PathInfo objects.
Throws:
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getFileSysFilesInPath

java.util.Vector getFileSysFilesInPath(java.lang.String userID,
                                       java.lang.String path)
                                       throws RptServerException
Deprecated. As of version 6, it was obsolete.

Gets the files in a resource path.

Parameters:
userID - the user ID.
path - the resource path, for example, /SunVMDemo.
Returns:
the files in a resource path. The Vector contains PathInfo objects.
Throws:
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getReports

java.util.Vector getReports(java.lang.String userID,
                            java.lang.String catalog)
                            throws RptServerException
Deprecated. As of version 6, replaced by getReportsInPath().

Gets the reports of a catalog.

Parameters:
userID - the user ID.
catalog - the catalog, for example, /SunVMDemo/SunVMDemo.cat.
Returns:
the reports of a catalog. The Vector contains PathInfo objects.
Throws:
RptServerException - if an RptServerException occurs.
See Also:
PathInfo

getSchedulePath

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

Returns:
the path of the Schedule.

getHistFile

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

Parameters:
file - the file.
Returns:
the history file.

getReportsInPath

java.util.Vector<PathInfo> getReportsInPath(java.lang.String userID,
                                            java.lang.String path)
                                            throws 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 a resource path. The Vector contains PathInfo objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path .
Since:
version 6
See Also:
PathInfo

getDashboardsInPath

java.util.Vector<PathInfo> getDashboardsInPath(java.lang.String userID,
                                               java.lang.String path)
                                               throws 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 a resource path. The Vector contains PathInfo objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
Since:
version 10.1
See Also:
PathInfo

getImagesByCatalog

java.util.Vector getImagesByCatalog(java.lang.String userID,
                                    java.lang.String path)
                                    throws NoPrivilegeException,
                                           UnknownResource
Gets the image files in the resource path.

Parameters:
userID - the user ID.
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 a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
Since:
version 8.2
See Also:
PathInfo

getResultsInPath

java.util.Vector getResultsInPath(java.lang.String userID,
                                  java.lang.String path)
                                  throws 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 a resource path. The Vector contains PathInfo objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path .
Since:
version 6
See Also:
PathInfo

getFoldersInPath

java.util.Vector<PathInfo> getFoldersInPath(java.lang.String userID,
                                            java.lang.String path)
                                            throws 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 a resource path. The Vector contains PathInfo objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path.
Since:
version 6
See Also:
PathInfo

getCatalogVersions

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

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

getLCVersions

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

Parameters:
userID - the user ID,
lcName - the LC name, for example, /COMPONENT_LIB/Tutorail.lc.
Returns:
the versions of a LC. The Vector object contains LCVersionRecord objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 10.1
See Also:
LCVersionRecord

getReportVersions

java.util.Vector<ReportVersionRecord> getReportVersions(java.lang.String userID,
                                                        java.lang.String rptName)
                                                        throws 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 a report. The Vector object contains ReportVersionRecord objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 6
See Also:
ReportVersionRecord

getResultVersions

java.util.Vector<ResultVersionRecord> getResultVersions(java.lang.String userID,
                                                        java.lang.String rptName)
                                                        throws NoPrivilegeException,
                                                               UnknownResource
Gets the result versions attached to a specific report.

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

getResultDocVersions

java.util.Vector<ResultVersionRecord> getResultDocVersions(java.lang.String userID,
                                                           java.lang.String resultDocName)
                                                           throws 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 a result. The Vector object contains ResultVersionRecord objects.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 6
See Also:
ResultVersionRecord

getCatalogVersion

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

Parameters:
userID - the user ID,
path - the catalog path, for example, /SampleReports/Tutorail.cat.
versionNumber - the version number
Returns:
the version of specific catalog, a CatalogVersionRecord object. or null if it cannot get the specific version
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 6
See Also:
CatalogVersionRecord

getVersion

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

Parameters:
userID - the user ID,
resourcePath - the resource path, for example, /COMPONENT_LIB/Test.lc.
versionNumber - the version number
Returns:
the version of specific LC, a VersionRecord object. or null if it cannot get specific version
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 10.1
See Also:
VersionRecord

getLCVersion

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

Parameters:
userID - the user ID,
path - the LC path, for example, /COMPONENT_LIB/Test.lc.
versionNumber - the version number
Returns:
the version of a specific LC, a LCVersionRecord object. or null if it cannot get the specific version
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 10.1
See Also:
LCVersionRecord

getReportVersion

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

Parameters:
userID - the user ID,
rptPath - the report path, for example, /SampleReports/CustomerAnalysis.cls.
versionNumber - the version number
Returns:
a ReportVersionRecord object. or null if it cannot get the specific version
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 6
See Also:
ReportVersionRecord

getResultVersion

ResultVersionRecord getResultVersion(java.lang.String userID,
                                     java.lang.String rptName,
                                     int versionNumber)
                                     throws NoPrivilegeException,
                                            UnknownResource
Gets a result version attached to a 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 it cannot get the specific version
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 6
See Also:
ResultVersionRecord

getResultVersionByNodeID

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

Parameters:
recordID - the node id
Returns:
ResultVersionRecord
Throws:
NoPrivilegeException
UnknownResource
Since:
version 6
See Also:
ResultVersionRecord

getResultDocVersion

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

Parameters:
userID - the user ID,
resultDocName - the result doc name, for example, /SampleReports/resultdoc1.
versionNumber - the version number
Returns:
a ResultVersionRecord object. or null if it cannot get the specific version
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 6
See Also:
ResultVersionRecord

setResultMaxVersionAmount

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

Parameters:
userID - the user ID.
reportResource - the report resource name, for example, /SampleReports/CustomerAnalysis.cls
maxVersionAmount - the maximum number of versions value. If it is 0 or a negative value, the version amount of the specific resource is unlimited.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 6

getResultMaxVersionAmount

int getResultMaxVersionAmount(java.lang.String userID,
                              java.lang.String reportResource)
                              throws NoPrivilegeException,
                                     UnknownResource
Gets the maximum number of versions of a 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 is unlimited. If it is -1, some error occurred.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path
Since:
version 6

removeNode

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

Parameters:
userID - the user ID.
path - the path from which the resource will be removed.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path

addResource

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

Adds a resource into a specific folder.

Parameters:
userID - the user ID
folderPath - the path of the folder in which a 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.
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 a NoPrivilegeException occurs.
NodeExistsException - if a NodeExistsException occurs.
UnknownResource - if no node can be found by the path

addResource

VersionRecord addResource(java.lang.String userID,
                          java.lang.String folderPath,
                          java.util.Hashtable htResource,
                          java.util.Hashtable[] permissions)
                          throws NoPrivilegeException,
                                 NodeExistsException,
                                 UnknownResource
Adds a resource into a specific folder

Parameters:
userID - the user ID
folderPath - the path of the folder in which a 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 may contain three Hashtable objects.
The first Hashtable contains several user/permissions pairs to represent the permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a Vector object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path.
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.
The structure of Hashtable[] permissions is:
  • <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
  • <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
  • <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
  • <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
  • <userName> ::= a string of user name
  • <roleName> ::= a string of role name
  • <groupName> ::= a string of group name
  • <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
    • <zero-sized Vector> ::= a vector object contains nothing
    • <visible> ::= object Permissions.P_VISIBLE
    • <read> ::= object Permissions.P_READ
    • <write> ::= object Permissions.P_WRITE
    • <delete> ::= object Permissions.P_DELETE
    • <execute> ::= object Permissions.P_EXECUTE
    • <schedule> ::= object Permissions.P_SCHEDULE
    • <grant> ::= object Permissions.P_GRANT
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

addResource

VersionRecord addResource(java.lang.String userID,
                          java.lang.String folderPath,
                          boolean isAutoConvert,
                          java.util.Hashtable htResource,
                          java.util.Hashtable[] permissions)
                          throws NoPrivilegeException,
                                 NodeExistsException,
                                 UnknownResource
Adds a resource into a specific folder.

Parameters:
userID - the user ID
folderPath - the path of the folder in which a new resource will be added
isAutoConvert - whether to convert the old version report to the latest version report
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 may contain three Hashtable objects.
The first Hashtable contains several user/permissions pairs to represent the permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a Vector object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path.
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 group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
The structure of Hashtable[] permissions is:
  • <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
  • <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
  • <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
  • <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
  • <userName> ::= a string of user name
  • <roleName> ::= a string of role name
  • <groupName> ::= a string of group name
  • <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
    • <zero-sized Vector> ::= a vector object contains nothing
    • <visible> ::= object Permissions.P_VISIBLE
    • <read> ::= object Permissions.P_READ
    • <write> ::= object Permissions.P_WRITE
    • <delete> ::= object Permissions.P_DELETE
    • <execute> ::= object Permissions.P_EXECUTE
    • <schedule> ::= object Permissions.P_SCHEDULE
    • <grant> ::= object Permissions.P_GRANT
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

addResultInReport

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

Parameters:
userID - the user ID
reportPath - the path of the specified report in which a new result 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 failed to add the result.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path

addFolder

java.lang.String addFolder(java.lang.String userID,
                           java.lang.String parentPath,
                           java.util.Hashtable htFolder)
                           throws 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 a specific folder.

Parameters:
userID - the user ID
parentPath - the path of the folder in which a 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 absolutePath, or null if failed to 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

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 NoPrivilegeException,
                                     NodeExistsException,
                                     UnknownResource
Adds a sub-folder into a specific folder.

Parameters:
userID - the user ID
parentPath - the path to specify in which folder the new resource 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 may contain three Hashtable objects.
The first Hashtable contains several user/permissions pairs to represent the permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a Vector object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path.
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.
The structure of Hashtable[] permissions is:
  • <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
  • <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
  • <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
  • <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
  • <userName> ::= a string of user name
  • <roleName> ::= a string of role name
  • <groupName> ::= a string of group name
  • <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
    • <zero-sized Vector> ::= a vector object contains nothing
    • <visible> ::= object Permissions.P_VISIBLE
    • <read> ::= object Permissions.P_READ
    • <write> ::= object Permissions.P_WRITE
    • <delete> ::= object Permissions.P_DELETE
    • <execute> ::= object Permissions.P_EXECUTE
    • <schedule> ::= object Permissions.P_SCHEDULE
    • <grant> ::= object Permissions.P_GRANT
Returns:
the new folder's absolutePath, or null if failed to 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

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 NoPrivilegeException,
                                 NodeExistsException,
                                 UnknownResource
Adds files and sub-folders into a specific folder.

Parameters:
userID - the user ID
folderPath - the path to specify in which folder new resources will be added
fromRealDir - the real directory which contains these files and sub-folders.
includesSubDir - indicates to only add files to the folder.
htResource - a Hashtable that contains attributes of the new resources. 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 may contain three Hashtable objects.
The first Hashtable contains several user/permissions pairs to represent the permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a Vector object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path.
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.
The structure of Hashtable[] permissions is
  • <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
  • <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
  • <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
  • <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
  • <userName> ::= a string of user name
  • <roleName> ::= a string of role name
  • <groupName> ::= a string of group name
  • <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
    • <zero-sized Vector> ::= a vector object contains nothing
    • <visible> ::= object Permissions.P_VISIBLE
    • <read> ::= object Permissions.P_READ
    • <write> ::= object Permissions.P_WRITE
    • <delete> ::= object Permissions.P_DELETE
    • <execute> ::= object Permissions.P_EXECUTE
    • <schedule> ::= object Permissions.P_SCHEDULE
    • <grant> ::= object Permissions.P_GRANT
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
NodeExistsException - if a NodeExistsException occurs.
UnknownResource - if no node can be found by the path

addResourcesToFolder

java.lang.String 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 NoPrivilegeException,
                                             NodeExistsException,
                                             UnknownResource
Adds files and sub-folders into a specific folder.

Parameters:
userID - the user ID
folderPath - the path to specify in which folder the new resources will be added
fromRealDir - the real directory which contains these files and sub-folders.
includesSubDir - indicates to only add files to the folder.
isAutoConvert - whether to convert the old version report to the latest version report
htResource - a Hashtable that contains attributes of the new resources. 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 may contain three Hashtable objects.
The first Hashtable contains several user/permissions pairs to represent the permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a Vector object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path.
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. The structure of Hashtable[] permissions is:
  • <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
  • <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
  • <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
  • <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
  • <userName> ::= a string of user name
  • <roleName> ::= a string of role name
  • <groupName> ::= a string of group name
  • <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
    • <zero-sized Vector> ::= a vector object contains nothing
    • <visible> ::= object Permissions.P_VISIBLE
    • <read> ::= object Permissions.P_READ
    • <write> ::= object Permissions.P_WRITE
    • <delete> ::= object Permissions.P_DELETE
    • <execute> ::= object Permissions.P_EXECUTE
    • <schedule> ::= object Permissions.P_SCHEDULE
    • <grant> ::= object Permissions.P_GRANT
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
NodeExistsException - if a NodeExistsException occurs.
UnknownResource - if no node can be found by the path

removeVersion

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

Parameters:
userID - the user ID
versionID - the version ID to be removed. User can get it from VersionRecord.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
See Also:
VersionRecord

getAllUsers

java.util.Vector getAllUsers(java.lang.String submitter)
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 the permission for getting all users.

getUsersByRole

java.util.Vector getUsersByRole(java.lang.String submitter,
                                java.lang.String roleID)
                                throws 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 the permission for getting the users by this role.
Throws:
NoSuchRoleException - if a NoPrivilegeException occurs.

getAllRoles

java.util.Vector getAllRoles(java.lang.String submitter)
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 the permission for getting all roles.

getRolesByUser

java.util.Vector getRolesByUser(java.lang.String submitter,
                                java.lang.String userID)
                                throws 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 the permission for getting the roles by this user.
Throws:
NoSuchUserException - if a NoSuchUserException occurs

getReferRoles

java.util.Vector getReferRoles(java.lang.String userID)
                               throws NoSuchUserException
Gets the roles which the specific user belongs to.

Parameters:
userID - the user ID
Returns:
a Vector object containing the role names which the specific user belongs to. These roles are owned by the specific user but not administrator or everyone.
Throws:
NoSuchUserException - if a NoSuchUserException occurs

getReferUsers

java.util.Vector getReferUsers(java.lang.String userID)
                               throws NoSuchUserException
Gets the users which belong to the same role as the specific user. These users except administrator and everyone have the same role as the specific user.

Parameters:
userID - the user ID
Returns:
a Vector object containing the user names that have the same role.
Throws:
NoSuchUserException - if a NoSuchUserException occurs

getReferGroups

java.util.Vector getReferGroups(java.lang.String userID)
                                throws 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

getPermissions

java.util.Hashtable[] getPermissions(java.lang.String userID,
                                     java.lang.String path,
                                     int versionNumber)
                                     throws NoPrivilegeException,
                                            UnknownResource
Gets the defined permissions of the users attached to the specific path.

Parameters:
userID - the user ID whose permissions are to get
path - the path which the user is attached to
versionNumber - the version number to specify the version of the path, if its value is 0, get the latest version.
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 a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path

getInheritedPermissions

java.util.Hashtable[] getInheritedPermissions(java.lang.String userID,
                                              java.lang.String path,
                                              int versionNumber)
                                              throws NoPrivilegeException,
                                                     UnknownResource
Gets the inherited permissions of the users attached to the specific path.

Parameters:
userID - the user ID whose permissions are to get
path - the path which the user is attached to
versionNumber - version number to specify the version of the path, if its value is 0, get the latest version.
Returns:
a Hashtable array, which contains three Hashtable objects. 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 Vector object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path. The second Hashtable object contains several role/permissions pairs to represent the inherited 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 inherited permissions on the specific path and its structure is similar to user/permissions. Or null if the user/role/group does not have the permission to get the permissions on the specific path.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path

setPermissions

void setPermissions(java.lang.String userID,
                    java.lang.String path,
                    int versionNumber,
                    java.util.Hashtable[] permissions)
                    throws NoPrivilegeException,
                           UnknownResource
Sets the permissions of users for a specific path.

Parameters:
userID - the user ID whose permissions are to set
path - the path which will be set attached permissions
versionNumber - version number to specify the version of the path, if its value is 0, get the latest version.
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 a NoPrivilegeException occurs.
UnknownResource - if no node can be found by the path

setNodeProperties

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

Parameters:
userID - the user ID whose properties are to set
path - the path which will be used to set properties and permissions
htProps - 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 may contain three Hashtable objects.
The first Hashtable contains several user/permissions pairs to represent the permissions attached to the specific path. In this Hashtable object, the key is user name, the value is a Vector object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path.
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. The structure of Hashtable[] permissions is:
  • <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
  • <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
  • <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
  • <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
  • <userName> ::= a string of user name
  • <roleName> ::= a string of role name
  • <groupName> ::= a string of group name
  • <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
    • <zero-sized Vector> ::= a vector object contains nothing
    • <visible> ::= object Permissions.P_VISIBLE
    • <read> ::= object Permissions.P_READ
    • <write> ::= object Permissions.P_WRITE
    • <delete> ::= object Permissions.P_DELETE
    • <execute> ::= object Permissions.P_EXECUTE
    • <schedule> ::= object Permissions.P_SCHEDULE
    • <grant> ::= object Permissions.P_GRANT
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
NodeExistsException - if a NodeExistsException occurs.
UnknownResource - if an UnknownResource occurs.

setNodeProperties

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

Parameters:
userID - the user ID whose properties are to set
path - the path which will be set properties and permissions for attached version
versionNumber - the version number. If it is zero, it means the path itself
htProps - the properties of the specific node. These properties are indicated by APIConst.TAG_EXPIRED_TIME, etc, and all values are represented by a String.
permissions - a Hashtable array, which may contain three Hashtable objects. The first Hashtable contains several user/permissions pairs to represent the permissions attached to the specific path.
The first Hashtable object, the key is user name, the value is a Vector object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path.
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.
The structure of Hashtable[] permissions is:
  • <permissionHashtableArray> ::=
  • <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
  • <userPermissionHt> ::= NULL | {<userName>,
  • <permissionVector>}... <rolePermissionHt> ::= NULL | {<roleName>,
  • <permissionVector>}... <groupPermissionHt> ::= NULL | (<groupName>,
  • <permissionVector>)... <userName> ::= a string of user name
  • <roleName> ::= a string of role name
  • <groupName> ::= a string of group name
  • <permissionVector> ::= <zero-sized Vector> | {<visible> |<read> | <write> | <delete> | <exectue> | <schedule> |<grant>}...
  • <zero-sized Vector> ::= a vector object contains nothing
  • <visible> ::= object Permissions.P_VISIBLE
  • <read> ::= object Permissions.P_READ
  • <write> ::= object Permissions.P_WRITE
  • <delete> ::= object Permissions.P_DELETE
  • <execute> ::= object Permissions.P_EXECUTE
  • <schedule> ::= object Permissions.P_SCHEDULE
  • <grant> ::= object Permissions.P_GRANT
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if an UnknownResource occurs.

setResultVersionProperties

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

Parameters:
userID - the user ID whose properties are to set
report - the report which will be set properties for the attached result version
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, and all values are represented by a String.
Throws:
NoPrivilegeException - if a NoPrivilegeException occurs.
UnknownResource - if an UnknownResource occurs.

getRealPathOfNode

java.lang.String getRealPathOfNode(java.lang.String userID,
                                   java.lang.String path)
                                   throws NoPrivilegeException,
                                          UnknownResource
Gets the 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 the permission to get the specific node's realPath
UnknownResource - if no node can be found by the path

refreshFolders

java.lang.String refreshFolders(java.lang.String userID)
Deprecated. reference #getResourceTreeInputStream(String)

Refreshes the folders represented in UI for the specific user. Server creates an xml file for each user, all folders can be shown in UI for the users 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

getResourceTreeInputStream

java.io.InputStream getResourceTreeInputStream(java.lang.String userID,
                                               java.lang.String... pathPrefix)
Gets resource tree XML input stream.

Parameters:
userID - the user id.
pathPrefix - root path prefix, such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
Returns:
the input stream of resource tree xml text.

getResourceTreeInputStreamByType

java.io.InputStream getResourceTreeInputStreamByType(java.lang.String userID,
                                                     int streamType,
                                                     java.lang.String... pathPrefix)
Gets 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 - root path prefix, such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
Returns:
the input stream of resource tree text.

getResourceTreeInputStream

java.io.InputStream getResourceTreeInputStream(java.lang.String userID,
                                               int streamType,
                                               java.lang.String[] roots,
                                               java.lang.String[] suffixes,
                                               java.util.Locale locale)
Gets 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.
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.

getLatestVersionNumber

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

Parameters:
resourcePath - resource path to specify a resource
Returns:
the latest version number of the specific resource. If the specific resource does not exist or input string does not specify a resource, return -1.
Throws:
UnknownResource - if no node can be found by the path

getLatestVersionNumber

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

Parameters:
resourcePath - resource path to specify a resource
userID - the user id
Returns:
the latest version number of the specific resource. If the specific resource does not exist or input string does not specify a resource, return -1.
Throws:
UnknownResource - if no node can be found by the path

isAdminUser

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

Parameters:
userID - the user id
Returns:
true if the user is an administrator, otherwise false

isOrganizationAdminUser

boolean isOrganizationAdminUser(java.lang.String userID)
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

checkPermission

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

Parameters:
userID - the user id.
resourcePath - the resourc 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.

checkPermission

boolean checkPermission(java.lang.String userID,
                        java.lang.String resourcePath,
                        int versionNumber,
                        java.security.acl.Permission permission)
                        throws NoSuchUserException,
                               UnknownResource
Checks whether the specific user has a permission on a 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

isNodeExist

boolean isNodeExist(java.lang.String path,
                    java.lang.String userName)
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.

loadUserResAliasToMem

void loadUserResAliasToMem(java.lang.String userID)
Loads resource alias of a user from database and saves them into memory.

Parameters:
userID - the user name.
Throws:
java.rmi.RemoteException

rmUserResAliasFromMem

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

Parameters:
userID - the user name.

getInheritedLinkedCatalog

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

Parameters:
userID - the user name.
path - the resource path.
Returns:
the inherited linked catalog or null if inheriting is broken.
Throws:
NoPrivilegeException
UnknownResource
Since:
version 8.1

isCatalogLinked

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

Parameters:
userID - the user name.
path - the catalog path.
Returns:
true if the catalog is linked.
Throws:
NoPrivilegeException
UnknownResource
Since:
version 8.2

getEnabledCustomFieldNames

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

Returns:
all names of enabled custom fields.
Throws:
RptServerException - if an RptServerException occurs.
Since:
version 9.1

getRootNodeDisplay

java.lang.String getRootNodeDisplay(java.util.Locale locale)
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.
See Also:
ResourceNLSManager