问:
How can I use checkpoints in Spark Structured Streaming with the foreachBatch sink?
I want to build a fault-tolerant, recoverable Spark job (using Structured Streaming in PySpark) that reads a data stream from Kafka and uses the foreachBatch sink to implement a stateful transformation before writing the resulting data to the actual sink.

The basic structure of my Spark job is like this:

counter = 0

def batch_handler(df, batch_id):
  global counter
  counter += 1
  df.withColumn('counter', lit(counter)).show(truncate=30)

spark = (SparkSession.builder
  .appName('test.stateful.checkpoint')
  .config('spark.jars.packages', f'{KAFKA_SQL},{KAFKA_CLNT}')
  .getOrCreate())

source = (spark.readStream
  .format('kafka')
  .options(**KAFKA_OPTIONS)
  .option('subscribe', 'topic-spark-stateful')
  .option('startingOffsets', 'earliest')
  .option('includeHeaders', 'true')
  .load())

(source
  .selectExpr('CAST(value AS STRING) AS data', 'CAST(timestamp AS STRING) AS time')
  .writeStream
  .option('checkpointLocation', './checkpoints/stateful')
  .foreachBatch(batch_handler)
  .start()
  .awaitTermination())
```

where the simplified batch_handler function is a stand-in for the stateful transformation + writer to the actual data sink. Also for simplicity I am using a local folder as checkpoint location.

This works fine as far as checkpointing of Kafka offsets is concerned. But how can I include the state of my custom batch handler (counter in my simplified example) in the checkpoints such that the job can pick up where it left after a crash?

The Spark Structured Streaming Guide doesn't say anything on the topic. With the foreach sink I can pass a custom row handler object but this seems to support only open, process, and close methods - I would have expected methods for restoring state from a checkpoint and exporting state to support checkpointing.

Body:
I want to build a fault-tolerant, recoverable Spark job (using Structured Streaming in PySpark) that reads a data stream from Kafka and uses the foreachBatch sink to implement a stateful transformation before writing the resulting data to the actual sink.

The basic structure of my Spark job is like this:

counter = 0

def batch_handler(df, batch_id):
  global counter
  counter += 1
  df.withColumn('counter', lit(counter)).show(truncate=30)

spark = (SparkSession.builder
  .appName('test.stateful.checkpoint')
  .config('spark.jars.packages', f'{KAFKA_SQL},{KAFKA_CLNT}')
  .getOrCreate())

source = (spark.readStream
  .format('kafka')
  .options(**KAFKA_OPTIONS)
  .option('subscribe', 'topic-spark-stateful')
  .option('startingOffsets', 'earliest')
  .option('includeHeaders', 'true')
  .load())

(source
  .selectExpr('CAST(value AS STRING) AS data', 'CAST(timestamp AS STRING) AS time')
  .writeStream
  .option('checkpointLocation', './checkpoints/stateful')
  .foreachBatch(batch_handler)
  .start()
  .awaitTermination())

where the simplified batch_handler function is a stand-in for the stateful transformation + writer to the actual data sink. Also for simplicity I am using a local folder as checkpoint location.

This works fine as far as checkpointing of Kafka offsets is concerned. But how can I include the state of my custom batch handler (counter in my simplified example) in the checkpoints such that the job can pick up where it left after a crash?

The Spark Structured Streaming Guide doesn't say anything on the topic. With the foreach sink I can pass a custom row handler object but this seems to support only open, process, and close methods - I would have expected methods for restoring state from a checkpoint and exporting state to support checkpointing.


来源: stackexchange

问:
How to use NavigationLink inside SwiftUI sheet
I have 4 SwiftUI View:

The FirstView opens the SecondView using a sheet:

```<code>      .sheet(isPresented: $showSheet) {
          SecondView()
      }
</code>```

The SecondView opens the ThirdView using a sheet too:

```<code>  .sheet(isPresented: $showSheet) {
          ThirdView()
  }
</code>```

My expectations: I want ThirdView opens FourthView using NavigationLink (on full screen with Back button in the left corner):

```<code>            NavigationLink(destination: FourthView()) {
                Text("Open FourthView")
            }
</code>```

but I'm having trouble with the view hierarchy. If I want to use NavigationLink, somewhere I have to define NavigationView.
If I define NavigationView in the SecondView like this:

```<code>        .sheet(isPresented: $showSheet) {
            NavigationView {
                ThirdView()
            }
        }
</code>```

, I have sheet view with Back button, but I want a full screen view with Back button.

Could you help me with this views hierarchy, where should I put NavigationView?

ContentLicense: CC BY-SA 4.0

Body:
I have 4 SwiftUI View:

The FirstView opens the SecondView using a sheet:

      .sheet(isPresented: $showSheet) {
          SecondView()
      }

The SecondView opens the ThirdView using a sheet too:

  .sheet(isPresented: $showSheet) {
          ThirdView()
  }

My expectations: I want ThirdView opens FourthView using NavigationLink (on full screen with Back button in the left corner):

            NavigationLink(destination: FourthView()) {
                Text("Open FourthView")
            }

but I'm having trouble with the view hierarchy. If I want to use NavigationLink, somewhere I have to define NavigationView.
If I define NavigationView in the SecondView like this:

        .sheet(isPresented: $showSheet) {
            NavigationView {
                ThirdView()
            }
        }

, I have sheet view with Back button, but I want a full screen view with Back button.

Could you help me with this views hierarchy, where should I put NavigationView?


问:
Robot-framework: How do I run keyword and its variables stored in a list?
I am currently trying to pass a keyword and its arguments as a List to an another keyword, which then runs it, like this.

```<code>Keyword That Runs:
    [Arguments]    @{keyword_to_run_with_parameters}
    Run Keyword    @{keyword_to_run_with_parameters}
</code>```

For demo I created a parameter in the following way to test it:

```<code>@{to_analyze}=  Create List    Should Be Equal    ${True}    ${True}
</code>```

Which gave me the following:

No keyword with name 'keyword_to_run_with_parameters = ['Should Be Equal', True, True]' found.

I have tried creating the list in different ways, but this was the only one that worked. I also tried running it with ${keyword_to_run_with_parameters}, but did not run.
I tried to search StackOverflow for any suggestion, but did not find appropriate ones.

Edit:
I am working with GUI and I want to create a new Keyword which takes screenshots when a non-selinium keyword fails. This is currently not working, because I cannot handle the list as a container for keywords and their arguments. A solution could be to only call this function if the keyword already failed, but I'm curious about other approaches.

```<code>Capture Screenshot On Failure
    [Documentation]     Captures screenshot on failure of a keyword, then fails the test with custom message if any is given.
    ...                 Needed because RobotFramework/Selinium only takes screenshot if a RobotFramework/Selinium  command fails.
    ...                 param: keywords: @{keywords}=     Create List        Keyword    Arguments
    [Arguments]         ${failmessage}=Basic feedback for failiure. Picture is above.       @{keywords}
    ${good} =   Run Keyword And Return Status   @{keywords}
    Run Keyword If  not ${good}     Run Keywords
    ...         Capture Page Screenshot
    ...  AND    Fail     ${failmessage}
