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

Added plugin-related functions to the Java client #1979

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

moritzvieli
Copy link

  • Add OlaClient.reloadPlugins()
  • Add OlaClient.getPluginState()
  • Add OlaClient.setPluginState()
  • Changed evaluation of PROTOBUF_VERSION, because pkg-config adds trailing ".0" to the version, which is not compatible with the available Java dependencies

The last change needs to be checked carefully. I tried building it on a Mac and it failed with the pkg-config version, because of the trailing ".0". Using "protoc --version" works, but might introduce other issues.

- Add OlaClient.reloadPlugins()
- Add OlaClient.getPluginState()
- Add OlaClient.setPluginState()
- Changed evaluation of PROTOBUF_VERSION, because pkg-config adds trailing ".0" to the version, which is not compatible with the available Java dependencies
Copy link
Member

@peternewman peternewman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @moritzvieli .

I don't know whether you want to split this in two, as apart from some minor styling, the client changes are ready to go, whereas the Protobuf Java versioning may need a bit more testing and thought.

It would also be good to add some tests too please:
https://github.com/OpenLightingProject/ola/blob/master/java/src/test/java/ola/OlaClientTest.java

<version>0.1.0</version>
<version>0.0.3</version>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should never go backwards in our versions, even if I failed to update the separate Java changelog last time around.

I think this should be 0.2.0 given:

MINOR version when you add functionality in a backward compatible manner

@@ -1,3 +1,9 @@
02/10/2024 Moritz Vieli <[email protected]>
* v0.0.23
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you mean v0.0.3 in your versioning, but as mentioned this should be >0.1.0, I believe 0.2.0.

Comment on lines -39 to +40
<source>1.6</source>
<target>1.6</target>
<source>1.7</source>
<target>1.7</target>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this just because 1.6 is out of support?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm less keen on all the whitespace changes (particularly alignment within Javadoc) given we don't currently have a linting scheme and the risk of someone else's future edits just conflicting with what you've done.



/**
* Change the state of plugins.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Change the state of plugins.
* Set the state of a plugin.

.setEnabled(enabled)
.build();

return (Ack) callRpcMethod("SetPluginState", request);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the behaviour of patchPort is more useful:

* @return true when succeeded.

return callRpcMethod("PatchPort", patchRequest) != null;

@@ -130,6 +142,38 @@ public PluginDescriptionReply getPluginDescription(int pluginId) {
}


/**
* Return the state for a plugin.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be:

Suggested change
* Return the state for a plugin.
* Return the state of a plugin.

* Return the state for a plugin.
*
* @param pluginId number of the plugin for which to receive the state
* @return The list of plugings.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* @return The list of plugings.
* @return The state of the plugin.

/**
* Return the state for a plugin.
*
* @param pluginId number of the plugin for which to receive the state
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* @param pluginId number of the plugin for which to receive the state
* @param pluginId number of the plugin to fetch the state of

Comment on lines -28 to +29
PROTOBUF_VERSION=`pkg-config --modversion protobuf`;
PROTOBUF_VERSION=`protoc --version | awk '{print [$]2}'`;
AC_MSG_NOTICE([PROTOBUF VERSION $PROTOBUF_VERSION])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not hugely keen on adding another means of processing into the mix and we've already got a load of Protobuf versioning stuff in via d4414fe so hopefully we can just reuse some of that to make a Java version that's compatible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants