com.dynalivery.repository.util
Class EJBReportRepository

java.lang.Object
  |
  +--com.dynalivery.repository.util.ReportRepository
        |
        +--com.dynalivery.repository.util.EJBReportRepository
Direct Known Subclasses:
JBossEJBReportRepository, JRunEJBReportRepository, OracleEJBReportRepository, SilverStreamEJBReportRepository, WebLogicEJBReportRepository, WebSphereEJBReportRepository

public abstract class EJBReportRepository
extends ReportRepository

This is an implementation of Dynalivery Report Repository based on Enterprise Java Beans. This will contain code common to all EJB implementations. Variations between EJB servers will be encapsulated as much as possible in classes extending this class such as WebLogicEJBReportRepository


Fields inherited from class com.dynalivery.repository.util.ReportRepository
GLOBAL_PROPERTY_BLOB_BUFFER_BYTE_LENGTH, GLOBAL_PROPERTY_LOGGING, GLOBAL_PROPERTY_RETRY_DELAY, GLOBAL_PROPERTY_RETRY_LIMIT, GLOBAL_PROPERTY_SERVER_PORT, PROPERTIES_FILENAME
 
Constructor Summary
EJBReportRepository(java.util.Properties properties)
          construct an EJB-based report repository with the specified properties
 
Method Summary
 BinaryRef checkinBinary(BinaryRef binaryRef, byte[] reportBinary, FileOptions fileOptions, java.lang.String comment, boolean createFolders)
          Check a report binary file into the repository.
 BinaryRef checkinBinary(BinaryRef binaryRef, java.io.File binaryFile, FileOptions fileOptions, java.lang.String comment, boolean createFolders, ProgressReporter progressReporter)
          Check a report binary file into the repository.
 OutputRef checkinOutput(OutputRef outputRef, byte[] reportOutput, OutputOptions outputOptions, boolean createFolders, boolean overwrite)
          Check a report output file into the repository.
 OutputRef checkinOutput(OutputRef outputRef, java.io.File outputFile, OutputOptions outputOptions, boolean createFolders, boolean overwrite, ProgressReporter progressReporter)
          Check a report output file into the repository.
 boolean checkIntegrity()
          Perform repository integrity check
 TemplateRef checkinTemplate(TemplateRef templateRef, byte[] templateByteArray, FileOptions fileOptions, java.lang.String comment, boolean validate, boolean alwaysOverwrite, boolean createFolders)
          Checkin a report design template into the repository.
 TemplateRef checkinTemplate(TemplateRef templateRef, java.io.File templateFile, FileOptions fileOptions, java.lang.String comment, boolean validate, boolean alwaysOverwrite, boolean createFolders, ProgressReporter progressReporter)
          Checkin a report design template into the repository.
 byte[] checkoutBinary(BinaryRef binaryRef)
          Checkout the specified report binary and marks it as checked out by the current user.
 int checkoutBinary(BinaryRef binaryRef, java.io.File outputFile, ProgressReporter progressReporter)
          Checkout the specified report binary and marks it as checked out by the current user.
 byte[] checkoutTemplate(TemplateRef templateRef)
          Returns the specified report design template and marks it as checked out by the current user.
 int checkoutTemplate(TemplateRef templateRef, java.io.File outputFile, ProgressReporter progressReporter)
          Returns the specified report design template and marks it as checked out by the current user.
 FolderRef createFolder(FolderRef parentFolderRef, java.lang.String folderName, FolderOptions folderOptions)
          Creates a new repository folder
 FolderRef createFolder(java.lang.String pathname, FolderOptions folderOptions)
          Creates a new repository folder
 boolean currentUserIsAdmin()
          Returns true if the current user is a member of the repository admin user group.
 boolean currentUserIsMember(java.lang.String ACLString)
          Returns true if current user is a member of specified access control list (ACL).
 void deleteBinary(BinaryRef binaryRef)
          Deletes the specified report binary from the repository.
 void deleteExpiredOutputs(ProgressReporter progressReporter)
          Deletes all report outputs with an expiration timestamp less than or equal to the current date/time.
 void deleteExpiredOutputs(java.sql.Timestamp expirationTimestamp, ProgressReporter progressReporter)
          Deletes all report outputs with an expiration timestamp less than or equal to that specified.
 void deleteFolder(FolderRef folderRef, ProgressReporter progressReporter)
          Delete a folder and all associated files.
 void deleteMultiple(RepositoryRef[] refs, ProgressReporter progressReporter)
          Delete multiple folders and/or files in one operation.
 void deleteOutput(OutputRef outputRef)
          Deletes the specified report output from the repository.
 void deleteTemplate(TemplateRef templateRef)
          Deletes the specified report design template from the repository.
 boolean folderExists(FolderRef folderRef)
          Tests if folder exists
 FolderRef[] getAllNestedFolders(FolderRef folderRef)
          Returns a FolderRef array of all nested folders in the specified folder
 FolderRef[] getAllTopLevelFolders()
          Returns a FolderRef array of all top-level folders in the repository
 TemplateRef[] getAncestorTemplates(TemplateRef templateRef)
          Returns the ancestors of the specified template
 BinaryRef[] getBinariesForTemplate(TemplateRef templateRef)
          Returns a BinaryRef array of binaries referred to by the specified template
 byte[] getBinary(BinaryRef binaryRef)
          Returns the report binary matching the specified reference
 int getBinary(BinaryRef binaryRef, java.io.File outputFile, ProgressReporter progressReporter)
          Returns the report binary matching the specified reference
 RevisionInfo[] getBinaryHistory(BinaryRef binaryRef)
          Returns the revision history for the specified report binary.
 BinaryProperties getBinaryProperties(BinaryRef binaryRef)
          Returns the properties for the specified report binary file
 TemplateRef[] getChildTemplates(TemplateRef templateRef)
          Returns a TemplateRef array for all report design templates which are children of (extend) the specified template.
 java.lang.String getCurrentUsername()
          Returns the username string as interpreted by the server.
 OutputRef[] getExpiredOutputs()
          Returns an OutputRef array of all saved report outputs in the repository that have an expiration timestamp less than or equal to the current time.
 OutputRef[] getExpiredOutputs(java.sql.Timestamp expirationTimestamp)
          Returns an OutputRef array of all saved report outputs in the repository that have an expiration timestamp less than or equal to that specified.
 FolderProperties getFolderProperties(FolderRef folderRef)
          Get the properties for a folder
 BinaryRef[] getNestedBinaries(FolderRef folderRef)
          Returns a BinaryRef array for all report binaries in the specified folder
 OutputRef[] getNestedOutputs(FolderRef folderRef)
          Returns an OutputRef array of saved report outputs in the specified folder.
 TemplateRef[] getNestedTemplates(FolderRef folderRef)
          Returns a TemplateRef array for all report design templates in the specified folder.
 byte[] getOutput(OutputRef outputRef)
          Returns the report output matching the specified reference.
 int getOutput(OutputRef outputRef, java.io.File outputFile, ProgressReporter progressReporter)
          Returns the report output matching the specified reference.
 OutputProperties getOutputProperties(OutputRef outputRef)
          Returns the the report output properties matching the specified reference
 Version getServerVersion()
          Returns the server Version object
 Statistics getStatistics()
          Returns the Statistics object for the repository
 byte[] getTemplate(TemplateRef templateRef)
          Returns the specified report design template
 int getTemplate(TemplateRef templateRef, java.io.File outputFile, ProgressReporter progressReporter)
          Returns the specified report design template
 byte[] getTemplateForExecution(TemplateRef templateRef)
          Returns the specified report design template for execution.
 int getTemplateForExecution(TemplateRef templateRef, java.io.File outputFile, ProgressReporter progressReporter)
          Returns the specified report design template for execution.
 RevisionInfo[] getTemplateHistory(TemplateRef templateRef)
          Returns the revision history for the specified template.
 TemplateProperties getTemplateProperties(TemplateRef templateRef)
          Returns the properties for the specified report design template
 TemplateRef[] getTemplatesForBinary(BinaryRef binaryRef)
          Returns a TemplateRef array for templates which refer to the specified binary file
 boolean isSecurityEnabled()
          Returns true if security is enabled on the server.
 void logout()
          Logs out of the report repository.
 void modifyBinaryOptions(BinaryRef binaryRef, FileOptions fileOptions)
          Modifies the properties for the specified report binary.
 void modifyFolderOptions(FolderRef folderRef, FolderOptions folderOptions)
          Modify the properties for a project.
 void modifyOutputOptions(OutputRef outputRef, OutputOptions outputOptions)
          Modifies the properties for the specified report output.
 void modifyTemplateOptions(TemplateRef templateRef, FileOptions fileOptions)
          Modifies the properties for the specified report design template.
 BinaryRef moveBinary(BinaryRef binaryRef, FolderRef destinationFolderRef)
          Move the specified binary
 FolderRef moveFolder(FolderRef folderRef, FolderRef destinationFolderRef)
          Move the specified folder
 OutputRef moveOutput(OutputRef outputRef, FolderRef destinationFolderRef)
          Move the specified binary
 TemplateRef moveTemplate(TemplateRef templateRef, FolderRef destinationFolderRef)
          Move the specified report design template
 BinaryRef renameBinary(BinaryRef binaryRef, java.lang.String newFilename)
          Rename the specified binary
 FolderRef renameFolder(FolderRef folderRef, java.lang.String newFolderName)
          Rename the specified folder
 OutputRef renameOutput(OutputRef outputRef, java.lang.String newFilename)
          Rename the specified report output
 TemplateRef renameTemplate(TemplateRef templateRef, java.lang.String newFilename)
          Rename the specified report design template
 void setBLOBBufferByteLength(int blobBufferByteLength)
          Set the BLOB buffer byte length
 void setBLOBTestMode(boolean blobTestMode)
          Enables/disable BLOB test mode
 void sleepForRetry()
           
 
