org.sourcejammer.project.controller
Interface Archive

All Known Implementing Classes:
ProjectController

public interface Archive

Title: $FileName: Archive.java$

Version:
$VerNum: 6$

$Description: $
$KeyWordsOff: $

Author:
$AuthorName: Rob MacGrogan$

Method Summary
 long addFile(long parentID, java.lang.String name, java.io.File file, org.sourcejammer.project.view.FileProperties props, java.lang.String userName)
          Adds a new file to this archive, at the specified location.
 long addNewVersion(long fileID, java.io.File newVersion, java.lang.String comment, java.lang.String userName)
          Adds a new version to an existing file.
 long addProject(long parentID, java.lang.String name)
          Adds a new project at the specified location (the NodeName object) to this archive.
 void checkInFile(long fileID)
          Set status of specified file to checked in.
 void checkOutFile(long fileID, java.lang.String userName, java.lang.String checkOutLocation)
          Set status of specified file to checked out.
 void copyFile(long fileID, long parentProjectID, long newParentProjectID, java.lang.String userName)
          Copies the specified file from one project to another.
 void copyProject(long projectID, long parentProjectID, long newParentProjectID, java.lang.String userName, java.lang.String newProjectName)
          Copies the specified project and all children from one project to another.
 ArchiveInfoFlex getArchiveInfo()
          Returns the ArchiveInfo object for this Archive.
 long getChangeList(long labelID, int verNewer, int verOlder, int eolType)
          Generated change list for specified label and saves it as a temp file.
 org.sourcejammer.project.view.File getFile(long fileID)
          Get File object (info about file).
 java.lang.String getFileDescription(long fileID)
          Returns the description of a file.
 long getFileLatestVersion(long fileID, int requestedEOL)
          Get latest version of file source to temp dir and return temp file ID.
 TextLineReader getFileLatestVersionTLR(long fileID)
          Get latest version of text file source as TextLineReader.
 FileNode getFileNode(long fileID)
          Allows "master control" to look at file info to verify check out, check in, file type, etc.
 FileNode getFileNode(long fileID, boolean readOnly)
          Allows "master control" to look at file info to verify check out, check in, file type, etc.
 Delta getFileVersionDelta(long versionID)
          Get specified delta object for file.
 Delta getFileVersionTextDelta(long versionID)
          Get specified delta object for a text file.
 Label getLabelContentList(long labelID, int versionNumber)
          Returns the Label object (which contains the sourcejammer path and version number for each object in the labeled version) with the specified name.
 org.sourcejammer.project.NodeList getLabelList()
          Deprecated.  
 java.io.File getLatestVersionSourceFilePointer(long fileID)
          Returns java.io.File object for latest version's source.
 org.sourcejammer.project.view.Project getProject(long projectID)
          Get Project object (info about project).
 java.util.Vector getRemovedNodes(long projectID)
          Returns a Vector of NodeInfo objects, one for each node that has been removed (but not permanently deleted) from the parent project.
 org.sourcejammer.project.view.Project getRootProject()
          Returns the view Project for the root node of the archive for this ProjectController.
 long getUniqueIDFromPath(long parentID, java.lang.String path)
          Returns unique id based on a path.
 java.lang.String getVersionComment(long versionID)
          Get the comment for the specified version.
 long getVersionFileSizeInBytes(long fileID, int versionNumber)
          Gets the size of the version file in bytes.
 void makeLabeledVersion(java.lang.String name, java.lang.String description, long parentID, java.lang.String userName)
          Create and save a new labeled version with the passed-in name and description and containing all of the latest versions that are children of parent.
 void moveFile(long fileID, long parentProjectID, long newParentProjectID)
          Moves the specified file from one project to another.
 void moveProject(long projectID, long parentProjectID, long newParentProjectID, java.lang.String newProjectName)
           
 void permanentlyDeleteRemovedNode(long parentID, int index)
          Permanently delete the specified removed node from the archive.
 void rebuildLabel(long labelID, java.lang.String description, long parentProjectID, java.lang.String userName)
           
 void releaseFileNode(FileNode nd)
          Release a file node.
 void removeFile(long parentID, long fileID)
          Remove specified file from project hierarchy.
 void removeProject(long parentID, long projectID)
          Remove specified project from the project hierarchy.
 void renameFile(long parentID, long fileID, java.lang.String newName)
           
 void renameProject(long parentID, long projectID, java.lang.String newName)
           
 void restoreRemovedNode(long parentID, int index)
          Restores a project or file node that was previously removed from the archive.
 void restoreRemovedNode(long parentID, java.lang.String newName, int index)
          & Restores a project or file node that was previously removed from the archive.
 java.io.File retrieveVersionDeltaFile(org.sourcejammer.project.view.NodeInfo versionNode)
           
 void rollbackToVersion(long fileID, long versionID, java.io.File newLatestVersion)
          Rollback specified file to specified version number.
 void setArchiveInfo(ArchiveInfoFlex info)
          Sets the ArchiveInfo object for this Archive.
 void setFileDescription(long fileID, java.lang.String description)
          Changes description of a file.
 void setVersionComment(long fileID, int version, java.lang.String comment)
          Set the comment of the specified version.
 

