Connect or Disconnect from a Synthesis Repository

From ReliaWiki
Jump to navigation Jump to search
APIWiki.png


<< Back to Tutorials Main Page



Tutorial: Connect and Disconnect from a Synthesis Repository

The following example demonstrates how to connect to a standard Synthesis repository, access one of its projects, and then disconnect from the repository. A discussion of the example follows.

A VBA version of the code sample is available here.

VB.NET
 
Imports SynthesisAPI 

Module Module1
   Sub Main()

  'Declare a new Repository object. 
   Dim MyRepository As New Repository
 
  'Specify the full path to the standard repository. Assume that 
  'a standard repository called "RSRepository1.rsr11" exists in the C drive. 
   MyRepository.ConnectToRepository("C:\RSRepository1.rsr11")

  'Declare a new NameIdPair object. 
   Dim ListofProjects() As NameIdPair

  'Get a list of all projects in the repository. 
   ListOfProjects = MyRepository.Project.GetAllProjects

  'Set the first available project as the current project. 
   MyRepository.Project.SetCurrentProject(ListofProjects(0).ID)

  'Display the name and object ID of the current project. 
   Dim ProjectName As String
   Dim ProjectID As Integer 

   ProjectName = MyRepository.Project.GetCurrentProject.Name
   ProjectID = MyRepository.Project.GetCurrentProject.ID
   MsgBox ("You are currently connected to: " & ProjectName & ", ID#" & ProjectID)

  'Disconnect from the Synthesis repository. 
   MyRepository.DisconnectFromRepository

   End Sub
End Module

Discussion

The Repository class represents a Synthesis repository. It provides several methods for connecting to either a standard or enterprise repository. In this example, we used the basic ConnectToRepository method to connect to a standard repository.

 'Declare a new Repository object. 
  Dim MyRepository As New Repository

 'Specify the full path to the Synthesis repository. Assume that 
 'a standard repository called "RSRepository1.rsr11" exists in the C drive. 
  MyRepository.ConnectToRepository("C:\RSRepository1.rsr11")

Once you are connected to a repository, you can specify which of its projects is the current (or active) project. Specifying the current project is required only if you plan to read/write data stored in projects (e.g., updating the properties of a URD resource, calculating metrics from a model resource, etc.).

Use the Project.GetAllProjects method to get an array of all the projects in the repository. The method returns an array of NameIDPair objects that represent the name and ID pair of each project.

The Project.SetCurrentProject method is then used to select the desired project. In this case, we've chosen the first project in the array. Any time you wish to switch to another project in the current repository, use this method again to specify the new active project.

 'Declare a new NameIdPair object. 
  Dim ListofProjects() As NameIdPair

 'Get a list of all projects in the repository. 
  ListOfProjects = MyRepository.Project.GetAllProjects

 'Set the first available project as the current project. 
  MyRepository.Project.SetCurrentProject(ListofProjects(0).ID)

To show the name and ID of the current project in an output, use the Project.GetCurrentProject method. The following example displays the current project's name and ID in a message box.

 'Display the name and object ID number of the current project. 
  Dim ProjectName As String
  Dim ProjectID As Integer
 
  ProjectName = MyRepository.Project.GetCurrentProject.Name
  ProjectID = MyRepository.Project.GetCurrentProject.ID
  MsgBox ("You are currently connected to: " & ProjectName & ", ID#" & ProjectID)

Finally, the following code disconnects the session from the current repository.

 'Disconnect from the Synthesis repository. 
  MyRepository.DisconnectFromRepository


Notes

To connect to an SQL repository, use the ConnectToSQLRepository method.

To connect to an Oracle repository, use the ConnectToOracleRepository method.

Note that in a secure database, you must at least have "read" permissions in the repository in order to connect successfully.

References



Next Tutorial: Add New Synthesis Resources to a Repository >>