Example #1
0
def main(args=None):
    parser = argparse.ArgumentParser(
        description=
        'Computer Aided Integration of Requirements and Information Security - Model Import'
    )
    parser.add_argument('modelFile', help='model file to import')
    parser.add_argument(
        '--type',
        dest='modelFormat',
        help=
        'model type to import.  One of securitypattern, attackpattern, tvtypes, directory, requirements, riskanalysis, usability, project, domainvalues, architecturalpattern, associations, synopses, processes, assets, locations or all'
    )
    parser.add_argument(
        '--overwrite',
        dest='isOverwrite',
        help=
        'Where appropriate, overwrite an existing CAIRIS model with this model'
    )
    parser.add_argument(
        '--image_dir',
        dest='imageDir',
        help=
        'Where appropriate, directory for model images (overwrites default_image_dir value in cairis.cnf)'
    )
    args = parser.parse_args()
    mFormat = args.modelFormat
    importFile = args.modelFile
    overwriteFlag = args.isOverwrite
    import cairis.core.BorgFactory
    from cairis.core.Borg import Borg
    cairis.core.BorgFactory.initialise()
    b = Borg()
    if args.imageDir != None:
        b.imageDir = os.path.abspath(args.imageDir)
    file_import(importFile, mFormat, overwriteFlag)
Example #2
0
def main(args=None):
  
  try:
    parser = argparse.ArgumentParser(description='Computer Aided Integration of Requirements and Information Security - Model Import')
    parser.add_argument('modelFile',help='model file to import')
    parser.add_argument('--type',dest='modelFormat',help='model type to import.  One of securitypattern, attackpattern, tvtypes, directory, requirements, riskanalysis, usability, project, domainvalues, architecturalpattern, associations, synopses, processes, assets, locations or all')
    parser.add_argument('--overwrite',dest='isOverwrite',help='Where appropriate, overwrite an existing CAIRIS model with this model')
    parser.add_argument('--image_dir',dest='imageDir',help='Where appropriate, directory for model images (overwrites default_image_dir value in cairis.cnf)')
    args = parser.parse_args() 
    mFormat = args.modelFormat
    importFile = args.modelFile
    overwriteFlag = args.isOverwrite
    if overwriteFlag == None:
      overwriteFlag = 1

    cairis.core.BorgFactory.initialise()
    b = Borg()

    if args.imageDir != None:
      b.imageDir = os.path.abspath(args.imageDir)
   
    msgStr = ''
    if (mFormat == 'securitypattern'):
      msgStr += importSecurityPatterns(importFile)
    if (mFormat == 'attackpattern'):
      msgStr += importAttackPattern(importFile)
    elif (mFormat == 'tvtypes'):
      msgStr += importTVTypeFile(importFile,int(overwriteFlag))
    elif (mFormat == 'directory'):
      msgStr += importDirectoryFile(importFile,int(overwriteFlag))
    elif (mFormat == 'requirements'):
      msgStr += importRequirementsFile(importFile)
    elif (mFormat == 'riskanalysis'):
      msgStr += importRiskAnalysisFile(importFile)
    elif (mFormat == 'usability'):
      msgStr += importUsabilityFile(importFile)
    elif (mFormat == 'associations'):
      msgStr += importAssociationsFile(importFile)
    elif (mFormat == 'project'):
      msgStr += importProjectFile(importFile)
    elif (mFormat == 'domainvalues'):
      msgStr += importDomainValuesFile(importFile)
    elif (mFormat == 'architecturalpattern'):
      msgStr += importComponentViewFile(importFile)
    elif (mFormat == 'synopses'):
      msgStr += importSynopsesFile(importFile)
    elif (mFormat == 'processes'):
      msgStr += importProcessesFile(importFile)
    elif (mFormat == 'assets'):
      msgStr += importAssetsFile(importFile)
    elif (mFormat == 'locations'):
      msgStr += importLocationsFile(importFile)
    elif (mFormat == 'all'):
      msgStr += importModelFile(importFile,int(overwriteFlag))
    else:
      raise ARMException('Input model type ' + mFormat + ' not recognised')
    print msgStr
  except ARMException, e:
    print 'cimport error: ',e
    exit(-1) 
Example #3
0
def main(args=None):
  parser = argparse.ArgumentParser(description='Computer Aided Integration of Requirements and Information Security - Model Import')
  parser.add_argument('modelFile',help='model file to import')
  parser.add_argument('--user',dest='userName',help='user name', default='cairis_test')
  parser.add_argument('--database',dest='dbName',help='database name',default='cairis_test')
  parser.add_argument('--type',dest='modelFormat',help='model type to import.  One of securitypattern, attackpattern, tvtypes, directory, requirements, riskanalysis, usability, misusability, project, domainvalues, architecturalpattern, associations, synopses, processes, assets, locations, dataflows, package, or all',default='all')
  parser.add_argument('--overwrite',dest='isOverwrite',help='Where appropriate, overwrite an existing CAIRIS model with this model',default=1)
  parser.add_argument('--image_dir',dest='imageDir',help='Where appropriate, directory for model images (overwrites default_image_dir value in cairis.cnf)')
  args = parser.parse_args() 
  mFormat = args.modelFormat
  importFile = args.modelFile
  overwriteFlag = args.isOverwrite

  if (os.access(importFile, os.R_OK)) == False:
    raise ARMException("Cannot access " + importFile)

  import cairis.core.BorgFactory
  from cairis.core.Borg import Borg
  cairis.core.BorgFactory.initialise(user=args.userName,db=args.dbName)
  b = Borg()
  if (mFormat == 'package'):
    pkgStr = open(importFile,'rb').read()
    package_import(pkgStr)
  else:
    if args.imageDir != None:
      b.imageDir = os.path.abspath(args.imageDir)
    file_import(importFile,mFormat,overwriteFlag)
Example #4
0
def main(args=None):
  parser = argparse.ArgumentParser(description='Computer Aided Integration of Requirements and Information Security - Model Import')
  parser.add_argument('modelFile',help='model file to import')
  parser.add_argument('--type',dest='modelFormat',help='model type to import.  One of securitypattern, attackpattern, tvtypes, directory, requirements, riskanalysis, usability, project, domainvalues, architecturalpattern, associations, synopses, processes, assets, locations or all')
  parser.add_argument('--overwrite',dest='isOverwrite',help='Where appropriate, overwrite an existing CAIRIS model with this model')
  parser.add_argument('--image_dir',dest='imageDir',help='Where appropriate, directory for model images (overwrites default_image_dir value in cairis.cnf)')
  args = parser.parse_args() 
  mFormat = args.modelFormat
  importFile = args.modelFile
  overwriteFlag = args.isOverwrite
  import cairis.core.BorgFactory
  from cairis.core.Borg import Borg
  cairis.core.BorgFactory.initialise()
  b = Borg()
  if args.imageDir != None:
    b.imageDir = os.path.abspath(args.imageDir)
  file_import(importFile,mFormat,overwriteFlag)