Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h4. 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.

...

Table of Contents



h4. {toc}

h2. 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

Code Block



h5. name

Logical Rules

* must be a sting
* can be more than one word
* can have letters
* can have symbols



Needs Pattern = no



h5. description

Logical Rules
* must be a string

Needs Pattern = no

h5. 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


{code}
Suggested Regular Expression = "\\d{1,7}"
uri

Logical Rules

...


{code}

h5. uri

Logical Rules
* will be "synapse.sagebase.org/#"

...


* after the pound will be the type of entity, etc

...



Needs Pattern = yes

...

Code Block



{code}
Suggested Regular Expression = "^(http:////synapse.sagebase.org/#).+"
version

Logical Rules

...

{code}

h5. version

Logical Rules
* will be in format 1.0.0

...


* so numbers, period, numbers, period, numbers

...



Needs Pattern = yes

...

Code Block



{code}
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

Code Block

{code}

h5. 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


{code}
Suggested Regular Expression = "\\d{1,7}"
createdOn

Logical Rules

...


{code}

h5. 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

...

Code Block



{code}
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


{code}

h5. 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

...

Code Block



{code}
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

Code Block

{code}

h5. 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


{code}
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

Code Block

{code}

h5. 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


{code}
Suggested Regular Expression = "\\S+"
annotations

Logical Rules

  • are strings
  • can be different number of words
  • can contain symbols

Needs Pattern = no

accessControlList

Logical Rules

...


{code}

h5. annotations

Logical Rules
* are strings
* can be different number of words
* can contain symbols

Needs Pattern = no

h5. 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

...

Code Block



{code}
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

Code Block

{code}

h5. parentId

Logical Rules
* represented by a long
* will never be negative
* must be digits only
* must fit into java long

Needs Pattern = yes


{code}
Suggested Regular Expression = "\\d{1,7}"

{code}

h2. S3Token.json

...

path

Logical Rules

...




h5. path

Logical Rules
* should be "https://console.aws.amazon.com/s3/home"

...



Needs Pattern = yes

...



Suggested Regular Expression

...

md5

Logical Rules

Needs Pattern

Suggested Regular Expression

contentType

Logical Rules

Needs Pattern

Suggested Regular Expression

accessId

Logical Rules

Needs Pattern

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

...



h5. md5

Logical Rules
* needs to be 32 digits
* needs to be all lowercase a-f and 0-9
* python example \^\[a-z0-9\]{32}$/i
* John's example \[0-9a-fA-\F\]\{32\}

Needs Pattern = yes


Suggested Regular Expression

h5. contentType

Logical Rules

Needs Pattern

Suggested Regular Expression

h5. accessId

Logical Rules
* 20 characters
* all numbers and capitol letters (A-Z)

Needs Pattern = yes


Suggested Regular Expression

h5. secretKey

Logical Rules

Needs Pattern

Suggested Regular Expression

h5. securityToken

Logical Rules

Needs Pattern

Suggested Regular Expression

h5. bucket

Logical Rules

Needs Pattern

Suggested Regular Expression

h5. presignedUrl

Logical Rules

Needs Pattern

Suggested Regular Expression