org.openi.project
Class ProjectContext

java.lang.Object
  extended byorg.openi.project.ProjectContext

public class ProjectContext
extends java.lang.Object

Author:
plucas TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Style - Code Templates

Field Summary
static java.lang.String ALL_USERS
           
 
Constructor Summary
ProjectContext(Project project, java.lang.String baseDirectory, java.lang.String username)
           
 
Method Summary
 Menu buildMenu()
          Determines appropriate base project directory, and which directories to include in menu delegates all menu building to the MenuBuilder
 void createDirectory(java.lang.String relativeDirectoryName)
          Creates a directory below this project context's projectDirectory.
 void deleteAnalysis(java.lang.String relativeUrl)
           
 void deleteDatasource(java.lang.String datasourceName)
          To remove datasource from project
 java.lang.String getBaseDirectory()
           
 ChangeLog getChangeLog()
          for getChangeLog - need to trap IOException, this is non critical
 Datasource getDatasource(java.lang.String datasourceName)
          returns datasource object from datasource name
 JdbcDatasource getJdbcDatasource()
           
 Project getProject()
           
 java.lang.String getProjectDirectory()
           
 java.lang.String getUsername()
           
 boolean hasPermission(Permission permission)
          Method to check user's permission
 Analysis restoreAnalysis(java.lang.String analysisConfigName)
           
 void save(java.lang.String relativeFilename, Analysis analysis, java.lang.String comment)
           
 void savePersonal(java.lang.String relativeUrl, Analysis analysis, java.lang.String comment)
           
 void saveProject()
          Save project
 void savePublic(java.lang.String relativeUrl, Analysis analysis, java.lang.String comment)
           
 void setBaseDirectory(java.lang.String baseDirectory)
           
 void setDatasource(java.lang.String datasourceKey, Datasource dataSource)
           
 void setProject(Project project)
           
 void setUsername(java.lang.String username)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALL_USERS

public static final java.lang.String ALL_USERS
See Also:
Constant Field Values
Constructor Detail

ProjectContext

public ProjectContext(Project project,
                      java.lang.String baseDirectory,
                      java.lang.String username)
Parameters:
project -
baseDirectory -
username -
Method Detail

getBaseDirectory

public java.lang.String getBaseDirectory()
Returns:
Returns the baseDirectory.

setBaseDirectory

public void setBaseDirectory(java.lang.String baseDirectory)
Parameters:
baseDirectory - The baseDirectory to set.

getProjectDirectory

public java.lang.String getProjectDirectory()

getProject

public Project getProject()
Returns:
Returns the project.

setProject

public void setProject(Project project)
Parameters:
project - The project to set.

getUsername

public java.lang.String getUsername()
Returns:
Returns the username.

setUsername

public void setUsername(java.lang.String username)
Parameters:
username - The username to set.

getDatasource

public Datasource getDatasource(java.lang.String datasourceName)
returns datasource object from datasource name

Parameters:
datasourceName - String
Returns:
Datasource

setDatasource

public void setDatasource(java.lang.String datasourceKey,
                          Datasource dataSource)
Parameters:
datasourceKey - String
dataSource - Datasource

deleteDatasource

public void deleteDatasource(java.lang.String datasourceName)
To remove datasource from project

Parameters:
datasourceName - String
Returns:
boolean

buildMenu

public Menu buildMenu()
               throws java.io.IOException
Determines appropriate base project directory, and which directories to include in menu delegates all menu building to the MenuBuilder

Returns:
menu appropriate for the given project context (project context implies user context)
Throws:
java.io.IOException - for a bad project directory

savePublic

public void savePublic(java.lang.String relativeUrl,
                       Analysis analysis,
                       java.lang.String comment)
                throws java.io.IOException
Throws:
java.io.IOException

savePersonal

public void savePersonal(java.lang.String relativeUrl,
                         Analysis analysis,
                         java.lang.String comment)
                  throws java.io.IOException
Throws:
java.io.IOException

save

public void save(java.lang.String relativeFilename,
                 Analysis analysis,
                 java.lang.String comment)
          throws java.io.IOException
Throws:
java.io.IOException

deleteAnalysis

public void deleteAnalysis(java.lang.String relativeUrl)
Parameters:
relativeUrl -

restoreAnalysis

public Analysis restoreAnalysis(java.lang.String analysisConfigName)
                         throws java.io.IOException
Throws:
java.io.IOException

saveProject

public void saveProject()
Save project

Throws:
java.io.IOException

getChangeLog

public ChangeLog getChangeLog()
for getChangeLog - need to trap IOException, this is non critical

Returns:

hasPermission

public boolean hasPermission(Permission permission)
Method to check user's permission

Parameters:
permission - Permission
Returns:
boolean

getJdbcDatasource

public JdbcDatasource getJdbcDatasource()

createDirectory

public void createDirectory(java.lang.String relativeDirectoryName)
Creates a directory below this project context's projectDirectory. Will not attempt to create a directory that already exists.

Parameters:
relativeDirectoryName -