Methods inherited from class com.dynalivery.repository.util.ReportRepository
checkinBinary, checkinOutput, checkinTemplate, checkoutBinary, checkoutTemplate, createRepository, createRepository, createRepository, deleteExpiredOutputs, deleteExpiredOutputs, deleteFolder, deleteMultiple, getAppServerVendorString, getBinary, getClientVersion, getOutput, getServerName, getTemplate, getTemplateForExecution, getUsername, login, login, readProperties, setLogging, writeProperties
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EJBReportRepository

public EJBReportRepository(java.util.Properties properties)
construct an EJB-based report repository with the specified properties
Method Detail

getAllTopLevelFolders

public FolderRef[] getAllTopLevelFolders()
Returns a FolderRef array of all top-level folders in the repository
Overrides:
getAllTopLevelFolders in class ReportRepository
Returns:
a FolderRef array of all top-level folders in the repository

getAllNestedFolders

public FolderRef[] getAllNestedFolders(FolderRef folderRef)
                                throws RepositorySecurityException,
                                       InvalidPathnameException
Returns a FolderRef array of all nested folders in the specified folder
Overrides:
getAllNestedFolders in class ReportRepository
Parameters:
folderRef - the repository folder reference
Returns:
a FolderRef array of all nested folders in the specified folder
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the folder is invalid