</code>```

Body:
I am currently trying to pass a keyword and its arguments as a List to an another keyword, which then runs it, like this.

Keyword That Runs:
    [Arguments]    @{keyword_to_run_with_parameters}
    Run Keyword    @{keyword_to_run_with_parameters}

For demo I created a parameter in the following way to test it:

@{to_analyze}=  Create List    Should Be Equal    ${True}    ${True}

Which gave me the following:

No keyword with name 'keyword_to_run_with_parameters = ['Should Be Equal', True, True]' found.

I have tried creating the list in different ways, but this was the only one that worked. I also tried running it with ${keyword_to_run_with_parameters}, but did not run.
I tried to search StackOverflow for any suggestion, but did not find appropriate ones.

Edit:
I am working with GUI and I want to create a new Keyword which takes screenshots when a non-selinium keyword fails. This is currently not working, because I cannot handle the list as a container for keywords and their arguments. A solution could be to only call this function if the keyword already failed, but I'm curious about other approaches.

Capture Screenshot On Failure
    [Documentation]     Captures screenshot on failure of a keyword, then fails the test with custom message if any is given.
    ...                 Needed because RobotFramework/Selinium only takes screenshot if a RobotFramework/Selinium  command fails.
    ...                 param: keywords: @{keywords}=     Create List        Keyword    Arguments
    [Arguments]         ${failmessage}=Basic feedback for failiure. Picture is above.       @{keywords}
    ${good} =   Run Keyword And Return Status   @{keywords}
    Run Keyword If  not ${good}     Run Keywords
    ...         Capture Page Screenshot
    ...  AND    Fail     ${failmessage}


问:
Adding a grid to a mapbox map in plotly python
I need to plot a 1 km by 1 km grid on mapbox map in plolty.I am attaching a code, but I am stuck in adding a grid and also integrating  mapbox token.

Below is the code to the map I have made.

```<code>shp_path = "Path to shape file"
sf = shp.Reader(shp_path)

def read_shapefile(sf):

    fields = [x[0] for x in sf.fields][1:]
    records = sf.records()
    shps = [s.points for s in sf.shapes()]
    df = pd.DataFrame(columns=fields, data=records)
    df = df.assign(coords=shps)
    return df
</code>```
```<code>fig = px.scatter_mapbox(df, lat="LAT", lon="LONG",
                     size_max=30, zoom=12.5,
                  height = 600, width = 1000, #center = dict(lat = g.center)
                        title='Drive Route with Mapbox',
                       #mapbox_style="open-street-map"
                       )
fig.update_layout(font_size=16,  title={'xanchor': 'center','yanchor': 'top', 'y':0.9, 'x':0.5,},
        title_font_size = 24, mapbox_accesstoken=api_token, mapbox_style = "mapbox://styles/strym/ckhd00st61aum19noz9h8y8kw")
fig.update_traces(marker=dict(size=6))
</code>```

We tried integrating the mapbox token into the code, but it keeps giving an error:

```<code>mapbox_token = requests.get('https://api.mapbox.com/?access_token=gridactivity').text
px.set_mapbox_access_token(mapbox_token)

fig = ff.create_hexbin_mapbox(
    data_frame=df, lat="centroid_lat", lon="centroid_lon",
    nx_hexagon=10, opacity=0.9, labels={"color": "Point Count"},
)
fig.update_layout(margin=dict(b=0, t=0, l=0, r=0))
fig.show()
</code>```

This shows an empty map

Body:
I need to plot a 1 km by 1 km grid on mapbox map in plolty.I am attaching a code, but I am stuck in adding a grid and also integrating  mapbox token.

Below is the code to the map I have made.

shp_path = "Path to shape file"
sf = shp.Reader(shp_path)

def read_shapefile(sf):

    fields = [x[0] for x in sf.fields][1:]
    records = sf.records()
    shps = [s.points for s in sf.shapes()]
    df = pd.DataFrame(columns=fields, data=records)
    df = df.assign(coords=shps)
    return df

fig = px.scatter_mapbox(df, lat="LAT", lon="LONG",
                     size_max=30, zoom=12.5,
                  height = 600, width = 1000, #center = dict(lat = g.center)
                        title='Drive Route with Mapbox',
                       #mapbox_style="open-street-map"
                       )
fig.update_layout(font_size=16,  title={'xanchor': 'center','yanchor': 'top', 'y':0.9, 'x':0.5,},
        title_font_size = 24, mapbox_accesstoken=api_token, mapbox_style = "mapbox://styles/strym/ckhd00st61aum19noz9h8y8kw")
fig.update_traces(marker=dict(size=6))

We tried integrating the mapbox token into the code, but it keeps giving an error:

mapbox_token = requests.get('https://api.mapbox.com/?access_token=gridactivity').text
px.set_mapbox_access_token(mapbox_token)

fig = ff.create_hexbin_mapbox(
    data_frame=df, lat="centroid_lat", lon="centroid_lon",
    nx_hexagon=10, opacity=0.9, labels={"color": "Point Count"},
)
fig.update_layout(margin=dict(b=0, t=0, l=0, r=0))
fig.show()

This shows an empty map


问:
close menu toggle after click link
I'm having one problem is:
I've one javascript running on all pages and I want to keep it active even if you change pages inside of the website (not refresh) but the problem is that I've one menu toggle and every time that I changed the page, the script starts again. so I changed my code menu and added an attribute to link rel="history".
After doing that, the script works without interrupts, but every time I click on the menu link, the menu toggle doesn't close... remains open when I change the page. and cannot know why. anyone can help me? Thanks in advance.

```<code><a class="toggle-menu">
  <i></i>
  <i></i>
  <i></i>
</a>

<div class="menu-drawer">
  <ul>
    <li><a href="main" rel="history">main</a></li>
    <li><a href="press" rel="history">Press</a></li>
    <li><a href="contacts" rel="history">Contacts</a></li>
  </ul>
</div>
</code>```
```<code>$(function() {
  $(".toggle-menu").click(function() {
    $(this).toggleClass("active");
    $('.menu-drawer').toggleClass("open");
  });
});

</code>```

Title: close menu toggle after click link

Body:
I'm having one problem is:
I've one javascript running on all pages and I want to keep it active even if you change pages inside of the website (not refresh) but the problem is that I've one menu toggle and every time that I changed the page, the script starts again. so I changed my code menu and added an attribute to link rel="history".
After doing that, the script works without interrupts, but every time I click on the menu link, the menu toggle doesn't close... remains open when I change the page. and cannot know why. anyone can help me? Thanks in advance.

main

Press

Contacts

$(function() {
  $(".toggle-menu").click(function() {
    $(this).toggleClass("active");
    $('.menu-drawer').toggleClass("open");
  });
});


问:
Looping through sheets to create conditional list of values from different sheets
I have this problem. Basically, program says it can't use the union range I've created for the .list property of my listbox. I'd like to trigger it when the userform initializes. The problem lies in the last line of code. Although when I try to .select UnionRange it won't work either. But if I do it without looping through the sheets it works ok.</p>
```<code>Private Sub UserForm_Initialize()

Dim sh As Worksheet
Dim i As Long, RowNo As Long
Dim UnionRange As Range

'Loops through all sheets in workbook

For Each sh In Worksheets

    'Stops looping when it reaches "LISTS" sheet

    If sh.Name = "LISTS" Then
        Exit For
    End If

    sh.Activate

    RowNo = Range("e6").End(xlDown).Row

    For i = RowNo To 1 Step -1
        If Range("K" & i) = "TBD" Then
            If UnionRange Is Nothing Then
                Set UnionRange = Range("k" & i)
            Else
                Set UnionRange = Union(UnionRange, Range("k" & i))
            End If
        End If
    Next