Method Detail

copyFile

public void copyFile(long fileID,
                     long parentProjectID,
                     long newParentProjectID,
                     java.lang.String userName)
              throws org.sourcejammer.project.NodeExistsException,
                     org.sourcejammer.project.NodeDoesNotExistException,
                     SecurityException,
                     FileAccessException,
                     FileDoesNotExistException,
                     NoSuchVersionException
Copies the specified file from one project to another. No file history is copied. A new source file is created.

org.sourcejammer.project.NodeExistsException
org.sourcejammer.project.NodeDoesNotExistException
SecurityException
FileAccessException
FileDoesNotExistException
NoSuchVersionException

moveProject

public void moveProject(long projectID,
                        long parentProjectID,
                        long newParentProjectID,
                        java.lang.String newProjectName)
                 throws org.sourcejammer.project.NodeExistsException,
                        FileAccessException,
                        SecurityException,
                        NoSuchVersionException,
                        org.sourcejammer.project.NodeDoesNotExistException,
                        ProjectDoesNotExistException
org.sourcejammer.project.NodeExistsException
FileAccessException
SecurityException
NoSuchVersionException
org.sourcejammer.project.NodeDoesNotExistException
ProjectDoesNotExistException

copyProject

public void copyProject(long projectID,
                        long parentProjectID,
                        long newParentProjectID,
                        java.lang.String userName,
                        java.lang.String newProjectName)
                 throws org.sourcejammer.project.NodeExistsException,
                        org.sourcejammer.project.NodeDoesNotExistException,
                        SecurityException,
                        FileAccessException,
                        FileDoesNotExistException,
                        NoSuchVersionException,
                        ProjectDoesNotExistException
Copies the specified project and all children from one project to another. No file history is copied. A new source for each file is created.

org.sourcejammer.project.NodeExistsException
org.sourcejammer.project.NodeDoesNotExistException
SecurityException
FileAccessException
FileDoesNotExistException
NoSuchVersionException
ProjectDoesNotExistException

moveFile

public void moveFile(long fileID,
                     long parentProjectID,
                     long newParentProjectID)
              throws org.sourcejammer.project.NodeExistsException,
                     FileAccessException,
                     SecurityException,
                     NoSuchVersionException,
                     org.sourcejammer.project.NodeDoesNotExistException,
                     FileDoesNotExistException
Moves the specified file from one project to another.

org.sourcejammer.project.NodeExistsException
FileAccessException
SecurityException
NoSuchVersionException
org.sourcejammer.project.NodeDoesNotExistException
FileDoesNotExistException

setArchiveInfo

public void setArchiveInfo(ArchiveInfoFlex info)
                    throws FileAccessException
Sets the ArchiveInfo object for this Archive.

FileAccessException

getArchiveInfo

public ArchiveInfoFlex getArchiveInfo()
Returns the ArchiveInfo object for this Archive.


getRootProject

public org.sourcejammer.project.view.Project getRootProject()
                                                     throws FileAccessException,
                                                            SecurityException
Returns the view Project for the root node of the archive for this ProjectController.

FileAccessException
SecurityException

addProject

public long addProject(long parentID,
                       java.lang.String name)
                throws FileAccessException,
                       ProjectDoesNotExistException,
                       org.sourcejammer.project.NodeExistsException,
                       SecurityException
Adds a new project at the specified location (the NodeName object) to this archive.

Returns:
unique id of new project.
FileAccessException
ProjectDoesNotExistException
org.sourcejammer.project.NodeExistsException
SecurityException

addFile

public long addFile(long parentID,
                    java.lang.String name,
                    java.io.File file,
                    org.sourcejammer.project.view.FileProperties props,
                    java.lang.String userName)
             throws FileAccessException,
                    ProjectDoesNotExistException,
                    FileAlreadyExistsException,
                    SecurityException,
                    TextFileException
Adds a new file to this archive, at the specified location. Note: fileType means binary or text.

FileAccessException
ProjectDoesNotExistException
FileAlreadyExistsException
SecurityException
TextFileException

