示例#1
0
文件: UseCaseDAO.py 项目: we45/cairis
 def get_usecases(self, constraint_id=-1, simplify=True):
     """
 :rtype: dict[str,UseCase]
 :return
 :raise ARMHTTPError:
 """
     try:
         usecases = self.db_proxy.getUseCases(constraint_id)
         if simplify:
             for key, value in list(usecases.items()):
                 uc = self.simplify(value)
                 uc.theReferenceContributions = []
                 contribs = self.db_proxy.getUseCaseContributions(uc.name())
                 for rsName in contribs:
                     rrc, rsType = contribs[rsName]
                     frc = CharacteristicReferenceContribution(
                         rrc.meansEnd(), rrc.contribution())
                     uc.theReferenceContributions.append(
                         UseCaseContributionModel(rsName, frc))
                 usecases[key] = uc
         return usecases
     except DatabaseProxyException as ex:
         self.close()
         raise ARMHTTPError(ex)
     except ARMException as ex:
         self.close()
         raise ARMHTTPError(ex)
示例#2
0
文件: UseCaseDAO.py 项目: we45/cairis
    def get_usecase_by_name(self, name, simplify=True):
        """
    :rtype: UseCase
    :raise ObjectNotFoundHTTPError:
    """
        try:
            ucId = self.db_proxy.getDimensionId(name, 'usecase')
            ucs = self.db_proxy.getUseCases(ucId)
        except DatabaseProxyException as ex:
            self.close()
            raise ARMHTTPError(ex)
        except ARMException as ex:
            self.close()
            raise ARMHTTPError(ex)

        if ucs is not None:
            found_uc = ucs.get(name)

        if found_uc is None:
            self.close()
            raise ObjectNotFoundHTTPError(obj='The provided usecase name')

        found_uc = self.simplify(found_uc)
        found_uc.theReferenceContributions = []
        contribs = self.db_proxy.getUseCaseContributions(found_uc.name())
        for rsName in contribs:
            rrc, rsType = contribs[rsName]
            frc = CharacteristicReferenceContribution(rrc.meansEnd(),
                                                      rrc.contribution())
            found_uc.theReferenceContributions.append(
                UseCaseContributionModel(rsName, frc))
        return found_uc
示例#3
0
 def prepare_new_usecase(self):
     new_usecase_props = [
         UseCaseEnvironmentProperties(
             environmentName=self.existing_environment_name,
             preCond=self.existing_precond,
             steps=self.existing_steps,
             postCond=self.existing_postcond)
     ]
     new_usecase = UseCase(ucId=-1,
                           ucName='New usecase',
                           ucAuth='NU',
                           ucCode='New objective',
                           ucActors=['Researcher'],
                           ucDesc='New Author',
                           tags=[],
                           cProps=[])
     new_usecase.theReferenceContributions = [
         UseCaseContributionModel('Security delegated', {
             'theMeansEnd': 'means',
             'theContribution': 'SomePositive'
         })
     ]
     new_usecase.theEnvironmentProperties = new_usecase_props
     new_usecase.theEnvironmentDictionary = {}
     delattr(new_usecase, 'theEnvironmentDictionary')
     return new_usecase