All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schema.recommendation-assessment-units-summary.schema.json Maven / Gradle / Ivy

{
  "$id": "recommendation-assessment-units-summary.schema.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Recommendation Assessment Units Summary Schema",
  "description": "Created by Huang, Fuguo. Created date: 2019-June-21.",
  "type": "object",
  "properties": {
    "complexity": {
      "$ref": "#/definitions/Complexity"
    },
    "issues": {
      "$ref": "#/definitions/SummaryIssues"
    },
    "effort": {
      "$ref": "#/definitions/Effort"
    }
  },
  "required": [
    "complexity",
    "effort",
    "issues"
  ],
  "definitions" : {
    "Complexity": {
      "type": "object",
      "properties": {
        "complex": {
          "$ref": "#/definitions/ComplexityContribution"
        },
        "simple": {
          "$ref": "#/definitions/ComplexityContribution"
        },
        "moderate": {
          "$ref": "#/definitions/ComplexityContribution"
        },
        "score": {
          "$ref": "schema/recommendation-complexity-contribution.schema.json"
        }
      },
      "required": [
        "score"
      ],
      "title": "Complexity"
    },
    "ComplexityContribution": {
      "type": "object",
      "title": "ComplexityContribution",
      "patternProperties": {
        ".": {
          "type": "integer",
          "minimum": 1
        }
      },
      "propertyNames": {
        "pattern": "^[a-z0-9]+([A-Z0-9]{1}[a-z0-9]*)*"
      }
    },
    "SummaryIssues": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "critical": {
          "type": "integer"
        },
        "potential": {
          "type": "integer"
        },
        "suggested": {
          "type": "integer"
        }
      },
      "propertyNames": {
        "description": "Limited the property names used in the 'issues'",
        "pattern": "^suggested|potential|critical"
      },
      "title": "SummaryIssues"
    },
    "Effort": {
      "title": "Effort",
      "description": "'effort' object must have 'total' property, and additional properties must be in camelCase.",
      "type": "object",
      "properties": {
        "total": {
          "type": "number"
        }
      },
      "patternProperties": {
        ".": {
          "type": "number",
          "minimum": 0
        }
      },
      "propertyNames": {
        "pattern": "^[a-z0-9]+([A-Z0-9]{1}[a-z0-9]*)*"
      },
      "required": [
        "total"
      ]
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy