From 03d2645008138ca9a2c7470dec8205e0880f9dbf Mon Sep 17 00:00:00 2001 From: Pascal Desmarets Date: Wed, 22 Nov 2017 08:16:17 +0100 Subject: [PATCH] 0.1.0 to go with v1.10.x --- jsonSchemaProperties.json | 2 +- localization/en.json | 4 +- package.json | 7 +- .../container_level/containerLevelConfig.json | 43 +++++- properties_pane/defaultData.json | 3 +- .../entity_level/entityLevelConfig.json | 73 ++++++++++ .../field_level/fieldLevelConfig.json | 91 ++++++++---- .../model_level/modelLevelConfig.json | 38 ++++- .../view_level/viewLevelConfig.json | 73 ++++++++++ snippets/geopoint-geo-bounding.json | 25 ++++ snippets/geopoint-geohash.json | 4 + snippets/geopoint-geojson.json | 9 ++ snippets/geopoint-object.json | 11 ++ snippets/geopoint-string.json | 4 + snippets/geoshape-circle.json | 21 +++ snippets/geoshape-envelope.json | 31 ++++ snippets/geoshape-geometrycollection.json | 67 +++++++++ snippets/geoshape-linestring.json | 27 ++++ snippets/geoshape-multilinestring.json | 106 ++++++++++++++ snippets/geoshape-multipoint.json | 27 ++++ snippets/geoshape-multipolygon.json | 133 ++++++++++++++++++ snippets/geoshape-point.json | 17 +++ snippets/geoshape-polygon.json | 93 ++++++++++++ types/array.json | 2 - types/binary.json | 2 - types/boolean.json | 2 - types/date.json | 2 - types/geo-point.json | 27 ++++ types/geo-shape.json | 31 ++++ types/nested.json | 3 +- types/null.json | 1 - types/number.json | 2 - types/object.json | 2 - types/range.json | 2 - types/string.json | 1 - 35 files changed, 925 insertions(+), 61 deletions(-) create mode 100644 snippets/geopoint-geo-bounding.json create mode 100644 snippets/geopoint-geohash.json create mode 100644 snippets/geopoint-geojson.json create mode 100644 snippets/geopoint-object.json create mode 100644 snippets/geopoint-string.json create mode 100644 snippets/geoshape-circle.json create mode 100644 snippets/geoshape-envelope.json create mode 100644 snippets/geoshape-geometrycollection.json create mode 100644 snippets/geoshape-linestring.json create mode 100644 snippets/geoshape-multilinestring.json create mode 100644 snippets/geoshape-multipoint.json create mode 100644 snippets/geoshape-multipolygon.json create mode 100644 snippets/geoshape-point.json create mode 100644 snippets/geoshape-polygon.json create mode 100644 types/geo-point.json create mode 100644 types/geo-shape.json diff --git a/jsonSchemaProperties.json b/jsonSchemaProperties.json index ea6a87b..2c6eaa0 100644 --- a/jsonSchemaProperties.json +++ b/jsonSchemaProperties.json @@ -1,4 +1,4 @@ { - "unneededFieldProps": ["collectionName", "name", "users", "indexes", "collectionUsers", "additionalPropertieserties"], + "unneededFieldProps": ["collectionName", "name", "users", "indexes", "collectionUsers", "additionalPropertieserties", "subTypes"], "removeIfPropsNegative": ["partitionKey", "sortKey"] } \ No newline at end of file diff --git a/localization/en.json b/localization/en.json index 47cec4e..50b6d71 100644 --- a/localization/en.json +++ b/localization/en.json @@ -7,7 +7,7 @@ "MAIN_MENU___ADD_ATTRIBUTE": "Add Attribute", "MAIN_MENU___INSERT_FIELD": "Insert Field", "MAIN_MENU___APPEND_FIELD": "Append Field", - "MAIN_MENU___REVERSE_MONGODB_COLLECTIONS": "Elasticsearch indices...", + "MAIN_MENU___REVERSE_DB_COLLECTIONS": "Elasticsearch indices...", "TOOLBAR___ADD_BUCKET": "Add index", "TOOLBAR___ADD_COLLECTION": "Add type", "TOOLBAR___ADD_VIEW": "Add Filtered Alias", @@ -83,7 +83,7 @@ "MODAL_WINDOW___CONTAIN_COLLECTIONS": "types", "MODAL_WINDOW___CONTAIN_BUCKET": "indices", "MODAL_WINDOW___CONTAIN_COLLECTION": "type", - "MODAL_WINDOW___MONGODB_CONNECTION_PROCESS": "Elasticsearch Reverse-Engineering Process", + "MODAL_WINDOW___DB_CONNECTION_PROCESS": "Elasticsearch Reverse-Engineering Process", "PROGRESS_BAR___DATABASE": "Index", "PROGRESS_BAR___COLLECTION": "Type", "PROGRESS_BAR___PROCESS": "Process", diff --git a/package.json b/package.json index 4192bda..b570b57 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Elasticsearch", - "version": "0.0.1", - "versionDate": "2017-09-13", + "version": "0.1.0", + "versionDate": "2017-11-20", "author": "hackolade", "engines": { "hackolade": "1.9.x", @@ -25,7 +25,8 @@ ] }, "features": { - "nestedCollections": true + "nestedCollections": true, + "disableMultipleTypes": true } }, "description": "Hackolade plugin for Elasticsearch" diff --git a/properties_pane/container_level/containerLevelConfig.json b/properties_pane/container_level/containerLevelConfig.json index fdc3374..b780bac 100644 --- a/properties_pane/container_level/containerLevelConfig.json +++ b/properties_pane/container_level/containerLevelConfig.json @@ -14,7 +14,8 @@ making sure that you maintain a proper JSON format. "propertyName": "Simple text", "propertyKeyword": "simpletextProp", "shouldValidate": false, - "propertyType": "text" + "propertyType": "text", + "sampleGen": "&containerName|&entityName|&random|" }, { "propertyName": "Text area", @@ -42,13 +43,39 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "numericProp", "propertyValidate": true, "propertyType": "numeric", - "valueType": "number" + "valueType": "number", + "allowNegative": false, + "sampleGen": "&containerName|&entityName|&random|" }, { "propertyName": "Checkbox", "propertyKeyword": "checkboxProp", "shouldValidate": false, "propertyType": "checkbox" + }, + { + "propertyName": "Group", + "propertyType": "group", + "propertyKeyword": "grpProp", + "shouldValidate": true, + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Simple Grp Text", + "propertyKeyword": "simpleGrpText", + "shouldValidate": false, + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Group Number", + "propertyKeyword": "grpNumber", + "propertyValidate": true, + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false + } + ] } */ @@ -66,7 +93,8 @@ making sure that you maintain a proper JSON format. "typeName": "Data type", "typeOptions": ["string"], "defaultType": "string", - "disabledFieldOption": true + "disabledFieldOption": true, + "sampleGen": "&containerName" },{ "labelName": "Type", "propertyName": "Document Type", @@ -77,7 +105,8 @@ making sure that you maintain a proper JSON format. "typeName": "Data type", "typeOptions": ["string"], "defaultType": "string", - "disabledFieldOption": true + "disabledFieldOption": true, + "sampleGen": "&entityName" },{ "labelName": "ID", "propertyName": "Document ID", @@ -91,14 +120,16 @@ making sure that you maintain a proper JSON format. "number" ], "defaultType": "number", - "disabledFieldOption": true + "disabledFieldOption": true, + "sampleGen": "&random" },{ "labelName": "Source", "propertyName": "source", "propertyKeyword": "source", "defaultName": "_source", "propertyPrimaryKey": false, - "propertyType": "object", + "propertyType": "text", + "valueType": "object", "typeName": "Data type", "typeOptions": [ "object" diff --git a/properties_pane/defaultData.json b/properties_pane/defaultData.json index 926e467..4a98c81 100644 --- a/properties_pane/defaultData.json +++ b/properties_pane/defaultData.json @@ -2,7 +2,8 @@ "model": { "modelName": "New model", "dbVersion": "", - "dbVendor": "Elasticsearch" + "dbVendor": "Elasticsearch", + "port": 9200 }, "container": { "name": "New index", diff --git a/properties_pane/entity_level/entityLevelConfig.json b/properties_pane/entity_level/entityLevelConfig.json index 82b8feb..b7474a4 100644 --- a/properties_pane/entity_level/entityLevelConfig.json +++ b/properties_pane/entity_level/entityLevelConfig.json @@ -5,6 +5,79 @@ * The software may be used and/or copied only with the written permission of * IntegrIT S.A. or in accordance with the terms and conditions stipulated in * the agreement/contract under which the software has been supplied. + + +In order to define custom properties for any object's properties pane, you may copy/paste from the following, +making sure that you maintain a proper JSON format. + + { + "propertyName": "Simple text", + "propertyKeyword": "simpletextProp", + "shouldValidate": false, + "propertyType": "text", + "sampleGen": "&containerName|&entityName|&random|" + }, + { + "propertyName": "Text area", + "propertyKeyword": "textareaProp", + "propertyValidate": false, + "propertyTooltip": "Popup for multi-line text entry", + "propertyType": "details", + "template": "textarea" + }, + { + "propertyName": "Dropdown selection", + "propertyKeyword": "dropdownProp", + "shouldValidate": false, + "propertyTooltip": "Select from list of options", + "propertyType": "select", + "options": [ + "Option 1", + "Option 2", + "Option 3", + "Option 4" + ] + }, + { + "propertyName": "Numeric", + "propertyKeyword": "numericProp", + "propertyValidate": true, + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false, + "sampleGen": "&containerName|&entityName|&random|" + }, + { + "propertyName": "Checkbox", + "propertyKeyword": "checkboxProp", + "shouldValidate": false, + "propertyType": "checkbox" + }, + { + "propertyName": "Group", + "propertyType": "group", + "propertyKeyword": "grpProp", + "shouldValidate": true, + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Simple Grp Text", + "propertyKeyword": "simpleGrpText", + "shouldValidate": false, + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Group Number", + "propertyKeyword": "grpNumber", + "propertyValidate": true, + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false + } + ] + } + */ [ diff --git a/properties_pane/field_level/fieldLevelConfig.json b/properties_pane/field_level/fieldLevelConfig.json index 05809c2..27bd319 100644 --- a/properties_pane/field_level/fieldLevelConfig.json +++ b/properties_pane/field_level/fieldLevelConfig.json @@ -14,7 +14,8 @@ making sure that you maintain a proper JSON format. "propertyName": "Simple text", "propertyKeyword": "simpletextProp", "shouldValidate": false, - "propertyType": "text" + "propertyType": "text", + "sampleGen": "&containerName|&entityName|&random|" }, { "propertyName": "Text area", @@ -42,13 +43,39 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "numericProp", "propertyValidate": true, "propertyType": "numeric", - "valueType": "number" + "valueType": "number", + "allowNegative": false, + "sampleGen": "&containerName|&entityName|&random|" }, { "propertyName": "Checkbox", "propertyKeyword": "checkboxProp", "shouldValidate": false, "propertyType": "checkbox" + }, + { + "propertyName": "Group", + "propertyType": "group", + "propertyKeyword": "grpProp", + "shouldValidate": true, + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Simple Grp Text", + "propertyKeyword": "simpleGrpText", + "shouldValidate": false, + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Group Number", + "propertyKeyword": "grpNumber", + "propertyValidate": true, + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false + } + ] } */ @@ -84,7 +111,8 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "boost", "propertyValidate": false, "propertyType": "numeric", - "valueType": "number" + "valueType": "number", + "allowNegative": false }, { "propertyName": "doc_values", @@ -103,7 +131,8 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "ignore_above", "propertyValidate": false, "propertyType": "numeric", - "valueType": "number" + "valueType": "number", + "allowNegative": false }, { "propertyName": "include_in_all", @@ -111,13 +140,6 @@ making sure that you maintain a proper JSON format. "shouldValidate": false, "propertyType": "checkbox" }, - { - "propertyName": "ignore_above", - "propertyKeyword": "ignore_above", - "propertyValidate": false, - "propertyType": "numeric", - "valueType": "number" - }, { "propertyName": "index", "propertyKeyword": "index", @@ -222,7 +244,8 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "boost", "propertyValidate": false, "propertyType": "numeric", - "valueType": "number" + "valueType": "number", + "allowNegative": false }, { "propertyName": "doc_values", @@ -265,7 +288,8 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "scaling_factor", "propertyValidate": false, "propertyType": "numeric", - "valueType": "number" + "valueType": "number", + "allowNegative": false }, "unit", "minimum", @@ -291,7 +315,8 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "boost", "propertyValidate": false, "propertyType": "numeric", - "valueType": "number" + "valueType": "number", + "allowNegative": false }, { "propertyName": "doc_values", @@ -357,7 +382,8 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "boost", "propertyValidate": false, "propertyType": "numeric", - "valueType": "number" + "valueType": "number", + "allowNegative": false }, { "propertyName": "doc_values", @@ -386,7 +412,6 @@ making sure that you maintain a proper JSON format. "sample", "comments" ], -/* "binary": [ "name", "schemaId", @@ -394,7 +419,6 @@ making sure that you maintain a proper JSON format. "description", "dependencies", "required", - "default", { "propertyName": "doc_values", "propertyKeyword": "doc_values", @@ -407,7 +431,6 @@ making sure that you maintain a proper JSON format. "shouldValidate": false, "propertyType": "checkbox" }, - "sample", "comments" ], "range": [ @@ -417,7 +440,6 @@ making sure that you maintain a proper JSON format. "description", "dependencies", "required", - "default", { "propertyName": "Mode", "propertyKeyword": "mode", @@ -442,7 +464,8 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "boost", "propertyValidate": false, "propertyType": "text", - "valueType": "number" + "valueType": "number", + "allowNegative": false }, { "propertyName": "include_in_all", @@ -456,12 +479,30 @@ making sure that you maintain a proper JSON format. "shouldValidate": false, "propertyType": "checkbox" }, - "minProperties": "", - "maxProperties": "", - "additionalProperties": false, + "minProperties", + "maxProperties", + "additionalProperties", "comments" ], -*/ - "binary": "binary" + "___1": [], + "geo-point": [ + "name", + "schemaId", + "type", + "description", + "required", + "comments", + "subtype" + ], + "geo-shape": [ + "name", + "schemaId", + "type", + "description", + "required", + "comments", + "subtype" + ], + "___2": [] } } \ No newline at end of file diff --git a/properties_pane/model_level/modelLevelConfig.json b/properties_pane/model_level/modelLevelConfig.json index 6cfb059..b390a90 100644 --- a/properties_pane/model_level/modelLevelConfig.json +++ b/properties_pane/model_level/modelLevelConfig.json @@ -6,6 +6,7 @@ * IntegrIT S.A. or in accordance with the terms and conditions stipulated in * the agreement/contract under which the software has been supplied. + In order to define custom properties for any object's properties pane, you may copy/paste from the following, making sure that you maintain a proper JSON format. @@ -13,7 +14,8 @@ making sure that you maintain a proper JSON format. "propertyName": "Simple text", "propertyKeyword": "simpletextProp", "shouldValidate": false, - "propertyType": "text" + "propertyType": "text", + "sampleGen": "&containerName|&entityName|&random|" }, { "propertyName": "Text area", @@ -40,14 +42,40 @@ making sure that you maintain a proper JSON format. "propertyName": "Numeric", "propertyKeyword": "numericProp", "propertyValidate": true, - "propertyType": "text", - "valueType": "number" + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false, + "sampleGen": "&containerName|&entityName|&random|" }, { "propertyName": "Checkbox", "propertyKeyword": "checkboxProp", "shouldValidate": false, "propertyType": "checkbox" + }, + { + "propertyName": "Group", + "propertyType": "group", + "propertyKeyword": "grpProp", + "shouldValidate": true, + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Simple Grp Text", + "propertyKeyword": "simpleGrpText", + "shouldValidate": false, + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Group Number", + "propertyKeyword": "grpNumber", + "propertyValidate": true, + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false + } + ] } */ @@ -99,9 +127,9 @@ making sure that you maintain a proper JSON format. "propertyKeyword": "port", "shouldValidate": false, "propertyTooltip": "Port", - "propertyDefault": 9200, "propertyType": "numeric", - "valueType": "number" + "valueType": "number", + "allowNegative": false }, { "propertyName": "Comments", diff --git a/properties_pane/view_level/viewLevelConfig.json b/properties_pane/view_level/viewLevelConfig.json index a43dfd8..37ad202 100644 --- a/properties_pane/view_level/viewLevelConfig.json +++ b/properties_pane/view_level/viewLevelConfig.json @@ -5,6 +5,79 @@ * The software may be used and/or copied only with the written permission of * IntegrIT S.A. or in accordance with the terms and conditions stipulated in * the agreement/contract under which the software has been supplied. + + +In order to define custom properties for any object's properties pane, you may copy/paste from the following, +making sure that you maintain a proper JSON format. + + { + "propertyName": "Simple text", + "propertyKeyword": "simpletextProp", + "shouldValidate": false, + "propertyType": "text", + "sampleGen": "&containerName|&entityName|&random|" + }, + { + "propertyName": "Text area", + "propertyKeyword": "textareaProp", + "propertyValidate": false, + "propertyTooltip": "Popup for multi-line text entry", + "propertyType": "details", + "template": "textarea" + }, + { + "propertyName": "Dropdown selection", + "propertyKeyword": "dropdownProp", + "shouldValidate": false, + "propertyTooltip": "Select from list of options", + "propertyType": "select", + "options": [ + "Option 1", + "Option 2", + "Option 3", + "Option 4" + ] + }, + { + "propertyName": "Numeric", + "propertyKeyword": "numericProp", + "propertyValidate": true, + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false, + "sampleGen": "&containerName|&entityName|&random|" + }, + { + "propertyName": "Checkbox", + "propertyKeyword": "checkboxProp", + "shouldValidate": false, + "propertyType": "checkbox" + }, + { + "propertyName": "Group", + "propertyType": "group", + "propertyKeyword": "grpProp", + "shouldValidate": true, + "propertyTooltip": "", + "structure": [ + { + "propertyName": "Simple Grp Text", + "propertyKeyword": "simpleGrpText", + "shouldValidate": false, + "propertyTooltip": "", + "propertyType": "text" + }, + { + "propertyName": "Group Number", + "propertyKeyword": "grpNumber", + "propertyValidate": true, + "propertyType": "numeric", + "valueType": "number", + "allowNegative": false + } + ] + } + */ [ diff --git a/snippets/geopoint-geo-bounding.json b/snippets/geopoint-geo-bounding.json new file mode 100644 index 0000000..c5779e5 --- /dev/null +++ b/snippets/geopoint-geo-bounding.json @@ -0,0 +1,25 @@ +{ + "name": "geopoint-geo-bounding", + "parentType": "document", + "properties": [{ + "name": "top_left", + "type": "object", + "properties": [{ + "name": "lat", + "type": "number" + }, { + "name": "lon", + "type": "number" + }] + }, { + "name": "bottom_right", + "type": "object", + "properties": [{ + "name": "lat", + "type": "number" + }, { + "name": "lon", + "type": "number" + }] + }] +} diff --git a/snippets/geopoint-geohash.json b/snippets/geopoint-geohash.json new file mode 100644 index 0000000..55cf5c6 --- /dev/null +++ b/snippets/geopoint-geohash.json @@ -0,0 +1,4 @@ +{ + "name": "geopoint-geohash", + "parentType": "string" +} diff --git a/snippets/geopoint-geojson.json b/snippets/geopoint-geojson.json new file mode 100644 index 0000000..1c9f243 --- /dev/null +++ b/snippets/geopoint-geojson.json @@ -0,0 +1,9 @@ +{ + "name": "geopoint-geojson", + "parentType": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] +} diff --git a/snippets/geopoint-object.json b/snippets/geopoint-object.json new file mode 100644 index 0000000..44531d4 --- /dev/null +++ b/snippets/geopoint-object.json @@ -0,0 +1,11 @@ +{ + "name": "geopoint-object", + "parentType": "document", + "properties": [{ + "name": "lat", + "type": "number" + }, { + "name": "lon", + "type": "number" + }] +} diff --git a/snippets/geopoint-string.json b/snippets/geopoint-string.json new file mode 100644 index 0000000..aa4de91 --- /dev/null +++ b/snippets/geopoint-string.json @@ -0,0 +1,4 @@ +{ + "name": "geopoint-string", + "parentType": "string" +} diff --git a/snippets/geoshape-circle.json b/snippets/geoshape-circle.json new file mode 100644 index 0000000..6e46d0e --- /dev/null +++ b/snippets/geoshape-circle.json @@ -0,0 +1,21 @@ +{ + "name": "geoshape-circle", + "parentType": "document", + "properties": [{ + "name": "type", + "type": "string", + "sample": "circle" + }, { + "name": "radius", + "type": "string", + "sample": "100m" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] +} diff --git a/snippets/geoshape-envelope.json b/snippets/geoshape-envelope.json new file mode 100644 index 0000000..023ec37 --- /dev/null +++ b/snippets/geoshape-envelope.json @@ -0,0 +1,31 @@ +{ + "name": "geoshape-envelope", + "parentType": "document", + "properties": [{ + "name": "type", + "type": "string", + "sample": "envelope" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number", + "sample": -45.0 + }, { + "type": "number", + "sample": 45.0 + }] + }, { + "type": "array", + "properties": [{ + "type": "number", + "sample": 45.0 + }, { + "type": "number", + "sample": -45.0 + }] + }] + }] +} diff --git a/snippets/geoshape-geometrycollection.json b/snippets/geoshape-geometrycollection.json new file mode 100644 index 0000000..10f3102 --- /dev/null +++ b/snippets/geoshape-geometrycollection.json @@ -0,0 +1,67 @@ +{ + "name": "geoshape-geometrycollection", + "parentType": "document", + "properties": [{ + "name": "type", + "type": "string", + "sample": "geometrycollection" + }, { + "name": "geometries", + "type": "array", + "properties": [{ + "type": "object", + "properties": [{ + "name": "type", + "type": "string", + "sample": "point" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }, { + "type": "object", + "properties": [{ + "name": "type", + "type": "string", + "sample": "linestring" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }] + }] + }] +} diff --git a/snippets/geoshape-linestring.json b/snippets/geoshape-linestring.json new file mode 100644 index 0000000..5986a14 --- /dev/null +++ b/snippets/geoshape-linestring.json @@ -0,0 +1,27 @@ +{ + "name": "geoshape-linestring", + "parentType": "document", + "properties": [{ + "name": "type", + "type": "string", + "sample": "linestring" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }] +} diff --git a/snippets/geoshape-multilinestring.json b/snippets/geoshape-multilinestring.json new file mode 100644 index 0000000..ea1ca3e --- /dev/null +++ b/snippets/geoshape-multilinestring.json @@ -0,0 +1,106 @@ +{ + "name": "geoshape-multilinestring", + "parentType": "document", + "properties": [{ + "name": "type", + "type": "string", + "sample": "multilinestring" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }, { + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }, { + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }] + }] +} diff --git a/snippets/geoshape-multipoint.json b/snippets/geoshape-multipoint.json new file mode 100644 index 0000000..f9d6807 --- /dev/null +++ b/snippets/geoshape-multipoint.json @@ -0,0 +1,27 @@ +{ + "name": "geoshape-multipoint", + "parentType": "document", + "properties": [{ + "name": "type", + "type": "string", + "sample": "multipoint" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }] +} diff --git a/snippets/geoshape-multipolygon.json b/snippets/geoshape-multipolygon.json new file mode 100644 index 0000000..9a7344d --- /dev/null +++ b/snippets/geoshape-multipolygon.json @@ -0,0 +1,133 @@ +{ + "name": "geoshape-multipolygon", + "parentType": "document", + "properties": [{ + "name": "type", + "type": "string", + "sample": "multipolygon" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }] + }, { + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }, { + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }] + }] + }] +} diff --git a/snippets/geoshape-point.json b/snippets/geoshape-point.json new file mode 100644 index 0000000..4a8b18d --- /dev/null +++ b/snippets/geoshape-point.json @@ -0,0 +1,17 @@ +{ + "name": "geoshape-point", + "parentType": "document", + "properties": [{ + "name": "type", + "type": "string", + "sample": "point" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] +} diff --git a/snippets/geoshape-polygon.json b/snippets/geoshape-polygon.json new file mode 100644 index 0000000..4074112 --- /dev/null +++ b/snippets/geoshape-polygon.json @@ -0,0 +1,93 @@ +{ + "name": "geoshape-polygon", + "parentType": "document", + "properties": [{ + "name": "type", + "type": "string", + "sample": "polygon" + }, { + "name": "orientation", + "type": "string", + "sample": "clockwise" + }, { + "name": "coordinates", + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }, { + "type": "array", + "properties": [{ + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }, { + "type": "array", + "properties": [{ + "type": "number" + }, { + "type": "number" + }] + }] + }] + }] +} diff --git a/types/array.json b/types/array.json index a1314a0..0e803bc 100644 --- a/types/array.json +++ b/types/array.json @@ -6,8 +6,6 @@ "sample": ["sample"], "useSample": true, "defaultValues": { - "type": "array", - "childType": "array", "properties": [], "primaryKey": false, "relationshipType": "", diff --git a/types/binary.json b/types/binary.json index cfbde21..046f0b6 100644 --- a/types/binary.json +++ b/types/binary.json @@ -5,8 +5,6 @@ "parentType": "binary", "useSample": false, "defaultValues": { - "type": "binary", - "childType": "binary", "primaryKey": false, "relationshipType": "", "parentRelationship": "", diff --git a/types/boolean.json b/types/boolean.json index d03bf5a..ec02f5e 100644 --- a/types/boolean.json +++ b/types/boolean.json @@ -6,8 +6,6 @@ "sample": true, "useSample": true, "defaultValues": { - "type": "boolean", - "childType": "boolean", "default": "", "enum": [], "primaryKey": false, diff --git a/types/date.json b/types/date.json index 94a725e..16302de 100644 --- a/types/date.json +++ b/types/date.json @@ -5,8 +5,6 @@ "parentType": "string", "useSample": true, "defaultValues": { - "type": "string", - "childType": "date", "relationshipType": "", "parentRelationship": "", "childRelationships": [], diff --git a/types/geo-point.json b/types/geo-point.json new file mode 100644 index 0000000..fd8e054 --- /dev/null +++ b/types/geo-point.json @@ -0,0 +1,27 @@ +{ + "name": "geo-point", + "erdAbbreviation": "", + "dtdAbbreviation": "{...}", + "parentType": "document", + "defaultValues": { + "primaryKey": false, + "relationshipType": "", + "parentRelationship": "", + "childRelationships": [], + "foreignCollection": "", + "foreignField": [], + "properties": [], + "dependencies": [], + "minProperties": "", + "maxProperties": "", + "additionalProperties": false, + "enum": [], + "subTypes": [ + { "name": "object", "snippet": "geopoint-object" }, + { "name": "string", "snippet": "geopoint-string" }, + { "name": "geoJSON", "snippet": "geopoint-geojson" }, + { "name": "geo-bounding", "snippet": "geopoint-geo-bounding" }, + { "name": "geohash", "snippet": "geopoint-geohash" } + ] + } +} \ No newline at end of file diff --git a/types/geo-shape.json b/types/geo-shape.json new file mode 100644 index 0000000..8ac0e50 --- /dev/null +++ b/types/geo-shape.json @@ -0,0 +1,31 @@ +{ + "name": "geo-shape", + "erdAbbreviation": "", + "dtdAbbreviation": "{...}", + "parentType": "document", + "defaultValues": { + "primaryKey": false, + "relationshipType": "", + "parentRelationship": "", + "childRelationships": [], + "foreignCollection": "", + "foreignField": [], + "properties": [], + "dependencies": [], + "minProperties": "", + "maxProperties": "", + "additionalProperties": false, + "enum": [], + "subTypes": [ + { "name": "point", "snippet": "geoshape-point" }, + { "name": "linestring", "snippet": "geoshape-linestring" }, + { "name": "polygon", "snippet": "geoshape-polygon" }, + { "name": "multipoint", "snippet": "geoshape-multipoint" }, + { "name": "multilinestring", "snippet": "geoshape-multilinestring" }, + { "name": "multipolygon", "snippet": "geoshape-multipolygon" }, + { "name": "geometrycollection", "snippet": "geoshape-geometrycollection" }, + { "name": "envelope", "snippet": "geoshape-envelope" }, + { "name": "circle", "snippet": "geoshape-circle" } + ] + } +} \ No newline at end of file diff --git a/types/nested.json b/types/nested.json index c75ef1f..7880fb8 100644 --- a/types/nested.json +++ b/types/nested.json @@ -6,8 +6,7 @@ "sample": ["sample"], "useSample": true, "defaultValues": { - "type": "array", - "childType": "array", + "childValueType": "object", "properties": [], "primaryKey": false, "relationshipType": "", diff --git a/types/null.json b/types/null.json index 3770e4c..d24d883 100644 --- a/types/null.json +++ b/types/null.json @@ -4,7 +4,6 @@ "dtdAbbreviation": "{null}", "useSample": false, "defaultValues": { - "type": "null", "primaryKey": false, "relationshipType": "", "parentRelationship": "", diff --git a/types/number.json b/types/number.json index 9483af0..18b9c18 100644 --- a/types/number.json +++ b/types/number.json @@ -6,8 +6,6 @@ "sample": 15, "useSample": true, "defaultValues": { - "type": "numeric", - "childType": "number", "unit": "", "minimum": "", "exclusiveMinimum": false, diff --git a/types/object.json b/types/object.json index 8e59a28..eb1e71d 100644 --- a/types/object.json +++ b/types/object.json @@ -4,8 +4,6 @@ "dtdAbbreviation": "{...}", "parentType": "document", "defaultValues": { - "type": "document", - "childType": "object", "primaryKey": false, "relationshipType": "", "parentRelationship": "", diff --git a/types/range.json b/types/range.json index 80caa9b..8e816e2 100644 --- a/types/range.json +++ b/types/range.json @@ -4,8 +4,6 @@ "dtdAbbreviation": "{x-y}", "parentType": "document", "defaultValues": { - "type": "document", - "childType": "range", "primaryKey": false, "relationshipType": "", "parentRelationship": "", diff --git a/types/string.json b/types/string.json index c056485..9322364 100644 --- a/types/string.json +++ b/types/string.json @@ -4,7 +4,6 @@ "dtdAbbreviation": "{ABC}", "useSample": true, "defaultValues": { - "type": "string", "minLength": "", "maxLength": "", "pattern": "",