createFolder

public FolderRef createFolder(java.lang.String pathname,
                              FolderOptions folderOptions)
                       throws RepositorySecurityException,
                              DuplicateObjectException,
                              InvalidPathnameException,
                              InvalidParameterException
Creates a new repository folder
Overrides:
createFolder in class ReportRepository
Parameters:
pathname - the repository pathname for the folder to be created
folderOptions - the FolderOptions object which describes the new folder to be created
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the folder is invalid
DuplicateObjectException - thrown if folder already exists
InvalidParameterException - thrown if any of the parameters to this method are invalid

sleepForRetry

public void sleepForRetry()

createFolder

public FolderRef createFolder(FolderRef parentFolderRef,
                              java.lang.String folderName,
                              FolderOptions folderOptions)
                       throws RepositorySecurityException,
                              DuplicateObjectException,
                              InvalidPathnameException,
                              InvalidParameterException
Creates a new repository folder
Overrides:
createFolder in class ReportRepository
Parameters:
parentFolderRef - the parent FolderRef if not a top-level folder
folderName - the folder name String
folderOptions - the FolderOptions object which describes the new folder to be created
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the folder is invalid
DuplicateObjectException - thrown if folder already exists
InvalidParameterException - thrown if any of the parameters to this method are invalid

deleteFolder

