This page is for json schema properties of type "string" who may (or may not) need a regular expression to help define allowed instances.
Page will be organized into json schemas, and will list all "string" type properties, logical rules for defining those properties, if they need a pattern, and a suggested regular expression for the properties that do need a pattern.
Entity.json
name
Logical Rules
- must be a sting
- can be more than one word
- can have letters
- can have symbols
Needs Pattern = no
description
Logical Rules
- must be a string
Needs Pattern = no
id
Logical Rules
- represented as a long
- can only be digits
- must be a size that will fit into a java long
- will never be a negative
Needs Pattern = yes
Suggested Regular Expression = "\\d{1,7}"
uri
Logical Rules
- will be "synapse.sagebase.org/#"
- after the pound will be the type of entity, etc
Needs Pattern = yes
Suggested Regular Expression = "^(http:////synapse.sagebase.org/#).+"
version
Logical Rules
- will be in format 1.0.0
- so numbers, period, numbers, period, numbers
Needs Pattern = yes
Suggested Regular Expression = "\\d{1,2}\\.\\d{1,2}\\.\\d{1,2}"
etag
Logical Rules
- made up of a db long
- default is 0
- can only be digits
- must fit in a java long
- will never be a negative
Needs Pattern = yes
Suggested Regular Expression = "\\d{1,7}"
createdOn
Logical Rules
- in the form of java.util.Date
- string must conform to that structure
- example from project modifiedOn": "2011-12-07T15:01:15.528-08:00",
- example from project"createdOn": "2011-12-07T15:01:15.528-08:00",
Needs Pattern = yes
Suggested Regular Expression = "2\\d{3}\\-[01]\\d{1}\\-[0123]\\d{1}T[012]\\d{1}:\\d{2}:\\d{2}\\.\\d{3}\\-\\d{2}:\\d{2}"
modifiedOn
Logical Rules
- java.util.Date
- string must conform to that structure
- example from project modifiedOn": "2011-12-07T15:01:15.528-08:00",
- example from project"createdOn": "2011-12-07T15:01:15.528-08:00",
Needs Pattern = yes
Suggested Regular Expression = "2\\d{3}\\-[01]\\d{1}\\-[0123]\\d{1}T[012]\\d{1}:\\d{2}:\\d{2}\\.\\d{3}\\-\\d{2}:\\d{2}"
createdBy
Logical Rules
- in the form of an email address
- can also be a single word
- letters and supported email characters only
- no whitespace
- example is admin@sagebase.org
Needs Pattern = yes
Suggested Regular Expression = "\\S+"
modifiedBy
Logical Rules
- in the form of an email address
- can also be a single word
- letters and supported email characters only
- no whitespace
- example is admin@sagebase.org
Needs Pattern = yes
Suggested Regular Expression = "\\S+"
annotations
Logical Rules
- are strings
- can be different number of words
- can contain symbols
Needs Pattern = no
accessControlList
Logical Rules
- example "/project/17496/acl"
- example"/dataset/17497/acl"
- must be a front-slash, supported type, front-slash, id, "acl"
Needs Pattern = yes
Suggested Regular Expression = "/(dataset|layer|location|project|preview|eula|agreement|folder|analysis|step|code)/\\d{1,7}/acl"
parentId
Logical Rules
- represented by a long
- will never be negative
- must be digits only
- must fit into java long
Needs Pattern = yes
Suggested Regular Expression = "\\d{1,7}"
S3Token.json
path
Logical Rules
- should be "https://console.aws.amazon.com/s3/home"
Needs Pattern = yes
Suggested Regular Expression
md5
Logical Rules
- needs to be 32 digits
- needs to be all lowercase a-f and 0-9
- python example ^[a-z0-9]
Unknown macro: {32}$/i
- John's example [0-9a-fA-\F]{32}
Needs Pattern = yes
Suggested Regular Expression
contentType
Logical Rules
Needs Pattern
Suggested Regular Expression
accessId
Logical Rules
- 20 characters
- all numbers and capitol letters (A-Z)
Needs Pattern = yes
Suggested Regular Expression
secretKey
Logical Rules
Needs Pattern
Suggested Regular Expression
securityToken
Logical Rules
Needs Pattern
Suggested Regular Expression
bucket
Logical Rules
Needs Pattern
Suggested Regular Expression
presignedUrl
Logical Rules
Needs Pattern
Suggested Regular Expression