Next

'Error is next, should populate listbox list

lbTBDNAV.List = UnionRange.Value

End Sub
</code>```

Body:
I have this problem. Basically, program says it can't use the union range I've created for the .list property of my listbox. I'd like to trigger it when the userform initializes. The problem lies in the last line of code. Although when I try to .select UnionRange it won't work either. But if I do it without looping through the sheets it works ok.

Private Sub UserForm_Initialize()

Dim sh As Worksheet
Dim i As Long, RowNo As Long
Dim UnionRange As Range

'Loops through all sheets in workbook

For Each sh In Worksheets

    'Stops looping when it reaches "LISTS" sheet

    If sh.Name = "LISTS" Then
        Exit For
    End If

    sh.Activate

    RowNo = Range("e6").End(xlDown).Row

    For i = RowNo To 1 Step -1
        If Range("K" & i) = "TBD" Then
            If UnionRange Is Nothing Then
                Set UnionRange = Range("k" & i)
            Else
                Set UnionRange = Union(UnionRange, Range("k" & i))
            End If
        End If
    Next

Next

'Error is next, should populate listbox list

lbTBDNAV.List = UnionRange.Value

End Sub


问:
upgrading vaadin to version 23.3.0 causes lombok to stop working
When I upgraded the vaadin version from 23.0.2 to 23.3.0, I get an error "cannot find symbol". This symbol is generated by lombok, so i think that for some reason lombok has stopped working. Except for the vaadin version change the pom remains unchanged. So I expect everything should work. The error I get is the following:

[ERROR] /C:/bosa/workspaces/gdpr-frontend/src/main/java/be/bosa/digital/assets/gdpr/frontend/vaadin/component/translation/I18NConditional.java:[38,60] cannot find symbol
symbol:   method getParameters()

This symbol is generated by Lombok:

```<code>@Getter
@ToString
public class I18NConditional implements Translatable {

private String defaultValue;
private Map<String, Predicate<Object[]>> predicatesByValue;
private Object[] parameters;

@Getter(AccessLevel.NONE)
private Set<LocaleChangeManager> observers;

public I18NConditional() {
}

public I18NConditional(String key, Object... parameters) {
    defaultValue(key).parameters(parameters);
}

public String getValue() {
    if (this.predicatesByValue != null) {
        Optional<Map.Entry<String, Predicate<Object[]>>> optEntry = this.predicatesByValue.entrySet().stream()
                .filter(entry -> entry.getValue().test(getParameters()))
                .findFirst();

        if (optEntry.isPresent()) {
            return optEntry.get().getKey();
        }
    }

    return defaultValue;
}
}
</code>```

The pom.xml is the following:

```    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
        <relativePath/>
    </parent>
    <groupId>be.bosa.digital.assets</groupId>
    <artifactId>gdpr-frontend</artifactId>
    <version>0.0.56-29ab144</version>
    <name>gdpr-frontend</name>
    <description>Digital Assets GDPR Frontend</description>
    <properties>
        <java.version>11</java.version>
        <vaadin.version>23.3.0</vaadin.version>
        <mockwebserver.version>4.9.1</mockwebserver.version>
        <jacoco-maven-plugin.version>0.8.7</jacoco-maven-plugin.version>
        <sonar.jacoco.reportPath>target/jacoco.exec</sonar.jacoco.reportPath>
        <mapstruct.version>1.4.2.Final</mapstruct.version>
        <vaadin.gatanaso.version>4.0.0-rc2</vaadin.gatanaso.version>
        <karibu.testing.version>1.3.11</karibu.testing.version>
        <security.environment>demo</security.environment>
        <sonar.exclusions>
            src/main/java/be/bosa/eloket/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/vaadin/component/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/security/control/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/consultperson/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/healthindicator/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/ui/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/ui/**,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/ui/**/*
        </sonar.exclusions>
        <cxf.version>3.4.2</cxf.version>
    </properties>
    <repositories>
        <repository>
            <id>vaadin-addons</id>
            <url>https://maven.vaadin.com/vaadin-addons</url>
        </repository>
        <repository>
            <id>maven-ecosystem-snapshot</id>
            <url>https://devops.digital.belgium.be/nexus/repository/maven-ecosystem-snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-oauth2-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-spring-boot-starter</artifactId>
            <exclusions>

                <exclusion>
                    <groupId>org.webjars.bowergithub.vaadin</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.vaadin.webjar</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymerelements</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymer</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.webcomponents</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.insites</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.vaadin.addons.componentfactory</groupId>
            <artifactId>masked-text-field</artifactId>
            <version>0.0.4</version>
            <exclusions>

                <exclusion>
                    <groupId>org.webjars.bowergithub.vaadin</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.vaadin.webjar</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymerelements</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymer</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.webcomponents</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.insites</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.vaadin.gatanaso</groupId>
            <artifactId>multiselect-combo-box-flow</artifactId>
            <version>${vaadin.gatanaso.version}</version>
            <exclusions>

                <exclusion>
                    <groupId>org.webjars.bowergithub.vaadin</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.vaadin.webjar</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymerelements</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymer</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.webcomponents</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.insites</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.vaadin.olli</groupId>
            <artifactId>clipboardhelper</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-charts-flow</artifactId>
            <exclusions>

                <exclusion>
                    <groupId>org.webjars.bowergithub.vaadin</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.vaadin.webjar</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymerelements</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymer</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.webcomponents</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.insites</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-grid-pro-flow</artifactId>
            <version>${vaadin.version}</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-confirm-dialog-flow</artifactId>
            <version>${vaadin.version}</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-features-logging</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-ws-security</artifactId>
            <version>${cxf.version}</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.codehaus.woodstox</groupId>
                    <artifactId>stax2-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
            <version>1.69</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.github.javafaker</groupId>
            <artifactId>javafaker</artifactId>
            <version>1.0.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <version>3.22.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>${mockwebserver.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>mockwebserver</artifactId>
            <version>${mockwebserver.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.github.mvysny.kaributesting</groupId>
            <artifactId>karibu-testing-v10-spring</artifactId>
            <version>${karibu.testing.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>${mapstruct.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
            <version>${mapstruct.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>be.bosa</groupId>
            <artifactId>eloket-security-${security.environment}</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/main/resources/resources/lib/eloket-security-${security.environment}.jar
            </systemPath>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.vaadin</groupId>
                <artifactId>vaadin-bom</artifactId>
                <version>${vaadin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <finalName>gdpr-frontend</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.vaadin</groupId>
                <artifactId>vaadin-maven-plugin</artifactId>
                <version>${vaadin.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-frontend</goal>
                            <goal>build-frontend</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>${cxf.version}</version>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <defaultOptions>
                                <autoNameResolution>true</autoNameResolution>
                            </defaultOptions>
                            <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
                            <wsdlOptions>
                                <wsdlOption>
                                    <wsdl>src/main/resources/wsdl/AttributeQuery/CPS_AttributeQueryService.wsdl</wsdl>
                                    <wsdlLocation>classpath:wsdl/AttributeQuery/CPS_AttributeQueryService.wsdl
                                    </wsdlLocation>
                                    <extraargs>
                                        <extraarg>-verbose</extraarg>
                                        <extraarg>-exsh</extraarg>
                                        <extraarg>true</extraarg>
                                    </extraargs>
                                </wsdlOption>
                                <wsdlOption>
                                    <wsdl>src/main/resources/wsdl/ConsultKbo/CPS_WSConsultKBOService.wsdl</wsdl>
                                    <wsdlLocation>classpath:wsdl/ConsultKbo/CPS_WSConsultKBOService.wsdl
                                    </wsdlLocation>
                                    <extraargs>
                                        <extraarg>-verbose</extraarg>
                                        <extraarg>-exsh</extraarg>
                                        <extraarg>true</extraarg>
                                    </extraargs>
                                </wsdlOption>
                                <wsdlOption>
                                    <wsdl>src/main/resources/wsdl/ConsultKbo/CPS_WSConsultAgentEnterprise.wsdl</wsdl>
                                    <wsdlLocation>classpath:wsdl/ConsultKbo/CPS_WSConsultAgentEnterprise.wsdl
                                    </wsdlLocation>
                                    <extraargs>
                                        <extraarg>-verbose</extraarg>
                                        <extraarg>-exsh</extraarg>
                                        <extraarg>true</extraarg>
                                    </extraargs>
                                </wsdlOption>
                                <wsdlOption>
                                    <wsdl>src/main/resources/wsdl/GetPerson/CPS_wsPersonGetService.wsdl</wsdl>
                                    <wsdlLocation>classpath:wsdl/GetPerson/CPS_wsPersonGetService.wsdl</wsdlLocation>
                                    <extraargs>
                                        <extraarg>-verbose</extraarg>
                                        <extraarg>-exsh</extraarg>
                                        <extraarg>true</extraarg>
                                    </extraargs>
                                </wsdlOption>
                            </wsdlOptions>
                        </configuration>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>production</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.vaadin</groupId>
                        <artifactId>vaadin-maven-plugin</artifactId>
                        <version>${vaadin.version}</version>
                        <executions>
                            <execution>
                                <id>frontend</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>prepare-frontend</goal>
                                    <goal>build-frontend</goal>
                                </goals>
                                <configuration>
                                    <productionMode>true</productionMode>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    <distributionManagement>
        <repository>
            <id>maven-ecosystem-release</id>
            <url>https://devops.digital.belgium.be/nexus/repository/maven-ecosystem</url>
        </repository>
        <snapshotRepository>
            <id>maven-ecosystem-snapshot</id>
            <url>https://devops.digital.belgium.be/nexus/repository/maven-ecosystem-snapshot</url>
        </snapshotRepository>
    </distributionManagement>
</project>
```

Can anyone help me?

Body:
When I upgraded the vaadin version from 23.0.2 to 23.3.0, I get an error "cannot find symbol". This symbol is generated by lombok, so i think that for some reason lombok has stopped working. Except for the vaadin version change the pom remains unchanged. So I expect everything should work. The error I get is the following:

[ERROR] /C:/bosa/workspaces/gdpr-frontend/src/main/java/be/bosa/digital/assets/gdpr/frontend/vaadin/component/translation/I18NConditional.java:[38,60] cannot find symbol
symbol:   method getParameters()

This symbol is generated by Lombok:

@Getter
@ToString
public class I18NConditional implements Translatable {

private String defaultValue;
private Map<String, Predicate<Object[]>> predicatesByValue;
private Object[] parameters;

@Getter(AccessLevel.NONE)
private Set<LocaleChangeManager> observers;

public I18NConditional() {
}

public I18NConditional(String key, Object... parameters) {
    defaultValue(key).parameters(parameters);
}

public String getValue() {
    if (this.predicatesByValue != null) {
        Optional<Map.Entry<String, Predicate<Object[]>>> optEntry = this.predicatesByValue.entrySet().stream()
                .filter(entry -> entry.getValue().test(getParameters()))
                .findFirst();

        if (optEntry.isPresent()) {
            return optEntry.get().getKey();
        }
    }

    return defaultValue;
}
}

The pom.xml is the following:

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
        <relativePath/>
    </parent>
    <groupId>be.bosa.digital.assets</groupId>
    <artifactId>gdpr-frontend</artifactId>
    <version>0.0.56-29ab144</version>
    <name>gdpr-frontend</name>
    <description>Digital Assets GDPR Frontend</description>
    <properties>
        <java.version>11</java.version>
        <vaadin.version>23.3.0</vaadin.version>
        <mockwebserver.version>4.9.1</mockwebserver.version>
        <jacoco-maven-plugin.version>0.8.7</jacoco-maven-plugin.version>
        <sonar.jacoco.reportPath>target/jacoco.exec</sonar.jacoco.reportPath>
        <mapstruct.version>1.4.2.Final</mapstruct.version>
        <vaadin.gatanaso.version>4.0.0-rc2</vaadin.gatanaso.version>
        <karibu.testing.version>1.3.11</karibu.testing.version>
        <security.environment>demo</security.environment>
        <sonar.exclusions>
            src/main/java/be/bosa/eloket/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/vaadin/component/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/security/control/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/consultperson/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/healthindicator/**/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/ui/*,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/ui/**,
            src/main/java/be/bosa/digital/assets/gdpr/frontend/ui/**/*
        </sonar.exclusions>
        <cxf.version>3.4.2</cxf.version>
    </properties>
    <repositories>
        <repository>
            <id>vaadin-addons</id>
            <url>https://maven.vaadin.com/vaadin-addons</url>
        </repository>
        <repository>
            <id>maven-ecosystem-snapshot</id>
            <url>https://devops.digital.belgium.be/nexus/repository/maven-ecosystem-snapshot</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-oauth2-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-spring-boot-starter</artifactId>
            <exclusions>

                <exclusion>
                    <groupId>org.webjars.bowergithub.vaadin</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.vaadin.webjar</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymerelements</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymer</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.webcomponents</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.insites</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.vaadin.addons.componentfactory</groupId>
            <artifactId>masked-text-field</artifactId>
            <version>0.0.4</version>
            <exclusions>

                <exclusion>
                    <groupId>org.webjars.bowergithub.vaadin</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.vaadin.webjar</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymerelements</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymer</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.webcomponents</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.insites</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.vaadin.gatanaso</groupId>
            <artifactId>multiselect-combo-box-flow</artifactId>
            <version>${vaadin.gatanaso.version}</version>
            <exclusions>

                <exclusion>
                    <groupId>org.webjars.bowergithub.vaadin</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.vaadin.webjar</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymerelements</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymer</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.webcomponents</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.insites</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.vaadin.olli</groupId>
            <artifactId>clipboardhelper</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-charts-flow</artifactId>
            <exclusions>

                <exclusion>
                    <groupId>org.webjars.bowergithub.vaadin</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.vaadin.webjar</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymerelements</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.polymer</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.webcomponents</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.webjars.bowergithub.insites</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-grid-pro-flow</artifactId>
            <version>${vaadin.version}</version>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-confirm-dialog-flow</artifactId>
            <version>${vaadin.version}</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-features-logging</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-ws-security</artifactId>
            <version>${cxf.version}</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.codehaus.woodstox</groupId>
                    <artifactId>stax2-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
            <version>1.69</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.github.javafaker</groupId>
            <artifactId>javafaker</artifactId>
            <version>1.0.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <version>3.22.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>${mockwebserver.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>mockwebserver</artifactId>
            <version>${mockwebserver.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.github.mvysny.kaributesting</groupId>
            <artifactId>karibu-testing-v10-spring</artifactId>
            <version>${karibu.testing.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>${mapstruct.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct-processor</artifactId>
            <version>${mapstruct.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>be.bosa</groupId>
            <artifactId>eloket-security-${security.environment}</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/main/resources/resources/lib/eloket-security-${security.environment}.jar
            </systemPath>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.vaadin</groupId>
                <artifactId>vaadin-bom</artifactId>
                <version>${vaadin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <finalName>gdpr-frontend</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.vaadin</groupId>
                <artifactId>vaadin-maven-plugin</artifactId>
                <version>${vaadin.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-frontend</goal>
                            <goal>build-frontend</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>${cxf.version}</version>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <defaultOptions>
                                <autoNameResolution>true</autoNameResolution>
                            </defaultOptions>
                            <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
                            <wsdlOptions>
                                <wsdlOption>
                                    <wsdl>src/main/resources/wsdl/AttributeQuery/CPS_AttributeQueryService.wsdl</wsdl>
                                    <wsdlLocation>classpath:wsdl/AttributeQuery/CPS_AttributeQueryService.wsdl
                                    </wsdlLocation>
                                    <extraargs>
                                        <extraarg>-verbose</extraarg>
                                        <extraarg>-exsh</extraarg>
                                        <extraarg>true</extraarg>
                                    </extraargs>
                                </wsdlOption>
                                <wsdlOption>
                                    <wsdl>src/main/resources/wsdl/ConsultKbo/CPS_WSConsultKBOService.wsdl</wsdl>
                                    <wsdlLocation>classpath:wsdl/ConsultKbo/CPS_WSConsultKBOService.wsdl
                                    </wsdlLocation>
                                    <extraargs>
                                        <extraarg>-verbose</extraarg>
                                        <extraarg>-exsh</extraarg>
                                        <extraarg>true</extraarg>
                                    </extraargs>
                                </wsdlOption>
                                <wsdlOption>
                                    <wsdl>src/main/resources/wsdl/ConsultKbo/CPS_WSConsultAgentEnterprise.wsdl</wsdl>
                                    <wsdlLocation>classpath:wsdl/ConsultKbo/CPS_WSConsultAgentEnterprise.wsdl
                                    </wsdlLocation>
                                    <extraargs>
                                        <extraarg>-verbose</extraarg>
                                        <extraarg>-exsh</extraarg>
                                        <extraarg>true</extraarg>
                                    </extraargs>
                                </wsdlOption>
                                <wsdlOption>
                                    <wsdl>src/main/resources/wsdl/GetPerson/CPS_wsPersonGetService.wsdl</wsdl>
                                    <wsdlLocation>classpath:wsdl/GetPerson/CPS_wsPersonGetService.wsdl</wsdlLocation>
                                    <extraargs>
                                        <extraarg>-verbose</extraarg>
                                        <extraarg>-exsh</extraarg>
                                        <extraarg>true</extraarg>
                                    </extraargs>
                                </wsdlOption>
                            </wsdlOptions>
                        </configuration>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>production</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.vaadin</groupId>
                        <artifactId>vaadin-maven-plugin</artifactId>
                        <version>${vaadin.version}</version>
                        <executions>
                            <execution>
                                <id>frontend</id>
                                <phase>compile</phase>
                                <goals>
                                    <goal>prepare-frontend</goal>
                                    <goal>build-frontend</goal>
                                </goals>
                                <configuration>
                                    <productionMode>true</productionMode>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
    <distributionManagement>
        <repository>
            <id>maven-ecosystem-release</id>
            <url>https://devops.digital.belgium.be/nexus/repository/maven-ecosystem</url>
        </repository>
        <snapshotRepository>
            <id>maven-ecosystem-snapshot</id>
            <url>https://devops.digital.belgium.be/nexus/repository/maven-ecosystem-snapshot</url>
        </snapshotRepository>
    </distributionManagement>
</project>

Can anyone help me?


问:
How do you auto populate state in cypress
I have a suite of cypress tests for an online application. Some of my tests only tests what is on the final page of the application or decision pages and hence do not want to always fill the initial pages each time I run these tests. I am hence trying to see if I can load state and which auto populates all the initial pages and loads the page I have the tests or require to test

I tried using cy.session like in the login scenario but not making headway with this.

Please does anyone know how this can be done.


问:
Can't get function to resolve array of promises before returning data
I have an async function which should resolve multiple promises, push some data into an array and then return said array. It looks like this

```<code>const responses = await Promise.all(promises)
await this.resolveResponses(responses, data, ...).then(
    () => {
        return data
    }
)

        async resolveResponses(responses: Response[], data: any[],...) {
        responses.forEach(async (response) => {
            await response.json().then((responseData) => {
                console.log(responseData);
                data.push(//something from responseData)
            });
        });
    }
</code>```

But it goes to return data before finishing resolveResponses. From debugging it seems after reaching await response.json() it doesn't go further to the .then() clause, but returns data from calling function. And after that comes again and finishes .then from resolveResponses. What is wrong with it?

Tried also a one liner with the same result, something like

```<code>await Promise.all(promises)
        .then(promises => {promises.forEach(async promise => {
            const response = await promise.json()
            if (response.eeResponse == true)
                data.push(//something from response)
        })}).then(() => { return data })
</code>```

Body:
I have an async function which should resolve multiple promises, push some data into an array and then return said array. It looks like this

const responses = await Promise.all(promises)
await this.resolveResponses(responses, data, ...).then(
    () => {
        return data
    }
)

        async resolveResponses(responses: Response[], data: any[],...) {
        responses.forEach(async (response) => {
            await response.json().then((responseData) => {
                console.log(responseData);
                data.push(//something from responseData)
            });
        });
    }

But it goes to return data before finishing resolveResponses. From debugging it seems after reaching await response.json() it doesn't go further to the .then() clause, but returns data from calling function. And after that comes again and finishes .then from resolveResponses. What is wrong with it?

Tried also a one liner with the same result, something like

await Promise.all(promises)
        .then(promises => {promises.forEach(async promise => {
            const response = await promise.json()
            if (response.eeResponse == true)
                data.push(//something from response)
        })}).then(() => { return data })


问:
How can I get PID(s) of a running Jupyter notebook?
I have run several (n) Jupyter notebooks in parallel.  As they use FEniCS, each has spawned a number (much more than m - 1) of threads (PIDs) which can occupy all available cores (m).  Now I have much more than m * n threads (of at least n processes) which compete for resources (cores, RAM etc.).  That significantly damps their performance.

As I need results of some of the notebooks more urgently the of the others, I would like to set priorities of their PIDs accordingly (renice them).  Sadly I have no idea which PIDs belongs to which notebook.  How can I verify that without interrupting the notebooks?

I know I can stop all my notebooks but one (the least important), use htop to renice the processes which still use CPU, then run the other notebooks one by one and repeat the procedure.  But is there a way to do it while all the notebooks are running?


问:
Vue 3 ElTreeSelect Element Plus
I'm working on a personal project using Vue3, Nuxt3 and Element Plus. I'm a beginner with JS/TS and Vue3 and I'm having a problem with the Element Plus TreeSelect Component. I am trying to have the TreeSelect Components selected value be an object but it's always the label field of the object that is selected. Here is my components code.

```<code><template>
    <div>
       <ClientOnly>
            <el-select v-model="selectedEntityDefinitionRef">
                <el-option v-for="entityDefinition in scheme.schemeDefinition.entityDefinitions"
                    :key="entityDefinition.label" :label="entityDefinition.label" :value="entityDefinition">
                </el-option>
            </el-select>

            <el-tree-select check-strictly :render-after-expand="false" show-checkbox check-on-click-node
                value-key="label" :data="schemeEntitiesRef" v-model="selectedParentEntityRef"/>
        </ClientOnly>
             <el-button style="margin-top: 12px" @click="printValues">Add</el-button>

    </div>
</template>

<script lang="ts" setup>
import { ElTreeSelect, ElSelect, ElOption, ElButton } from 'element-plus';
import { ref, reactive } from 'vue';

class SchemeDefinition {
    label: string
    entityDefinitions: Array<EntityDefinition> = new Array<EntityDefinition>()
    constructor(label: string) {
        this.label = label
    }
}

class EntityDefinition {
    label: string
    constructor(label: string) {
        this.label = label
    }
}

class Scheme {
    schemeDefinition: SchemeDefinition
    entities: Array<Entity> = new Array<Entity>()

}

class Entity {
    label: string
    parent: Entity
    children: Array<Entity> = new Array<Entity>()
    constructor(label: string) {
        this.label = label;
    }
}

const schemeDefinition: SchemeDefinition = new SchemeDefinition('Scheme Definition');
const fondsEntityDefinition: EntityDefinition = new EntityDefinition('Entity Definition')
schemeDefinition.entityDefinitions.push(fondsEntityDefinition)

const scheme: Scheme = new Scheme()
scheme.schemeDefinition = schemeDefinition
scheme.entities.push(new Entity('Entity'))

const selectedEntityDefinitionRef = ref<EntityDefinition>()

const selectedParentEntityRef = ref<Entity>()

const schemeEntitiesRef = reactive(scheme.entities)

const printValues = () => {
    console.log(selectedEntityDefinitionRef.value)
    console.log(selectedParentEntityRef.value)
}

</script>
</code>```

My question is if I am doing something fundamentally wrong here or is my issue a limitation of the component itself? As a newbie any advice or guidance would be greatly appreciated. Thanks

Title: Vue 3 ElTreeSelect Element Plus

Body:
I'm working on a personal project using Vue3, Nuxt3 and Element Plus. I'm a beginner with JS/TS and Vue3 and I'm having a problem with the Element Plus TreeSelect Component. I am trying to have the TreeSelect Components selected value be an object but it's always the label field of the object that is selected. Here is my components code.

<template>

       <ClientOnly>
            <el-select v-model="selectedEntityDefinitionRef">
                <el-option v-for="entityDefinition in scheme.schemeDefinition.entityDefinitions"
                    :key="entityDefinition.label" :label="entityDefinition.label" :value="entityDefinition">
                </el-option>
            </el-select>

            <el-tree-select check-strictly :render-after-expand="false" show-checkbox check-on-click-node
                value-key="label" :data="schemeEntitiesRef" v-model="selectedParentEntityRef"/>
        </ClientOnly>
             <el-button style="margin-top: 12px" @click="printValues">Add</el-button>

</template>

My question is if I am doing something fundamentally wrong here or is my issue a limitation of the component itself? As a newbie any advice or guidance would be greatly appreciated. Thanks


问:
Bitbucket API oAuth: If I'm implementing implicit authorization, where is the refresh_token?
I see that the URL fragment returns the access_token, as well as the list of scopes.

Bitbucket API's docs say that the refresh_token is granted in implicit authorization as well, but I don't see it.

Do I need to do something else beyond looking at the URL to get access to the refresh token?


问:
Jupyter R Kernel in VS Code with Anaconda Environment: Failed to start the Kernel
Summary

Installed R kernel in Anaconda environment

Works with Anaconda's browser Jupyter notebook, but not VS Code.

Details

I am trying to set up VS Code to recognize my R kernel for use with Jupyter Notebooks. The steps I have followed are as follows:

Create a new R environment (via the Anaconda interface... Rstudio works just fine).

Using the command line interface with the above environment activated, ensure Jupyter is installed: conda install jupyter

Install irkernel: conda install -c r r-irkernel

Run R from command line and initialize irkernel:

```<code>R
> IRkernel::installspec()
</code>```

Open VS Code and create a new notebook. Select the R kernel that appears, and run a basic commannd in the first cell: file.path(getwd())

These follow the steps here, and in other Stackoverflow posts (here and here).

Unfortunately, I cannot get the kernel to work. The above code in item 5 results in the following error:

```<code>Failed to start the Kernel.
The kernel died. Error: ... View Jupyter log for further details.
</code>```

There is a copy of the log available here (should be visible to everyone). The notebook is available here (but is literally just the one line of code mentioned above).

My hypothesis is that IRkernel::installspec() installs the kernel in a different location than the conda environment. The kernel is installed in C:\Users\aaron\AppData\Roaming\jupyter\kernels\ir, while in VS Code the kernel selected is in C:\Users\aaron\.conda\envs\rstudio\lib\R\bin\x64\R (the environment name is rstudio).

However, when I open Jupyter notebook via the Anaconda interface (not VS Code... i.e. the browser version), everything works just fine. The same code (file.path(getwd())) returns the appropriate 'C:/Users/aaron'.

I am sure I have done something silly wrong, and appreciate your help in advance!

Body:
Summary

Installed R kernel in Anaconda environment

Works with Anaconda's browser Jupyter notebook, but not VS Code.

Details

I am trying to set up VS Code to recognize my R kernel for use with Jupyter Notebooks. The steps I have followed are as follows:

Create a new R environment (via the Anaconda interface... Rstudio works just fine).

Using the command line interface with the above environment activated, ensure Jupyter is installed: conda install jupyter

Install irkernel: conda install -c r r-irkernel

Run R from command line and initialize irkernel:

R
> IRkernel::installspec()

Open VS Code and create a new notebook. Select the R kernel that appears, and run a basic commannd in the first cell: file.path(getwd())

These follow the steps here, and in other Stackoverflow posts (here and here).

Unfortunately, I cannot get the kernel to work. The above code in item 5 results in the following error:

Failed to start the Kernel.
The kernel died. Error: ... View Jupyter log for further details.

There is a copy of the log available here (should be visible to everyone). The notebook is available here (but is literally just the one line of code mentioned above).

My hypothesis is that IRkernel::installspec() installs the kernel in a different location than the conda environment. The kernel is installed in C:\Users\aaron\AppData\Roaming\jupyter\kernels\ir, while in VS Code the kernel selected is in C:\Users\aaron\.conda\envs\rstudio\lib\R\bin\x64\R (the environment name is rstudio).

However, when I open Jupyter notebook via the Anaconda interface (not VS Code... i.e. the browser version), everything works just fine. The same code (file.path(getwd())) returns the appropriate 'C:/Users/aaron'.

I am sure I have done something silly wrong, and appreciate your help in advance!


问:
How to get reservation id for open table API?
Looks like rid is compulsory to make api request, how to get this restaurant id?

No documentation is available for the same, Can anyone help me with this?


问:
app crashes when getting a reference on android studio
I'm a newbie in programming and stuff.. I'm using the android-youtube-player package from Pierfrancesco Soffritti.. and when I try to Get a reference to YouTubePlayer and run the app it crashes..
`

```<code>package com.example.youtuuuuuuuuuuuuuuube;

import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.os.Bundle;
import android.view.View;

import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.AbstractYouTubePlayerListener;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.YouTubePlayerListener;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.options.IFramePlayerOptions;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.ui.DefaultPlayerUiController;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.ui.PlayerUiController;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.ui.menu.YouTubePlayerMenu;

public class MainActivity extends AppCompatActivity {
    private YouTubePlayer youTubePlayer;
    private YouTubePlayerView youTubePlayerView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public void playvideo(View v){
        youTubePlayer.loadVideo("S0Q4gqBUs7c", 1f);
    }
}
</code>```

`

my XML code

```<code><LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView
    android:id="@+id/youtube_player_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    app:videoId="S0Q4gqBUs7c"
    app:autoPlay="true"
    />

<Button
    android:id="@+id/button2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:onClick="playvideo"
    android:text="Button" />
</code>```

I tried to get the reference using OnStart() method, added a button but all of that don't work :(

Body:
I'm a newbie in programming and stuff.. I'm using the android-youtube-player package from Pierfrancesco Soffritti.. and when I try to Get a reference to YouTubePlayer and run the app it crashes..
`

package com.example.youtuuuuuuuuuuuuuuube;

import androidx.annotation.LayoutRes;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.os.Bundle;
import android.view.View;

import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.AbstractYouTubePlayerListener;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.YouTubePlayerListener;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.options.IFramePlayerOptions;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.ui.DefaultPlayerUiController;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.ui.PlayerUiController;
import com.pierfrancescosoffritti.androidyoutubeplayer.core.ui.menu.YouTubePlayerMenu;

public class MainActivity extends AppCompatActivity {
    private YouTubePlayer youTubePlayer;
    private YouTubePlayerView youTubePlayerView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public void playvideo(View v){
        youTubePlayer.loadVideo("S0Q4gqBUs7c", 1f);
    }
}

`

my XML code

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView
    android:id="@+id/youtube_player_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

    app:videoId="S0Q4gqBUs7c"
    app:autoPlay="true"
    />

<Button
    android:id="@+id/button2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:onClick="playvideo"
    android:text="Button" />

I tried to get the reference using OnStart() method, added a button but all of that don't work :(


问:
How to use relative path to packages in JSonTransform config file
My team uses a shared Git repo that contains, in addition to a src folder with a .net solution, also a tools folder containing JSonTransform tool, that we use during deploy to generate config production files.

This tool uses a json config file named JsonTransform.runtimeconfig.dev.json, with this content:

```<code>{
  "runtimeOptions": {
    "additionalProbingPaths": [
      "C:\\Users\\**specific_username**\\.dotnet\\store\\|arch|\\|tfm|",
      "C:\\Users\\**specific_username**\\.nuget\\packages",
      "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
    ]
  }
}
</code>```

These paths are used when resolving nuget package dependencies by JSonTransform. As you can see, the first two can only work on a specific machine, since they are absolute path containing a "specific_username".

There is a way to use relative paths to .dotnet and .nuget folders, so that it can works on every pc?

Body:
My team uses a shared Git repo that contains, in addition to a src folder with a .net solution, also a tools folder containing JSonTransform tool, that we use during deploy to generate config production files.

This tool uses a json config file named JsonTransform.runtimeconfig.dev.json, with this content:

{
  "runtimeOptions": {
    "additionalProbingPaths": [
      "C:\\Users\\**specific_username**\\.dotnet\\store\\|arch|\\|tfm|",
      "C:\\Users\\**specific_username**\\.nuget\\packages",
      "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
    ]
  }
}

These paths are used when resolving nuget package dependencies by JSonTransform. As you can see, the first two can only work on a specific machine, since they are absolute path containing a "specific_username".

There is a way to use relative paths to .dotnet and .nuget folders, so that it can works on every pc?


问:
C# failed to get response from HTTPS server
I have below c# code

```<code>ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync(url);
string result = await response.Content.ReadAsStringAsync();
</code>```

Then I got "Input string was not in a correct format." error when executing client.GetAsync(). But I confirmed the url is accessible (from web browser). Any idea about what the issue is? Appreciate any help.

Body:
I have below c# code

ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync(url);
string result = await response.Content.ReadAsStringAsync();

Then I got "Input string was not in a correct format." error when executing client.GetAsync(). But I confirmed the url is accessible (from web browser). Any idea about what the issue is? Appreciate any help.


问:
'React' must be in scope when using JSX react/react-in-jsx-scope
I am new to development and I have cloned a website from github but it is giving error in <Routes> .... </Routes> that React must be in scope when using JSX react/react-in-jsx-scope

App.js

```<code>import { Routes, Route } from "react-router-dom";
import Layout from "./Components/Layout";
import PageNotFound from "./Components/PageNotFound";
import SearchBox from "./Components/SearchBox";
import HomePage from "./Pages/HomePage";
import ProductDetails from "./Pages/ProductDetails";

function App() {
  return (
    <>
      <Routes>
        <Route
          path="/"
          element={
            <>
              <Layout>
                <SearchBox />
                <HomePage />
              </Layout>
            </>
          }
        />
        <Route path="/products/:id" element={<ProductDetails />} />
        <Route path="*" element={<PageNotFound />} />
      </Routes>
    </>
  );
}

export default App;

</code>```

When running the command npm start, it gives the following error:

```<code>Failed to compile.

./src/App.js
  Line 10:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 11:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 12:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 15:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 16:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 17:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 18:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 23:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 23:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 24:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 24:  'React' must be in scope when using JSX  react/react-in-jsx-scope

Search for the keywords to learn more about each error.

</code>```

Body:
I am new to development and I have cloned a website from github but it is giving error in <Routes> .... </Routes> that React must be in scope when using JSX react/react-in-jsx-scope

App.js

import { Routes, Route } from "react-router-dom";
import Layout from "./Components/Layout";
import PageNotFound from "./Components/PageNotFound";
import SearchBox from "./Components/SearchBox";
import HomePage from "./Pages/HomePage";
import ProductDetails from "./Pages/ProductDetails";

function App() {
  return (
    <>
      <Routes>
        <Route
          path="/"
          element={
            <>
              <Layout>
                <SearchBox />
                <HomePage />
              </Layout>
            </>
          }
        />
        <Route path="/products/:id" element={<ProductDetails />} />
        <Route path="*" element={<PageNotFound />} />
      </Routes>
    </>
  );
}

export default App;

When running the command npm start, it gives the following error:

Failed to compile.

./src/App.js
  Line 10:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 11:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 12:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 15:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 16:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 17:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 18:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 23:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 23:  'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 24:   'React' must be in scope when using JSX  react/react-in-jsx-scope
  Line 24:  'React' must be in scope when using JSX  react/react-in-jsx-scope

Search for the keywords to learn more about each error.


问:
BLE read write and notify error , 'Exception from HRESULT: 0x80650081
I am writing an application to read from and write to a bluetooth low energy device(indoor bicycle trainer) and i am trying to write the values to its characteristics.

I am following the microsoft.com BLE code program.

but each time i want to write the values it give me an unexpected error which is 'Exception from HRESULT: 0x80650081'     which is even not on the internet and i don't know whats kind of problem is occuring.

even though my code is ok and it is reading the value from the device. I have read somewhere that it might be the problem with bios of your device or the operating system. I have tried to run it on other PC it is still showing the same error.

As per the documentation of the fitness machine trainer i am sending the right OP code and Bytes but still it is not working.

can i get some feedback and review of my code so i can know where i am making mistake.

```<code>else if (properties.HasFlag(GattCharacteristicProperties.Write))
{
              // This characteristic supports writing to it.
Console.WriteLine($"\t\t[{characteristic.Uuid}] write property found");
var writer = new DataWriter();
             // WriteByte used for simplicity. Other common functions - WriteInt16 and WriteSingle
writer.WriteByte(0x00);

GattCommunicationStatus resultWrite = await characteristic.WriteValueAsync(writer.DetachBuffer());

// the error shows here which leads to break the execution.

if (resultWrite == GattCommunicationStatus.Success)

{

Console.WriteLine("Control Request access");
}

writer = new DataWriter();
writer.WriteByte(0x01);
resultWrite = await characteristic.WriteValueAsync(writer.DetachBuffer());

if (resultWrite == GattCommunicationStatus.Success)
{
Console.WriteLine("Reset request access");
// Successfully wrote to device
}
writer = new DataWriter();
 writer.WriteByte(0x04);
writer.WriteByte(0x64);

resultWrite = await characteristic.WriteValueAsync(writer.DetachBuffer());
if (resultWrite == GattCommunicationStatus.Success)
{
Console.WriteLine("Resistance request access");
// Successfully wrote to device
}
}
</code>```

i have tried different methods for writing e.g writesingle, writeInt16 etc and i got the same error.

also i want to know if the WriteValueAsync(writer.DetachBuffer()); has the problem or are there alternative ways to do it.

Body:
I am writing an application to read from and write to a bluetooth low energy device(indoor bicycle trainer) and i am trying to write the values to its characteristics.

I am following the microsoft.com BLE code program.

but each time i want to write the values it give me an unexpected error which is 'Exception from HRESULT: 0x80650081'     which is even not on the internet and i don't know whats kind of problem is occuring.

even though my code is ok and it is reading the value from the device. I have read somewhere that it might be the problem with bios of your device or the operating system. I have tried to run it on other PC it is still showing the same error.

As per the documentation of the fitness machine trainer i am sending the right OP code and Bytes but still it is not working.

can i get some feedback and review of my code so i can know where i am making mistake.

else if (properties.HasFlag(GattCharacteristicProperties.Write))
{
              // This characteristic supports writing to it.
Console.WriteLine($"\t\t[{characteristic.Uuid}] write property found");
var writer = new DataWriter();
             // WriteByte used for simplicity. Other common functions - WriteInt16 and WriteSingle
writer.WriteByte(0x00);

GattCommunicationStatus resultWrite = await characteristic.WriteValueAsync(writer.DetachBuffer());

// the error shows here which leads to break the execution.

if (resultWrite == GattCommunicationStatus.Success)

{

Console.WriteLine("Control Request access");
}

writer = new DataWriter();
writer.WriteByte(0x01);
resultWrite = await characteristic.WriteValueAsync(writer.DetachBuffer());

if (resultWrite == GattCommunicationStatus.Success)
{
Console.WriteLine("Reset request access");
// Successfully wrote to device
}
writer = new DataWriter();
 writer.WriteByte(0x04);
writer.WriteByte(0x64);

resultWrite = await characteristic.WriteValueAsync(writer.DetachBuffer());
if (resultWrite == GattCommunicationStatus.Success)
{
Console.WriteLine("Resistance request access");
// Successfully wrote to device
}
}

i have tried different methods for writing e.g writesingle, writeInt16 etc and i got the same error.

also i want to know if the WriteValueAsync(writer.DetachBuffer()); has the problem or are there alternative ways to do it.


问:
Record audio timing (triggered, recieved and processing)
So I am working on a project where I have to record audio timing. The timings are as follows:

t_0 - when I trigger the microphone device to start recording

t_1 - when the microphone starts recording

t_2 - the time when the computer receives the audio

I am using a Pettersson ultrasound microphone. I have read that audio is recorded as amplitude and time. I want to know where the time is recorded? When I trigger the microphone or after bring processed and sent to the computer.
Also, I have no clue how to find t_1 and t_2...

I have tried writing a simple python program to get the time when I trigger the microphone. And the time the audio starts recording.
I'm using pygame for it.
To find the latency, I'm trying to search for formulas but I'm not very successful in it.


问:
Numeric Timestamp in Kafka Oracle JDBC Connector
I'm currently trying to setup a JDBC Connector with the goal to read data from a Oracle DB and push it to a Kafka topic using Kafka Connect. I wanted to use the "timestamp" mode:

timestamp: use a timestamp (or timestamp-like) column to detect new and modified rows. This assumes the column is updated with each write, and that values are monotonically incrementing, but not necessarily unique.

https://docs.confluent.io/kafka-connectors/jdbc/current/source-connector/source_config_options.html#mode

```<code>{
       "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
       "dialect.name" : "OracleDatabaseDialect",
       "connection.url": "XXX",
       "connection.user" : "XXX",
       "connection.password" : "XXX",
       "mode" : "timestamp",
       "quote.sql.identifiers": "never"
       "timestamp.column.name" : "LAST_UPDATE_DATE",

       "query" : "select a1.ID, a1.LAST_UPDATE_DATE, b1.CODE
                    from a1
                    left join b1 on a1.ID = b1.ID
        ...
}
</code>```

My problem is, that the timestamp on the database is defined as NUMBER(15), e.g. 20221220145930000. The Connector creates a where statement at the end of my defined query like

where a1.LAST_UPDATE_DATE > :1 and a1.LAST_UPDATE_DATE < :2 order by a1.LAST_UPDATE_DATE asc
This leads to an error message: ORA-00932: inconsistent datatypes: expected NUMBER got TIMESTAMP

Unfortunately, the database is not under my control (proprietary software). I have only read permissions.
Is there a possibility to set the timestamp type in this connector? I already tried to use the (to_timestamp() function directly in the SQL-statement and a SMT (timestampConverter) without success

Body:
I'm currently trying to setup a JDBC Connector with the goal to read data from a Oracle DB and push it to a Kafka topic using Kafka Connect. I wanted to use the "timestamp" mode:

timestamp: use a timestamp (or timestamp-like) column to detect new and modified rows. This assumes the column is updated with each write, and that values are monotonically incrementing, but not necessarily unique.

https://docs.confluent.io/kafka-connectors/jdbc/current/source-connector/source_config_options.html#mode

{
       "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
       "dialect.name" : "OracleDatabaseDialect",
       "connection.url": "XXX",
       "connection.user" : "XXX",
       "connection.password" : "XXX",
       "mode" : "timestamp",
       "quote.sql.identifiers": "never"
       "timestamp.column.name" : "LAST_UPDATE_DATE",

       "query" : "select a1.ID, a1.LAST_UPDATE_DATE, b1.CODE
                    from a1
                    left join b1 on a1.ID = b1.ID
        ...
}

My problem is, that the timestamp on the database is defined as NUMBER(15), e.g. 20221220145930000. The Connector creates a where statement at the end of my defined query like

where a1.LAST_UPDATE_DATE > :1 and a1.LAST_UPDATE_DATE < :2 order by a1.LAST_UPDATE_DATE asc
This leads to an error message: ORA-00932: inconsistent datatypes: expected NUMBER got TIMESTAMP

Unfortunately, the database is not under my control (proprietary software). I have only read permissions.
Is there a possibility to set the timestamp type in this connector? I already tried to use the (to_timestamp() function directly in the SQL-statement and a SMT (timestampConverter) without success