public void deleteFolder(FolderRef folderRef,
                         ProgressReporter progressReporter)
                  throws OperationCanceledException,
                         RepositorySecurityException,
                         InvalidPathnameException,
                         PinnedFileException
Delete a folder and all associated files.
Overrides:
deleteFolder in class ReportRepository
Parameters:
folderRef - the repository folder reference
progressReporter - an optional ProgressReporter object to report the operation progress
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the folder is invalid
PinnedFileException - thrown if binary is referenced by one or more templates
OperationCancelledException - thrown if the operation is cancelled via the ProgressReporter

deleteMultiple

public void deleteMultiple(RepositoryRef[] refs,
                           ProgressReporter progressReporter)
                    throws OperationCanceledException,
                           RepositorySecurityException,
                           InvalidPathnameException,
                           PinnedFileException
Delete multiple folders and/or files in one operation.
Overrides:
deleteMultiple in class ReportRepository
Parameters:
refs - the RepositoryRef array of repository object references
progressReporter - an optional ProgressReporter object to report the operation progress
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to any of the objects is invalid
PinnedFileException - thrown if binary is referenced by one or more templates
OperationCanceledException - thrown if the operation is canceled via the ProgressReporter

folderExists

public boolean folderExists(FolderRef folderRef)
                     throws RepositorySecurityException
Tests if folder exists
Overrides:
folderExists in class ReportRepository
Parameters:
folderRef - the repository folder reference
Returns:
true if folder exists false otherwise
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation

getFolderProperties

public FolderProperties getFolderProperties(FolderRef folderRef)
                                     throws RepositorySecurityException,
                                            InvalidPathnameException
Get the properties for a folder
Overrides:
getFolderProperties in class ReportRepository
Parameters:
folderRef - the repository folder reference
Returns:
the FolderProperties object for the specified folder
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the folder is invalid

modifyFolderOptions

public void modifyFolderOptions(FolderRef folderRef,
                                FolderOptions folderOptions)
                         throws RepositorySecurityException,
                                InvalidPathnameException,
                                InvalidParameterException
Modify the properties for a project.
Overrides:
modifyFolderOptions in class ReportRepository
Parameters:
folderRef - the repository folder reference
folderOptions - the modified FolderOptions for the folder
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if path to folder is invalid
InvalidParameterException - thrown if any of the parameters to this method are invalid

moveFolder

public FolderRef moveFolder(FolderRef folderRef,
                            FolderRef destinationFolderRef)
                     throws RepositorySecurityException,
                            DuplicateObjectException,
                            InvalidPathnameException,
                            InvalidOperationException
Move the specified folder
Overrides:
moveFolder in class ReportRepository
Parameters:
folderRef - the repository folder reference
destinationFolderRef - the folder to receive the specified folder
Returns:
the updated folder reference
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the folder or destination is invalid
InvalidOperationException - thrown if illegal move requested (parent->descendant)
DuplicateObjectException - thrown if a folder with same name already exists

renameFolder

public FolderRef renameFolder(FolderRef folderRef,
                              java.lang.String newFolderName)
                       throws RepositorySecurityException,
                              DuplicateObjectException,
                              InvalidPathnameException,
                              InvalidParameterException
Rename the specified folder
Overrides:
renameFolder in class ReportRepository
Parameters:
folderRef - the repository folder reference
newFolderName - the new folder name String
Returns:
the updated folder reference
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the folder is invalid
InvalidParameterException - thrown if new folder name is invalid
DuplicateObjectException - thrown if a folder with same name already exists

getNestedTemplates

public TemplateRef[] getNestedTemplates(FolderRef folderRef)
                                 throws RepositorySecurityException,
                                        InvalidPathnameException
Returns a TemplateRef array for all report design templates in the specified folder.
Overrides:
getNestedTemplates in class ReportRepository
Parameters:
folderRef - the repository folder reference
Returns:
a TemplateRef array for all report design templates in the specified folder
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the folder is invalid

checkinTemplate

