profile
viewpoint
Vlad Rindevich Lodin @vaadin Russia www.linkedin.com/in/lodin Senior Software Engineer at @vaadin

calebdwilliams/construct-style-sheets 100

Constructible style sheets/adopted style sheets polyfill

corpusculejs/custom-builtin-elements 14

A full-featured polyfill for customized built-in elements

Lodin/angular2-localstorage 1

Angular2 decorator to save and restore variables/class properties to HTML5 LocalStorage automatically.

Lodin/broccoli-babel-plugin 1

Babel plugin for broccoli

Lodin/eslint-config-poetez 1

A ESLint config for Poetez Project

Lodin/iterator2d 1

A two-dimensional collection iterator in Rust

corpusculejs/construct-stylesheet-loader 0

A Webpack loader to convert CSS files to Constructible StyleSheet objects

Lodin/babel 0

:tropical_fish: Babel is a compiler for writing next generation JavaScript.

Lodin/babel-plugin-reimport 0

Babel plugin for fully controlled import customization

PR opened vaadin/hilla

fix: add various fixes to parser and generator fusion
+586 -2071

0 comment

56 changed files

pr created time in 16 hours

push eventvaadin/hilla

Vlad Rindevich

commit sha c9b52d39ac83995829821e7d518d52e3136f376b

fix(java): use correct detection for Optional & other system classes

view details

Vlad Rindevich

commit sha add9ffc645cdff78b29ecde5b8a0070e820f5f3a

fix(ts): fix various TS issues - Logging from different plugins - Use plugin itself as a context

view details

Vlad Rindevich

commit sha 677948522a8226d007e6b3306ed085ac4ac13dd7

fix(ts/generator-typescript-plugin-model): use separate export default statement

view details

push time in 16 hours

PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentvaadin/hilla

refactor(java): move ValidationConstraint to the new Model plugin

