Example #1
0
    def update_object(self, tg, name):
        tgParams = TemplateGoalParameters(goalName=tg.theName,
                                          goalDef=tg.theDefinition,
                                          goalRat=tg.theRationale,
                                          goalConcerns=tg.theConcerns,
                                          goalResp=tg.theResponsibilities)

        try:
            tgId = self.db_proxy.getDimensionId(name, 'template_goal')
            tgParams.setId(tgId)
            self.db_proxy.updateTemplateGoal(tgParams)
        except ARMException as ex:
            self.close()
            raise ARMHTTPError(ex)
Example #2
0
 def update_template_goal(self,tg,name):
   found_tg = self.get_template_goal(name)
   tgParams = TemplateGoalParameters(
     goalName=tg.theName,
     goalDef=tg.theDefinition,
     goalRat=tg.theRationale,
     goalConcerns=tg.theConcerns,
     goalResp=tg.theResponsibilities)
   tgParams.setId(found_tg.theId)
   try:
     self.db_proxy.updateTemplateGoal(tgParams)
   except ARMException as ex:
     self.close()
     raise ARMHTTPError(ex)
Example #3
0
 def add_object(self, tg):
     tgParams = TemplateGoalParameters(goalName=tg.theName,
                                       goalDef=tg.theDefinition,
                                       goalRat=tg.theRationale,
                                       goalConcerns=tg.theConcerns,
                                       goalResp=tg.theResponsibilities)
     try:
         self.db_proxy.addTemplateGoal(tgParams)
     except ARMException as ex:
         self.close()
         raise ARMHTTPError(ex)
Example #4
0
def addTestData():
    f = open(os.environ['CAIRIS_SRC'] + '/test/templategoals.json')
    d = json.load(f)
    f.close()
    iAccessRights = d['access_rights']
    iSurfaceTypes = d['surface_type']
    iTemplateAssets = d['template_assets']
    iTemplateGoals = d['template_goals']
    cairis.core.BorgFactory.initialise()
    b = Borg()
    iar1 = ValueTypeParameters(iAccessRights[0]["theName"],
                               iAccessRights[0]["theDescription"],
                               'access_right', '',
                               iAccessRights[0]["theValue"],
                               iAccessRights[0]["theRationale"])
    ist1 = ValueTypeParameters(iSurfaceTypes[0]["theName"],
                               iSurfaceTypes[0]["theDescription"],
                               'surface_type', '',
                               iSurfaceTypes[0]["theValue"],
                               iSurfaceTypes[0]["theRationale"])
    b.dbProxy.addValueType(iar1)
    b.dbProxy.addValueType(ist1)
    spValues = [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
    ]
    srValues = ['None', 'None', 'None', 'None', 'None', 'None', 'None', 'None']
    iTap = TemplateAssetParameters(
        iTemplateAssets[0]["theName"], iTemplateAssets[0]["theShortCode"],
        iTemplateAssets[0]["theDescription"],
        iTemplateAssets[0]["theSignificance"], iTemplateAssets[0]["theType"],
        iTemplateAssets[0]["theSurfaceType"],
        iTemplateAssets[0]["theAccessRight"], spValues, srValues, [], [])
    b.dbProxy.addTemplateAsset(iTap)
    iTag1 = TemplateGoalParameters(iTemplateGoals[0]["theName"],
                                   iTemplateGoals[0]["theDefinition"],
                                   iTemplateGoals[0]["theRationale"],
                                   iTemplateGoals[0]["theConcerns"],
                                   iTemplateGoals[0]["theResponsibilities"])
    b.dbProxy.addTemplateGoal(iTag1)
