vaadin-grid created via Designer can't set items from the Java class

I am new to Vaadin and Vaadin Designer. Below shows the Designer template that I have used for creating a table of records with the vaadinGrid.

class GridConnectJava extends PolymerElement {

    static get template() {
        return html`
<style include="shared-styles">
                :host {
                    display: block;
                    height: 100%;
                }
            </style>
<vaadin-grid items="[[result]
]" id="vaadinGrid">
 <vaadin-grid-column width="25%" flex-grow="0">
  <template class="header">
    firstName 
  </template>
  <template>
  [[item.firstName]
]
  </template>
  <template class="footer">
    firstName 
  </template>
 </vaadin-grid-column>
 <vaadin-grid-column width="25%">
  <template class="header">
    lastName 
  </template>
  <template>
  [[item.lastName]
]
  </template>
  <template class="footer">
    lastName 
  </template>
 </vaadin-grid-column>
</vaadin-grid>
`;
    }

    static get is() {
        return 'grid-connect-java';
    }

    static get properties() {
        return {
            // Declare your properties here.
        };
    }
}

customElements.define(GridConnectJava.is, GridConnectJava);

When I try to setItems from the Java class, it doesn’t set.

package de.conrad.govaadin;

import com.vaadin.flow.component.Tag;
import com.vaadin.flow.component.dependency.JsModule;
import com.vaadin.flow.component.grid.Grid;
import com.vaadin.flow.component.polymertemplate.Id;
import com.vaadin.flow.component.polymertemplate.PolymerTemplate;
import com.vaadin.flow.templatemodel.TemplateModel;
import org.springframework.web.client.RestTemplate;

/**
 * A Designer generated component for the grid-connect-java template.
 *
 * Designer will add and remove fields with @Id mappings but
 * does not overwrite or otherwise change this file.
 */
@Tag("grid-connect-java")
@JsModule("./grid-connect-java.js")
public class GridConnectJava extends PolymerTemplate<GridConnectJava.GridConnectJavaModel> {

    @Id("vaadinGrid")
    private Grid<Result> vaadinGrid;
    /**
     * Creates a new GridConnectJava.
     */
    public GridConnectJava() {
    }

    public void setData(){
        vaadinGrid.setItems(restCall().getResult());
    }

    /**
     * This model binds properties between GridConnectJava and grid-connect-java
     */
    public interface GridConnectJavaModel extends TemplateModel {
        // Add setters and getters for template properties here.
    }

    public People restCall(){
        RestTemplate restTemplate = new RestTemplate();
        People response = restTemplate.getForObject("https://demo.vaadin.com/demo-data/1.0/people?count=3",People.class);
        return response;
    }

}

I am calling the above Java class from another class HelloWorld.java which looks as below

package de.conrad.govaadin;

import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.Route;

@Route("hello-world")
public class HelloWorld extends VerticalLayout {


    public HelloWorld() {

        GridConnectJava gridConnectJava = new GridConnectJava();
        gridConnectJava.setData();
        add(gridConnectJava);
    }

}