This is an automated email from the ASF dual-hosted git repository. jkevan pushed a commit to branch UNOMI-569-flatten-schemas in repository https://gitbox.apache.org/repos/asf/unomi.git
commit d30ae2eaad20cf25bcfbbe47240655f419dd553a Author: Kevan <[email protected]> AuthorDate: Thu Jun 9 19:17:51 2022 +0200 UNOMI-569: cleanup schemas --- .../resources/META-INF/cxs/schemas/condition.json | 21 ------- .../resources/META-INF/cxs/schemas/customitem.json | 25 -------- .../cxs/schemas/customitem/properties.json | 14 ----- .../META-INF/cxs/schemas/{ => events}/event.json | 2 +- .../META-INF/cxs/schemas/events/form.json | 23 ------- .../META-INF/cxs/schemas/events/goal.json | 23 ------- .../incrementInterest.flattenProperties.json | 18 ++++++ .../{ => incrementInterest}/incrementInterest.json | 7 +-- .../events/incrementInterest/properties.json | 19 ------ .../incrementInterest/properties/interests.json | 16 ----- .../META-INF/cxs/schemas/events/login}/login.json | 9 +-- .../events/{ => modifyConsent}/modifyConsent.json | 2 +- ...operties.json => modifyConsent.properties.json} | 2 +- .../{ => updateProperties}/updateProperties.json | 5 +- .../events/view/view.flattenProperties.json | 18 ++++++ .../cxs/schemas/events/{ => view}/view.json | 5 +- .../main/resources/META-INF/cxs/schemas/goal.json | 25 -------- .../cxs/schemas/{ => items/consent}/consent.json | 2 +- .../schemas/{ => items/consent}/consentType.json | 2 +- .../cxs/schemas/items/interests/interests.json | 18 ++++++ .../META-INF/cxs/schemas/{ => items}/item.json | 2 +- .../cxs/schemas/{ => items/page}/page.json | 8 +-- .../page/page.properties.attributes.json} | 0 .../page/page.properties.json} | 2 +- .../page/page.properties.pageInfo.json} | 0 .../cxs/schemas/{ => items/site}/site.json | 8 +-- .../cxs/schemas/{ => items}/timestampeditem.json | 2 +- .../resources/META-INF/cxs/schemas/metadata.json | 51 ---------------- .../META-INF/cxs/schemas/metadataitem.json | 21 ------- .../resources/META-INF/cxs/schemas/parameter.json | 27 -------- .../cxs/schemas/personalization/filter.json | 26 -------- .../schemas/personalization/filter/properties.json | 13 ---- .../personalization/personalizationrequest.json | 30 --------- .../personalizationrequest/strategyOptions.json | 13 ---- .../personalizedContent/properties.json | 13 ---- .../personalization/personalizedcontent.json | 27 -------- .../cxs/schemas/personalization/target.json | 23 ------- .../resources/META-INF/cxs/schemas/profile.json | 46 -------------- .../META-INF/cxs/schemas/values/boolean.json | 13 ---- .../META-INF/cxs/schemas/values/date.json | 14 ----- .../META-INF/cxs/schemas/values/email.json | 14 ----- .../META-INF/cxs/schemas/values/integer.json | 13 ---- .../META-INF/cxs/schemas/values/long.json | 13 ---- .../resources/META-INF/cxs/schemas/values/set.json | 14 ----- .../META-INF/cxs/schemas/values/string.json | 13 ---- .../META-INF/cxs/schemas/articleCompleted.json | 25 -------- .../cxs/schemas/articleCompleted/properties.json | 22 ------- .../resources/META-INF/cxs/schemas/identify.json | 25 -------- .../META-INF/cxs/schemas/identify/properties.json | 24 -------- .../test/java/org/apache/unomi/itests/BasicIT.java | 12 ---- .../schemas/events/float-property-type.json | 2 +- .../resources/schemas/events/test-event-type.json | 2 +- .../test/resources/schemas/schema-predefined.json | 2 +- .../deserializers/ContextRequestDeserializer.java | 2 +- .../EventsCollectorRequestDeserializer.java | 2 +- .../unomi/rest/endpoints/ContextJsonEndpoint.java | 10 +-- .../rest/service/impl/RestServiceUtilsImpl.java | 5 +- .../cxs/schemas/contextrequest/contextrequest.json | 71 ---------------------- .../contextrequest/contextrequestparams.json | 22 ------- .../cxs/schemas/contextrequest/source/source.json | 37 ----------- .../resources/META-INF/cxs/schemas/cookie.json | 18 ------ .../schemas/{ => rest}/eventscollectorrequest.json | 9 +-- .../META-INF/cxs/schemas/rest/requestIds.json | 26 ++++++++ .../main/resources/META-INF/cxs/schemas/login.json | 23 ------- 64 files changed, 119 insertions(+), 882 deletions(-) diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json deleted file mode 100644 index 923ad23ef..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/condition/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "condition", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Condition", - "type": "object", - "properties" : { - "conditionTypeId" : { - "type" : "string" - }, - "parameterValues" : { - "type" : "object", - "maxProperties": 50 - } - } -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json deleted file mode 100644 index 5b9c6c570..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/customitem/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "customItem", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "CustomItem", - "type": "object", - "allOf": [ - { - "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" - } - ], - "properties": { - "customItemType" : { - "type" : "string" - }, - "properties" : { - "$ref" : "https://unomi.apache.org/schemas/json/customitem/properties/1-0-0" - } - } -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json deleted file mode 100644 index 38bec226f..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/customitem/properties/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "customItemProperties", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "CustomItemProperties", - "type": "object", - "properties": { - } -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/event.json similarity index 94% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/event.json index 2d27d0245..29fa59c8f 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/event.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/event/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name": "event", "format":"jsonschema", "version":"1-0-0" diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json deleted file mode 100644 index c537eec11..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/events/form/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "events", - "name": "form", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "FormEvent", - "type": "object", - "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }], - "properties" : { - "source" : { - "$ref" : "https://unomi.apache.org/schemas/json/items/site/1-0-0" - }, - "target" : { - "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0" - } - }, - "unevaluatedProperties" : false -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json deleted file mode 100644 index d6f9b6af0..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/events/goal/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "events", - "name": "goal", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "GoalEvent", - "type": "object", - "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }], - "properties" : { - "source" : { - "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0" - }, - "target" : { - "$ref" : "https://unomi.apache.org/schemas/json/goal/1-0-0" - } - }, - "unevaluatedProperties" : false -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.flattenProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.flattenProperties.json new file mode 100644 index 000000000..1793e5c8d --- /dev/null +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.flattenProperties.json @@ -0,0 +1,18 @@ +{ + "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/flattenProperties/1-0-0", + "$schema": "https://json-schema.org/draft/2019-09/schema", + "self":{ + "vendor":"org.apache.unomi", + "name": "incrementInterestFlattenProperties", + "format":"jsonschema", + "version":"1-0-0" + }, + "title": "IncrementInterestFlattenProperties", + "type": "object", + "properties" : { + "interests": { + "$ref" : "https://unomi.apache.org/schemas/json/interests/1-0-0" + } + }, + "unevaluatedProperties" : false +} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.json similarity index 69% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.json index 270356086..73516acfb 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "target" : "events", "name": "incrementInterest", "format":"jsonschema", @@ -12,10 +12,9 @@ "type": "object", "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }], "properties" : { - "properties" : { - "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/1-0-0" + "flattenedProperties" : { + "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/flattenProperties/1-0-0" } }, - "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object", "unevaluatedProperties" : false } \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json deleted file mode 100644 index 300f4e394..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "incrementInterestProperties", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "IncrementInterestProperties", - "type": "object", - "properties" : { - "interests" : { - "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/interests/1-0-0" - } - }, - "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object", - "unevaluatedProperties" : false -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json deleted file mode 100644 index bef45d957..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/interests/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "incrementInterestPropertiesInterests", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "IncrementInterestPropertiesInterests", - "type": "object", - "properties" : { - }, - "maxProperties" : 50, - "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object" -} \ No newline at end of file diff --git a/itests/src/test/resources/schemas/events/login.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json similarity index 71% rename from itests/src/test/resources/schemas/events/login.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json index a134e56a9..fdb4c303c 100644 --- a/itests/src/test/resources/schemas/events/login.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "target" : "events", "name": "login", "format":"jsonschema", @@ -15,10 +15,7 @@ "properties" : { "type" : "object", "maxProperties": 50 - }, - "target" : { - "type" : "object", - "maxProperties": 50 } - } + }, + "$comment" : "WARNING: This schema is open and do not restrict unevaluated properties because it is protected with third-party server key check" } \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.json similarity index 94% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.json index 14db8d7fe..ecd26b8aa 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/events/modifyConsent/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "target" : "events", "name": "modifyConsent", "format":"jsonschema", diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.properties.json similarity index 90% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.properties.json index d7a97b80a..dec05c560 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.properties.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/events/modifyConsent/properties/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name": "modifyConsentProperties", "format":"jsonschema", "version":"1-0-0" diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties/updateProperties.json similarity index 72% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties/updateProperties.json index b3916dcee..43c22ac4b 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties/updateProperties.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/events/updateProperties/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "target" : "events", "name": "updateProperties", "format":"jsonschema", @@ -16,5 +16,6 @@ "type" : "object", "maxProperties": 50 } - } + }, + "$comment" : "WARNING: This schema is open and do not restrict unevaluated properties because it is protected with third-party server key check" } \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.flattenProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.flattenProperties.json new file mode 100644 index 000000000..c380b0d99 --- /dev/null +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.flattenProperties.json @@ -0,0 +1,18 @@ +{ + "$id": "https://unomi.apache.org/schemas/json/events/view/flattenProperties/1-0-0", + "$schema": "https://json-schema.org/draft/2019-09/schema", + "self":{ + "vendor":"org.apache.unomi", + "name": "viewFlattenProperties", + "format":"jsonschema", + "version":"1-0-0" + }, + "title": "ViewFlattenProperties", + "type": "object", + "properties" : { + "interests": { + "$ref" : "https://unomi.apache.org/schemas/json/interests/1-0-0" + } + }, + "unevaluatedProperties" : false +} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.json similarity index 79% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.json index ad7455abf..cefe46e2e 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/events/view/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "target" : "events", "name": "view", "format":"jsonschema", @@ -17,6 +17,9 @@ }, "target" : { "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0" + }, + "flattenedProperties": { + "$ref" : "https://unomi.apache.org/schemas/json/events/view/flattenProperties/1-0-0" } }, "unevaluatedProperties": false diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json deleted file mode 100644 index 6d2abee31..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/goal/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "goal", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Goal", - "type": "object", - "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/metadataitem/1-0-0" }], - "properties" : { - "startEvent" : { - "$ref" : "https://unomi.apache.org/schemas/json/condition/1-0-0" - }, - "targetEvent" : { - "$ref" : "https://unomi.apache.org/schemas/json/condition/1-0-0" - }, - "campaignId" : { - "type" : "string" - } - }, - "unevaluatedProperties": false -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consent.json similarity index 93% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consent.json index 8628228bf..557bb25fb 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consent.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/consent/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name": "consent", "format":"jsonschema", "version":"1-0-0" diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consentType.json similarity index 92% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consentType.json index 32fc2e1c5..995f77f9a 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consentType.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/consentType/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name": "consentType", "format":"jsonschema", "version":"1-0-0" diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/interests/interests.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/interests/interests.json new file mode 100644 index 000000000..74bc6c84d --- /dev/null +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/interests/interests.json @@ -0,0 +1,18 @@ +{ + "$id": "https://unomi.apache.org/schemas/json/interests/1-0-0", + "$schema": "https://json-schema.org/draft/2019-09/schema", + "self":{ + "vendor":"org.apache.unomi", + "name": "interests", + "format":"jsonschema", + "version":"1-0-0" + }, + "title": "Interests", + "type": "object", + "patternProperties": { + "^.*$": { + "type": "number" + } + }, + "unevaluatedProperties": false +} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/item.json similarity index 94% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/item.json index 79940c54e..5c71db49b 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/item.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/item/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name": "item", "format":"jsonschema", "version":"1-0-0" diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.json similarity index 75% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.json index a11bbae43..ec52e5871 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.json @@ -2,18 +2,14 @@ "$id": "https://unomi.apache.org/schemas/json/items/page/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name":"page", "format":"jsonschema", "version":"1-0-0" }, "title": "PageCustomItem", "type": "object", - "allOf": [ - { - "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" - } - ], + "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }], "properties": { "properties" : { "$ref" : "https://unomi.apache.org/schemas/json/items/page/properties/1-0-0" diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/attributes.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.attributes.json similarity index 100% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/attributes.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.attributes.json diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.json similarity index 93% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.json index 36092791d..3abfd4d0e 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/items/page/properties/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name":"pageProperties", "format":"jsonschema", "version":"1-0-0" diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/pageInfo.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json similarity index 100% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/pageInfo.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/site/site.json similarity index 67% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/site/site.json index 4aa93a6db..c73afaf17 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/site/site.json @@ -2,17 +2,13 @@ "$id": "https://unomi.apache.org/schemas/json/items/site/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name": "site", "format":"jsonschema", "version":"1-0-0" }, "title": "SiteItem", "type": "object", - "allOf": [ - { - "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" - } - ], + "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }], "unevaluatedProperties" : false } \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/timestampeditem.json similarity index 90% rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/timestampeditem.json index dd71b16c9..db8f078e2 100644 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json +++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/timestampeditem.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/timestampeditem/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name": "timestampedItem", "format":"jsonschema", "version":"1-0-0" diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json deleted file mode 100644 index 4098ccb20..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/metadata/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "metadata", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Metadata", - "type": "object", - "properties" : { - "id" : { - "type" : "string" - }, - "name" : { - "type" : "string" - }, - "description" : { - "type" : "string" - }, - "scope" : { - "type" : "string" - }, - "tags" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "systemTags" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "enabled" : { - "type" : "boolean" - }, - "missingPlugins" : { - "type" : "boolean" - }, - "hidden" : { - "type" : "boolean" - }, - "readOnly" : { - "type" : "boolean" - } - }, - "unevaluatedProperties": false -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json deleted file mode 100644 index 5f2371abe..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/metadataitem/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "metadataItem", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "MetadataItem", - "type": "object", - "allOf": [ - { "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" } - ], - "properties" : { - "metadata" : { - "$ref" : "https://unomi.apache.org/schemas/json/metadata/1-0-0" - } - }, - "unevaluatedProperties": false -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json deleted file mode 100644 index 3854def15..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/parameter/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "parameter", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Parameter", - "type": "object", - "properties" : { - "id" : { - "type" : "string" - }, - "type" : { - "type" : "string" - }, - "multivalued" : { - "type" : "boolean" - }, - "defaultValue" : { - "type" : "string" - } - }, - "unevaluatedProperties": false -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json deleted file mode 100644 index 8c1c638de..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/personalization/filter/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "filter", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Filter", - "type": "object", - "properties": { - "appliesOn": { - "type": "array", - "items": { - "$ref": "https://unomi.apache.org/schemas/json/personalization/target/1-0-0" - } - }, - "condition": { - "$ref": "https://unomi.apache.org/schemas/json/condition/1-0-0" - }, - "properties": { - "$ref" : "https://unomi.apache.org/schemas/json/personalization/filter/properties/1-0-0" - } - } -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json deleted file mode 100644 index ddab41a37..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/personalization/filter/properties/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "filterProperties", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "FilterProperties", - "type": "object", - "maxProperties": 50 -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json deleted file mode 100644 index bd6eb3a5f..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "personalizationRequest", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "PersonalizationRequest", - "type": "object", - "properties": { - "id" : { - "type" : "string" - }, - "strategy" : { - "type" : "string" - }, - "strategyOptions" : { - "$ref" : "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/strategyOptions/1-0-0" - }, - "contents" : { - "type" : "array", - "items": { - "$ref": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0" - }, - "maxProperties": 50 - } - } -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json deleted file mode 100644 index bed70d693..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/strategyOptions/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "strategyOptions", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "StrategyOptions", - "type": "object", - "maxProperties": 50 -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json deleted file mode 100644 index d418c1aff..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/properties/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "personalizedContentProperties", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "PersonalizedContentProperties", - "type": "object", - "maxProperties": 50 -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json deleted file mode 100644 index 5ddccd51a..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "personalizedContent", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "PersonalizedContent", - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "filters": { - "type": "array", - "items": { - "$ref": "https://unomi.apache.org/schemas/json/personalization/filter/1-0-0" - }, - "maxProperties": 50 - }, - "properties": { - "$ref" : "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/properties/1-0-0" - } - } -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json deleted file mode 100644 index 305162140..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/personalization/target/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "target", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Target", - "type": "object", - "properties": { - "target" : { - "type" : "string" - }, - "values" : { - "type" : "array", - "items": { - "type": "string" - } - } - } -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json deleted file mode 100644 index a5d860cf7..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/profile/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "profile", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Profile", - "type": "object", - "allOf": [ - { - "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" - } - ], - "properties": { - "properties" : { - "type" : "object", - "maxProperties": 50 - }, - "systemProperties" : { - "type" : "object", - "maxProperties": 50 - }, - "segments" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "scores" : { - "type" : "object", - "additionalProperties": { "type": "integer" }, - "maxProperties": 100 - }, - "mergedWith" : { - "type" : "string" - }, - "consents" : { - "type" : "object", - "additionalProperties": { "$ref" : "https://unomi.apache.org/schemas/json/consent.json" }, - "maxProperties": 50 - } - } -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json deleted file mode 100644 index ff6e646ac..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/values/boolean/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "values", - "name": "boolean", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Boolean", - "type": "boolean" -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json deleted file mode 100644 index 17975cfdb..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/values/date/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "values", - "name": "date", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Date", - "type": "string", - "format" : "date-time" -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json deleted file mode 100644 index bd9585514..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/values/email/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "values", - "name": "email", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Email", - "type": "string", - "format" : "email" -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json deleted file mode 100644 index 9e7cbe6aa..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/values/integer/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "values", - "name": "integer", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Integer", - "type": "integer" -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json deleted file mode 100644 index 035ac5838..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/values/long/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "values", - "name": "long", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Long", - "type": "integer" -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json deleted file mode 100644 index 5d411b3e5..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/values/set/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "values", - "name": "set", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Set", - "type": "object", - "maxProperties": 50 -} \ No newline at end of file diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json deleted file mode 100644 index 7a7875f99..000000000 --- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/values/string/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "values", - "name": "string", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "String", - "type": "string" -} \ No newline at end of file diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json deleted file mode 100644 index 90e5c5d86..000000000 --- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/events/articleCompleted/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "events", - "name": "articleCompleted", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "ArticleCompletedEvent", - "type": "object", - "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }], - "properties" : { - "properties" : { - "$ref" : "https://unomi.apache.org/schemas/json/events/articleCompleted/properties/1-0-0" - }, - "source" : { - "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0" - }, - "target" : { - "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0" - } - } -} \ No newline at end of file diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json deleted file mode 100644 index ab8b12d68..000000000 --- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/events/articleCompleted/properties/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self": { - "vendor": "org.apache.unomi", - "target": "events", - "name": "articleCompletedProperties", - "format": "jsonschema", - "version": "1-0-0" - }, - "title": "ArticleCompletedProperties", - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "course": { - "type": "string" - } - } -} -} \ No newline at end of file diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json deleted file mode 100644 index f9e41fc63..000000000 --- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/events/identify/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "events", - "name": "identify", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "IdentifyEvent", - "type": "object", - "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }], - "properties" : { - "properties" : { - "$ref" : "https://unomi.apache.org/schemas/json/events/identify/properties/1-0-0" - }, - "source" : { - "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0" - }, - "target" : { - "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0" - } - } -} \ No newline at end of file diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json deleted file mode 100644 index 14279b280..000000000 --- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/events/identify/properties/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self": { - "vendor": "org.apache.unomi", - "target": "events", - "name": "identifyProperties", - "format": "jsonschema", - "version": "1-0-0" - }, - "title": "IdentifyProperties", - "type": "object", - "properties": { - "nickname": { - "type": "string" - }, - "favoriteCompiler": { - "type": "string" - }, - "industry": { - "type": "string" - } - } -} \ No newline at end of file diff --git a/itests/src/test/java/org/apache/unomi/itests/BasicIT.java b/itests/src/test/java/org/apache/unomi/itests/BasicIT.java index 9606da312..06fc24ab0 100644 --- a/itests/src/test/java/org/apache/unomi/itests/BasicIT.java +++ b/itests/src/test/java/org/apache/unomi/itests/BasicIT.java @@ -154,12 +154,6 @@ public class BasicIT extends BaseIT { public void testMultipleLoginOnSameBrowser() throws IOException, InterruptedException { LOGGER.info("Start test testMultipleLoginOnSameBrowser"); - schemaService.saveSchema(resourceAsString(EVENT_TYPE_LOGIN_SCHEMA)); - keepTrying("Couldn't find login JSON schema", - () -> schemaService.getInstalledJsonSchemaIds(), - (schemaIds) -> (schemaIds.contains("https://unomi.apache.org/schemas/json/events/login/1-0-0")), - DEFAULT_TRYING_TIMEOUT, DEFAULT_TRYING_TRIES); - // Add login event condition ConditionType conditionType = CustomObjectMapper.getObjectMapper().readValue( new File("data/tmp/testLoginEventCondition.json").toURI().toURL(), ConditionType.class); @@ -281,12 +275,6 @@ public class BasicIT extends BaseIT { Profile profileVisitor2 = profileService.load(profileIdVisitor2); checkVisitor2ResponseProperties(profileVisitor2.getProperties()); - // cleanup schemas - schemaService.deleteSchema("https://unomi.apache.org/schemas/json/events/login/1-0-0"); - keepTrying("Should not find login JSON schema anymore", - () -> schemaService.getInstalledJsonSchemaIds(), - (schemaIds) -> (!schemaIds.contains("https://unomi.apache.org/schemas/json/events/login/1-0-0")), - DEFAULT_TRYING_TIMEOUT, DEFAULT_TRYING_TRIES); LOGGER.info("End test testMultipleLoginOnSameBrowser"); } diff --git a/itests/src/test/resources/schemas/events/float-property-type.json b/itests/src/test/resources/schemas/events/float-property-type.json index 024aef78a..93bb3f8ea 100644 --- a/itests/src/test/resources/schemas/events/float-property-type.json +++ b/itests/src/test/resources/schemas/events/float-property-type.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/events/floatPropertyType/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "target" : "events", "name":"floatPropertyType", "format":"jsonschema", diff --git a/itests/src/test/resources/schemas/events/test-event-type.json b/itests/src/test/resources/schemas/events/test-event-type.json index 3fc4059fb..3a30f59d8 100644 --- a/itests/src/test/resources/schemas/events/test-event-type.json +++ b/itests/src/test/resources/schemas/events/test-event-type.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/events/testEventType/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "target":"events", "name":"testEventType", "format":"jsonschema", diff --git a/itests/src/test/resources/schemas/schema-predefined.json b/itests/src/test/resources/schemas/schema-predefined.json index 88af00600..b4da0ada6 100644 --- a/itests/src/test/resources/schemas/schema-predefined.json +++ b/itests/src/test/resources/schemas/schema-predefined.json @@ -2,7 +2,7 @@ "$id": "https://unomi.apache.org/schemas/json/event/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name":"testEventType", "format":"jsonschema", "target":"events", diff --git a/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java b/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java index 38d0eb7ae..e43534155 100644 --- a/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java +++ b/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java @@ -56,7 +56,7 @@ public class ContextRequestDeserializer extends StdDeserializer<ContextRequest> public ContextRequest deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException { JsonNode node = jsonParser.getCodec().readTree(jsonParser); // Validate schema on it - if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/contextrequest/1-0-0")) { + if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0")) { throw new InvalidRequestException("Invalid Context request object", "Invalid received data"); } ContextRequest cr = new ContextRequest(); diff --git a/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java b/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java index 28b96fb0f..1bb272a0e 100644 --- a/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java +++ b/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java @@ -50,7 +50,7 @@ public class EventsCollectorRequestDeserializer extends StdDeserializer<EventsCo @Override public EventsCollectorRequest deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException, JsonProcessingException { JsonNode node = jsonParser.getCodec().readTree(jsonParser); - if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/eventscollectorrequest/1-0-0")) { + if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/rest/eventscollectorrequest/1-0-0")) { throw new InvalidRequestException("Invalid events collector object", "Invalid received data"); } diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java index 3f84bf15b..91f617357 100644 --- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java +++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java @@ -154,13 +154,9 @@ public class ContextJsonEndpoint { // Schema validation ObjectNode paramsAsJson = JsonNodeFactory.instance.objectNode(); - if (personaId != null) { - paramsAsJson.put("personaId", personaId); - } - if (sessionId != null) { - paramsAsJson.put("sessionId", sessionId); - } - if (!schemaService.isValid(paramsAsJson.toString(), "https://unomi.apache.org/schemas/json/contextrequestparams/1-0-0")) { + paramsAsJson.put("personaId", personaId); + paramsAsJson.put("sessionId", sessionId); + if (!schemaService.isValid(paramsAsJson.toString(), "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0")) { throw new InvalidRequestException("Invalid parameter", "Invalid received data"); } Date timestamp = new Date(); diff --git a/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java b/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java index 44612f158..ec1170c14 100644 --- a/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java +++ b/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java @@ -63,10 +63,11 @@ public class RestServiceUtilsImpl implements RestServiceUtils { Cookie[] cookies = httpServletRequest.getCookies(); if (cookies != null) { + final Object profileIdCookieName = configSharingService.getProperty("profileIdCookieName"); for (Cookie cookie : cookies) { - final Object profileIdCookieName = configSharingService.getProperty("profileIdCookieName"); if (profileIdCookieName.equals(cookie.getName())) { - if (!schemaService.isValid(JsonNodeFactory.instance.objectNode().put("profileIdCookieName", cookie.getValue()).toString(), "https://unomi.apache.org/schemas/json/cookie/1-0-0")) { + String profileIdJSON = JsonNodeFactory.instance.objectNode().put("profileId", cookie.getValue()).toString(); + if (!schemaService.isValid(profileIdJSON, "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0")) { throw new InvalidRequestException("Invalid profile ID format in cookie", "Invalid received data"); } cookieProfileId = cookie.getValue(); diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json deleted file mode 100644 index 835dd8e79..000000000 --- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/contextrequest/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "contextRequest", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "ContextRequest", - "type": "object", - "properties": { - "source": { - "$ref": "https://unomi.apache.org/schemas/json/contextrequest/source/1-0-0" - }, - "requireSegments": { - "type": ["null", "boolean"] - }, - "requiredProfileProperties": { - "type": ["null", "array"], - "items": { - "type": "string" - } - }, - "requiredSessionProperties": { - "type": ["null", "array"], - "items": { - "type": "string" - } - }, - "requireScores": { - "type": ["null", "boolean"] - }, - "events": { - "type": ["null", "array"], - "items": { - "type": "object" - } - }, - "filters": { - "type": ["null", "array"], - "items": { - "$ref": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0" - } - }, - "personalizations": { - "type": ["null", "array"], - "items": { - "$ref": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/1-0-0" - } - }, - "profileOverrides": { - "$ref": "https://unomi.apache.org/schemas/json/profile/1-0-0" - }, - "sessionPropertiesOverrides": { - "type": ["null", "object"], - "maxProperties": 50 - }, - "sessionId": { - "type": ["null", "string"], - "pattern" : "^(\\w|[-_@\\.]){0,60}$" - }, - "profileId": { - "type": ["null", "string"], - "pattern" : "^(\\w|[-_@\\.]){0,60}$" - }, - "clientId": { - "type": ["null", "string"] - } - } -} diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json deleted file mode 100644 index d90c6fa76..000000000 --- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/contextrequestparams/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "contextRequestParams", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "ContextRequestParams", - "type": "object", - "properties": { - "personaId" : { - "type" : "string", - "pattern" : "^(\\w|[-_@\\.]){0,60}$" - }, - "sessionId" : { - "type" : "string", - "pattern" : "^(\\w|[-_@\\.]){0,60}$" - } - } -} \ No newline at end of file diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json deleted file mode 100644 index 8f8e3a2fb..000000000 --- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/contextrequest/source/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "source", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Source", - "type": "object", - "properties" : { - "itemId" : { - "type" : ["null","string"], - "pattern" : "^(\\w|[-_@\\./]){0,100}$", - "description" : "The identifier for the item" - }, - "itemType" : { - "type" : "string", - "description" : "The type for the item" - }, - "scope" : { - "type" : ["null","string"], - "description" : "The item's scope" - }, - "version" : { - "type" : ["null","integer"], - "minimum" : 0, - "description" : "The item's version number" - }, - "systemMetadata" : { - "type" : ["null","object"], - "description" : "Any system metadata for the item", - "maxProperties" : 50 - } - } -} diff --git a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json b/rest/src/main/resources/META-INF/cxs/schemas/cookie.json deleted file mode 100644 index 8031450fd..000000000 --- a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/cookie/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "name": "cookie", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "Cookie", - "type": "object", - "properties": { - "profileIdCookieName" : { - "type" : "string", - "pattern" : "^(\\w|[-_@\\.]){0,60}$" - } - } -} \ No newline at end of file diff --git a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/rest/eventscollectorrequest.json similarity index 61% rename from rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json rename to rest/src/main/resources/META-INF/cxs/schemas/rest/eventscollectorrequest.json index 76c541e8e..9828e95ef 100644 --- a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json +++ b/rest/src/main/resources/META-INF/cxs/schemas/rest/eventscollectorrequest.json @@ -1,14 +1,15 @@ { - "$id": "https://unomi.apache.org/schemas/json/eventscollectorrequest/1-0-0", + "$id": "https://unomi.apache.org/schemas/json/rest/eventscollectorrequest/1-0-0", "$schema": "https://json-schema.org/draft/2019-09/schema", "self":{ - "vendor":"The Apache Software Foundation", + "vendor":"org.apache.unomi", "name": "eventsCollectorRequest", "format":"jsonschema", "version":"1-0-0" }, "title": "EventsCollectorRequest", "type": "object", + "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0" }], "properties": { "events" : { "type": ["array"], @@ -16,10 +17,6 @@ "type": "object" }, "minItems": 1 - }, - "sessionId" : { - "type": ["null", "string"], - "pattern" : "^(\\w|[-_@\\.]){0,60}$" } } } \ No newline at end of file diff --git a/rest/src/main/resources/META-INF/cxs/schemas/rest/requestIds.json b/rest/src/main/resources/META-INF/cxs/schemas/rest/requestIds.json new file mode 100644 index 000000000..366a79524 --- /dev/null +++ b/rest/src/main/resources/META-INF/cxs/schemas/rest/requestIds.json @@ -0,0 +1,26 @@ +{ + "$id": "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0", + "$schema": "https://json-schema.org/draft/2019-09/schema", + "self":{ + "vendor":"org.apache.unomi", + "name": "contextRequest", + "format":"jsonschema", + "version":"1-0-0" + }, + "title": "ContextRequest", + "type": "object", + "properties": { + "sessionId": { + "type": ["null", "string"], + "pattern" : "^(\\w|[-_@\\.]){0,60}$" + }, + "profileId": { + "type": ["null", "string"], + "pattern" : "^(\\w|[-_@\\.]){0,60}$" + }, + "personaId" : { + "type" : ["null", "string"], + "pattern" : "^(\\w|[-_@\\.]){0,60}$" + } + } +} diff --git a/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json b/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json deleted file mode 100644 index 8cc74e797..000000000 --- a/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0", - "$schema": "https://json-schema.org/draft/2019-09/schema", - "self":{ - "vendor":"The Apache Software Foundation", - "target" : "events", - "name": "login", - "format":"jsonschema", - "version":"1-0-0" - }, - "title": "LoginEvent", - "type": "object", - "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }], - "properties" : { - "properties" : { - "type" : "object", - "maxProperties": 50 - }, - "target" : { - "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0" - } - } -} \ No newline at end of file
