Skip to content

Refactor project to separate core from extensions (#320)#360

Merged
rfecher merged 1 commit intomasterfrom
GEOWAVE-320-final
May 4, 2015
Merged

Refactor project to separate core from extensions (#320)#360
rfecher merged 1 commit intomasterfrom
GEOWAVE-320-final

Conversation

@rfecher
Copy link
Copy Markdown
Contributor

@rfecher rfecher commented Apr 30, 2015

Generally speaking there is now a hierarchy of projects to allow the project to more easily grow, rather than the previous flat module structure.

This did introduce breaking changes to the persistence model.

Here's a set of points covered within this issue:

  • To separate Spatial temporal core implementation details from the more general purpose multi-dimensional index and key-value store, a new core module, 'geotime' was created. To separate all spatial-temporal components from the core, field readers and writers are now pluggable through SPI.
  • Also, analytics and ingest are now both able to run through GeoWaveMain using SPI to inject commandline operations (and there's a new "cli" module that contains the core for the command line tooling).
  • The ingest framework now allows the optional dimensionality types to be injected through SPI, in which the geotime module injects "spatial" and "spatial-temporal".
  • The different ingest types within geowave-types are now broken out individually in extensions/formats (and the term "type" is replaced by the term "format" to avoid confusion between ingest formats and data adapters).
  • Analytics was quickly broken out between "api" and "mapreduce" but perhaps its worth revisiting to look more closely at the logical breakdown, because I didn't want to go down too deep a rabbit hole with this initial cut.
  • Services were broken out between the service API (jax-rs interfaces), the java client stub (and if we were to provide more languages as clients than just java, this could become a directory), and the service implementation webapp
  • "packaging" was placed in deploy to limit the top-level directories
  • the eclipse formatter and cleanup were place in dev-resources as a standalone maven module so projects do not depend on a relative path to the formatter when running the maven format goal - therefore in order to run maven commands for geowave, the dev-resources must be installed first. We should look to publish this artifact to maven central.
  • deleted benchmarks and vagrant setup from the root geowave project and separated each into its own project on github/ngageoint

@rfecher rfecher force-pushed the GEOWAVE-320-final branch 5 times, most recently from 83f4c7a to 74027db Compare May 1, 2015 00:11
@rwgdrummer
Copy link
Copy Markdown
Contributor

Should we add a new category for Analytics rather than using the ingest category (CLI)?

Comment thread .travis.yml Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

probably should be "cd test;" at the beginning based on the coveralls config

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

thanks, added 'cd test;'

also, there was an issue with jacoco reporting on both the munged and unmunged class directories, so I specifically excluded unmunged directories for the modules that use munge

@rfecher rfecher force-pushed the GEOWAVE-320-final branch 2 times, most recently from f550540 to 1396198 Compare May 3, 2015 13:26
@rfecher
Copy link
Copy Markdown
Contributor Author

rfecher commented May 3, 2015

good catch on the CLI analytic category, the category class existed, just the provider was still using the ingest category - it should be fixed now

@chrisbennight
Copy link
Copy Markdown
Contributor

  • Probably small updates to Refactor projects to separate core and plugins #320 needed (vagrant, benchmark moving outside).
  • Should add a documents page that gives an overview of the project layout (but that can be a separate ticket)
  • Think there are still issues with the jacoco/coveralls stuff; looks like all the source directories are removed in the test pom - which I don't think will work (unless there's some other trick I'm not seeing)

@rfecher rfecher force-pushed the GEOWAVE-320-final branch 3 times, most recently from 224828e to 409eb5e Compare May 4, 2015 16:50
@coveralls
Copy link
Copy Markdown

Coverage Status

Coverage increased (+1.25%) to 63.35% when pulling 37a0757 on GEOWAVE-320-final into 845ac4b on master.

@coveralls
Copy link
Copy Markdown

Coverage Status

Coverage increased (+1.25%) to 63.36% when pulling 37a0757 on GEOWAVE-320-final into 845ac4b on master.

rfecher added a commit that referenced this pull request May 4, 2015
Refactor project to separate core from extensions (#320)
@rfecher rfecher merged commit fc9df6c into master May 4, 2015
@rfecher rfecher deleted the GEOWAVE-320-final branch May 4, 2015 21:36
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.

4 participants