public TemplateRef checkinTemplate(TemplateRef templateRef,
                                   byte[] templateByteArray,
                                   FileOptions fileOptions,
                                   java.lang.String comment,
                                   boolean validate,
                                   boolean alwaysOverwrite,
                                   boolean createFolders)
                            throws RepositorySecurityException,
                                   NotCheckedOutException,
                                   ValidationException,
                                   MissingParentException,
                                   InvalidPathnameException,
                                   InvalidParameterException
Checkin a report design template into the repository.
Overrides:
checkinTemplate in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
templateByteArray - entire design template in a byte array
fileOptions - the FileOptions for this template
comment - optional comment string describing this checkin
validate - true if template should be validated first
alwaysOverwrite - true if template should be overwritten when even validation fails
createFolders - if true, any missing folders in the pathname will be created
Returns:
TemplateRef for checked in file
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
NotCheckedOutException - thrown if template exists but is not checked out to this user
ValidationException - thrown if validation fails
MissingParentException - thrown if parent is not found in the repository
InvalidPathnameException - thrown if the path to the template is invalid
InvalidParameterException - thrown if any of the parameters to this method are invalid

checkinTemplate

public TemplateRef checkinTemplate(TemplateRef templateRef,
                                   java.io.File templateFile,
                                   FileOptions fileOptions,
                                   java.lang.String comment,
                                   boolean validate,
                                   boolean alwaysOverwrite,
                                   boolean createFolders,
                                   ProgressReporter progressReporter)
                            throws OperationCanceledException,
                                   java.io.IOException,
                                   ValidationException,
                                   MissingParentException,
                                   NotCheckedOutException,
                                   RepositorySecurityException,
                                   InvalidPathnameException,
                                   InvalidParameterException
Checkin a report design template into the repository.
Overrides:
checkinTemplate in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
templateFile - the report template File
fileOptions - the FileOptions for this template
comment - optional comment string describing this checkin
validate - true if template should be validated first
alwaysOverwrite - true if template should be overwritten when even validation fails
createFolders - if true, any missing folders in the pathname will be created
progressReporter - an optional ProgressReporter object to report the operation progress
Returns:
TemplateRef for checked in file
Throws:
java.io.IOException - thrown if there is a problem opening or reading from the specified file
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
NotCheckedOutException - thrown if template exists but is not checked out to this user
ValidationException - thrown if validation fails
MissingParentException - thrown if parent is not found in the repository
InvalidPathnameException - thrown if the path to the template is invalid
InvalidParameterException - thrown if any of the parameters to this method are invalid
OperationCanceledException - thrown if the operation is canceled via the ProgressReporter

checkoutTemplate

public byte[] checkoutTemplate(TemplateRef templateRef)
                        throws IncompleteBLOBException,
                               RepositorySecurityException,
                               InvalidPathnameException,
                               AlreadyCheckedOutException
Returns the specified report design template and marks it as checked out by the current user.
Overrides:
checkoutTemplate in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
Returns:
the report design template as a byte array
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid
AlreadyCheckedOutException - thrown if file is already checked out by another user
IncompleteBLOBException - thrown if last checkin to this file was incomplete

checkoutTemplate

public int checkoutTemplate(TemplateRef templateRef,
                            java.io.File outputFile,
                            ProgressReporter progressReporter)
                     throws OperationCanceledException,
                            java.io.IOException,
                            IncompleteBLOBException,
                            RepositorySecurityException,
                            InvalidPathnameException,
                            AlreadyCheckedOutException
Returns the specified report design template and marks it as checked out by the current user.
Overrides:
checkoutTemplate in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
outputFile - the File to which the data should be written
Returns:
the total integer byte length of the output file
Throws:
java.io.IOException - thrown if there is a problem opening or writing to the specified file
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid
AlreadyCheckedOutException - thrown if file is already checked out by another user
IncompleteBLOBException - thrown if last checkin to this file was incomplete
OperationCanceledException - thrown if the operation is canceled via the ProgressReporter

getAncestorTemplates

public TemplateRef[] getAncestorTemplates(TemplateRef templateRef)
                                   throws RepositorySecurityException,
                                          InvalidPathnameException
Returns the ancestors of the specified template
Overrides:
getAncestorTemplates in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
Returns:
a TemplateRef array for the templates that the specified template derives from
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid

