Subversion Repositories DevTools

Rev

Rev 2143 | Rev 2149 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2143 Rev 2145
Line 18... Line 18...
18
      /// Construct the object
18
      /// Construct the object
19
      /// </summary>
19
      /// </summary>
20
      /// <param name="ea_repository"></param>
20
      /// <param name="ea_repository"></param>
21
      public CopyReqProDatabase(EA.Repository ea_repository): base(ea_repository)
21
      public CopyReqProDatabase(EA.Repository ea_repository): base(ea_repository)
22
      {
22
      {
23
         try
-
 
24
         {
-
 
25
            if (ea_rootPackage.Elements.Count > 0
-
 
26
               || ea_rootPackage.Packages.Count > 0)
-
 
27
            {
-
 
28
               DialogResult dlgRes = MessageBox.Show("Package is not empty, delete existing content first?", "Confirm", MessageBoxButtons.YesNo);
-
 
29
               if (dlgRes == DialogResult.Yes)
-
 
30
               {
-
 
31
                  // Delete packages and requirement elements
-
 
32
                  short i;
-
 
33
                  for(i=0; i < ea_rootPackage.Packages.Count; i++)
-
 
34
                  {
-
 
35
                     ea_rootPackage.Packages.Delete(i);
-
 
36
                  }
-
 
37
                  for(i=0; i < ea_rootPackage.Elements.Count; i++)
-
 
38
                  {
-
 
39
                     if ( ((EA.Element)ea_rootPackage.Elements.GetAt(i)).Type.StartsWith("Requirement") )
-
 
40
                     {
-
 
41
                        ea_rootPackage.Elements.Delete(i);
-
 
42
                     }
-
 
43
                  }
-
 
44
                  ea_rootPackage.Packages.Refresh();
-
 
45
                  // refresh project browser view
-
 
46
                  ea_repository.RefreshModelView(ea_rootPackage.PackageID);               }
-
 
47
            }
-
 
48
         }
-
 
49
         catch (Exception ex)
-
 
50
         {
-
 
51
            MessageBox.Show(ex.Message, "Error (CopyReqProDatabase::CopyReqProDatabase)", MessageBoxButtons.OK);
-
 
52
         }           
-
 
53
      }
23
      }
54
 
24
 
55
 
25
 
56
      /// <summary>
26
      /// <summary>
57
      /// Method to parse a ReqPro database and copy it into an EA database.
27
      /// Method to parse a ReqPro database and copy it into an EA database.
58
      /// </summary>
28
      /// </summary>
59
      /// <param name="ea_repository"></param>
29
      /// <param name="ea_repository"></param>
60
      /// <returns></returns>
30
      /// <returns></returns>
61
      public override bool prompt_and_parse(EA.Repository ea_repository)
31
      public override bool prompt_and_parse(EA.Repository ea_repository, ReqProDB_Artifact.MODE mode)
62
      {
32
      {
63
         try
33
         try
64
         {
34
         {
65
            // use the base classes parser to read the ReqPro database content and allow the user to
35
            // use the base classes parser to read the ReqPro database content and allow the user to
66
            // filter it.
36
            // filter it.
67
            if (true == base.prompt_and_parse(ea_repository))
37
            if (true == base.prompt_and_parse(ea_repository, mode))
68
            {
38
            {
-
 
39
               try
-
 
40
               {
-
 
41
                  // Look for existing requirement elements
-
 
42
                  bool reqElementsFound = false;
-
 
43
                  for(short i=0; i < ea_rootPackage.Elements.Count; i++)
-
 
44
                  {
-
 
45
                     if ( ((EA.Element)ea_rootPackage.Elements.GetAt(i)).Type.StartsWith("Requirement") )
-
 
46
                     {
-
 
47
                        reqElementsFound = true;
-
 
48
                     }
-
 
49
                  }
-
 
50
 
-
 
51
                  // if there are existing requirement elements or sub-packages...
-
 
52
                  if (reqElementsFound == true
-
 
53
                     || ea_rootPackage.Packages.Count > 0)
-
 
54
                  {
-
 
55
                     DialogResult dlgRes = MessageBox.Show("Package is not empty, delete existing content first?", "Confirm", MessageBoxButtons.YesNo);
-
 
56
                     if (dlgRes == DialogResult.Yes)
-
 
57
                     {
-
 
58
                        // Delete packages and requirement elements
-
 
59
                        short i;
-
 
60
                        for(i=0; i < ea_rootPackage.Packages.Count; i++)
-
 
61
                        {
-
 
62
                           ea_rootPackage.Packages.Delete(i);
-
 
63
                        }
-
 
64
                        for(i=0; i < ea_rootPackage.Elements.Count; i++)
-
 
65
                        {
-
 
66
                           if ( ((EA.Element)ea_rootPackage.Elements.GetAt(i)).Type.StartsWith("Requirement") )
-
 
67
                           {
-
 
68
                              ea_rootPackage.Elements.Delete(i);
-
 
69
                           }
-
 
70
                        }
-
 
71
                        ea_rootPackage.Packages.Refresh();
-
 
72
                        // refresh project browser view
-
 
73
                        ea_repository.RefreshModelView(ea_rootPackage.PackageID);
-
 
74
                     }
-
 
75
                  }
-
 
76
               }
-
 
77
               catch (Exception ex)
-
 
78
               {
-
 
79
                  MessageBox.Show(ex.Message, "Error (CopyReqProDatabase::CopyReqProDatabase)", MessageBoxButtons.OK);
-
 
80
               }   
-
 
81
 
69
               ea_repository.EnsureOutputVisible(Main.GUI_OUTPUT_TAB_NAME);
82
               ea_repository.EnsureOutputVisible(Main.GUI_OUTPUT_TAB_NAME);
70
 
83
 
71
               // write the captured info from reqpro, into the ea database, obeying the filter
84
               // write the captured info from reqpro, into the ea database, obeying the filter
72
               // settings the user has specified.
85
               // settings the user has specified.
73
               write_ea_database(ea_repository);
86
               write_ea_database(ea_repository);
-
 
87
 
-
 
88
               // Configure the ReqProDB artifact as a document model artifact
-
 
89
               RQ_Artifact.set_doc_model_mode(ea_repository, RQ_Element);
-
 
90
 
74
               MessageBox.Show("Import Completed");
91
               MessageBox.Show("Import Completed");
75
               return true;
92
               return true;
76
            }
93
            }
77
         }
94
         }
78
         catch (Exception ex)
95
         catch (Exception ex)