def addAPDependentData(d):
  cairis.core.BorgFactory.initialise()
  b = Borg()
  for i in d['roles']:
    b.dbProxy.addRole(RoleParameters(i["theName"], i["theType"], i["theShortCode"], i["theDescription"],[]))
  for i in d['access_rights']:
    b.dbProxy.addValueType(ValueTypeParameters(i["theName"], i["theDescription"], 'access_right','',i["theValue"],i["theRationale"]))
  for i in d['surface_types']:
    b.dbProxy.addValueType(ValueTypeParameters(i["theName"], i["theDescription"], 'surface_type','',i["theValue"],i["theRationale"]))
  for i in d['protocols']:
    b.dbProxy.addValueType(ValueTypeParameters(i["theName"], i["theDescription"], 'protocol','',i["theValue"],i["theRationale"]))
  for i in d['privileges']:
    b.dbProxy.addValueType(ValueTypeParameters(i["theName"], i["theDescription"], 'privilege','',i["theValue"],i["theRationale"]))
  spValues = [(0,'None'),(0,'None'),(0,'None'),(0,'None'),(0,'None'),(0,'None'),(0,'None'),(0,'None')]
  for i in d['template_assets']:
    b.dbProxy.addTemplateAsset(TemplateAssetParameters(i["theName"], i["theShortCode"], i["theDescription"], i["theSignificance"],i["theType"],i["theSurfaceType"],i["theAccessRight"],spValues,[],[]))
  for i in d['template_goals']:
    b.dbProxy.addTemplateGoal(TemplateGoalParameters(i["theName"],i["theDefinition"],i["theRationale"],i["theConcerns"],i["theResponsibilities"]))
  def setUp(self):
    call([os.environ['CAIRIS_SRC'] + "/test/initdb.sh"])
    cairis.core.BorgFactory.initialise()
    f = open(os.environ['CAIRIS_SRC'] + '/test/componentviews.json')
    d = json.load(f)
    f.close()

    self.theRequirements = []
    self.theRoles = []
    self.iRoles = d['roles']
    for i in self.iRoles:
      self.theRoles.append(RoleParameters(i["theName"], i["theType"], i["theShortCode"], i["theDescription"],[]))

    self.theMetricTypes = []
    self.iAccessRights = d['access_rights']
    for i in self.iAccessRights:
      self.theMetricTypes.append(ValueTypeParameters(i["theName"], i["theDescription"], 'access_right','',i["theValue"],i["theRationale"]))

    self.iSurfaceTypes = d['surface_types']
    for i in self.iSurfaceTypes:
      self.theMetricTypes.append(ValueTypeParameters(i["theName"], i["theDescription"], 'surface_type','',i["theValue"],i["theRationale"]))

    self.iProtocols = d['protocols']
    for i in self.iProtocols:
      self.theMetricTypes.append(ValueTypeParameters(i["theName"], i["theDescription"], 'protocol','',i["theValue"],i["theRationale"]))

    self.iPrivileges = d['privileges']
    for i in self.iPrivileges:
      self.theMetricTypes.append(ValueTypeParameters(i["theName"], i["theDescription"], 'privilege','',i["theValue"],i["theRationale"]))

    self.theAssets = []
    spValues = [0,0,0,0,0,0,0,0,]
    srValues = ['None','None','None','None','None','None','None','None']
    self.iTemplateAssets = d['template_assets']
    for i in self.iTemplateAssets:
      self.theAssets.append(TemplateAssetParameters(i["theName"], i["theShortCode"], i["theDescription"], i["theSignificance"],i["theType"],i["theSurfaceType"],i["theAccessRight"],spValues,srValues,[],[]))

    self.theGoals = []
    self.iTemplateGoals = d['template_goals']
    for i in self.iTemplateGoals:
      self.theGoals.append(TemplateGoalParameters(i["theName"],i["theDefinition"],i["theRationale"],i["theConcerns"],i["theResponsibilities"]))

    self.iComponentViews = d['architectural_patterns']