getTemplate

public byte[] getTemplate(TemplateRef templateRef)
                   throws IncompleteBLOBException,
                          RepositorySecurityException,
                          InvalidPathnameException
Returns the specified report design template
Overrides:
getTemplate in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
Returns:
the report design template as a byte array
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid
IncompleteBLOBException - thrown if last checkin to this file was incomplete

getTemplate

public int getTemplate(TemplateRef templateRef,
                       java.io.File outputFile,
                       ProgressReporter progressReporter)
                throws OperationCanceledException,
                       java.io.IOException,
                       IncompleteBLOBException,
                       RepositorySecurityException,
                       InvalidPathnameException
Returns the specified report design template
Overrides:
getTemplate in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
outputFile - the File to which the data should be written
progressReporter - an optional ProgressReporter object to report the operation progress
Returns:
the total integer byte length of the output file
Throws:
java.io.IOException - thrown if there is a problem opening or writing to the specified file
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid
IncompleteBLOBException - thrown if last checkin to this file was incomplete
OperationCanceledException - thrown if the operation is canceled via the ProgressReporter

getTemplateForExecution

public byte[] getTemplateForExecution(TemplateRef templateRef)
                               throws IncompleteBLOBException,
                                      RepositorySecurityException,
                                      InvalidPathnameException
Returns the specified report design template for execution.
Overrides:
getTemplateForExecution in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
Returns:
the report design template as a byte array
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid
IncompleteBLOBException - thrown if last checkin to this file was incomplete

getTemplateForExecution

public int getTemplateForExecution(TemplateRef templateRef,
                                   java.io.File outputFile,
                                   ProgressReporter progressReporter)
                            throws OperationCanceledException,
                                   java.io.IOException,
                                   IncompleteBLOBException,
                                   RepositorySecurityException,
                                   InvalidPathnameException
Returns the specified report design template for execution.
Overrides:
getTemplateForExecution in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
outputFile - the File to which the data should be written
progressReporter - an optional ProgressReporter object to report the operation progress
Returns:
the total integer byte length of the output file
Throws:
java.io.IOException - thrown if there is a problem opening or writing to the specified file
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid
IncompleteBLOBException - thrown if last checkin to this file was incomplete
OperationCanceledException - thrown if the operation is canceled via the ProgressReporter

deleteTemplate

public void deleteTemplate(TemplateRef templateRef)
                    throws RepositorySecurityException,
                           InvalidPathnameException,
                           PinnedFileException
Deletes the specified report design template from the repository.
Overrides:
deleteTemplate in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid
PinnedFileException - thrown if template is referenced by one or more templates

getTemplateProperties

public TemplateProperties getTemplateProperties(TemplateRef templateRef)
                                         throws RepositorySecurityException,
                                                InvalidPathnameException
Returns the properties for the specified report design template
Overrides:
getTemplateProperties in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
Returns:
TemplateProperties object containing all template properties
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid

modifyTemplateOptions

public void modifyTemplateOptions(TemplateRef templateRef,
                                  FileOptions fileOptions)
                           throws RepositorySecurityException,
                                  InvalidPathnameException,
                                  InvalidParameterException
Modifies the properties for the specified report design template.
Overrides:
modifyTemplateOptions in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
fileOptions - the modified FileOptions for the template
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid
InvalidParameterException - thrown if any of the parameters to this method are invalid

moveTemplate

public TemplateRef moveTemplate(TemplateRef templateRef,
                                FolderRef destinationFolderRef)
                         throws InvalidPathnameException,
                                DuplicateObjectException,
                                RepositorySecurityException,
                                InvalidPathnameException
Move the specified report design template
Overrides:
moveTemplate in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
destinationFolderRef - the folder to received the specified file
Returns:
the updated file reference
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template or the destination is invalid
DuplicateObjectException - is thrown if the template already exists

renameTemplate

public TemplateRef renameTemplate(TemplateRef templateRef,
                                  java.lang.String newFilename)
                           throws InvalidPathnameException,
                                  DuplicateObjectException,
                                  RepositorySecurityException,
                                  InvalidParameterException