getFileDescription

public java.lang.String getFileDescription(long fileID)
                                    throws FileAccessException,
                                           FileDoesNotExistException,
                                           SecurityException
Returns the description of a file.

FileAccessException
FileDoesNotExistException
SecurityException

setFileDescription

public void setFileDescription(long fileID,
                               java.lang.String description)
                        throws FileAccessException,
                               ProjectDoesNotExistException,
                               FileDoesNotExistException,
                               SecurityException
Changes description of a file.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
SecurityException

getVersionFileSizeInBytes

public long getVersionFileSizeInBytes(long fileID,
                                      int versionNumber)
                               throws FileAccessException,
                                      ProjectDoesNotExistException,
                                      FileDoesNotExistException,
                                      NoSuchVersionException,
                                      SecurityException
Gets the size of the version file in bytes.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
NoSuchVersionException
SecurityException

getUniqueIDFromPath

public long getUniqueIDFromPath(long parentID,
                                java.lang.String path)
                         throws FileAccessException,
                                ProjectDoesNotExistException,
                                org.sourcejammer.project.NodeDoesNotExistException,
                                SecurityException
Returns unique id based on a path.

FileAccessException
ProjectDoesNotExistException
org.sourcejammer.project.NodeDoesNotExistException
SecurityException

addNewVersion

public long addNewVersion(long fileID,
                          java.io.File newVersion,
                          java.lang.String comment,
                          java.lang.String userName)
                   throws FileAccessException,
                          ProjectDoesNotExistException,
                          FileDoesNotExistException,
                          TextFileException,
                          SecurityException,
                          EndOfSourceException,
                          InvalidSourceException,
                          WrongFileTypeException
Adds a new version to an existing file. Returns newest version unique id.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
TextFileException
SecurityException
EndOfSourceException
InvalidSourceException
WrongFileTypeException

getProject

public org.sourcejammer.project.view.Project getProject(long projectID)
                                                 throws FileAccessException,
                                                        ProjectDoesNotExistException,
                                                        SecurityException
Get Project object (info about project).

FileAccessException
ProjectDoesNotExistException
SecurityException

getFile

public org.sourcejammer.project.view.File getFile(long fileID)
                                           throws FileAccessException,
                                                  FileDoesNotExistException,
                                                  SecurityException
Get File object (info about file).

FileAccessException
FileDoesNotExistException
SecurityException

getLatestVersionSourceFilePointer

public java.io.File getLatestVersionSourceFilePointer(long fileID)
                                               throws FileAccessException,
                                                      FileDoesNotExistException,
                                                      SecurityException
Returns java.io.File object for latest version's source.

FileAccessException
FileDoesNotExistException
SecurityException

getFileLatestVersion

public long getFileLatestVersion(long fileID,
                                 int requestedEOL)
                          throws FileAccessException,
                                 FileDoesNotExistException,
                                 TextFileException,
                                 SecurityException
Get latest version of file source to temp dir and return temp file ID.

FileAccessException
FileDoesNotExistException
TextFileException
SecurityException

getFileLatestVersionTLR

public TextLineReader getFileLatestVersionTLR(long fileID)
                                       throws FileAccessException,
                                              FileDoesNotExistException,
                                              TextFileException,
                                              SecurityException
Get latest version of text file source as TextLineReader.

FileAccessException
FileDoesNotExistException
TextFileException
SecurityException

getFileVersionDelta

public Delta getFileVersionDelta(long versionID)
                          throws FileAccessException,
                                 ProjectDoesNotExistException,
                                 FileDoesNotExistException,
                                 NoSuchVersionException,
                                 WrongFileTypeException
Get specified delta object for file.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
NoSuchVersionException
WrongFileTypeException

getFileVersionTextDelta

public Delta getFileVersionTextDelta(long versionID)
                              throws FileAccessException,
                                     ProjectDoesNotExistException,
                                     FileDoesNotExistException,
                                     NoSuchVersionException,
                                     WrongFileTypeException
Get specified delta object for a text file.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
NoSuchVersionException
WrongFileTypeException

removeProject

public void removeProject(long parentID,
                          long projectID)
                   throws FileAccessException,
                          ProjectDoesNotExistException,
                          SecurityException
Remove specified project from the project hierarchy.

FileAccessException
ProjectDoesNotExistException
SecurityException

removeFile

public void removeFile(long parentID,
                       long fileID)
                throws FileAccessException,
                       ProjectDoesNotExistException,
                       FileDoesNotExistException,
                       SecurityException
Remove specified file from project hierarchy.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
SecurityException