Example #7
0
  def testTemplateGoal(self):
    b = Borg()
    iTag1 = TemplateGoalParameters(self.iTemplateGoals[0]["theName"],self.iTemplateGoals[0]["theDefinition"],self.iTemplateGoals[0]["theRationale"],self.iTemplateGoals[0]["theConcerns"],self.iTemplateGoals[0]["theResponsibilities"])
    iTag2 = TemplateGoalParameters(self.iTemplateGoals[1]["theName"],self.iTemplateGoals[1]["theDefinition"],self.iTemplateGoals[1]["theRationale"],self.iTemplateGoals[1]["theConcerns"],self.iTemplateGoals[1]["theResponsibilities"])
    b.dbProxy.addTemplateGoal(iTag1)
    b.dbProxy.addTemplateGoal(iTag2)


    oTags = b.dbProxy.getTemplateGoals()
    oTag1 = oTags[self.iTemplateGoals[0]["theName"]]
    oTag2 = oTags[self.iTemplateGoals[1]["theName"]]


    self.assertEqual(iTag1.name(), oTag1.name())
    self.assertEqual(iTag1.definition(), oTag1.definition())
    self.assertEqual(iTag1.rationale(),oTag1.rationale())
    self.assertEqual(iTag1.concerns(),oTag1.concerns())
    self.assertEqual(iTag1.responsibilities(),oTag1.responsibilities())

    self.assertEqual(iTag2.name(), oTag2.name())
    self.assertEqual(iTag2.definition(), oTag2.definition())
    self.assertEqual(iTag2.rationale(),oTag2.rationale())
    self.assertEqual(iTag2.concerns(),oTag2.concerns())
    self.assertEqual(iTag2.responsibilities(),oTag2.responsibilities())

    iTag1.theDefinition = 'updated definition'
    iTag1.setId(oTag1.id())
    b.dbProxy.updateTemplateGoal(iTag1)

    oTags = b.dbProxy.getTemplateGoals()
    oTag1 = oTags[self.iTemplateGoals[0]["theName"]]
    self.assertEqual(iTag1.definition(), oTag1.definition())


    b.dbProxy.deleteTemplateGoal(oTag1.id())
    b.dbProxy.deleteTemplateGoal(oTag2.id())
