Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: remove TransferRequest properties attribute #3639

Closed
hamidonos opened this issue Nov 22, 2023 · 22 comments
Closed

refactor: remove TransferRequest properties attribute #3639

hamidonos opened this issue Nov 22, 2023 · 22 comments
Labels
good first issue Good for newcomers refactoring Cleaning up code and dependencies
Milestone

Comments

@hamidonos
Copy link
Contributor

Feature Request

The TransferRequest object contains a properties attribute which has been marked as deprecated already.
It's being mapped inside the JsonObjectToTransferRequestTransformer but it's not used anywhere else.

Which Areas Would Be Affected?

transfer process

Why Is the Feature Desired?

clean up

Solution Proposal

remove the properties attribute and references to it

@hamidonos hamidonos added good first issue Good for newcomers refactoring Cleaning up code and dependencies labels Nov 22, 2023
@AbbasSalloum
Copy link

Hey I want to pick up this issue

Thank you

@AbbasSalloum
Copy link

@AbbasSalloum

@hamidonos
Copy link
Contributor Author

@AbbasSalloum I think you can start with this one
but let's wait until @ndr-brt gives green light too

@SebastianOpriel
Copy link

@efiege might be a breaking change we need to take into account

@hamidonos
Copy link
Contributor Author

hamidonos commented Nov 24, 2023

@SebastianOpriel the properties field has no real usage anymore since the privateProperties field has been added by this PR #3368

The properties field is deprecated (see this )

This task is a further clean up of #3368

@SebastianOpriel
Copy link

Okay good to know. @efiege this means that Catena-X shall have handled this already, since the change was introduced in https://github.com/eclipse-edc/Connector/releases/tag/v0.2.1

@ndr-brt
Copy link
Member

ndr-brt commented Nov 24, 2023

given that it was deprecated in version 0.2.0, it can be removed now, as the deprecation period of 2 milestones has been passed.

@AbbasSalloum
Copy link

AbbasSalloum commented Nov 27, 2023

Execution failed for task ':spi:common:policy-model:compileJava'.