retrieveVersionDeltaFile

public java.io.File retrieveVersionDeltaFile(org.sourcejammer.project.view.NodeInfo versionNode)
                                      throws FileAccessException,
                                             WrongFileTypeException
FileAccessException
WrongFileTypeException

rollbackToVersion

public void rollbackToVersion(long fileID,
                              long versionID,
                              java.io.File newLatestVersion)
                       throws FileAccessException,
                              ProjectDoesNotExistException,
                              FileDoesNotExistException,
                              NoSuchVersionException,
                              SecurityException,
                              TextFileException
Rollback specified file to specified version number. Sets the latestversion source to newLatestVersion.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
NoSuchVersionException
SecurityException
TextFileException

setVersionComment

public void setVersionComment(long fileID,
                              int version,
                              java.lang.String comment)
                       throws FileAccessException,
                              ProjectDoesNotExistException,
                              FileDoesNotExistException,
                              NoSuchVersionException,
                              SecurityException
Set the comment of the specified version.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
NoSuchVersionException
SecurityException

getVersionComment

public java.lang.String getVersionComment(long versionID)
                                   throws FileAccessException,
                                          ProjectDoesNotExistException,
                                          FileDoesNotExistException,
                                          NoSuchVersionException
Get the comment for the specified version.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
NoSuchVersionException

checkOutFile

public void checkOutFile(long fileID,
                         java.lang.String userName,
                         java.lang.String checkOutLocation)
                  throws FileAccessException,
                         ProjectDoesNotExistException,
                         FileDoesNotExistException,
                         CheckOutException,
                         SecurityException
Set status of specified file to checked out. Does not return the file. Does guarantee that no other method will check out the file until it is checked in.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
CheckOutException
SecurityException

checkInFile

public void checkInFile(long fileID)
                 throws FileAccessException,
                        ProjectDoesNotExistException,
                        FileDoesNotExistException,
                        CheckInException,
                        SecurityException
Set status of specified file to checked in. Does not add the new file version to model implementation. Does not guarantee that user checking in file is the same user who checked it out. Does guaranted that file will not be checked in if it has already been checked it.

FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
CheckInException
SecurityException

getFileNode

public FileNode getFileNode(long fileID)
                     throws FileAccessException,
                            FileDoesNotExistException,
                            SecurityException
Allows "master control" to look at file info to verify check out, check in, file type, etc.

FileAccessException
FileDoesNotExistException
SecurityException

getFileNode

public FileNode getFileNode(long fileID,
                            boolean readOnly)
                     throws FileAccessException,
                            FileDoesNotExistException,
                            SecurityException
Allows "master control" to look at file info to verify check out, check in, file type, etc.

FileAccessException
FileDoesNotExistException
SecurityException

releaseFileNode

public void releaseFileNode(FileNode nd)
                     throws FileAccessException
Release a file node.

FileAccessException

restoreRemovedNode

public void restoreRemovedNode(long parentID,
                               int index)
                        throws FileAccessException,
                               ProjectDoesNotExistException,
                               FileDoesNotExistException,
                               org.sourcejammer.project.NodeDoesNotExistException,
                               org.sourcejammer.project.NodeExistsException,
                               SecurityException
Restores a project or file node that was previously removed from the archive.

Parameters:
index - -- Index value of the removed node in the removed nodes list (see getRemovedNodes()).
FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
org.sourcejammer.project.NodeDoesNotExistException
org.sourcejammer.project.NodeExistsException
SecurityException

restoreRemovedNode

public void restoreRemovedNode(long parentID,
                               java.lang.String newName,
                               int index)
                        throws FileAccessException,
                               ProjectDoesNotExistException,
                               FileDoesNotExistException,
                               org.sourcejammer.project.NodeDoesNotExistException,
                               org.sourcejammer.project.NodeExistsException,
                               SecurityException
& Restores a project or file node that was previously removed from the archive.

Parameters:
newName - -- a new name for the removed node.
index - -- Index value of the removed node in the removed nodes list (see getRemovedNodes()).
FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
org.sourcejammer.project.NodeDoesNotExistException
org.sourcejammer.project.NodeExistsException
SecurityException

getRemovedNodes

public java.util.Vector getRemovedNodes(long projectID)
                                 throws FileAccessException,
                                        ProjectDoesNotExistException,
                                        SecurityException
Returns a Vector of NodeInfo objects, one for each node that has been removed (but not permanently deleted) from the parent project.

FileAccessException
ProjectDoesNotExistException
SecurityException

permanentlyDeleteRemovedNode

