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)
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)
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)
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']
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 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)