Error while evaluating property 'javaCompiler' of task ':spi:common:policy-model:compileJava'.
Failed to calculate the value of task ':spi:common:policy-model:compileJava' property 'javaCompiler'.
> No matching toolchains found for requested specification: {languageVersion=17, vendor=any, implementation=vendor-specific}.
> No locally installed toolchains match (see https://docs.gradle.org/8.0/userguide/toolchains.html#sec:auto_detection) and toolchain download repositories have not been configured (see https://docs.gradle.org/8.0/userguide/toolchains.html#sub:download_repositories).

Hey im getting this error while building the project i think its because im using java 17 any ideas how to fix it or should i just change my java version ?

Thank you

@hamidonos
Copy link
Contributor Author

@AbbasSalloum did you resolve your issue?
You can direct message me on Matrix. I can help you

@AbbasSalloum
Copy link

AbbasSalloum commented Dec 4, 2023 via email

@hamidonos
Copy link
Contributor Author

Execution failed for task ':spi:common:policy-model:compileJava'.

Error while evaluating property 'javaCompiler' of task ':spi:common:policy-model:compileJava'.
Failed to calculate the value of task ':spi:common:policy-model:compileJava' property 'javaCompiler'.

No matching toolchains found for requested specification: {languageVersion=17, vendor=any, implementation=vendor-specific}.
No locally installed toolchains match (see https://docs.gradle.org/8.0/userguide/toolchains.html#sec:auto_detection) and toolchain download repositories have not been configured (see https://docs.gradle.org/8.0/userguide/toolchains.html#sub:download_repositories).

Hey im getting this error while building the project i think its because im using java 17 any ideas how to fix it or should i just change my java version ?

Thank you

Java 17 is fine
What SDK are you using?
How did you try to build the project exactly?

@ndr-brt
Copy link
Member

ndr-brt commented Dec 5, 2023

@AbbasSalloum I'm not sure this is the right place to discuss about compilation errors, only comments related to the issue please.

Copy link

This issue is stale because it has been open for 14 days with no activity.

@github-actions github-actions bot added the stale Open for x days with no activity label Dec 20, 2023
@ndr-brt ndr-brt removed the stale Open for x days with no activity label Dec 20, 2023
Copy link

github-actions bot commented Jan 4, 2024

This issue is stale because it has been open for 14 days with no activity.

@github-actions github-actions bot added the stale Open for x days with no activity label Jan 4, 2024
@ndr-brt ndr-brt removed the stale Open for x days with no activity label Jan 8, 2024
Copy link

This issue is stale because it has been open for 14 days with no activity.

@github-actions github-actions bot added the stale Open for x days with no activity label Jan 23, 2024
@ndr-brt ndr-brt removed the stale Open for x days with no activity label Jan 23, 2024
@ndr-brt ndr-brt added this to the Backlog milestone Jan 23, 2024
@git-masoud
Copy link
Contributor

HttpParamsDecorator relies on properties in the transfer request. These properties are valuable when assets need to adjust content based on consumer input. But, because recent changes in the transfer request and dsp protocol leave these properties always empty, HttpParamsDecorator seems pointless now. Does my assessment correct ?

@ndr-brt
Copy link
Member

ndr-brt commented May 7, 2024

no, it doesn't, according to the signature it relies on DataFlowStartMessage and HttpDataAddress.

anyway, this issue is already resolved: TransferRequest does not have a properties field anymore.

@ndr-brt ndr-brt closed this as completed May 7, 2024
@ununhexium
Copy link

We currently use these private properties to restore the assets' parameterization feature in the provider push use-case, via a workaround in the Connector v0.2.1.
This feature got removed when switching to the DSP protocol as it doesn't support it but our clients use it.

Does this deletion of properties imply that this use-case won't be supported at all in the future?

@ndr-brt
Copy link
Member

ndr-brt commented May 7, 2024

the transfer properties are not described in DSP so they were removed, this issue was just about clean them up from the TransferRequest object, but as you said they were unused since >0.2
To store private data about a transfer privateProperties can be used, but they won't be passed to the provider in any way.

@jimmarino
Copy link
Contributor

We currently use these private properties to restore the assets' parameterization feature in the provider push use-case, via a workaround in the Connector v0.2.1. This feature got removed when switching to the DSP protocol as it doesn't support it but our clients use it.

Does this deletion of properties imply that this use-case won't be supported at all in the future?

Can you explain what you mean by this? What use case are you trying to solve?

@git-masoud
Copy link
Contributor

We currently use these private properties to restore the assets' parameterization feature in the provider push use-case, via a workaround in the Connector v0.2.1. This feature got removed when switching to the DSP protocol as it doesn't support it but our clients use it.
Does this deletion of properties imply that this use-case won't be supported at all in the future?

Can you explain what you mean by this? What use case are you trying to solve?

We currently use these private properties to restore the assets' parameterization feature in the provider push use-case, via a workaround in the Connector v0.2.1. This feature got removed when switching to the DSP protocol as it doesn't support it but our clients use it.
Does this deletion of properties imply that this use-case won't be supported at all in the future?

Can you explain what you mean by this? What use case are you trying to solve?

I can describe a simple use case:
A provider has a generic API that provides the location and status of rental bikes. The consumers of this API can apply simple filters by sending parameters like radius, longitude, and latitude to the API endpoint to only get the data of the required region.
in the older version of edc, we could enable proxyQueryParams in the asset definition and ask the consumers to pass the radius, longitude, and latitude as extra properties in the transferProcessRequest. HTTP decorator in the Dataplane HTTP , later would add those properties in the provider side as query parameters to the API request.

@jimmarino
Copy link
Contributor

Can you explain what you mean by this? What use case are you trying to solve?

I can describe a simple use case: A provider has a generic API that provides the location and status of rental bikes. The consumers of this API can apply simple filters by sending parameters like radius, longitude, and latitude to the API endpoint to only get the data of the required region. in the older version of edc, we could enable proxyQueryParams in the asset definition and ask the consumers to pass the radius, longitude, and latitude as extra properties in the transferProcessRequest. HTTP decorator in the Dataplane HTTP , later would add those properties in the provider side as query parameters to the API request.

That way of modeling the requirement mixes concerns. I would create an asset, and either have the parameters passed explicitly by the client as part of the data plane API being used or create a proxy mapping in the data plane that passes the parameters as part of the forwarded request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers refactoring Cleaning up code and dependencies
Projects
None yet
Development

No branches or pull requests

7 participants