-
Notifications
You must be signed in to change notification settings - Fork 36
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
Separate operator default implementation from library #303
Conversation
This will help to ease customization of the operator. For this a new default implementation was added (`org.eclipse.theia.cloud.defaultoperator`). Also structured the library (`org.eclipse.theia.cloud.operator`) more into modules. Add `OperatorPlugin` type: - Customizations can inject multiple operatorPlugins which will be started on startup. - Changed monitor activity tracking to a `OperatorPlugin`.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I've added a few first comments on the files.
I haven't tested it yet, but it looks very nice already
java/operator/org.eclipse.theia.cloud.defaultoperator/Run Operator.launch
Outdated
Show resolved
Hide resolved
java/operator/org.eclipse.theia.cloud.defaultoperator/Run Operator.launch
Outdated
Show resolved
Hide resolved
java/operator/org.eclipse.theia.cloud.defaultoperator/Run Operator.launch
Outdated
Show resolved
Hide resolved
...se.theia.cloud.operator/src/main/java/org/eclipse/theia/cloud/operator/AbstractOperator.java
Outdated
Show resolved
Hide resolved
...r/src/main/java/org/eclipse/theia/cloud/defaultoperator/DefaultTheiaCloudOperatorModule.java
Outdated
Show resolved
Hide resolved
....cloud.operator/src/main/java/org/eclipse/theia/cloud/operator/AbstractOperatorLauncher.java
Outdated
Show resolved
Hide resolved
...ator/src/main/java/org/eclipse/theia/cloud/operator/di/AbstractTheiaCloudOperatorModule.java
Outdated
Show resolved
Hide resolved
...eia.cloud.operator/src/main/java/org/eclipse/theia/cloud/operator/util/JavaResourceUtil.java
Outdated
Show resolved
Hide resolved
Fix `Run Operator` launch config. Rename files consistently to `TheiaCloudOperatorX`. Adjust documentation to make it more clear. Add build and install launch configs for operator library.
Thanks, I tested the basic startup use case and it was working. Then I tried the monitor extension with the Theia extension, and this failed:
I am not sure if this is necessarily related to this PR, but I can't verify this before my vacation. Otherwise from a general code refactoring POV I have no more comments and I think we may merge this if there are no regressions / the issue above is unrelated. Maybe @lucas-koehler wants to have a short look as well at the library refactoring? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a brief look at the changes and they look pretty good to me ✨
I have only two minor notes left as comments inline.
...rator/src/main/java/org/eclipse/theia/cloud/operator/AbstractTheiaCloudOperatorLauncher.java
Outdated
Show resolved
Hide resolved
Built-in plugins now need to be extracted in the plugins folder. Fix small typo. Make AbstractTheiaCloudOperatorLauncher an interface and rename it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the updates. The monitor extension now also seems to work for me ✨
I have only three very minor suggestions left inline. Besides that, LGTM :)
...loud.operator/src/main/java/org/eclipse/theia/cloud/operator/TheiaCloudOperatorLauncher.java
Outdated
Show resolved
Hide resolved
...loud.operator/src/main/java/org/eclipse/theia/cloud/operator/TheiaCloudOperatorLauncher.java
Outdated
Show resolved
Hide resolved
...loud.operator/src/main/java/org/eclipse/theia/cloud/operator/TheiaCloudOperatorLauncher.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update and the great refactoring in general ✨ LGTM now!
This will help to ease customization of the operator.
For this a new default implementation was added (
org.eclipse.theia.cloud.defaultoperator
).Also structured the library (
org.eclipse.theia.cloud.operator
) more into modules.Add
OperatorPlugin
type:OperatorPlugin
.