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
GEODE-3915: use ClassName type for cache-loader, writer and listeners #1327
Conversation
Currently some options allow multiple classes to be defined - we should make sure we're covering that scenario as well when parameters are included:
|
470c11a
to
c4eb719
Compare
Double-check your current git config. I somehow got tagged as the author of your minor fix commit. |
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'm going to dig into how we're using regex elsewhere... I'm not sure we permit non-Latin characters in some of our regex, although I agree with the given regex and that we should.
* | ||
* See ClassNameConverter. | ||
*/ | ||
public class ClassName<T> implements Serializable { |
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.
If this needs to be Serializable
, it should probably have a serialVersionUID
.
try { | ||
initProperties = mapper.readValue(jsonInitProperties, Properties.class); | ||
} catch (IOException e) { | ||
throw new IllegalArgumentException("Invalid JSON: " + jsonInitProperties); |
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.
Do we want to lose the stacktrace here?
private RegionFunctionArgs.ExpirationAttrs regionExpirationIdleTime; | ||
private RegionFunctionArgs.ExpirationAttrs regionExpirationTTL; | ||
private RegionFunctionArgs.EvictionAttrs evictionAttributes; | ||
private ExpirationAttrs entryExpirationIdleTime; |
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.
The footprint of this class has changed. the serialVersionUID
must be updated.
} | ||
|
||
@Test | ||
public void convertClassAndProperties() { |
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.
Just for good measure, we should probably have a test on a gross
String json = "{\"k1\":\"v1\",\"k2\",\"v2\"}";
I see you use that form in another test, but it would still be good for completion, I think.
precheckin green |
f27096c
to
367e529
Compare
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.
Please add relevant tests for invalid json too.
LGTM barring any other dev mailing list objections. |
* use json string to specify the init properties * make sure the parser works when multiple ClassNames are specified in the command line. * rework AlterRegionCommandDUnitTest * make sure AnalyzeSerializableJunitTest works in IDEA. Signed-off-by: Patrick Rhomberg <prhomberg@pivotal.io>
Signed-off-by: Patrick Rhomberg prhomberg@pivotal.io
Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:
Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
Has your PR been rebased against the latest commit within the target branch (typically
develop
)?Is your initial contribution a single, squashed commit?
Does
gradlew build
run cleanly?Have you written or updated unit tests to verify your changes?
If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to dev@geode.apache.org.