Rename the specified report design template
Overrides:
renameTemplate in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
newFilename - the new filename String
Returns:
the updated file reference
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid
InvalidParameterException - thrown if new filename is invalid
DuplicateObjectException - is thrown if the template already exists

getChildTemplates

public TemplateRef[] getChildTemplates(TemplateRef templateRef)
                                throws RepositorySecurityException,
                                       InvalidPathnameException
Returns a TemplateRef array for all report design templates which are children of (extend) the specified template.
Overrides:
getChildTemplates in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
Returns:
a TemplateRef array for all report design templates which extend the specified template
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid

getTemplateHistory

public RevisionInfo[] getTemplateHistory(TemplateRef templateRef)
                                  throws RepositorySecurityException,
                                         InvalidPathnameException
Returns the revision history for the specified template.
Overrides:
getTemplateHistory in class ReportRepository
Parameters:
templateRef - the TemplateRef object which uniquely identifies the report template
Returns:
a RevisionInfo array for the specified template.
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the template is invalid

getNestedBinaries

public BinaryRef[] getNestedBinaries(FolderRef folderRef)
                              throws RepositorySecurityException,
                                     InvalidPathnameException
Returns a BinaryRef array for all report binaries in the specified folder
Overrides:
getNestedBinaries in class ReportRepository
Parameters:
folderRef - the repository folder reference
Returns:
a BinaryRef array for all report binaries in the specified folder
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
InvalidPathnameException - thrown if the path to the folder is invalid

checkinBinary

public BinaryRef checkinBinary(BinaryRef binaryRef,
                               byte[] reportBinary,
                               FileOptions fileOptions,
                               java.lang.String comment,
                               boolean createFolders)
                        throws RepositorySecurityException,
                               NotCheckedOutException,
                               InvalidPathnameException,
                               InvalidParameterException
Check a report binary file into the repository.
Overrides:
checkinBinary in class ReportRepository
Parameters:
binaryRef - the BinaryRef object which uniquely identifies the report binary file
reportBinary - the entire report binary file as a byte array
fileOptions - the FileOptions for this report binary file
comment - optional comment string describing this checkin
createFolders - if true, any missing folders in the pathname will be created
Returns:
BinaryRef for checked in file
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
NotCheckedOutException - thrown if binary exists but is not checked out to this user
InvalidPathnameException - thrown if the path to the binary file is invalid
InvalidParameterException - thrown if any of the parameters to this method are invalid

checkinBinary

public BinaryRef checkinBinary(BinaryRef binaryRef,
                               java.io.File binaryFile,
                               FileOptions fileOptions,
                               java.lang.String comment,
                               boolean createFolders,
                               ProgressReporter progressReporter)
                        throws OperationCanceledException,
                               java.io.IOException,
                               NotCheckedOutException,
                               RepositorySecurityException,
                               InvalidPathnameException,
                               InvalidParameterException
Check a report binary file into the repository.
Overrides:
checkinBinary in class ReportRepository
Parameters:
binaryRef - the BinaryRef object which uniquely identifies the report binary file
binaryFile - the report binary File
fileOptions - the FileOptions for this report binary file
comment - optional comment string describing this checkin
createFolders - if true, any missing folders in the pathname will be created
progressReporter - an optional ProgressReporter object to report the operation progress
Returns:
BinaryRef for checked in file
Throws:
java.io.IOException - thrown if there is a problem opening or reading from the specified file
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation
NotCheckedOutException - thrown if binary exists but is not checked out to this user
InvalidPathnameException - thrown if the path to the binary file is invalid
InvalidParameterException - thrown if any of the parameters to this method are invalid
OperationCanceledException - thrown if the operation is canceled via the ProgressReporter

checkoutBinary

public byte[] checkoutBinary(BinaryRef binaryRef)
                      throws IncompleteBLOBException,
                             RepositorySecurityException,
                             InvalidPathnameException,
                             AlreadyCheckedOutException
Checkout the specified report binary and marks it as checked out by the current user.
Overrides:
checkoutBinary in class ReportRepository
Parameters:
binaryRef - the BinaryRef object which uniquely identifies the report binary file
Returns:
the report binary file as a byte array
Throws:
RepositorySecurityException - thrown if current user is not granted the authority to perform this operation