Example #8
0
    def testTemplateGoal(self):
        b = Borg()
        iTag1 = TemplateGoalParameters(
            self.iTemplateGoals[0]["theName"],
            self.iTemplateGoals[0]["theDefinition"],
            self.iTemplateGoals[0]["theRationale"],
            self.iTemplateGoals[0]["theConcerns"],
            self.iTemplateGoals[0]["theResponsibilities"])
        iTag2 = TemplateGoalParameters(
            self.iTemplateGoals[1]["theName"],
            self.iTemplateGoals[1]["theDefinition"],
            self.iTemplateGoals[1]["theRationale"],
            self.iTemplateGoals[1]["theConcerns"],
            self.iTemplateGoals[1]["theResponsibilities"])
        b.dbProxy.addTemplateGoal(iTag1)
        b.dbProxy.addTemplateGoal(iTag2)

        oTags = b.dbProxy.getTemplateGoals()
        oTag1 = oTags[self.iTemplateGoals[0]["theName"]]
        oTag2 = oTags[self.iTemplateGoals[1]["theName"]]

        self.assertEqual(iTag1.name(), oTag1.name())
        self.assertEqual(iTag1.definition(), oTag1.definition())
        self.assertEqual(iTag1.rationale(), oTag1.rationale())
        self.assertEqual(iTag1.concerns(), oTag1.concerns())
        self.assertEqual(iTag1.responsibilities(), oTag1.responsibilities())

        self.assertEqual(iTag2.name(), oTag2.name())
        self.assertEqual(iTag2.definition(), oTag2.definition())
        self.assertEqual(iTag2.rationale(), oTag2.rationale())
        self.assertEqual(iTag2.concerns(), oTag2.concerns())
        self.assertEqual(iTag2.responsibilities(), oTag2.responsibilities())

        iTag1.theDefinition = 'updated definition'
        iTag1.setId(oTag1.id())
        b.dbProxy.updateTemplateGoal(iTag1)

        oTags = b.dbProxy.getTemplateGoals()
        oTag1 = oTags[self.iTemplateGoals[0]["theName"]]
        self.assertEqual(iTag1.definition(), oTag1.definition())

        b.dbProxy.deleteTemplateGoal(oTag1.id())
        b.dbProxy.deleteTemplateGoal(oTag2.id())
 def endElement(self, name):
     if (name == 'component'):
         p = ComponentParameters(self.theName, self.theDescription,
                                 self.theInterfaces, self.theStructure,
                                 self.theComponentRequirements,
                                 self.theComponentGoals,
                                 self.theComponentGoalAssociations)
         self.theComponents.append(p)
         self.resetComponentAttributes()
     elif name == 'role':
         p = RoleParameters(self.theName, self.theType, self.theShortCode,
                            self.theDescription, [])
         self.theRoles.append(p)
         self.resetRoleAttributes()
     elif name == 'asset':
         spDict = {}
         spDict['confidentiality'] = 0
         spDict['integrity'] = 0
         spDict['availability'] = 0
         spDict['accountability'] = 0
         spDict['anonymity'] = 0
         spDict['pseudonymity'] = 0
         spDict['unlinkability'] = 0
         spDict['unobservability'] = 0
         srDict = {}
         srDict['confidentiality'] = 'None'
         srDict['integrity'] = 'None'
         srDict['availability'] = 'None'
         srDict['accountability'] = 'None'
         srDict['anonymity'] = 'None'
         srDict['pseudonymity'] = 'None'
         srDict['unlinkability'] = 'None'
         srDict['unobservability'] = 'None'
         for sp in self.theSecurityProperties:
             spName = sp[0]
             spValue = a2i(sp[1])
             spRationale = sp[2]
             if spName in spDict:
                 spDict[spName] = spValue
             if spName in srDict:
                 srDict[spName] = spRationale
         spValues = []
         spValues.append(spDict['confidentiality'])
         spValues.append(spDict['integrity'])
         spValues.append(spDict['availability'])
         spValues.append(spDict['accountability'])
         spValues.append(spDict['anonymity'])
         spValues.append(spDict['pseudonymity'])
         spValues.append(spDict['unlinkability'])
         spValues.append(spDict['unobservability'])
         srValues = []
         srValues.append(srDict['confidentiality'])
         srValues.append(srDict['integrity'])
         srValues.append(srDict['availability'])
         srValues.append(srDict['accountability'])
         srValues.append(srDict['anonymity'])
         srValues.append(srDict['pseudonymity'])
         srValues.append(srDict['unlinkability'])
         srValues.append(srDict['unobservability'])
         p = TemplateAssetParameters(
             self.theName, self.theShortCode, self.theDescription,
             self.theSignificance, self.theAssetType, self.theSurfaceType,
             self.theAccessRight, spValues, srValues, self.theTags,
             self.theInterfaces)
         self.theAssets.append(p)
         self.resetAssetAttributes()
     elif name == 'security_property':
         self.theSecurityProperties.append(
             (self.thePropertyName, self.thePropertyValue,
              self.theRationale))
         self.resetSecurityPropertyAttributes()
     elif name == 'structure':
         self.theStructure.append(
             (self.theHeadName, self.theHeadAdornment, self.theHeadNav,
              self.theHeadNry, self.theHeadRole, self.theTailRole,
              self.theTailNry, self.theTailNav, self.theTailAdornment,
              self.theTailName))
         self.resetStructure()
     elif name == 'requirement':
         p = TemplateRequirementParameters(self.theReqName, self.theAsset,
                                           self.theType,
                                           self.theDescription,
                                           self.theRationale,
                                           self.theFitCriterion)
         self.theRequirements.append(p)
         self.resetRequirementAttributes()
     elif name == 'goal':
         p = TemplateGoalParameters(self.theName, self.theDefinition,
                                    self.theRationale, self.theConcerns,
                                    self.theResponsibilities)
         self.theGoals.append(p)
         self.resetGoalAttributes()
     elif name == 'connector':
         p = ConnectorParameters(self.theName, self.theViewName,
                                 self.theFromName, self.theFromRole,
                                 self.theFromInterface, self.theToName,
                                 self.theToInterface, self.theToRole,
                                 self.theConnectorAsset,
                                 self.theProtocolName, self.theAccessRight)
         self.theConnectors.append(p)
         self.resetConnectorAttributes()
     elif name == 'component_goal_association':
         self.theComponentGoalAssociations.append(
             (self.theGoalName, self.theSubGoalName, self.theRefType,
              self.theRationale))
         self.resetComponentGoalAssociationAttributes()
     elif name == 'description':
         self.inDescription = 0
     elif name == 'definition':
         self.inDefinition = 0
     elif name == 'synopsis':
         self.inSynopsis = 0
     elif name == 'rationale':
         self.inRationale = 0
     elif name == 'significance':
         self.inSignificance = 0
     elif name == 'fit_criterion':
         self.inFitCriterion = 0
     elif name == 'access_right' or name == 'protocol' or name == 'privilege' or name == 'surface_type':
         p = ValueTypeParameters(self.theName, self.theDescription, name,
                                 '', self.theScore, self.theRationale)
         self.theMetricTypes.append(p)
         self.resetValueTypeAttributes()
     elif name == 'architectural_pattern':
         self.theViewParameters = ComponentViewParameters(
             self.theViewName, self.theSynopsis, self.theMetricTypes,
             self.theRoles, self.theAssets, self.theRequirements,
             self.theGoals, self.theComponents, self.theConnectors)