NIFIREG-213 Implementing parser for extension-docs.xml file and integrating into the NarBundleExtractor

- Incorporating BuildInfo into DB and appropriate entity/model classes
- Added ProvidedServiceAPI to DB schema, entities, and metadata service
- Added Restrictions to DB, entity classes, and metadata service
- Refactored DataModelMapper into separate classes
- Updated StandardExtensionService to persist Extensions to DB
- Added link to extension-metadata from extension repo API
- Updated NarBundleExtractor to extract additionalDetails and added additionalDetails to DB schema and entities
- Added REST end-points to access extension metadata by bundle version
- Refactored NarBundleExtractor to unmarshall extension-manifest.xml using Jackson XML
- Refactored how extensions are stored in the DB to store a serialized version of the content
- Removed extension prefix from bundle and bundle version class and tables
- Added ExtensionResource to get all extensions
- Creating links from ExtensionMetadata to Extension
- Added swagger and validation annotations to extension model objects
- Added filter params for retrieving extensions
- Added ExtensionClient and JerseyExtensionClient
- Added REST end-point to search by provided service API
- Added display name to extensions
- Added versioned serializer for the Extension entity
- Added comment to default providers.xml about ordering of providers

This closes #160.

Signed-off-by: Kevin Doran <kdoran@apache.org>
163 files changed
tree: 6ea167f8cbda25e5b136667c3e09c8b3ac0a551c
  1. nifi-registry-assembly/
  2. nifi-registry-core/
  3. nifi-registry-extensions/
  4. nifi-registry-toolkit/
  5. .gitignore
  6. .travis-output-filters
  7. .travis.yml
  8. build-and-run.sh
  9. LICENSE
  10. NOTICE
  11. pom.xml
  12. README.md
  13. stop.sh
README.md

Apache NiFi Registry Build Status

Registry—a subproject of Apache NiFi—is a complementary application that provides a central location for storage and management of shared resources across one or more instances of NiFi and/or MiNiFi.

Table of Contents

Getting Started

Requirements

  • Java 1.8 (above 1.8.0_45)
  • Maven 3.1.0, or newer
  • Recent git client
  1. Clone the repo

     git clone https://git-wip-us.apache.org/repos/asf/nifi-registry.git
     git checkout master
    
  2. Build the project

     cd nifi-registry
     mvn clean install
    

    If you wish to enable style and license checks, specify the contrib-check profile:

     mvn clean install -Pcontrib-check
    

    If you wish to run integration tests and contrib-check, specify both profiles:

     mvn clean install -Pcontrib-check,integration-tests
    
  3. Start the application

     cd nifi-registry-assembly/target/nifi-registry-<VERSION>-bin/nifi-registry-<VERSION>/
     ./bin/nifi-registry.sh start
    

    Note that the application web server can take a while to load before it is accessible.

  4. Accessing the application web UI

    With the default settings, the application UI will be available at http://localhost:18080/nifi-registry

  5. Accessing the application REST API

    If you wish to test against the application REST API, you can access the REST API directly. With the default settings, the base URL of the REST API will be at http://localhost:18080/nifi-registry-api. A UI for testing the REST API will be available at http://localhost:18080/nifi-registry-api/swagger/ui.html

  6. Accessing the application logs

    Logs will be available in logs/nifi-registry-app.log

License

Except as otherwise noted this software is licensed under the Apache License, Version 2.0

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.