Skip to content
New issue

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

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

Already on GitHub? # to your account

Pipeline2 #36

Merged
merged 2 commits into from
Mar 21, 2017
Merged

Pipeline2 #36

merged 2 commits into from
Mar 21, 2017

Conversation

Natkeeran
Copy link
Contributor

GitHub Issue: (link)

What does this Pull Request do?

  • This PR implements the RoutingSlip or Pipeline camel route.

What's new?

  • pipeline component

How should this be tested?

One way to test this is to create a sample log or file route. An example is provided below. Can verify that the component is working via logs!

    	from("timer:foo?period=5000")
    	.log(INFO, LOGGER, "Hello World")
    	.setHeader("IslandoraPipelineRecipients", simple("broker:queue:testqueue"))
    	.to("broker:queue:islandora-connector-pipeline");

<< People with better camel expertise, please provide additional instructions >>

Additional Notes:

Danny noted that Pipeline or boradcast could be re-factored into one component with ExchangePattern option being passed in as a header to RoutlingSlip. Needs further research.

This is pretty much Danny's code, I had a chance to understand it.

Interested parties

@dannylamb
@Islandora-CLAW/committers

@Natkeeran Natkeeran mentioned this pull request Mar 14, 2017
@codecov
Copy link

codecov bot commented Mar 14, 2017

Codecov Report

Merging #36 into master will decrease coverage by 12.35%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##             master   #36       +/-   ##
==========================================
- Coverage     82.35%   70%   -12.36%     
  Complexity        3     3               
==========================================
  Files             2     3        +1     
  Lines            51    60        +9     
==========================================
  Hits             42    42               
- Misses            9    18        +9
Impacted Files Coverage Δ Complexity Δ
...dora/alpaca/connector/pipeline/PipelineRouter.java 0% <0%> (ø) 0 <0> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0ef0be0...cbd772d. Read the comment docs.

@dannylamb
Copy link
Contributor

Hey @Natkeeran, thanks for throwing this up. You've successfully pulled together an Alpaca subproject, got it integrated into the build system, and got a feature going. That's impressive. I think it's great you took this bull by the horns.

I'll give this a deeper look and take it for a spin. If it floats, we'll go ahead and pull this in. I'll add the changes we were talking about in IRC in a subsequent PR.

@Natkeeran
Copy link
Contributor Author

@dannylamb Thanks Danny. Please point me to some examples of tests, and I can follow that and add them as well.

Copy link
Contributor

@dannylamb dannylamb left a comment

Choose a reason for hiding this comment

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

👍 It builds. Feature installs. I made test routes and it runs (after changing config, of course).

Let's bring this in and we'll merge it with broadcaster in a subsequent issue.

And don't worry about tests right now. Codecov.io is unhappy but I'm making an executive decision. You're not doing anything that isn't already covered by existing camel tests.

@dannylamb dannylamb merged commit 558ef69 into Islandora:master Mar 21, 2017
@acoburn
Copy link
Contributor

acoburn commented Mar 21, 2017

@Natkeeran unit testing camel routes can be a real pain -- for a lot of our code at Amherst, I just skip unit testing altogether and opt for really, really simple camel routes: the sort of routes that don't (IMO) need testing; sort of like this route here. The important bit of testing for camel stuff comes in with Pax Exam, which is way more complicated that unit tests. Plus, I find that the integration testing I can do with pax exam is way more useful than unit tests.

You can find some examples here: https://gitlab.amherst.edu/acdc/repository-extension-services/tree/master/acrepo-itests

and here: https://github.com/fcrepo4-exts/fcrepo-camel-tests

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

Successfully merging this pull request may close these issues.

3 participants