Nikita Katkov
b532cb861a
[json] IDEA-347253 Do not try to trick performance test by configuring fixture outside of the test body
...
GitOrigin-RevId: 75768fc28ca2a0dbb84fc33dc31ac8062775cb35
2024-02-26 21:59:27 +00:00
Nikita Katkov
8571e70ef4
[json + swagger] IDEA-347253 Avoid double schema reading because of outdated reading approach employed on the swagger plugin side.
...
GitOrigin-RevId: 55173a5a7a33d5926c27d0489d562abd50a4d186
2024-02-26 21:59:25 +00:00
Yuriy Artamonov
7d474bfa88
[wiremock] IDEA-346519 Suggest plugin in relevant JSON files
...
GitOrigin-RevId: 7c5be5790c8e3e57f60af4b942a5e546accb15ec
2024-02-26 11:50:55 +00:00
Nikita Katkov
90f7a06e75
[json] IJ-CR-124164 Support concurrent properties map modification via employing atomic reference paired with a persistent map
...
GitOrigin-RevId: 6129515c562ae2fd1f9df79d6919f3baa93d4d5e
2024-02-22 19:44:05 +00:00
Sergey Simonchik
897753b0b6
json: provide not-null presentableText (WEB-64360)
...
GitOrigin-RevId: 1f6479992f53b92f433707e2e42948b44a8dfb55
2024-02-22 16:00:40 +00:00
Andrey Cherkasov
8600782909
Mass cleanup: make extension classes final
...
^IDEA-309065
GitOrigin-RevId: 3109a0fdab7a1ae647ad8a3d69ac332dbc3b49b9
2024-02-21 16:23:34 +00:00
Nikita Katkov
2af9142357
[json] IDEA-346386 Use an updated test project with schemas available offline
...
GitOrigin-RevId: eda6cf1d95bacfdeee9c4a1f7f69a7fdf0a9630a
2024-02-20 22:21:58 +00:00
Nikita Katkov
272a5ce78c
[json] IDEA-346386 Do not attempt to load schemas from internet during performance tests :)
...
GitOrigin-RevId: cafd11ff786b7fef65a8f82fe0e4245427c55a6f
2024-02-19 23:28:42 +00:00
Nikita Katkov
413966dbbd
[json] IDEA-346386 Removed println
...
GitOrigin-RevId: fb26d2be85414d5f5b137aa66f12e04cfcad8e51
2024-02-19 23:28:37 +00:00
Nikita Katkov
2ffd2ba758
[json] IDEA-346386 Implemented a relatively cheap hasInjections check
...
This aims to solve a long language injections processing via employing a fast schema nodes traversal available for jackson-based json schemas.
GitOrigin-RevId: 9a6d227f90ed1723860a17e88e3b54344e019832
2024-02-19 22:26:44 +00:00
Nikita Katkov
8193d31139
[json] Always prefer more flexible json5-like object mapper for schema reading
...
This reduces some limitations applied to schema files such as strictly valid json structure. For example, a missing comma is consider an error from the default mapper's POV, but in fact we can work with such schema and ignore the warning.
GitOrigin-RevId: ae105489bc4dbe12582b62933df5889afd5e1eb9
2024-02-19 22:26:39 +00:00
Nikita Katkov
4fbb73839f
[json] Prefer original file to avoid double computation of the same schema object
...
GitOrigin-RevId: 4ff59984e2ea32635a2937d64f720d0b33d09575
2024-02-19 22:26:34 +00:00
Nikita Katkov
22e019d78c
[json] Get schema version from a given json via schema API only if the schema object is already available
...
Previously we for no reason tried to parse any json/yaml file with ajckson schema reader implying that the file is valid. It works well with schemas, but not with project files. This commit makes it impossible to attempt computing schema object for a potentially invalid project files
GitOrigin-RevId: 8267ac4aca4479a188bda2a9cc2b6f1c064365a3
2024-02-19 22:26:29 +00:00
Nikita Katkov
971fd346f6
[json] Do not parse the entire json schema only to know if it should have a corresponding icon.
...
Instead, the icon is supplied only after schema computation is finished by somebody else
GitOrigin-RevId: 40b229524d058f7bceefc9edf239f8b8365e5c27
2024-02-19 22:26:24 +00:00
Nikita Katkov
92092bcb00
[json] Do not try parsing any given file with jackson, because both schemas and plain project files access JsonCachedValues api.
...
GitOrigin-RevId: 4e185c60b27fb2d4a164cc6fcd673dd7bc3d230d
2024-02-19 22:26:18 +00:00
Nikita Katkov
e2b3e9f774
[json] Do not attempt to store missing schema objects in a schema map for files that are definitely not schemas
...
GitOrigin-RevId: b3694bf79b88e9c2537e11e8937f03cfd0ba3949
2024-02-19 22:26:08 +00:00
Nikita Katkov
f0dd4498a3
[json] IDEA-346386 Do not use weak keys map in the json objects storage
...
Mistakenly chosen api was replaced by an ordinary concurrent factory map with strong keys/values for now. Cases when we want to GC already read schema objects are: 1) when a schema is edited manually (very rare) 2) when we don't need a schema anymore (more likely to happen, but really hard to detect). Until we invent a god heuristic, we'll try to avoid letting GC of the schema objects to avoid several computations for the same schema file
GitOrigin-RevId: 28e59675f8af1cedc134467c974d3c3925bd4504
2024-02-19 22:26:03 +00:00
Stanislav Utikeev
4264ef0924
[json, AMPER-23, AMPER-341] Allow marking enums in JSON schema as order sensitive to enforce the completion order
...
GitOrigin-RevId: b82cfe8516e897e5dbb44eb2b93b56a2036f5327
2024-02-19 13:44:31 +00:00
Stanislav Utikeev
f21b3dc627
[json] Add missing test dependency for XML injection module
...
It is required for the injection tests to be properly run locally.
GitOrigin-RevId: b51a8714f632fb55d0804a332b215958d8ae9bb6
2024-02-19 13:44:19 +00:00
Nikita Katkov
7f3c3664b6
[json] More cancellation checks during json schema iteration
...
GitOrigin-RevId: 1a6763f486c622d76650ddc81a5595ea9f12a412
2024-02-16 20:36:59 +00:00
Anton Lobov
1649edc73c
[json] schema - properly handle quoted items in completion for non-json languages
...
GitOrigin-RevId: d290f06dceaf2a0a3733ab8e2e6fbda8df61de06
2024-02-14 15:45:48 +00:00
Anton Lobov
267e5f22cf
[json] support exotic property value separators in schema adapters
...
GitOrigin-RevId: dc7f626aa9ca03c0754f5e034e25e74ec87fd765
2024-02-14 15:45:48 +00:00
Anton Lobov
135e89cc72
[json] schema - add getting property name to the syntax adapter
...
GitOrigin-RevId: 25e82c17cfc156847ae344d7223fa58f2678f74f
2024-02-14 15:45:48 +00:00
Anton Lobov
da91d739ab
[json] schema - allow creating a walker without supplying a schema
...
creating a walker based on schema is a very exotic use case, usually it is defined by language only
GitOrigin-RevId: 36202fcf8dbbedc4ddae7f6136b7647491373844
2024-02-14 15:45:48 +00:00
Yann Cébron
f99d35dcda
[json] mark EPs as PossiblyDumbAware
...
GitOrigin-RevId: 4685037f4121dc12078c4ae3986d0b67b13969db
2024-02-12 16:51:43 +00:00
Vladimir Krivosheev
1c5f802ea3
do not use guava immutable map (part 2)
...
GitOrigin-RevId: a30122e0670b70932eed14da4c391317153c5024
2024-02-10 19:46:05 +00:00
Nikita Katkov
caff5c41f1
[json] Removed println-debugging artifact :D
...
GitOrigin-RevId: 5452767af9798251f7e06011031f778548ce2ad4
2024-02-09 02:13:53 +00:00
Nikita Katkov
f1bb58169e
[json] Performance highlighting test that checks both JsonSchemaObject implementations
...
GitOrigin-RevId: a7457c8734eac788e45dd361b16dba10e25301a6
2024-02-08 13:30:18 +00:00
Nikita Katkov
778a5d0be9
[json] Compute schema objects everywhere when schema or id are required
...
GitOrigin-RevId: 494130a9746f4fcca6ffca884b0e5a8305e81206
2024-02-08 13:30:13 +00:00
Nikita Katkov
c5c109615a
[json] Made azure highlighting test to be executed against both new and old implementations of JsonSchemaObject
...
GitOrigin-RevId: 4bacdc2021d2d73e9d01bc639ba72f041703136e
2024-02-08 13:30:08 +00:00
Nikita Kudrin
3dce2dce2f
[unit perf tests] AT-644 Renaming
...
GitOrigin-RevId: 464b77181de9f1e0cc6de2623201635c405ee4c3
2024-02-08 11:21:41 +00:00
Nikita Katkov
941a3b16f8
[json] IDEA-344522 Add cancellation checks across the json variants tree builder to avoid holding a read lock for too long in case we don't need the tree anymore
...
GitOrigin-RevId: 24fe597309789ec3ce221d912e6423aefd1cab03
2024-02-07 18:29:16 +00:00
Nikita Katkov
46967b586c
[json] IJ-CR-124164 Review fixes
...
- Use virtual file as a key in schema storage map
- Prefer KFMap instead of lazy properties
- Fix various minor code-style problems
GitOrigin-RevId: 20825456c5b98f654e3957eb9783badb21a6d433
2024-02-07 18:29:11 +00:00
Nikita Kudrin
b143fe1540
[unit perf tests] AT-644 Removed expected time from the tests
...
GitOrigin-RevId: a53f40c1721a46c7833018346dc622dec1f1b80a
2024-02-07 16:11:29 +00:00
Nikita Katkov
04cb5e81d7
[json] IDEA-344536 Support schemas in json5 format
...
GitOrigin-RevId: c3a50264439cd00825d58748e93bb3420c6c3e9e
2024-02-01 17:40:25 +00:00
Nikita Katkov
8865be38ba
[json] IDEA-344536 Better process HttpVirtualFiles in json schema related code
...
Consider downloadable files valid from the json widget POV, do not try resolving empty schema ids
GitOrigin-RevId: 84beab75ad46b902c7611fa8923132c3de13091d
2024-01-31 19:12:42 +00:00
alexey.barsov
94bde9010e
AMPER-311: Avoid adding values of nested entities into nested completion
...
GitOrigin-RevId: 71ceb3d3251cecb456d1c459438330e80eed0a57
2024-01-30 18:47:44 +00:00
Sergey Simonchik
ea002ba69f
json: reduce expected duration of JsonFormattingTest.testHugeJsonFile
...
GitOrigin-RevId: d4cd8e7320e643a85bb15662186254a92855ba5f
2024-01-29 13:56:17 +00:00
Sergey Simonchik
f0a354d4f6
json: fix JsonFormattingTest.testHugeJsonFile test data (WEB-64448)
...
GitOrigin-RevId: 018ca324938649cc7bb3374c41960acd1650ae84
2024-01-29 03:14:14 +00:00
Vladimir Krivosheev
a920a363f7
IJPL-326 remove getCoroutineScope
...
GitOrigin-RevId: 071d852d71a7b6a6e5a24088a9bd987fe487f407
2024-01-24 19:51:13 +00:00
Nikita Katkov
80a17985c5
[amper + json] IJ-CR-123483 Review fixes: naming, references in the comments, code style
...
GitOrigin-RevId: beea860ae411b8d8158c79c6bc7859947a24aae1
2024-01-24 19:18:27 +00:00
Nikita Katkov
892e56cde1
[json] Turn on the new JsonSchemaObject implementation again
...
The key was turned off previously to collect more metrics with the old implementation
GitOrigin-RevId: 66bcc54055fe7bfa553bd08acd311e3aa87da849
2024-01-24 19:18:20 +00:00
Andrii Zinchenko
63f42a3e4b
[devcontainers] IDEA-343782: inspection errors for comments for .devcontainer.json root file
...
GitOrigin-RevId: 9f95afc018df3078d7584869820aa1ea8004b1d0
2024-01-23 20:41:40 +00:00
Andrey Cherkasov
1a62d88764
Cleanup: use light services
...
^IDEA-254577
GitOrigin-RevId: 01afb3f2166f8713cd4599f37d43ecf7f4d2944c
2024-01-23 06:03:51 +00:00
Nikita Katkov
05bcab09f1
[json] IJ-CR-124164 Fixed examples reading in the old JsonSchemaObject mode to ensure that all tests are green in both modes
...
GitOrigin-RevId: 21f927ee64af5c0430febed9f8f70ff6d1f1f759
2024-01-18 04:05:46 +00:00
Nikita Katkov
7e2f634eb9
[json] IDEA-339628 Performance test for inspections & completion
...
Current commit disables the new JsonSchemaObject implementation to record test results before the recent susystem changes. After the statistics is collected, new implementation should be turned on again for further comparison
GitOrigin-RevId: f9cc59d2f4df2f47c6f62bf77cf3ff2efbe073fe
2024-01-18 04:05:38 +00:00
Nikita Katkov
1e3aded5cb
[json] IDEA-339628 Enable new JsonSchemaObject implementation by default
...
GitOrigin-RevId: 2c585cc8a08da782e4f6a8c90e6d091f952dc21f
2024-01-16 20:28:01 +00:00
Nikita Katkov
ec5ff2d558
[json] IDEA-339628 Ability to render raw schema node content a particular JsonSchemaObject instance is backed by.
...
Useful for debugging and tests
GitOrigin-RevId: f14a07e82d5efa01a99a4e0631486ce48c2f5b7a
2024-01-16 20:27:54 +00:00
Nikita Katkov
4b29f1a242
[json] IDEA-339628 Jackson-based raw schema accessor implementation introduced
...
This is a bridge between a high-level JsonSchemaObject API, low level schema parsing and all the existing client code that relies on the behaviour of the API that has been here since the very first release of the feature.
GitOrigin-RevId: 543ac88175f03cdeecb9c7ef044111ba1d63d05f
2024-01-16 20:27:48 +00:00
Nikita Katkov
e4919bb26f
[json] IDEA-339628 Lightweight JsonSchemaObjectMerger implementation introduced
...
This is the most valuable performance optimization related to the linked issue. The new merged schema view is a very light wrapper that is capable of merging two schema objects. It is used during in-schema resolve needed by each JsonSchema API client, e.g. during highlighting and validation. The new approach does not require any real data modifications/copying until it is actually accessed. The view objects can nest into each other or can represent a pure json schema nodes merge result. They use short boolean operations, conditional properties computation and collections iterators that do not copy data.
GitOrigin-RevId: e0d5b72ea09e9e060b5a1b8dc2a453409ce1191f
2024-01-16 20:27:41 +00:00