public void permanentlyDeleteRemovedNode(long parentID,
                                         int index)
                                  throws FileAccessException,
                                         ProjectDoesNotExistException,
                                         org.sourcejammer.project.NodeDoesNotExistException,
                                         SecurityException
Permanently delete the specified removed node from the archive.

FileAccessException
ProjectDoesNotExistException
org.sourcejammer.project.NodeDoesNotExistException
SecurityException

makeLabeledVersion

public void makeLabeledVersion(java.lang.String name,
                               java.lang.String description,
                               long parentID,
                               java.lang.String userName)
                        throws org.sourcejammer.project.NodeExistsException,
                               FileAccessException,
                               ProjectDoesNotExistException,
                               NoSuchVersionException,
                               FileDoesNotExistException,
                               FileAlreadyExistsException,
                               TextFileException,
                               SecurityException
Create and save a new labeled version with the passed-in name and description and containing all of the latest versions that are children of parent.

org.sourcejammer.project.NodeExistsException
FileAccessException
ProjectDoesNotExistException
NoSuchVersionException
FileDoesNotExistException
FileAlreadyExistsException
TextFileException
SecurityException

getChangeList

public long getChangeList(long labelID,
                          int verNewer,
                          int verOlder,
                          int eolType)
                   throws org.sourcejammer.project.NodeDoesNotExistException,
                          FileAccessException,
                          FileDoesNotExistException,
                          SecurityException,
                          EndOfSourceException,
                          InvalidSourceException,
                          WrongFileTypeException,
                          NoSuchVersionException,
                          TextFileException,
                          ProjectDoesNotExistException
Generated change list for specified label and saves it as a temp file. Returns id of temp file.

org.sourcejammer.project.NodeDoesNotExistException
FileAccessException
FileDoesNotExistException
SecurityException
EndOfSourceException
InvalidSourceException
WrongFileTypeException
NoSuchVersionException
TextFileException
ProjectDoesNotExistException

getLabelContentList

public Label getLabelContentList(long labelID,
                                 int versionNumber)
                          throws org.sourcejammer.project.NodeDoesNotExistException,
                                 FileAccessException,
                                 FileDoesNotExistException,
                                 SecurityException,
                                 EndOfSourceException,
                                 InvalidSourceException,
                                 WrongFileTypeException,
                                 NoSuchVersionException,
                                 TextFileException,
                                 ProjectDoesNotExistException
Returns the Label object (which contains the sourcejammer path and version number for each object in the labeled version) with the specified name.

org.sourcejammer.project.NodeDoesNotExistException
FileAccessException
FileDoesNotExistException
SecurityException
EndOfSourceException
InvalidSourceException
WrongFileTypeException
NoSuchVersionException
TextFileException
ProjectDoesNotExistException

rebuildLabel

public void rebuildLabel(long labelID,
                         java.lang.String description,
                         long parentProjectID,
                         java.lang.String userName)
                  throws org.sourcejammer.project.NodeExistsException,
                         FileAccessException,
                         org.sourcejammer.project.NodeDoesNotExistException,
                         ProjectDoesNotExistException,
                         NoSuchVersionException,
                         FileDoesNotExistException,
                         FileAlreadyExistsException,
                         TextFileException,
                         SecurityException,
                         WrongFileTypeException,
                         EndOfSourceException,
                         InvalidSourceException
org.sourcejammer.project.NodeExistsException
FileAccessException
org.sourcejammer.project.NodeDoesNotExistException
ProjectDoesNotExistException
NoSuchVersionException
FileDoesNotExistException
FileAlreadyExistsException
TextFileException
SecurityException
WrongFileTypeException
EndOfSourceException
InvalidSourceException

getLabelList

public org.sourcejammer.project.NodeList getLabelList()
Deprecated.  

Returns NodeList of all LabelInfo objects in this archive.


renameFile

public void renameFile(long parentID,
                       long fileID,
                       java.lang.String newName)
                throws FileAccessException,
                       ProjectDoesNotExistException,
                       FileDoesNotExistException,
                       org.sourcejammer.project.NodeExistsException,
                       SecurityException
FileAccessException
ProjectDoesNotExistException
FileDoesNotExistException
org.sourcejammer.project.NodeExistsException
SecurityException

renameProject

public void renameProject(long parentID,
                          long projectID,
                          java.lang.String newName)
                   throws FileAccessException,
                          ProjectDoesNotExistException,
                          org.sourcejammer.project.NodeExistsException,
                          SecurityException
FileAccessException
ProjectDoesNotExistException
org.sourcejammer.project.NodeExistsException
SecurityException


Copyright 2003 Soucejammer project.