+package com.vaadin.fusion.parser.core;++import java.util.Optional;+import java.util.SortedSet;++public class PluginsToolset {

Hmm, interesting idea. Will try

Lodin

comment created time in a day

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentvaadin/hilla

refactor(java): move ValidationConstraint to the new Model plugin

+package com.vaadin.fusion.parser.model.utils;++import static com.vaadin.fusion.parser.testutils.OpenAPIAssertions.assertEquals;++import java.io.IOException;+import java.net.URISyntaxException;+import java.nio.file.Path;++import com.fasterxml.jackson.databind.ObjectMapper;++import com.vaadin.fusion.parser.core.Parser;+import com.vaadin.fusion.parser.core.ParserConfig;+import com.vaadin.fusion.parser.testutils.ResourceLoader;++import io.swagger.v3.core.util.Json;+import io.swagger.v3.oas.models.OpenAPI;++public abstract class TestBase {+    protected final ObjectMapper mapper = Json.mapper();+    protected final ResourceLoader resourceLoader;+    protected Path targetDir;++    {

Nope, unfortunately. I don't understand why but JUnit fails to find a method with @BeforeEach in the parent class. If you know why it happens and how to fix that, it would be great to implement

Lodin

comment created time in a day

PullRequestReviewEvent
PullRequestReviewEvent

push eventvaadin/fusion

Vlad Rindevich

commit sha 1b7adfe5c0b5533344c298356f01ef06dcf752c1

refactor(java/parser-jvm-core): use lazy memoized request for collecting element's members

view details

push time in 2 days

create barnchvaadin/fusion

branch : fix/backbone/endless-loop

created branch time in 2 days

push eventvaadin/fusion

Vlad Rindevich

commit sha 76768ac09892b4ce8d0eeda6806381c172697cef

style(java/parser-jvm-plugin-backbone): format

view details

push time in 6 days

push eventvaadin/fusion

Vlad Rindevich

commit sha 5301747278b3e22c06681678efab63adeff57658

fix(java/parser-jvm-plugin-backbone): use correct naming for params

view details

Vlad Rindevich

commit sha eb66bf0f32a09d7c9beca61d3956a5b269ad5f80

refactor(java/parser-jvm-plugin-backbone): simplify expressions

view details

push time in 6 days

push eventvaadin/fusion

Vlad Rindevich

commit sha 198024a0958c1bee213d7dca3e3ad3814c540e44

test(java/parser-jvm-plugin-backbone): format

view details

push time in 6 days

create barnchvaadin/fusion

branch : refactor/backbone-plugin/fields

created branch time in 6 days

issue commentLodin/react-vtree

Are there plans to release 3.0.0 soon?

Hi @ankur-sarda, sorry for making you wait for so long time.

Yes, the functionality work is mostly over and released as the latest beta. I also want to update all the dependencies and storybook to the latest versions; this is WIP for now. Unfortunately, it's relatively slow because I don't have enough time. However, for now, you can use the latest beta. It is pretty stable, and I'm not going to implement any new feature or breaking change there.

ankur-sarda

comment created time in 6 days

push eventvaadin/fusion

Vlad Rindevich

commit sha 4d18290eeeb98c0c549c65b3b0eb6d0cab5a2ac7

chore(java/maven-plugin): fix model plugin dependency

view details

Vlad Rindevich

commit sha e18982e212e9808ab1e3f0f2d026b0a466471404

chore: add model plugin child project

view details

push time in 7 days

push eventvaadin/fusion

Vlad Rindevich

commit sha f1b3284e3e9b3123960b3af9525a9aa83afb8429

fix(java/maven-plugin): fix broken update

view details

push time in 7 days

push eventvaadin/fusion

Vlad Rindevich

commit sha e2e9f714567e738259eb770154a89c1b828266af

feat(java): add Nonnull plugin (#156) * feat(java/maven-plugin): add ability to set plugin configuration * refactor(java/parser-jvm-core): use PluginConfiguration interface & fix tests * style(java/parser-jvm-core): format * style(java/maven-plugin): format * refactor(java/maven-plugin): address review comments * test(java/parser-jvm-core): fix tests * feat(java/parser-jvm-core): implement plugin manual ordering * feat(java): add NonnullPlugin * feat(java): add parser-jvm-utils module * refactor(java/maven-plugin): use parser-jvm-utils * feat(java/parser-jvm-plugins-nonnull): use parser-jvm-utils * feat(java): add parser-jvm-utils module * refactor(java/maven-plugin): use parser-jvm-utils * style(java/maven-plugin): format * style(java/parser-jvm-core): format * refactor(java): small improvements * refactor(java/parser-jvm-plugin-nonnull): update NonnullPluginConfig * refactor(java/parser-jvm-utils): use interface instead of a class to fit maven reflection * refactor(java/parser-jvm-utils): use interface instead of a class to fit maven reflection * fix(java/parser-jvm-plugin-nonnull): add empty constructor * fix(java/parser-jvm-utils): use merge function in ConfigList Processor * feat(java/parser-jvm-utils): add BidirectionalMap structure * feat(java/parser-jvm-plugin-backbone): add AssoiciationMap * feat(java/parser-jvm-plugin-backbone): implement generic types * feat(java/parser-jvm-plugin-backbone): implement generic types * test(java/parser-jvm-plugin-backbone): update tests * feat(java): add parser-jvm-test-utils package * refactor(java/parser-jvm-plugin-nonnull): implement NonnullPlugin correctly & add tests * fix(java/parser-jvm-plugin-nonnull): correctly detect nonnull annotations for nested classes * style(java/parser-jvm-plugin-nonnull): format * style(java/parser-jvm-plugin-backbone): format * style(java/maven-plugin): format * fix(java/parser-jvm-core): attempt to resolve null pointer exception * chore(java/parser-jvm-plugin-nonnull): improve pom.xml * fix(java/parser-jvm-test-utils): fix issue with incorrect resource loading * style(java): format * chore(java): remove debug calls & fix failing tests * test(java/parser-jvm-plugin-backbone): fix test fixture * test(java/parser-jvm-plugin-nonnull): add missing test fixture * test(java/parser-jvm-plugin-nonnull): fix test fixture * style(java/parser-jvm-plugin-backbone): format * test(java/parser-jvm-plugin-backbone): fix failing tests * test(java/parser-jvm-plugin-backbone): format * test(java/parser-jvm-plugin-model): fix properties order * test(java/parser-jvm-plugin-backbone): add TestBase class & address review comments * chore(java/parser-jvm-test-utils): address review comments * test(java/parser-jvm-plugin-nonnull): add TestBase class * test(java/parser-jvm-plugin-backbone): format * chore(java/maven-plugin): address review comments * chore: manage dep versions with parent dep management Co-authored-by: haijian <haijian@vaadin.com>

view details

Vlad Rindevich

commit sha 27d99ee7b6175c7cba03750cd7f03ca7225ede07

Merge branch 'main' into refactor/model-plugin # Conflicts: # packages/java/maven-plugin/pom.xml # packages/java/maven-plugin/src/main/java/com/vaadin/fusion/maven/ParserConfiguration.java # packages/java/parser-jvm-core/pom.xml # packages/java/parser-jvm-plugin-backbone/pom.xml # packages/java/parser-jvm-plugin-backbone/src/main/java/com/vaadin/fusion/parser/plugins/backbone/SchemaProcessor.java # packages/java/parser-jvm-plugin-backbone/src/main/java/com/vaadin/fusion/parser/plugins/backbone/ValidationConstraint.java # packages/java/parser-jvm-plugin-backbone/src/main/java/com/vaadin/fusion/parser/plugins/backbone/ValidationSchemaProcessor.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/complexhierarchy/ComplexHierarchyTest.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/complextype/ComplexTypeTest.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/datetime/DateTimeTest.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/enumtype/EnumTypeTest.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/generics/GenericsMethodsEndpoint.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/generics/GenericsRefEntity.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/generics/GenericsTest.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/iterable/IterableTest.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/multiendpoints/MultiEndpointsTest.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/shadowedname/ShadowedNameTest.java # packages/java/parser-jvm-plugin-backbone/src/test/java/com/vaadin/fusion/parser/plugins/backbone/simpletype/SimpleTypeTest.java # packages/java/parser-jvm-plugin-backbone/src/test/resources/com/vaadin/fusion/parser/plugins/backbone/generics/openapi.json # packages/java/parser-jvm-plugin-model/src/test/java/com/vaadin/fusion/parser/plugins/model/validation/ValidationTest.java # packages/java/parser-jvm-plugin-model/src/test/resources/com/vaadin/fusion/parser/plugins/model/validation/openapi.json # packages/java/parser-jvm-plugin-nonnull/pom.xml # packages/java/parser-jvm-plugin-nonnull/src/test/java/com/vaadin/fusion/parser/plugins/nonnull/basic/BasicTest.java # packages/java/parser-jvm-plugin-nonnull/src/test/java/com/vaadin/fusion/parser/plugins/nonnull/extended/ExtendedTest.java # packages/java/parser-jvm-test-utils/pom.xml # pom.xml

view details

Vlad Rindevich

commit sha 93bfff8072ea4ce9a44006ad08d98467e519f20a

refactor(java): move AssociationMap to core & add PluginsToolset to check plugin running before/after the current one

view details

push time in 7 days

push eventvaadin/fusion

Vlad Rindevich

commit sha 628346a64ed7759fbb5effbbca1c6c42a7669851

chore(java/maven-plugin): address review comments

view details

push time in 8 days

push eventvaadin/fusion

Vlad Rindevich

commit sha 4e8ac6f52f914add78b92fe4a20a74adc7dca33c

test(java/parser-jvm-plugin-backbone): add TestBase class & address review comments

view details

Vlad Rindevich

commit sha 16d6a8c965a93c70fa0b8de89815369ce3df3d9d

chore(java/parser-jvm-test-utils): address review comments

view details

Vlad Rindevich

commit sha 6280b4fd4225be99edc3c7d178a8aedc1b357185

test(java/parser-jvm-plugin-nonnull): add TestBase class

view details

Vlad Rindevich

commit sha 7513fa0640de9afc12f541b9001d91615560e7db

test(java/parser-jvm-plugin-backbone): format

view details

push time in 8 days

issue commentvaadin/fusion

Make it possible to cancel endpoint requests

Thanks for the issue!

To solve it, we are thinking about a solution that we are going to implement. Each endpoint method should have an optional controller parameter that accepts the AbortController created by the user. In the code generated by the framework it will look like the following:

async function _nullableString(
  nullableParameter: string | undefined,
  controller?: AbortController,
): Promise<string | undefined> {
  return client_1.call("MyEndpoint", "nullableString", { nullableParameter }, controller);
}
rna2i

comment created time in 8 days

Pull request review commentvaadin/fusion

feat(java): add Nonnull plugin

+package com.vaadin.fusion.parser.plugins.nonnull;++import java.util.Collection;+import java.util.HashSet;+import java.util.Set;++import com.vaadin.fusion.parser.core.PluginConfiguration;+import com.vaadin.fusion.parser.utils.ConfigList;++public class NonnullPluginConfig+        implements ConfigList<String>, PluginConfiguration {+    private final Set<String> disable = new HashSet<>();+    private final boolean disableAllDefaults = false;+    private final Set<String> use = new HashSet<>();++    public NonnullPluginConfig() {+    }++    public NonnullPluginConfig(Collection<String> use,+            Collection<String> disable) {+        if (disable != null) {+            this.disable.addAll(disable);+        }++        if (use != null) {+            this.use.addAll(use);+        }+    }++    @Override+    public Collection<String> getDisabledOptions() {+        return disable;+    }++    @Override+    public Collection<String> getUsedOptions() {+        return use;+    }++    @Override+    public boolean shouldAllDefaultsBeDisabled() {+        return disableAllDefaults;+    }++    static class Processor extends ConfigList.Processor<String> {+        private static final Set<String> defaults = Set.of(

My idea here was to allow a specific set of most known Nonnull annotation, not all the annotation that has Nonnull part in the name. Mostly because we also need to have JetBrains' NotNull annotation here.

If the user wants to use any other annotation, they are free to add them to the plugin's configuration.

Lodin

comment created time in 8 days

PullRequestReviewEvent

Pull request review commentvaadin/fusion

feat(java): add Nonnull plugin

+package com.vaadin.fusion.parser.plugins.nonnull;++import java.util.Collection;++import javax.annotation.Nonnull;++import com.vaadin.fusion.parser.core.Plugin;+import com.vaadin.fusion.parser.core.PluginConfiguration;+import com.vaadin.fusion.parser.core.RelativeClassInfo;+import com.vaadin.fusion.parser.core.SharedStorage;+import com.vaadin.fusion.parser.plugins.backbone.AssociationMap;+import com.vaadin.fusion.parser.plugins.backbone.BackbonePlugin;+import com.vaadin.fusion.parser.utils.PluginException;++public final class NonnullPlugin implements Plugin {+    private Collection<String> annotations;+    private int order = 100;++    @Override+    public void execute(@Nonnull Collection<RelativeClassInfo> endpoints,+            @Nonnull Collection<RelativeClassInfo> entities,+            @Nonnull SharedStorage storage) {+        var associationMap = (AssociationMap) storage.getPluginStorage()

No, because PluginStorage is a core API, while AssociationMap is a part of BackbonePlugin. Basically, BackbonePlugin, as a regular plugin, adds to the Storage something that Storage is not aware of.

Lodin

comment created time in 8 days

PullRequestReviewEvent
PullRequestReviewEvent
more