Conversation
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
walshmm/feature/DataModel-annotation Conflicts: org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/Persisted.java org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/AnnotatedElement.java org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/DataElementProcessor.java org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/DataElementSpec.java org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/DataFieldSpec.java org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/Field.java Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
walshmm/feature/DataModel-annotation Conflicts: org.eclipse.ice.dev/org.eclipse.ice.dev.annotations.proxytest/pom.xml Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
walshmm/feature/DataModel-annotation Conflicts: org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/DataElementProcessor.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/resources/templates/PersistenceHandler.vm Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
walshmm/feature/ice-annotation-extraction-service Conflicts: org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/DataElementProcessor.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/PersistenceHandlerWriter.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/resources/templates/PersistenceHandler.vm org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/test/java/org/eclipse/ice/tests/dev/annotations/processors/DataElementProcessorTest.java Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
Map java.util.Date to TypeScript Date Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
Signed-off-by: Michael Walsh <walshmm@ornl.gov>
walshmm/feature/ice-annotation-extraction-service Conflicts: org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/DataElementProcessor.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/DefaultFields.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/Field.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/ImplementationWriter.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/InterfaceWriter.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/PersistenceHandlerWriter.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/VelocityProperties.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/test/java/org/eclipse/ice/tests/dev/annotations/processors/DataElementAnnotationTestHelper.java org.eclipse.ice.dev/org.eclipse.ice.dev.annotations/src/test/java/org/eclipse/ice/tests/dev/annotations/processors/DataElementProcessorTest.java org.eclipse.ice.dev/org.eclipse.ice.dev.pojofromjson/src/main/java/org/eclipse/ice/dev/pojofromjson/PojoFromJson.java Signed-off-by: Michael Walsh <walshmm@ornl.gov>
|
|
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.
Looks good. This is nice work. Minor changes requested. Also, what's the level of test coverage?
...se.ice.dev.annotations/src/main/java/org/eclipse/ice/dev/annotations/PersistenceFilters.java
Outdated
Show resolved
Hide resolved
...nnotations/src/main/java/org/eclipse/ice/dev/annotations/processors/AnnotationExtractor.java
Outdated
Show resolved
Hide resolved
...notations/src/main/java/org/eclipse/ice/dev/annotations/processors/DataElementExtractor.java
Outdated
Show resolved
Hide resolved
...annotations/src/main/java/org/eclipse/ice/dev/annotations/processors/DataFieldExtractor.java
Outdated
Show resolved
Hide resolved
...ons/src/main/java/org/eclipse/ice/dev/annotations/processors/PersistenceWriterGenerator.java
Outdated
Show resolved
Hide resolved
...tations/src/main/java/org/eclipse/ice/dev/annotations/processors/WriterGeneratorFactory.java
Outdated
Show resolved
Hide resolved
* Factory for WriterGenerators. Create method parameters represent dependencies | ||
* of a set of generators. | ||
* @author Daniel Bluhm | ||
*/ | ||
public class WriterGeneratorFactory { |
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.
This is a really nice class. However, it is somewhat complex because of it's abstraction and would really benefit from a little extra documentation, an example, or a unit test. Just a thought!
According to PR feedback. This will improve debugging. Note: Sonar Lint is not fond of this practice but better experience while debugging is favorable to this particular Sonar Lint rule. Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
And move common methods for AnnotationExtractors to it. Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
And add tests for it. Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
And other minor fixes. Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
With lombok influencing my coverage it's hard to say exactly what percentage but after removing lombok builders from the coverage (so there would still be equals, hashcode, nonnull, etc.) we're around 90% |
Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
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 changes. This looks excellent. Approved from a code perspective. I'll check my other notes in the ticket.
How's the README going? The code looks good and I'm ready to merge. Should we still meet? If so, will @walshmm be joining us? |
README is coming along, I've ended up putting more effort into it than I anticipated it would need and even had some interesting questions raised from the exercise of writing a demo processor with all the bits and pieces. From a code perspective, I think this is feature complete. The questions I raised for myself are future work that would build off of what is already present so I think those are best suited for separate PR(s). |
And I'm still good to meet and discuss changes whenever! |
Okay, let's catch up in Mattermost about picking a date to talk. |
Nevermind - I don't think we need to meet to discuss it. I think you addressed all of my questions already. As soon as you push the README, I'll merge it (or you can). Nice work. |
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.
Approved. Good work.
Two things:
Otherwise, ready to merge. |
def44e4
to
eb426d0
Compare
With walkthrough of extending annotation processing. Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
After a mess of force pushes, I think we're just going to have to wait for the ECA bot to update after I had to fiddle around with my email associated with my Eclipse Foundation account for EclipseCon. If I had to guess, it seems that it must update on a daily cron job or something as after a few hours it still hasn't updated. I'll check back in tomorrow and ask the bot to revalidate and hopefully everything will be sorted then. |
Signed-off-by: Daniel Bluhm <bluhmdj@ornl.gov>
Oh, look at that! It decided to update finally. I'll go ahead and merge 🙂 |
This PR builds on top of Michael's changes for annotation extraction. This represents an attempt to simplify and preserve type safety while also clearly defining roles of different aspects of the code.
Notably, this PR introduces the AnnotationExtractor and GeneratedFileWriter interfaces and reworks the WriterGenerator interface to clearly define what kind of data is extracted and processed.
Open to feedback 🙂