From 7d456d96e5be0e7becce97e1bc4a73bb87485b97 Mon Sep 17 00:00:00 2001 From: jeromesimeon Date: Tue, 23 Nov 2021 10:20:56 -0500 Subject: [PATCH] fix(metamodel) Changes to classes for file location Signed-off-by: jeromesimeon --- .../concerto-cli/test/models/contract.json | 2 +- .../test/models/contractResolved.json | 2 +- .../test/models/contractResolvedAll.json | 2 +- .../concerto-core/lib/introspect/metamodel.js | 18 +++---- .../concerto-core/lib/introspect/parser.js | 50 +++++++++---------- .../concerto-core/lib/introspect/parser.pegjs | 50 +++++++++---------- .../concerto-core/test/data/model/car.json | 2 +- .../test/data/model/carResolved.json | 2 +- .../concerto-core/test/data/model/person.json | 2 +- .../test/data/model/personResolved.json | 2 +- 10 files changed, 66 insertions(+), 66 deletions(-) diff --git a/packages/concerto-cli/test/models/contract.json b/packages/concerto-cli/test/models/contract.json index 2dd3c886c7..586f8effc2 100644 --- a/packages/concerto-cli/test/models/contract.json +++ b/packages/concerto-cli/test/models/contract.json @@ -1 +1 @@ -{"$class":"concerto.metamodel.Model","namespace":"org.accordproject.cicero.contract","imports":[],"declarations":[{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContractState","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"stateId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":809,"line":24,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":826,"line":25,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":757,"line":23,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":827,"line":25,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"stateId"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"AccordParty","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"partyId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":907,"line":29,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":924,"line":30,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":857,"line":28,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":925,"line":30,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"partyId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContract","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"contractId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1049,"line":34,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"parties","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"AccordParty"},"isArray":true,"isOptional":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1106,"line":36,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":990,"line":33,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1107,"line":36,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"contractId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordClause","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"clauseId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1224,"line":40,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1242,"line":41,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":1169,"line":39,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1243,"line":41,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"clauseId"}}]} \ No newline at end of file +{"$class":"concerto.metamodel.Model","namespace":"org.accordproject.cicero.contract","imports":[],"declarations":[{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContractState","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"stateId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":809,"line":24,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":826,"line":25,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":757,"line":23,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":827,"line":25,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"stateId"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"AccordParty","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"partyId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":907,"line":29,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":924,"line":30,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":857,"line":28,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":925,"line":30,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"partyId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContract","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"contractId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1049,"line":34,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"parties","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"AccordParty"},"isArray":true,"isOptional":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1106,"line":36,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":990,"line":33,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1107,"line":36,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"contractId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordClause","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"clauseId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1224,"line":40,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1242,"line":41,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":1169,"line":39,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1243,"line":41,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"clauseId"}}]} \ No newline at end of file diff --git a/packages/concerto-cli/test/models/contractResolved.json b/packages/concerto-cli/test/models/contractResolved.json index f86323233a..08651d0682 100644 --- a/packages/concerto-cli/test/models/contractResolved.json +++ b/packages/concerto-cli/test/models/contractResolved.json @@ -1 +1 @@ -{"$class":"concerto.metamodel.Model","namespace":"org.accordproject.cicero.contract","imports":[],"declarations":[{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContractState","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"stateId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":809,"line":24,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":826,"line":25,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":757,"line":23,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":827,"line":25,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"stateId"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"AccordParty","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"partyId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":907,"line":29,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":924,"line":30,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":857,"line":28,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":925,"line":30,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"partyId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContract","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"contractId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1049,"line":34,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"parties","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"AccordParty","namespace":"org.accordproject.cicero.contract"},"isArray":true,"isOptional":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1106,"line":36,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":990,"line":33,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1107,"line":36,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"contractId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordClause","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"clauseId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1224,"line":40,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1242,"line":41,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":1169,"line":39,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1243,"line":41,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"clauseId"}}]} \ No newline at end of file +{"$class":"concerto.metamodel.Model","namespace":"org.accordproject.cicero.contract","imports":[],"declarations":[{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContractState","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"stateId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":809,"line":24,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":826,"line":25,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":757,"line":23,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":827,"line":25,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"stateId"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"AccordParty","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"partyId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":907,"line":29,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":924,"line":30,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":857,"line":28,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":925,"line":30,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"partyId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContract","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"contractId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1049,"line":34,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"parties","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"AccordParty","namespace":"org.accordproject.cicero.contract"},"isArray":true,"isOptional":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1106,"line":36,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":990,"line":33,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1107,"line":36,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"contractId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordClause","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"clauseId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1224,"line":40,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1242,"line":41,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":1169,"line":39,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1243,"line":41,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"clauseId"}}]} \ No newline at end of file diff --git a/packages/concerto-cli/test/models/contractResolvedAll.json b/packages/concerto-cli/test/models/contractResolvedAll.json index c2d70260f1..b1475a7dc7 100644 --- a/packages/concerto-cli/test/models/contractResolvedAll.json +++ b/packages/concerto-cli/test/models/contractResolvedAll.json @@ -1 +1 @@ -{"$class":"concerto.metamodel.Models","models":[{"$class":"concerto.metamodel.Model","namespace":"org.accordproject.cicero.contract","imports":[],"declarations":[{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContractState","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"stateId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":809,"line":24,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":826,"line":25,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":757,"line":23,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":827,"line":25,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"stateId"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"AccordParty","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"partyId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":907,"line":29,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":924,"line":30,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":857,"line":28,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":925,"line":30,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"partyId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContract","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"contractId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1049,"line":34,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"parties","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"AccordParty","namespace":"org.accordproject.cicero.contract"},"isArray":true,"isOptional":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1106,"line":36,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":990,"line":33,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1107,"line":36,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"contractId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordClause","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"clauseId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1224,"line":40,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1242,"line":41,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":1169,"line":39,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1243,"line":41,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"clauseId"}}]}]} \ No newline at end of file +{"$class":"concerto.metamodel.Models","models":[{"$class":"concerto.metamodel.Model","namespace":"org.accordproject.cicero.contract","imports":[],"declarations":[{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContractState","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"stateId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":809,"line":24,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":826,"line":25,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":757,"line":23,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":827,"line":25,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"stateId"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"AccordParty","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"partyId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":907,"line":29,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":924,"line":30,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":857,"line":28,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":925,"line":30,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"partyId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordContract","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"contractId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1049,"line":34,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"parties","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"AccordParty","namespace":"org.accordproject.cicero.contract"},"isArray":true,"isOptional":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1071,"line":35,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1106,"line":36,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":990,"line":33,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1107,"line":36,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"contractId"}},{"$class":"concerto.metamodel.AssetDeclaration","name":"AccordClause","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"clauseId","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1224,"line":40,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1242,"line":41,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":1169,"line":39,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1243,"line":41,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"clauseId"}}]}]} \ No newline at end of file diff --git a/packages/concerto-core/lib/introspect/metamodel.js b/packages/concerto-core/lib/introspect/metamodel.js index 53343057c0..457296a560 100644 --- a/packages/concerto-core/lib/introspect/metamodel.js +++ b/packages/concerto-core/lib/introspect/metamodel.js @@ -29,15 +29,15 @@ class MetaModel { */ static metaModelCto = `namespace concerto.metamodel -concept LocationPoint { +concept Position { o Integer line o Integer column o Integer offset } -concept Location { - o LocationPoint start - o LocationPoint end +concept Range { + o Position start + o Position end o String source optional } @@ -47,7 +47,7 @@ concept TypeIdentifier { } abstract concept DecoratorLiteral { - o Location location optional + o Range location optional } concept DecoratorString extends DecoratorLiteral { @@ -70,7 +70,7 @@ concept DecoratorTypeReference extends DecoratorLiteral { concept Decorator { o String name o DecoratorLiteral[] arguments optional - o Location location optional + o Range location optional } concept Identified { @@ -83,7 +83,7 @@ concept IdentifiedBy extends Identified { abstract concept Declaration { o String name regex=/^(?!null|true|false)(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u o Decorator[] decorators optional - o Location location optional + o Range location optional } concept EnumDeclaration extends Declaration { @@ -93,7 +93,7 @@ concept EnumDeclaration extends Declaration { concept EnumProperty { o String name regex=/^(?!null|true|false)(\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4})(?:\\p{Lu}|\\p{Ll}|\\p{Lt}|\\p{Lm}|\\p{Lo}|\\p{Nl}|\\$|_|\\\\u[0-9A-Fa-f]{4}|\\p{Mn}|\\p{Mc}|\\p{Nd}|\\p{Pc}|\\u200C|\\u200D)*$/u o Decorator[] decorators optional - o Location location optional + o Range location optional } concept ConceptDeclaration extends Declaration { @@ -120,7 +120,7 @@ abstract concept Property { o Boolean isArray default=false o Boolean isOptional default=false o Decorator[] decorators optional - o Location location optional + o Range location optional } concept RelationshipProperty extends Property { diff --git a/packages/concerto-core/lib/introspect/parser.js b/packages/concerto-core/lib/introspect/parser.js index 9ec5e59110..660d849704 100644 --- a/packages/concerto-core/lib/introspect/parser.js +++ b/packages/concerto-core/lib/introspect/parser.js @@ -514,21 +514,21 @@ function peg$parse(input, options) { return { $class: "concerto.metamodel.DecoratorString", value: s.value, - location: buildLocation(location()) + location: buildRange(location()) } }; var peg$f33 = function(n) { return { $class: "concerto.metamodel.DecoratorNumber", value: +n, - location: buildLocation(location()) + location: buildRange(location()) } }; var peg$f34 = function(b) { return { $class: "concerto.metamodel.DecoratorBoolean", value: (b == "true"), - location: buildLocation(location()) + location: buildRange(location()) } }; var peg$f35 = function(value, array) { @@ -536,7 +536,7 @@ function peg$parse(input, options) { $class: "concerto.metamodel.DecoratorTypeReference", type: value, isArray: !!array, - location: buildLocation(location()) + location: buildRange(location()) } }; var peg$f36 = function(d) {return d;}; @@ -551,7 +551,7 @@ function peg$parse(input, options) { const result = { $class: "concerto.metamodel.Decorator", name: name, - location: buildLocation(location()) + location: buildRange(location()) }; if (decoratorArgs) { result.arguments = decoratorArgs; @@ -570,7 +570,7 @@ function peg$parse(input, options) { name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -589,7 +589,7 @@ function peg$parse(input, options) { name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -608,7 +608,7 @@ function peg$parse(input, options) { name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -627,7 +627,7 @@ function peg$parse(input, options) { name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -646,7 +646,7 @@ function peg$parse(input, options) { name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -677,7 +677,7 @@ function peg$parse(input, options) { return { type: "ClassDeclarationBody", declarations: optionalList(decls), - location: buildLocation(location()) + location: buildRange(location()) }; }; var peg$f50 = function(decorators, propertyType, array, id, d, optional) { @@ -687,7 +687,7 @@ function peg$parse(input, options) { type: propertyType, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = d; @@ -703,7 +703,7 @@ function peg$parse(input, options) { name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = (d === 'true' ? true : false); @@ -719,7 +719,7 @@ function peg$parse(input, options) { name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = d; @@ -735,7 +735,7 @@ function peg$parse(input, options) { name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = d; @@ -793,7 +793,7 @@ function peg$parse(input, options) { name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = parseFloat(d); @@ -812,7 +812,7 @@ function peg$parse(input, options) { name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = parseInt(d); @@ -831,7 +831,7 @@ function peg$parse(input, options) { name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) } if (d) { result.defaultValue = parseInt(d); @@ -849,7 +849,7 @@ function peg$parse(input, options) { $class: "concerto.metamodel.EnumDeclaration", name: id.name, properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (decorators.length > 0) { result.decorators = decorators; @@ -866,7 +866,7 @@ function peg$parse(input, options) { const result = { $class: "concerto.metamodel.EnumProperty", name: id.name, - location: buildLocation(location()) + location: buildRange(location()) }; if (decorators.length > 0) { result.decorators = decorators; @@ -880,7 +880,7 @@ function peg$parse(input, options) { type: propertyType, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (decorators.length > 0) { result.decorators = decorators; @@ -9426,13 +9426,13 @@ function peg$parse(input, options) { return value ? true : false; } - function buildLocation(value) { + function buildRange(value) { const start = value.start; const end = value.end; - start.$class = 'concerto.metamodel.LocationPoint'; - end.$class = 'concerto.metamodel.LocationPoint'; + start.$class = 'concerto.metamodel.Position'; + end.$class = 'concerto.metamodel.Position'; const result = { - $class: 'concerto.metamodel.Location', + $class: 'concerto.metamodel.Range', start: start, end: end, }; diff --git a/packages/concerto-core/lib/introspect/parser.pegjs b/packages/concerto-core/lib/introspect/parser.pegjs index fef7638df2..4c543f14af 100644 --- a/packages/concerto-core/lib/introspect/parser.pegjs +++ b/packages/concerto-core/lib/introspect/parser.pegjs @@ -68,13 +68,13 @@ return value ? true : false; } - function buildLocation(value) { + function buildRange(value) { const start = value.start; const end = value.end; - start.$class = 'concerto.metamodel.LocationPoint'; - end.$class = 'concerto.metamodel.LocationPoint'; + start.$class = 'concerto.metamodel.Position'; + end.$class = 'concerto.metamodel.Position'; const result = { - $class: 'concerto.metamodel.Location', + $class: 'concerto.metamodel.Range', start: start, end: end, }; @@ -814,7 +814,7 @@ DecoratorString = return { $class: "concerto.metamodel.DecoratorString", value: s.value, - location: buildLocation(location()) + location: buildRange(location()) } } @@ -823,7 +823,7 @@ DecoratorNumber = return { $class: "concerto.metamodel.DecoratorNumber", value: +n, - location: buildLocation(location()) + location: buildRange(location()) } } @@ -832,7 +832,7 @@ DecoratorBoolean = return { $class: "concerto.metamodel.DecoratorBoolean", value: (b == "true"), - location: buildLocation(location()) + location: buildRange(location()) } } @@ -842,7 +842,7 @@ DecoratorIdentifier = $class: "concerto.metamodel.DecoratorTypeReference", type: value, isArray: !!array, - location: buildLocation(location()) + location: buildRange(location()) } } @@ -867,7 +867,7 @@ Decorator const result = { $class: "concerto.metamodel.Decorator", name: name, - location: buildLocation(location()) + location: buildRange(location()) }; if (decoratorArgs) { result.arguments = decoratorArgs; @@ -896,7 +896,7 @@ AssetDeclaration name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -919,7 +919,7 @@ ParticipantDeclaration name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -942,7 +942,7 @@ TransactionDeclaration name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -965,7 +965,7 @@ EventDeclaration name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -988,7 +988,7 @@ ConceptDeclaration name: id.name, isAbstract: buildBoolean(abstract), properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (classExtension) { result.superType = classExtension; @@ -1044,7 +1044,7 @@ ClassDeclarationBody return { type: "ClassDeclarationBody", declarations: optionalList(decls), - location: buildLocation(location()) + location: buildRange(location()) }; } @@ -1056,7 +1056,7 @@ ObjectFieldDeclaration type: propertyType, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = d; @@ -1074,7 +1074,7 @@ BooleanFieldDeclaration name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = (d === 'true' ? true : false); @@ -1092,7 +1092,7 @@ DateTimeFieldDeclaration name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = d; @@ -1110,7 +1110,7 @@ StringFieldDeclaration name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = d; @@ -1178,7 +1178,7 @@ RealFieldDeclaration name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = parseFloat(d); @@ -1199,7 +1199,7 @@ IntegerFieldDeclaration name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (d) { result.defaultValue = parseInt(d); @@ -1220,7 +1220,7 @@ LongFieldDeclaration name: id.name, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) } if (d) { result.defaultValue = parseInt(d); @@ -1242,7 +1242,7 @@ EnumDeclaration $class: "concerto.metamodel.EnumDeclaration", name: id.name, properties: body.declarations, - location: buildLocation(location()) + location: buildRange(location()) }; if (decorators.length > 0) { result.decorators = decorators; @@ -1263,7 +1263,7 @@ EnumPropertyDeclaration const result = { $class: "concerto.metamodel.EnumProperty", name: id.name, - location: buildLocation(location()) + location: buildRange(location()) }; if (decorators.length > 0) { result.decorators = decorators; @@ -1279,7 +1279,7 @@ RelationshipDeclaration type: propertyType, isArray: buildBoolean(array), isOptional: buildBoolean(optional), - location: buildLocation(location()) + location: buildRange(location()) }; if (decorators.length > 0) { result.decorators = decorators; diff --git a/packages/concerto-core/test/data/model/car.json b/packages/concerto-core/test/data/model/car.json index 0438386407..4742dbc56c 100644 --- a/packages/concerto-core/test/data/model/car.json +++ b/packages/concerto-core/test/data/model/car.json @@ -1 +1 @@ -{"$class":"concerto.metamodel.Models","models":[{"$class":"concerto.metamodel.Model","namespace":"org.vehicle","imports":[],"declarations":[{"$class":"concerto.metamodel.ConceptDeclaration","name":"Manufactured","isAbstract":true,"properties":[],"location":{"$class":"concerto.metamodel.Location","start":{"offset":23,"line":3,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":56,"line":4,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"Vehicle","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"name","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":108,"line":7,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":124,"line":8,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DoubleProperty","name":"range","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":124,"line":8,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":139,"line":9,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":58,"line":6,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":140,"line":9,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Manufactured"}}]},{"$class":"concerto.metamodel.Model","namespace":"org.car","imports":[{"$class":"concerto.metamodel.ImportAll","namespace":"org.vehicle"}],"declarations":[{"$class":"concerto.metamodel.ConceptDeclaration","name":"Car","isAbstract":false,"properties":[{"$class":"concerto.metamodel.DoubleProperty","name":"mileage","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":73,"line":6,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":90,"line":7,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":41,"line":5,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":91,"line":7,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Vehicle"}}]}]} \ No newline at end of file +{"$class":"concerto.metamodel.Models","models":[{"$class":"concerto.metamodel.Model","namespace":"org.vehicle","imports":[],"declarations":[{"$class":"concerto.metamodel.ConceptDeclaration","name":"Manufactured","isAbstract":true,"properties":[],"location":{"$class":"concerto.metamodel.Range","start":{"offset":23,"line":3,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":56,"line":4,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"Vehicle","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"name","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":108,"line":7,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":124,"line":8,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DoubleProperty","name":"range","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":124,"line":8,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":139,"line":9,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":58,"line":6,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":140,"line":9,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Manufactured"}}]},{"$class":"concerto.metamodel.Model","namespace":"org.car","imports":[{"$class":"concerto.metamodel.ImportAll","namespace":"org.vehicle"}],"declarations":[{"$class":"concerto.metamodel.ConceptDeclaration","name":"Car","isAbstract":false,"properties":[{"$class":"concerto.metamodel.DoubleProperty","name":"mileage","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":73,"line":6,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":90,"line":7,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":41,"line":5,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":91,"line":7,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Vehicle"}}]}]} \ No newline at end of file diff --git a/packages/concerto-core/test/data/model/carResolved.json b/packages/concerto-core/test/data/model/carResolved.json index 96e6f51a2e..a7e8ca16f0 100644 --- a/packages/concerto-core/test/data/model/carResolved.json +++ b/packages/concerto-core/test/data/model/carResolved.json @@ -1 +1 @@ -{"$class":"concerto.metamodel.Models","models":[{"$class":"concerto.metamodel.Model","namespace":"org.vehicle","imports":[],"declarations":[{"$class":"concerto.metamodel.ConceptDeclaration","name":"Manufactured","isAbstract":true,"properties":[],"location":{"$class":"concerto.metamodel.Location","start":{"offset":23,"line":3,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":56,"line":4,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"Vehicle","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"name","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":108,"line":7,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":124,"line":8,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DoubleProperty","name":"range","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":124,"line":8,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":139,"line":9,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":58,"line":6,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":140,"line":9,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Manufactured","namespace":"org.vehicle"}}]},{"$class":"concerto.metamodel.Model","namespace":"org.car","imports":[{"$class":"concerto.metamodel.ImportAll","namespace":"org.vehicle"}],"declarations":[{"$class":"concerto.metamodel.ConceptDeclaration","name":"Car","isAbstract":false,"properties":[{"$class":"concerto.metamodel.DoubleProperty","name":"mileage","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":73,"line":6,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":90,"line":7,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":41,"line":5,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":91,"line":7,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Vehicle","namespace":"org.vehicle"}}]}]} \ No newline at end of file +{"$class":"concerto.metamodel.Models","models":[{"$class":"concerto.metamodel.Model","namespace":"org.vehicle","imports":[],"declarations":[{"$class":"concerto.metamodel.ConceptDeclaration","name":"Manufactured","isAbstract":true,"properties":[],"location":{"$class":"concerto.metamodel.Range","start":{"offset":23,"line":3,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":56,"line":4,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"Vehicle","isAbstract":true,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"name","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":108,"line":7,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":124,"line":8,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DoubleProperty","name":"range","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":124,"line":8,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":139,"line":9,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":58,"line":6,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":140,"line":9,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Manufactured","namespace":"org.vehicle"}}]},{"$class":"concerto.metamodel.Model","namespace":"org.car","imports":[{"$class":"concerto.metamodel.ImportAll","namespace":"org.vehicle"}],"declarations":[{"$class":"concerto.metamodel.ConceptDeclaration","name":"Car","isAbstract":false,"properties":[{"$class":"concerto.metamodel.DoubleProperty","name":"mileage","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":73,"line":6,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":90,"line":7,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":41,"line":5,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":91,"line":7,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Vehicle","namespace":"org.vehicle"}}]}]} \ No newline at end of file diff --git a/packages/concerto-core/test/data/model/person.json b/packages/concerto-core/test/data/model/person.json index 99315a186c..b7ebf1459f 100644 --- a/packages/concerto-core/test/data/model/person.json +++ b/packages/concerto-core/test/data/model/person.json @@ -1 +1 @@ -{"$class":"concerto.metamodel.Model","namespace":"test.person","imports":[{"$class":"concerto.metamodel.ImportAll","namespace":"org.accordproject.time","uri":"https://models.accordproject.org/time@0.2.0.cto"},{"$class":"concerto.metamodel.ImportType","name":"TemporalUnit","namespace":"org.accordproject.time","uri":"https://models.accordproject.org/time@0.2.0.cto"}],"declarations":[{"$class":"concerto.metamodel.EnumDeclaration","name":"Gender","properties":[{"$class":"concerto.metamodel.EnumProperty","name":"MALE","location":{"$class":"concerto.metamodel.Location","start":{"offset":221,"line":7,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":230,"line":8,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.EnumProperty","name":"FEMALE","location":{"$class":"concerto.metamodel.Location","start":{"offset":230,"line":8,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":241,"line":9,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.EnumProperty","name":"OTHER","location":{"$class":"concerto.metamodel.Location","start":{"offset":241,"line":9,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":249,"line":10,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":205,"line":6,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":250,"line":10,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Individual","isAbstract":true,"properties":[],"location":{"$class":"concerto.metamodel.Location","start":{"offset":252,"line":12,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":287,"line":13,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Person","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"firstName","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":331,"line":16,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":371,"line":17,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.StringRegexValidator","pattern":"[a-zA-Z]*","flags":"u"}},{"$class":"concerto.metamodel.StringProperty","name":"lastName","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":371,"line":17,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":391,"line":18,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"address","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":391,"line":18,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":411,"line":19,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"address2","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":411,"line":19,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":452,"line":20,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":"USAddress"},{"$class":"concerto.metamodel.RelationshipProperty","name":"address3","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":452,"line":20,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":475,"line":21,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"address4","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":true,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":475,"line":21,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":500,"line":22,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"address5","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":false,"isOptional":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":500,"line":22,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":532,"line":23,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"gender","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Gender"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":532,"line":23,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":550,"line":24,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DateTimeProperty","name":"dob","isArray":false,"isOptional":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":550,"line":24,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":574,"line":25,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":289,"line":15,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":575,"line":25,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Individual"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Employee","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"company","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":617,"line":28,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":636,"line":29,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.BooleanProperty","name":"onLeave","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":636,"line":29,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":654,"line":30,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":577,"line":27,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":655,"line":30,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Person"}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"Address","isAbstract":false,"properties":[{"$class":"concerto.metamodel.IntegerProperty","name":"zip","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":688,"line":33,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":718,"line":34,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":10001},{"$class":"concerto.metamodel.LongProperty","name":"zip2","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":718,"line":34,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":746,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":10001},{"$class":"concerto.metamodel.DoubleProperty","name":"zip3","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":746,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":778,"line":36,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":10001},{"$class":"concerto.metamodel.StringProperty","name":"city","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":778,"line":36,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":808,"line":37,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":"NYC"},{"$class":"concerto.metamodel.StringProperty","name":"country","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":808,"line":37,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":841,"line":38,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":"USA"},{"$class":"concerto.metamodel.StringProperty","name":"street","isArray":true,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":841,"line":38,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":861,"line":39,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.BooleanProperty","name":"isResidential","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":861,"line":39,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":900,"line":40,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":true},{"$class":"concerto.metamodel.BooleanProperty","name":"isPrivate","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":900,"line":40,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":934,"line":41,"column":1,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":false}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":657,"line":32,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":935,"line":41,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.Identified"}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"USAddress","isAbstract":false,"properties":[{"$class":"concerto.metamodel.IntegerProperty","name":"zip4","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1054,"line":47,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1139,"line":51,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"decorators":[{"$class":"concerto.metamodel.Decorator","name":"Zip","location":{"$class":"concerto.metamodel.Location","start":{"offset":1054,"line":47,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1084,"line":47,"column":33,"$class":"concerto.metamodel.LocationPoint"}},"arguments":[{"$class":"concerto.metamodel.DecoratorString","value":"x","location":{"$class":"concerto.metamodel.Location","start":{"offset":1059,"line":47,"column":8,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1062,"line":47,"column":11,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorNumber","value":1,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1063,"line":47,"column":12,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1064,"line":47,"column":13,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"y","location":{"$class":"concerto.metamodel.Location","start":{"offset":1065,"line":47,"column":14,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1068,"line":47,"column":17,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"foo","location":{"$class":"concerto.metamodel.Location","start":{"offset":1069,"line":47,"column":18,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1074,"line":47,"column":23,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"z","location":{"$class":"concerto.metamodel.Location","start":{"offset":1075,"line":47,"column":24,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1078,"line":47,"column":27,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorBoolean","value":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1079,"line":47,"column":28,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1083,"line":47,"column":32,"$class":"concerto.metamodel.LocationPoint"}}}]},{"$class":"concerto.metamodel.Decorator","name":"Zip2","location":{"$class":"concerto.metamodel.Location","start":{"offset":1087,"line":48,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1094,"line":48,"column":10,"$class":"concerto.metamodel.LocationPoint"}},"arguments":[]},{"$class":"concerto.metamodel.Decorator","name":"Zip3","location":{"$class":"concerto.metamodel.Location","start":{"offset":1097,"line":49,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1102,"line":49,"column":8,"$class":"concerto.metamodel.LocationPoint"}}}],"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","lower":-365,"upper":365}},{"$class":"concerto.metamodel.IntegerProperty","name":"zip41","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1139,"line":51,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1170,"line":52,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","upper":365}},{"$class":"concerto.metamodel.IntegerProperty","name":"zip42","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1170,"line":52,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1202,"line":53,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","lower":-365}},{"$class":"concerto.metamodel.LongProperty","name":"zip5","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1202,"line":53,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1233,"line":54,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","lower":-365,"upper":365}},{"$class":"concerto.metamodel.LongProperty","name":"zip51","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1233,"line":54,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1261,"line":55,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","upper":365}},{"$class":"concerto.metamodel.LongProperty","name":"zip52","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1261,"line":55,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1290,"line":56,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","lower":-365}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip6","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1290,"line":56,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1325,"line":57,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","lower":-3.14,"upper":3.14}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip61","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1325,"line":57,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1357,"line":58,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","lower":-3.14}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip62","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1357,"line":58,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1386,"line":59,"column":1,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","upper":3.14}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":937,"line":43,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1387,"line":59,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"decorators":[{"$class":"concerto.metamodel.Decorator","name":"Address","location":{"$class":"concerto.metamodel.Location","start":{"offset":937,"line":43,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":993,"line":43,"column":57,"$class":"concerto.metamodel.LocationPoint"}},"arguments":[{"$class":"concerto.metamodel.DecoratorString","value":"x","location":{"$class":"concerto.metamodel.Location","start":{"offset":946,"line":43,"column":10,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":949,"line":43,"column":13,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorNumber","value":1,"location":{"$class":"concerto.metamodel.Location","start":{"offset":950,"line":43,"column":14,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":951,"line":43,"column":15,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"y","location":{"$class":"concerto.metamodel.Location","start":{"offset":952,"line":43,"column":16,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":955,"line":43,"column":19,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"foo","location":{"$class":"concerto.metamodel.Location","start":{"offset":956,"line":43,"column":20,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":961,"line":43,"column":25,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"z","location":{"$class":"concerto.metamodel.Location","start":{"offset":962,"line":43,"column":26,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":965,"line":43,"column":29,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorBoolean","value":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":966,"line":43,"column":30,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":970,"line":43,"column":34,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorTypeReference","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Gender"},"isArray":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":971,"line":43,"column":35,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":977,"line":43,"column":41,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorTypeReference","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"TemporalUnit"},"isArray":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":978,"line":43,"column":42,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":992,"line":43,"column":56,"$class":"concerto.metamodel.LocationPoint"}}}]},{"$class":"concerto.metamodel.Decorator","name":"Address2","location":{"$class":"concerto.metamodel.Location","start":{"offset":994,"line":44,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1005,"line":44,"column":12,"$class":"concerto.metamodel.LocationPoint"}},"arguments":[]},{"$class":"concerto.metamodel.Decorator","name":"Address3","location":{"$class":"concerto.metamodel.Location","start":{"offset":1006,"line":45,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1015,"line":45,"column":10,"$class":"concerto.metamodel.LocationPoint"}}}]},{"$class":"concerto.metamodel.AssetDeclaration","name":"A","isAbstract":false,"properties":[],"location":{"$class":"concerto.metamodel.Location","start":{"offset":1389,"line":61,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1400,"line":62,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.EventDeclaration","name":"E","isAbstract":false,"properties":[],"location":{"$class":"concerto.metamodel.Location","start":{"offset":1402,"line":64,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1413,"line":65,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.TransactionDeclaration","name":"T","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"id","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1450,"line":68,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1464,"line":69,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"tu","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"TemporalUnit"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1464,"line":69,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1484,"line":70,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"month","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Month"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1484,"line":70,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1500,"line":71,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"p","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Participant"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1500,"line":71,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1516,"line":72,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":1415,"line":67,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1517,"line":72,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"id"}}]} \ No newline at end of file +{"$class":"concerto.metamodel.Model","namespace":"test.person","imports":[{"$class":"concerto.metamodel.ImportAll","namespace":"org.accordproject.time","uri":"https://models.accordproject.org/time@0.2.0.cto"},{"$class":"concerto.metamodel.ImportType","name":"TemporalUnit","namespace":"org.accordproject.time","uri":"https://models.accordproject.org/time@0.2.0.cto"}],"declarations":[{"$class":"concerto.metamodel.EnumDeclaration","name":"Gender","properties":[{"$class":"concerto.metamodel.EnumProperty","name":"MALE","location":{"$class":"concerto.metamodel.Range","start":{"offset":221,"line":7,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":230,"line":8,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.EnumProperty","name":"FEMALE","location":{"$class":"concerto.metamodel.Range","start":{"offset":230,"line":8,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":241,"line":9,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.EnumProperty","name":"OTHER","location":{"$class":"concerto.metamodel.Range","start":{"offset":241,"line":9,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":249,"line":10,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":205,"line":6,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":250,"line":10,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Individual","isAbstract":true,"properties":[],"location":{"$class":"concerto.metamodel.Range","start":{"offset":252,"line":12,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":287,"line":13,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Person","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"firstName","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":331,"line":16,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":371,"line":17,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.StringRegexValidator","pattern":"[a-zA-Z]*","flags":"u"}},{"$class":"concerto.metamodel.StringProperty","name":"lastName","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":371,"line":17,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":391,"line":18,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"address","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":391,"line":18,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":411,"line":19,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"address2","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":411,"line":19,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":452,"line":20,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":"USAddress"},{"$class":"concerto.metamodel.RelationshipProperty","name":"address3","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":452,"line":20,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":475,"line":21,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"address4","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":true,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":475,"line":21,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":500,"line":22,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"address5","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"isArray":false,"isOptional":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":500,"line":22,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":532,"line":23,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"gender","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Gender"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":532,"line":23,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":550,"line":24,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DateTimeProperty","name":"dob","isArray":false,"isOptional":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":550,"line":24,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":574,"line":25,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":289,"line":15,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":575,"line":25,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Individual"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Employee","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"company","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":617,"line":28,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":636,"line":29,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.BooleanProperty","name":"onLeave","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":636,"line":29,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":654,"line":30,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":577,"line":27,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":655,"line":30,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Person"}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"Address","isAbstract":false,"properties":[{"$class":"concerto.metamodel.IntegerProperty","name":"zip","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":688,"line":33,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":718,"line":34,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":10001},{"$class":"concerto.metamodel.LongProperty","name":"zip2","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":718,"line":34,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":746,"line":35,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":10001},{"$class":"concerto.metamodel.DoubleProperty","name":"zip3","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":746,"line":35,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":778,"line":36,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":10001},{"$class":"concerto.metamodel.StringProperty","name":"city","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":778,"line":36,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":808,"line":37,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":"NYC"},{"$class":"concerto.metamodel.StringProperty","name":"country","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":808,"line":37,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":841,"line":38,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":"USA"},{"$class":"concerto.metamodel.StringProperty","name":"street","isArray":true,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":841,"line":38,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":861,"line":39,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.BooleanProperty","name":"isResidential","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":861,"line":39,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":900,"line":40,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":true},{"$class":"concerto.metamodel.BooleanProperty","name":"isPrivate","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":900,"line":40,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":934,"line":41,"column":1,"$class":"concerto.metamodel.Position"}},"defaultValue":false}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":657,"line":32,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":935,"line":41,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.Identified"}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"USAddress","isAbstract":false,"properties":[{"$class":"concerto.metamodel.IntegerProperty","name":"zip4","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1054,"line":47,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1139,"line":51,"column":3,"$class":"concerto.metamodel.Position"}},"decorators":[{"$class":"concerto.metamodel.Decorator","name":"Zip","location":{"$class":"concerto.metamodel.Range","start":{"offset":1054,"line":47,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1084,"line":47,"column":33,"$class":"concerto.metamodel.Position"}},"arguments":[{"$class":"concerto.metamodel.DecoratorString","value":"x","location":{"$class":"concerto.metamodel.Range","start":{"offset":1059,"line":47,"column":8,"$class":"concerto.metamodel.Position"},"end":{"offset":1062,"line":47,"column":11,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorNumber","value":1,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1063,"line":47,"column":12,"$class":"concerto.metamodel.Position"},"end":{"offset":1064,"line":47,"column":13,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"y","location":{"$class":"concerto.metamodel.Range","start":{"offset":1065,"line":47,"column":14,"$class":"concerto.metamodel.Position"},"end":{"offset":1068,"line":47,"column":17,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"foo","location":{"$class":"concerto.metamodel.Range","start":{"offset":1069,"line":47,"column":18,"$class":"concerto.metamodel.Position"},"end":{"offset":1074,"line":47,"column":23,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"z","location":{"$class":"concerto.metamodel.Range","start":{"offset":1075,"line":47,"column":24,"$class":"concerto.metamodel.Position"},"end":{"offset":1078,"line":47,"column":27,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorBoolean","value":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1079,"line":47,"column":28,"$class":"concerto.metamodel.Position"},"end":{"offset":1083,"line":47,"column":32,"$class":"concerto.metamodel.Position"}}}]},{"$class":"concerto.metamodel.Decorator","name":"Zip2","location":{"$class":"concerto.metamodel.Range","start":{"offset":1087,"line":48,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1094,"line":48,"column":10,"$class":"concerto.metamodel.Position"}},"arguments":[]},{"$class":"concerto.metamodel.Decorator","name":"Zip3","location":{"$class":"concerto.metamodel.Range","start":{"offset":1097,"line":49,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1102,"line":49,"column":8,"$class":"concerto.metamodel.Position"}}}],"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","lower":-365,"upper":365}},{"$class":"concerto.metamodel.IntegerProperty","name":"zip41","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1139,"line":51,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1170,"line":52,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","upper":365}},{"$class":"concerto.metamodel.IntegerProperty","name":"zip42","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1170,"line":52,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1202,"line":53,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","lower":-365}},{"$class":"concerto.metamodel.LongProperty","name":"zip5","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1202,"line":53,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1233,"line":54,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","lower":-365,"upper":365}},{"$class":"concerto.metamodel.LongProperty","name":"zip51","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1233,"line":54,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1261,"line":55,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","upper":365}},{"$class":"concerto.metamodel.LongProperty","name":"zip52","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1261,"line":55,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1290,"line":56,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","lower":-365}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip6","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1290,"line":56,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1325,"line":57,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","lower":-3.14,"upper":3.14}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip61","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1325,"line":57,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1357,"line":58,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","lower":-3.14}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip62","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1357,"line":58,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1386,"line":59,"column":1,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","upper":3.14}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":937,"line":43,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1387,"line":59,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address"},"decorators":[{"$class":"concerto.metamodel.Decorator","name":"Address","location":{"$class":"concerto.metamodel.Range","start":{"offset":937,"line":43,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":993,"line":43,"column":57,"$class":"concerto.metamodel.Position"}},"arguments":[{"$class":"concerto.metamodel.DecoratorString","value":"x","location":{"$class":"concerto.metamodel.Range","start":{"offset":946,"line":43,"column":10,"$class":"concerto.metamodel.Position"},"end":{"offset":949,"line":43,"column":13,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorNumber","value":1,"location":{"$class":"concerto.metamodel.Range","start":{"offset":950,"line":43,"column":14,"$class":"concerto.metamodel.Position"},"end":{"offset":951,"line":43,"column":15,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"y","location":{"$class":"concerto.metamodel.Range","start":{"offset":952,"line":43,"column":16,"$class":"concerto.metamodel.Position"},"end":{"offset":955,"line":43,"column":19,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"foo","location":{"$class":"concerto.metamodel.Range","start":{"offset":956,"line":43,"column":20,"$class":"concerto.metamodel.Position"},"end":{"offset":961,"line":43,"column":25,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"z","location":{"$class":"concerto.metamodel.Range","start":{"offset":962,"line":43,"column":26,"$class":"concerto.metamodel.Position"},"end":{"offset":965,"line":43,"column":29,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorBoolean","value":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":966,"line":43,"column":30,"$class":"concerto.metamodel.Position"},"end":{"offset":970,"line":43,"column":34,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorTypeReference","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Gender"},"isArray":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":971,"line":43,"column":35,"$class":"concerto.metamodel.Position"},"end":{"offset":977,"line":43,"column":41,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorTypeReference","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"TemporalUnit"},"isArray":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":978,"line":43,"column":42,"$class":"concerto.metamodel.Position"},"end":{"offset":992,"line":43,"column":56,"$class":"concerto.metamodel.Position"}}}]},{"$class":"concerto.metamodel.Decorator","name":"Address2","location":{"$class":"concerto.metamodel.Range","start":{"offset":994,"line":44,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1005,"line":44,"column":12,"$class":"concerto.metamodel.Position"}},"arguments":[]},{"$class":"concerto.metamodel.Decorator","name":"Address3","location":{"$class":"concerto.metamodel.Range","start":{"offset":1006,"line":45,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1015,"line":45,"column":10,"$class":"concerto.metamodel.Position"}}}]},{"$class":"concerto.metamodel.AssetDeclaration","name":"A","isAbstract":false,"properties":[],"location":{"$class":"concerto.metamodel.Range","start":{"offset":1389,"line":61,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1400,"line":62,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.EventDeclaration","name":"E","isAbstract":false,"properties":[],"location":{"$class":"concerto.metamodel.Range","start":{"offset":1402,"line":64,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1413,"line":65,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.TransactionDeclaration","name":"T","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"id","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1450,"line":68,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1464,"line":69,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"tu","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"TemporalUnit"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1464,"line":69,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1484,"line":70,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"month","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Month"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1484,"line":70,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1500,"line":71,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"p","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Participant"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1500,"line":71,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1516,"line":72,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":1415,"line":67,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1517,"line":72,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"id"}}]} \ No newline at end of file diff --git a/packages/concerto-core/test/data/model/personResolved.json b/packages/concerto-core/test/data/model/personResolved.json index 829f3765e4..344998d7b0 100644 --- a/packages/concerto-core/test/data/model/personResolved.json +++ b/packages/concerto-core/test/data/model/personResolved.json @@ -1 +1 @@ -{"$class":"concerto.metamodel.Model","namespace":"test.person","imports":[{"$class":"concerto.metamodel.ImportAll","namespace":"org.accordproject.time","uri":"https://models.accordproject.org/time@0.2.0.cto"},{"$class":"concerto.metamodel.ImportType","name":"TemporalUnit","namespace":"org.accordproject.time","uri":"https://models.accordproject.org/time@0.2.0.cto"}],"declarations":[{"$class":"concerto.metamodel.EnumDeclaration","name":"Gender","properties":[{"$class":"concerto.metamodel.EnumProperty","name":"MALE","location":{"$class":"concerto.metamodel.Location","start":{"offset":221,"line":7,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":230,"line":8,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.EnumProperty","name":"FEMALE","location":{"$class":"concerto.metamodel.Location","start":{"offset":230,"line":8,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":241,"line":9,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.EnumProperty","name":"OTHER","location":{"$class":"concerto.metamodel.Location","start":{"offset":241,"line":9,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":249,"line":10,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":205,"line":6,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":250,"line":10,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Individual","isAbstract":true,"properties":[],"location":{"$class":"concerto.metamodel.Location","start":{"offset":252,"line":12,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":287,"line":13,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Person","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"firstName","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":331,"line":16,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":371,"line":17,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.StringRegexValidator","pattern":"[a-zA-Z]*","flags":"u"}},{"$class":"concerto.metamodel.StringProperty","name":"lastName","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":371,"line":17,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":391,"line":18,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"address","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":391,"line":18,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":411,"line":19,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"address2","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":411,"line":19,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":452,"line":20,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":"USAddress"},{"$class":"concerto.metamodel.RelationshipProperty","name":"address3","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":452,"line":20,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":475,"line":21,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"address4","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":true,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":475,"line":21,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":500,"line":22,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"address5","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":false,"isOptional":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":500,"line":22,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":532,"line":23,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"gender","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Gender","namespace":"test.person"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":532,"line":23,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":550,"line":24,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DateTimeProperty","name":"dob","isArray":false,"isOptional":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":550,"line":24,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":574,"line":25,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":289,"line":15,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":575,"line":25,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Individual","namespace":"test.person"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Employee","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"company","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":617,"line":28,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":636,"line":29,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.BooleanProperty","name":"onLeave","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":636,"line":29,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":654,"line":30,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":577,"line":27,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":655,"line":30,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Person","namespace":"test.person"}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"Address","isAbstract":false,"properties":[{"$class":"concerto.metamodel.IntegerProperty","name":"zip","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":688,"line":33,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":718,"line":34,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":10001},{"$class":"concerto.metamodel.LongProperty","name":"zip2","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":718,"line":34,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":746,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":10001},{"$class":"concerto.metamodel.DoubleProperty","name":"zip3","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":746,"line":35,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":778,"line":36,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":10001},{"$class":"concerto.metamodel.StringProperty","name":"city","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":778,"line":36,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":808,"line":37,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":"NYC"},{"$class":"concerto.metamodel.StringProperty","name":"country","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":808,"line":37,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":841,"line":38,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":"USA"},{"$class":"concerto.metamodel.StringProperty","name":"street","isArray":true,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":841,"line":38,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":861,"line":39,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.BooleanProperty","name":"isResidential","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":861,"line":39,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":900,"line":40,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":true},{"$class":"concerto.metamodel.BooleanProperty","name":"isPrivate","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":900,"line":40,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":934,"line":41,"column":1,"$class":"concerto.metamodel.LocationPoint"}},"defaultValue":false}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":657,"line":32,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":935,"line":41,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.Identified"}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"USAddress","isAbstract":false,"properties":[{"$class":"concerto.metamodel.IntegerProperty","name":"zip4","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1054,"line":47,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1139,"line":51,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"decorators":[{"$class":"concerto.metamodel.Decorator","name":"Zip","location":{"$class":"concerto.metamodel.Location","start":{"offset":1054,"line":47,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1084,"line":47,"column":33,"$class":"concerto.metamodel.LocationPoint"}},"arguments":[{"$class":"concerto.metamodel.DecoratorString","value":"x","location":{"$class":"concerto.metamodel.Location","start":{"offset":1059,"line":47,"column":8,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1062,"line":47,"column":11,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorNumber","value":1,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1063,"line":47,"column":12,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1064,"line":47,"column":13,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"y","location":{"$class":"concerto.metamodel.Location","start":{"offset":1065,"line":47,"column":14,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1068,"line":47,"column":17,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"foo","location":{"$class":"concerto.metamodel.Location","start":{"offset":1069,"line":47,"column":18,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1074,"line":47,"column":23,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"z","location":{"$class":"concerto.metamodel.Location","start":{"offset":1075,"line":47,"column":24,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1078,"line":47,"column":27,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorBoolean","value":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1079,"line":47,"column":28,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1083,"line":47,"column":32,"$class":"concerto.metamodel.LocationPoint"}}}]},{"$class":"concerto.metamodel.Decorator","name":"Zip2","location":{"$class":"concerto.metamodel.Location","start":{"offset":1087,"line":48,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1094,"line":48,"column":10,"$class":"concerto.metamodel.LocationPoint"}},"arguments":[]},{"$class":"concerto.metamodel.Decorator","name":"Zip3","location":{"$class":"concerto.metamodel.Location","start":{"offset":1097,"line":49,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1102,"line":49,"column":8,"$class":"concerto.metamodel.LocationPoint"}}}],"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","lower":-365,"upper":365}},{"$class":"concerto.metamodel.IntegerProperty","name":"zip41","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1139,"line":51,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1170,"line":52,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","upper":365}},{"$class":"concerto.metamodel.IntegerProperty","name":"zip42","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1170,"line":52,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1202,"line":53,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","lower":-365}},{"$class":"concerto.metamodel.LongProperty","name":"zip5","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1202,"line":53,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1233,"line":54,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","lower":-365,"upper":365}},{"$class":"concerto.metamodel.LongProperty","name":"zip51","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1233,"line":54,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1261,"line":55,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","upper":365}},{"$class":"concerto.metamodel.LongProperty","name":"zip52","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1261,"line":55,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1290,"line":56,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","lower":-365}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip6","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1290,"line":56,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1325,"line":57,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","lower":-3.14,"upper":3.14}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip61","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1325,"line":57,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1357,"line":58,"column":3,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","lower":-3.14}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip62","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1357,"line":58,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1386,"line":59,"column":1,"$class":"concerto.metamodel.LocationPoint"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","upper":3.14}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":937,"line":43,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1387,"line":59,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"decorators":[{"$class":"concerto.metamodel.Decorator","name":"Address","location":{"$class":"concerto.metamodel.Location","start":{"offset":937,"line":43,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":993,"line":43,"column":57,"$class":"concerto.metamodel.LocationPoint"}},"arguments":[{"$class":"concerto.metamodel.DecoratorString","value":"x","location":{"$class":"concerto.metamodel.Location","start":{"offset":946,"line":43,"column":10,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":949,"line":43,"column":13,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorNumber","value":1,"location":{"$class":"concerto.metamodel.Location","start":{"offset":950,"line":43,"column":14,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":951,"line":43,"column":15,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"y","location":{"$class":"concerto.metamodel.Location","start":{"offset":952,"line":43,"column":16,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":955,"line":43,"column":19,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"foo","location":{"$class":"concerto.metamodel.Location","start":{"offset":956,"line":43,"column":20,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":961,"line":43,"column":25,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorString","value":"z","location":{"$class":"concerto.metamodel.Location","start":{"offset":962,"line":43,"column":26,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":965,"line":43,"column":29,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorBoolean","value":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":966,"line":43,"column":30,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":970,"line":43,"column":34,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorTypeReference","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Gender","namespace":"test.person"},"isArray":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":971,"line":43,"column":35,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":977,"line":43,"column":41,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.DecoratorTypeReference","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"TemporalUnit","namespace":"org.accordproject.time"},"isArray":true,"location":{"$class":"concerto.metamodel.Location","start":{"offset":978,"line":43,"column":42,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":992,"line":43,"column":56,"$class":"concerto.metamodel.LocationPoint"}}}]},{"$class":"concerto.metamodel.Decorator","name":"Address2","location":{"$class":"concerto.metamodel.Location","start":{"offset":994,"line":44,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1005,"line":44,"column":12,"$class":"concerto.metamodel.LocationPoint"}},"arguments":[]},{"$class":"concerto.metamodel.Decorator","name":"Address3","location":{"$class":"concerto.metamodel.Location","start":{"offset":1006,"line":45,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1015,"line":45,"column":10,"$class":"concerto.metamodel.LocationPoint"}}}]},{"$class":"concerto.metamodel.AssetDeclaration","name":"A","isAbstract":false,"properties":[],"location":{"$class":"concerto.metamodel.Location","start":{"offset":1389,"line":61,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1400,"line":62,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.EventDeclaration","name":"E","isAbstract":false,"properties":[],"location":{"$class":"concerto.metamodel.Location","start":{"offset":1402,"line":64,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1413,"line":65,"column":2,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.TransactionDeclaration","name":"T","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"id","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1450,"line":68,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1464,"line":69,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"tu","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"TemporalUnit","namespace":"org.accordproject.time"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1464,"line":69,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1484,"line":70,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"month","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Month","namespace":"org.accordproject.time"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1484,"line":70,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1500,"line":71,"column":3,"$class":"concerto.metamodel.LocationPoint"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"p","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Participant","namespace":"concerto"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Location","start":{"offset":1500,"line":71,"column":3,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1516,"line":72,"column":1,"$class":"concerto.metamodel.LocationPoint"}}}],"location":{"$class":"concerto.metamodel.Location","start":{"offset":1415,"line":67,"column":1,"$class":"concerto.metamodel.LocationPoint"},"end":{"offset":1517,"line":72,"column":2,"$class":"concerto.metamodel.LocationPoint"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"id"}}]} \ No newline at end of file +{"$class":"concerto.metamodel.Model","namespace":"test.person","imports":[{"$class":"concerto.metamodel.ImportAll","namespace":"org.accordproject.time","uri":"https://models.accordproject.org/time@0.2.0.cto"},{"$class":"concerto.metamodel.ImportType","name":"TemporalUnit","namespace":"org.accordproject.time","uri":"https://models.accordproject.org/time@0.2.0.cto"}],"declarations":[{"$class":"concerto.metamodel.EnumDeclaration","name":"Gender","properties":[{"$class":"concerto.metamodel.EnumProperty","name":"MALE","location":{"$class":"concerto.metamodel.Range","start":{"offset":221,"line":7,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":230,"line":8,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.EnumProperty","name":"FEMALE","location":{"$class":"concerto.metamodel.Range","start":{"offset":230,"line":8,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":241,"line":9,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.EnumProperty","name":"OTHER","location":{"$class":"concerto.metamodel.Range","start":{"offset":241,"line":9,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":249,"line":10,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":205,"line":6,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":250,"line":10,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Individual","isAbstract":true,"properties":[],"location":{"$class":"concerto.metamodel.Range","start":{"offset":252,"line":12,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":287,"line":13,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Person","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"firstName","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":331,"line":16,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":371,"line":17,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.StringRegexValidator","pattern":"[a-zA-Z]*","flags":"u"}},{"$class":"concerto.metamodel.StringProperty","name":"lastName","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":371,"line":17,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":391,"line":18,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"address","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":391,"line":18,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":411,"line":19,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"address2","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":411,"line":19,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":452,"line":20,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":"USAddress"},{"$class":"concerto.metamodel.RelationshipProperty","name":"address3","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":452,"line":20,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":475,"line":21,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"address4","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":true,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":475,"line":21,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":500,"line":22,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.RelationshipProperty","name":"address5","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"isArray":false,"isOptional":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":500,"line":22,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":532,"line":23,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"gender","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Gender","namespace":"test.person"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":532,"line":23,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":550,"line":24,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DateTimeProperty","name":"dob","isArray":false,"isOptional":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":550,"line":24,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":574,"line":25,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":289,"line":15,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":575,"line":25,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Individual","namespace":"test.person"}},{"$class":"concerto.metamodel.ParticipantDeclaration","name":"Employee","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"company","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":617,"line":28,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":636,"line":29,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.BooleanProperty","name":"onLeave","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":636,"line":29,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":654,"line":30,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":577,"line":27,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":655,"line":30,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Person","namespace":"test.person"}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"Address","isAbstract":false,"properties":[{"$class":"concerto.metamodel.IntegerProperty","name":"zip","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":688,"line":33,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":718,"line":34,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":10001},{"$class":"concerto.metamodel.LongProperty","name":"zip2","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":718,"line":34,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":746,"line":35,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":10001},{"$class":"concerto.metamodel.DoubleProperty","name":"zip3","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":746,"line":35,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":778,"line":36,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":10001},{"$class":"concerto.metamodel.StringProperty","name":"city","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":778,"line":36,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":808,"line":37,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":"NYC"},{"$class":"concerto.metamodel.StringProperty","name":"country","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":808,"line":37,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":841,"line":38,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":"USA"},{"$class":"concerto.metamodel.StringProperty","name":"street","isArray":true,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":841,"line":38,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":861,"line":39,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.BooleanProperty","name":"isResidential","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":861,"line":39,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":900,"line":40,"column":3,"$class":"concerto.metamodel.Position"}},"defaultValue":true},{"$class":"concerto.metamodel.BooleanProperty","name":"isPrivate","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":900,"line":40,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":934,"line":41,"column":1,"$class":"concerto.metamodel.Position"}},"defaultValue":false}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":657,"line":32,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":935,"line":41,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.Identified"}},{"$class":"concerto.metamodel.ConceptDeclaration","name":"USAddress","isAbstract":false,"properties":[{"$class":"concerto.metamodel.IntegerProperty","name":"zip4","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1054,"line":47,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1139,"line":51,"column":3,"$class":"concerto.metamodel.Position"}},"decorators":[{"$class":"concerto.metamodel.Decorator","name":"Zip","location":{"$class":"concerto.metamodel.Range","start":{"offset":1054,"line":47,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1084,"line":47,"column":33,"$class":"concerto.metamodel.Position"}},"arguments":[{"$class":"concerto.metamodel.DecoratorString","value":"x","location":{"$class":"concerto.metamodel.Range","start":{"offset":1059,"line":47,"column":8,"$class":"concerto.metamodel.Position"},"end":{"offset":1062,"line":47,"column":11,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorNumber","value":1,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1063,"line":47,"column":12,"$class":"concerto.metamodel.Position"},"end":{"offset":1064,"line":47,"column":13,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"y","location":{"$class":"concerto.metamodel.Range","start":{"offset":1065,"line":47,"column":14,"$class":"concerto.metamodel.Position"},"end":{"offset":1068,"line":47,"column":17,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"foo","location":{"$class":"concerto.metamodel.Range","start":{"offset":1069,"line":47,"column":18,"$class":"concerto.metamodel.Position"},"end":{"offset":1074,"line":47,"column":23,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"z","location":{"$class":"concerto.metamodel.Range","start":{"offset":1075,"line":47,"column":24,"$class":"concerto.metamodel.Position"},"end":{"offset":1078,"line":47,"column":27,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorBoolean","value":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1079,"line":47,"column":28,"$class":"concerto.metamodel.Position"},"end":{"offset":1083,"line":47,"column":32,"$class":"concerto.metamodel.Position"}}}]},{"$class":"concerto.metamodel.Decorator","name":"Zip2","location":{"$class":"concerto.metamodel.Range","start":{"offset":1087,"line":48,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1094,"line":48,"column":10,"$class":"concerto.metamodel.Position"}},"arguments":[]},{"$class":"concerto.metamodel.Decorator","name":"Zip3","location":{"$class":"concerto.metamodel.Range","start":{"offset":1097,"line":49,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1102,"line":49,"column":8,"$class":"concerto.metamodel.Position"}}}],"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","lower":-365,"upper":365}},{"$class":"concerto.metamodel.IntegerProperty","name":"zip41","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1139,"line":51,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1170,"line":52,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","upper":365}},{"$class":"concerto.metamodel.IntegerProperty","name":"zip42","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1170,"line":52,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1202,"line":53,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.IntegerDomainValidator","lower":-365}},{"$class":"concerto.metamodel.LongProperty","name":"zip5","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1202,"line":53,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1233,"line":54,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","lower":-365,"upper":365}},{"$class":"concerto.metamodel.LongProperty","name":"zip51","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1233,"line":54,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1261,"line":55,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","upper":365}},{"$class":"concerto.metamodel.LongProperty","name":"zip52","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1261,"line":55,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1290,"line":56,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.LongDomainValidator","lower":-365}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip6","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1290,"line":56,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1325,"line":57,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","lower":-3.14,"upper":3.14}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip61","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1325,"line":57,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1357,"line":58,"column":3,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","lower":-3.14}},{"$class":"concerto.metamodel.DoubleProperty","name":"zip62","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1357,"line":58,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1386,"line":59,"column":1,"$class":"concerto.metamodel.Position"}},"validator":{"$class":"concerto.metamodel.DoubleDomainValidator","upper":3.14}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":937,"line":43,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1387,"line":59,"column":2,"$class":"concerto.metamodel.Position"}},"superType":{"$class":"concerto.metamodel.TypeIdentifier","name":"Address","namespace":"test.person"},"decorators":[{"$class":"concerto.metamodel.Decorator","name":"Address","location":{"$class":"concerto.metamodel.Range","start":{"offset":937,"line":43,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":993,"line":43,"column":57,"$class":"concerto.metamodel.Position"}},"arguments":[{"$class":"concerto.metamodel.DecoratorString","value":"x","location":{"$class":"concerto.metamodel.Range","start":{"offset":946,"line":43,"column":10,"$class":"concerto.metamodel.Position"},"end":{"offset":949,"line":43,"column":13,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorNumber","value":1,"location":{"$class":"concerto.metamodel.Range","start":{"offset":950,"line":43,"column":14,"$class":"concerto.metamodel.Position"},"end":{"offset":951,"line":43,"column":15,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"y","location":{"$class":"concerto.metamodel.Range","start":{"offset":952,"line":43,"column":16,"$class":"concerto.metamodel.Position"},"end":{"offset":955,"line":43,"column":19,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"foo","location":{"$class":"concerto.metamodel.Range","start":{"offset":956,"line":43,"column":20,"$class":"concerto.metamodel.Position"},"end":{"offset":961,"line":43,"column":25,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorString","value":"z","location":{"$class":"concerto.metamodel.Range","start":{"offset":962,"line":43,"column":26,"$class":"concerto.metamodel.Position"},"end":{"offset":965,"line":43,"column":29,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorBoolean","value":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":966,"line":43,"column":30,"$class":"concerto.metamodel.Position"},"end":{"offset":970,"line":43,"column":34,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorTypeReference","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Gender","namespace":"test.person"},"isArray":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":971,"line":43,"column":35,"$class":"concerto.metamodel.Position"},"end":{"offset":977,"line":43,"column":41,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.DecoratorTypeReference","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"TemporalUnit","namespace":"org.accordproject.time"},"isArray":true,"location":{"$class":"concerto.metamodel.Range","start":{"offset":978,"line":43,"column":42,"$class":"concerto.metamodel.Position"},"end":{"offset":992,"line":43,"column":56,"$class":"concerto.metamodel.Position"}}}]},{"$class":"concerto.metamodel.Decorator","name":"Address2","location":{"$class":"concerto.metamodel.Range","start":{"offset":994,"line":44,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1005,"line":44,"column":12,"$class":"concerto.metamodel.Position"}},"arguments":[]},{"$class":"concerto.metamodel.Decorator","name":"Address3","location":{"$class":"concerto.metamodel.Range","start":{"offset":1006,"line":45,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1015,"line":45,"column":10,"$class":"concerto.metamodel.Position"}}}]},{"$class":"concerto.metamodel.AssetDeclaration","name":"A","isAbstract":false,"properties":[],"location":{"$class":"concerto.metamodel.Range","start":{"offset":1389,"line":61,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1400,"line":62,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.EventDeclaration","name":"E","isAbstract":false,"properties":[],"location":{"$class":"concerto.metamodel.Range","start":{"offset":1402,"line":64,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1413,"line":65,"column":2,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.TransactionDeclaration","name":"T","isAbstract":false,"properties":[{"$class":"concerto.metamodel.StringProperty","name":"id","isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1450,"line":68,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1464,"line":69,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"tu","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"TemporalUnit","namespace":"org.accordproject.time"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1464,"line":69,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1484,"line":70,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"month","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Month","namespace":"org.accordproject.time"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1484,"line":70,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1500,"line":71,"column":3,"$class":"concerto.metamodel.Position"}}},{"$class":"concerto.metamodel.ObjectProperty","name":"p","type":{"$class":"concerto.metamodel.TypeIdentifier","name":"Participant","namespace":"concerto"},"isArray":false,"isOptional":false,"location":{"$class":"concerto.metamodel.Range","start":{"offset":1500,"line":71,"column":3,"$class":"concerto.metamodel.Position"},"end":{"offset":1516,"line":72,"column":1,"$class":"concerto.metamodel.Position"}}}],"location":{"$class":"concerto.metamodel.Range","start":{"offset":1415,"line":67,"column":1,"$class":"concerto.metamodel.Position"},"end":{"offset":1517,"line":72,"column":2,"$class":"concerto.metamodel.Position"}},"identified":{"$class":"concerto.metamodel.IdentifiedBy","name":"id"}}]} \ No newline at end of file