- In order to accommodate this, also needed to improve DataTypeUtils so that it knows that Record A is wider than Record B if Record A contains all fields of Record B and more.
- Removed unit tests and resources that are overly complex and no longer applicable
- Fixed issue in unit test based on different line endings between operating systems
This closes#8331
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* [NIFI-12698] dark mode, [NIFI-12687] status history axis label fix
* prettier
* lint fix
* update input form field styles to support dark mode
* adjust colors of flow status icons, and PG status icons, and softened the warn palette. Fix background of status history charts in dark mode
* fix provenance text color in dark mode
* leave the toggle for dark mode always visible to encourage testing
This closes#8320
Fixed bug that caused custom Relationships not to work on Python Processors. Added unit test to verify. Also addressed issue in PythonControllerInteractionIT where it did not wait for Processors to become valid (originally this wasn't necessary but when we refactored Processors to initialize in the background this was overlooked).
This closes#8316
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* NIFI-12684:
- Handling error responses in the service listing on the canvas.
- Handling error responses when converting a Property value to a Parameter.
* NIFI-12684:
- Introducing parameter helper to remove duplicated logic and error handling when fetching parameters and converting properties to parameters.
This closes#8321
valid because it had cached property descriptors before the processor was fully initialized, so updated code to ensure that we do not cache values before initialization is completed.
This closes#8315
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Added Spring Security PKCE OAuth2 Request Customizer to standard Resolver
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#8324.
* [NIFI-12686] eslint configuration for ts files
* add linting to the default maven build
* updates for RAT plugin
* remove .eslitrc as it wasn't needed. updated RAT config
This closes#8313
* [NIFI-12655] theme nifi following Material Design and leveraging Angular Material themes
* update accent palette usage to $nifi-canvas-accent-light-palette
* fix layout of create process group dialog
This closes#8294
* NIFI-12663:
- Handling API error responses in the Management Controller Services page.
* NIFI-12679:
- Renaming components based on review feedback.
- Using ng-content in page-content component.
- Removing the problematic route when navigating to the error page.
- Fixing logic when handling service loading errors.
- Handling errors in the Property Table Helper service.
* NIFI-12679:
- Addressing review feedback.
Refactored to avoid streaming over the list twice.
Tweaked unit test, so it works in NiFi 1.x also.
Signed-off-by: Matt Burgess <mattyb149@apache.org>
This closes#8266
* [NIFI-12622] - Parameter Providers - listing table
* Add a new Parameter Provider
* Delete parameter provider
* refactor to reduce duplicate code when creating new properties
* support editing parameter providers
* refactored inline service creation into PropertyTableHelperService
* added parameter provider linking to access policies.
* fix bugs in flow reducer not setting state properly when starting/stopping components and run once.
* address review feedback
* refactored nifiCommon to provide stripProtocol method that was implemented in loads of places. replaced all occurrences to the nifiCommon implementation.
This closes#8298
The empty string allows controller service configuration to be saved without flow
configuration history recording a configuration change for comments.
This closes#8275
Signed-off-by: David Handermann <exceptionfactory@apache.org>
This closes#8063
Signed-off-by: David Handermann <exceptionfactory@apache.org>
Co-authored-by: Vuong Nguyen Van <vanvuong24072001@gmail.com>
Co-authored-by: nathluu <luuhoangtanbis@gmail.com>
- Updated KubernetesConfigMapStateProvider and KubernetesLeaderElectionManager to ignore blank prefix values as provided in default configuration files
- Added some Use Case docs for Python processors and updated Runtime Manifests to include Python based processors as well as Use Case/MultiProcessorUseCase documentation elements. Refactored/cleaned up some of the Python code and added unit tests.
- Added python-unit-tests profile and enabled on Ubuntu and macOS GitHub workflows
This closes#8253
Signed-off-by: David Handermann <exceptionfactory@apache.org>
This closes#8013
Signed-off-by: David Handermann <exceptionfactory@apache.org>
Co-authored-by: Peter Turcsanyi <turcsanyip@apache.org>
Co-authored-by: Malthe Borch <mborch@gmail.com>
When syncing to a VersionedFlow, make sure processor references to new controller services are valid after the processor migrates the configuration of its properties
This closes#8184
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* NIFI-12604:
- Empty Queue.
- Empty All Queues.
* NIFI-12611:
- Ensuring dialog is closed when an error occurs.
- Migrating from withLatestFrom to concatLatestFrom.
* NIFI-12611:
- Adding header/nav to the controller service listing page.
This closes#8246
Used migrateProperties() for migrating old flows to the new property structure.
Moved common properties to AzureStorageUtils and also updated/consolidated some property descriptions
This closes#8205
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* [NIFI-12568] - start/stop/run once from the context menu. start/stop from operation panel.
* remove excess arguments from menu condition and action definitions
* review feedback: * reload flow if current pg is started/stopped. * reload pg if pg is started/stopped.
* another round of review feedback: catchErrors, filter order, reuse Revision interface from shared, unused imports
* renaming action and related interfaces from reloadProcessGroup to loadChildProcessGroup
* remove commented out code
* remove extranious calls to canOperate
* update conditions when start/stop/enable/disable are presented to the user
* fix vertical alignment for some icons in context menu
* more icon alignment
* review feedback
* updates
This closes#8216
* NIFI-12586:
- Fixing the handling of getParameters since the supplied input could be undefined in some instances.
* NIFI-12586:
- Removing unused event.
- Removed iotdb-server dependencies and integration tests based on banned SNAPSHOT dependency versions
Signed-off-by: Matt Burgess <mattyb149@apache.org>
This closes#8207
- Upgraded Spring Framework from 5.3.31 to 6.0.15
- Upgraded Spring Security from 5.8.7 to 6.2.0
- Upgraded Spring Vault from 2.3.4 to 3.1.0
- Upgraded Jetty from 10.0.18 to 12.0.5 with EE 10
- Upgraded Jersey from 2.41 to 3.1.4
- Upgraded JAXB from 2.3.9 to 4.0.4
- Upgraded AspectJ from 1.9.20.1 to 1.9.21
- Upgraded JMS API from 2.0.1 to 3.1.0
- Upgraded ActiveMQ Broker from 5.18.2 to 6.0.1 for JMS 3
- Upgraded JJWT from 0.9.1 to 0.12.3
- Replaced jackson-module-jaxb-annotations with jackson-module-jakarta-xmlbind-annotations
- Replaced maven-jaxb2-plugin with hisrc-higherjaxb40-maven-plugin 2.1.1
- Replaced kongchen swagger-maven-plugin with swagger-codegen-maven-plugin from Swagger 3
- Replaced com.nickwongdev AspectJ Plugin with Codehaus 1.14.0 for newer Java versions
- Removed unused cglib-nodep
- Removed references to javax.validation
- Removed custom Jetty ALPN Processor not required for Java 21
- Removed several tests depending on older Jetty and Jakarta libraries
- Removed unnecessary webdefault.xml configurations
- Replaced unsupported cross-context servlet forwarding with HTTP forwarding
- Replaced javax.servlet references with jakarta.servlet
- Replaced javax.xml.bind references with jakarta.xml.bind
- Replaced javax.ws references with jakarata.ws
- Updated Spring Security CSRF implementation for Spring Security 6
- Updated web.xml versions to 6.0
- Updated REST API templates using new swagger-codegen variables
- Removed VALIDATE_DATA property from ParseCEF based on library compatibility issue with javax.validation
- Added application URL logging to NiFi JettyServer
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#8197.
* [NIFI-12552] - Support client-side pagination on Summary tables
* updated the filter control to only show the label indicating matches when a filter is active. similar to how it is done for the events table
* aligned cells like Run Status so the icon and text are vertically centered in the table cell
* moving System Diagnostics out from the Summary page to the main application menu
* reset summary listing table selection when pagination or filter changes.
* remove area chart icon from the System Diagnostics menu option as it duplicates the Node Status History option
* refactor selection clearing to its own action
This closes#8192
* [NIFI-12553] - Context menu option for View Status History
* Added View Status History to the canvas context menu for applicable component types
* Added support for Node Status History from the flow menu
* remove unused imports
This closes#8193
- Removed Bouncy Castle JDK 1.5 version exclusions no longer required in SSHJ 0.38.0
Signed-off-by: Matt Burgess <mattyb149@apache.org>
This closes#8200
* NIFI-12543:
- Users/User Groups.
* NIFI-12543:
- Users/User Groups Deletion.
- Establishing routes for selection, editing, and access policies.
* NIFI-12543:
- User/User Group Creation.
- User/User Group Configuration.
- Renaming existing User State to Current User State.
* NIFI-12543:
- User access policies table.
* NIFI-12543:
- Sorting users/groups in the edit dialog.
* NIFI-12543:
- Addressing review feedback.
This closes#8191
- The isJson Expression Language function returns true regardless of leading or trailing spaces
This closes#8165
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* NIFI-12529:
- Enable/Disable Controller Services.
- Resetting state when destroying Controller Service listings, General, Registry Clients, and Reporting Tasks.
* NIFI-12529:
- Addressing review feedback.
This closes#8185
- Set the width of the Property editor. This ensures the width looks correct and the overflow scroll policy works as expected.
- Fixed table layout issues where width: 100% from listing table wasn't correct.
This closes#8188
The UriUtils class allows the construction of a valid java.net.URI with a single string even though there maybe illegal characters in the path, query and/or fragment sections(s) of the URI. The create method uses regular expressions from Spring Framework UriComponentsBuilder and provides capabilities closer to the deprecated constructor for java.net.URL.
This closes#8189
Signed-off-by: David Handermann <exceptionfactory@apache.org>
- Added nifi-json-schema-api to nifi-commons
- Added StandardJsonSchemaRegistry implementation of JsonSchemaRegistry
- Added strategy configuration properties to ValidateJson
This closes#8005
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* [NIFI-12504] process group summary tab
* ellipsify data/headers in table
* input and output port summary tabs
* connections summary tab
* rpg summary tab
* address review feedback including a filtering approach that doesn't rely on splitting strings by some arbitray character.
* remove unnecessary try/catch blocks
This closes#8174
* [NIFI-12519] - deselect parameter when it is deleted. also, enable goto controller service linking
* Added confirmation dialog in controller service edit when the form is dirty and the user attempts to route away using a referencing component link
* Reset state when closing the summary and counter pages.
This closes#8166
* NIFI-12502:
- Go To Service.
- Save before navigating if form dirty.
- Go To Parameter.
- Convert To Parameter.
* NIFI-12502:
- Ensuring tests are still bootstrapped correctly.
* NIFI-12502:
- Addressing review feedback.
This closes#8159
- Updated OidcBearerTokenRefreshFilter to maintain current Identity Provider Groups when generating refreshed application Bearer Tokens
- Refactored LoginAuthenticationToken to remove unnecessary optional constructors and use java.time.Instant for expiration
- Added Issuer Provider with implementation for Bearer Token Issuer based on host and port properties
- Updated Expression Language Guide to note the available system property providing the current framework version according to the Framework NAR version
This closes#8101
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* [NIFI-12437] - Summary
* Processors Status Snapshot Listing
* initial processors status snapshot table
* sorting
* goto processor
* multi-valued sort for processors status listing summary
* add filtering to the processors status snapshot tab of the summary
* created a re-usable summary-table-filter componennt
* moved status history to common location
* status history
* status history chart
* resize
* display insufficient data message if there isn't enough data to render the history
* moved status history chart into its own component
* update missing licenses
* review feedback
* removing use of <label> for non-form elements in status-history component, also updated vertical spacing
* review feedback
* remove unused items from processor-status-listing.component.ts
* fixed tests. added npm script
* fixed routing to processor after initial load of the processors summary table
* turn of debug route tracing
This closes#8143
The headers in the map that come back when replicating a request used to be in the case given; however they can be lowercased in the OkHttp Headers object when using HTTP/2 instead of HTTP/1.1. As a result, we need to ensure that we always use lower-case header names or check the map case-insensitive.
This closes#8163
Signed-off-by: David Handermann <exceptionfactory@apache.org>
* NIFI-12486:
- Registry Clients.
- General authorization guard.
- Additional authorization checks in the existing Settings tabs.
* NIFI-12486:
- Adding authorization guard to /counters.
* NIFI-12486:
- Enabling some debug build out to attempt to track down a sporadic build failure.
* NIFI-12486:
- Addressing review feedback.
* NIFI-12486:
- Fixing unit test and running prettier.
This closes#8142
- Added nifi-framework-status-history-shared module for common components
- Added include-questdb build profile for including the QuestDB NAR
- Upgraded QuestDB from 7.2 to 7.3.7 for NIFI-12435
Signed-off-by: Bence Simon <bsimon@apache.org>
This closes#8141
- Updated property description to indicate that bypass validation is a Privilege Action that can cause authorization errors.
Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>
This closes#8139.
- Bumping dependency to latest minor/incremental release.
- Adding an explicit override for vite which is needed until Angular can be upgraded to version 17.
This closes#8135
* NIFI-12470:
- Fixing forEach callback for usage with Object.entries() to address layout issue in Status History.
- Using es5 syntax.
This closes#8121
* NIFI-12425:
- Controller Service Listing.
- Adding lazy loading to the Canvas with the introduction of the Controller Service listing.
- Reorganizing existing components in the Flow Designer.
- Allowing the current Process Group to be configured.
- Inline Service creation.
* NIFI-12425:
- Removing unused imports.
This closes#8091
- Applying a copy of the nifi-web-frontend rat config in the parent module when the new ui profile is not activated. Previously, if the new ui profile was not activated, the rat check would fail.
This closes#8097
* [NIFI-12415] Counters page
* populate counter the table.
* support counter reset.
* filtering by name and by context
* sorting, including initial sort
* added basic tests
* Formatted with Prettier
* review feedback - removing unused things.
* align mat-table usage to a common style
* disable the Counter menu item if the user doesn't have counterPermissions.canRead
This closes#8077
* NIFI-12401:
- Allow combo editor to reference parameters.
* NIFI-12401:
- Addressing review feedback.
- Handling corner cases where there is no parameter context and where there are no parameters in a bound parameter context.
* NIFI-12401:
- Fixing formatting issues.
This closes#8068
* [NIFI-12419] - Only include the new UI module when building if the 'include-new-ui' profile is active. Also update the ci-workflow.yaml to activate that profile.
* add the profile activation to the Maven Build command
This closes#8069
* NIFI-11481:
- Initial project creation.
* NIFI-11481:
- Install material.
- Rename project from nifi-web-frontend to nifi.
* NIFI-11481:
- Install roboto through package.json.
* NIFI-11481:
- Add Tailwind.
* NIFI-11481:
- Basic layout.
* NIFI-11481:
- Introducing ngrx for storing flow.
* NIFI-11481:
- Introducing d3.
- Adding svg.
- Adding defs.
- Funnel Manager.
* NIFI-11481:
- Introducing d3.
- Adding svg.
- Adding defs.
- Funnel Manager.
- Adding draggable.
- Adding editable.
- Adding selectable.
- Adding flowfont.
- Adding Canvas View.
- Adding Transform in Store.
- Adding selected in Store.
- Adding transition in Store.
- Funnel Manager directly subscribes to store.
* NIFI-11481:
- Adding backend calls.
- Refactoring update positions to be for a single component.
* NIFI-11481:
- Process Group Manager.
- Adding font-awesome.
- Updating canvas/graph component visibility.
- Adding prettier/eslint.
* NIFI-11481:
- Adding support to enter a process group.
* NIFI-11481:
- Formatting source.
* NIFI-11481:
- Label Manager.
- Added generic update component.
* NIFI-11481:
- Processor Manager.
* NIFI-11481:
- Port Manager.
* NIFI-11481:
- Remote Process Group Manager.
* NIFI-11481:
- Adding draggable icons to the toolbar.
* NIFI-11481:
- Formatting.
* NIFI-11481:
- Draggable Toolbar.
- Create Label, Funnel.
* NIFI-11481:
- Connection Manager.
- Connectable Behavior.
* NIFI-11481:
- Draggable behavior with back end call for both components and connections.
* NIFI-11481:
- Selection box.
* NIFI-11481:
- Port creation.
- Port configuration.
- Quick Select.
* NIFI-11481:
- Canvas Tooltips.
* NIFI-11481:
- Context menu.
* NIFI-11481:
- Router State.
- Reorganization.
- Deep linking.
* NIFI-11481:
- Adding support for Delete.
* NIFI-11481:
- Flow status bar.
* NIFI-11481:
- Adding Current User State.
- Current user polling.
- Fixing Flow Status layout bug.
* NIFI-11481:
- Process Group Polling.
* NIFI-11481:
- Process Group Breadcrumbs.
* NIFI-11481:
- Global Menu.
* NIFI-11481:
- Search.
* NIFI-11481:
- Add support for centering components on the canvas.
* NIFI-11481:
- Add support for persisting and restoring the users view of the current PG.
* NIFI-11481:
- Fixing centering behavior.
- Fixing user view restoration.
- Bulk selection auto fit.
* NIFI-11481:
- Incorporating the new UI into the NiFi build with a build profile that is not active by default.
- The new UI is deployed to a different context path than the current UI and works side by side.
* NIFI-11481:
- Center component from context menu.
- Enter process group from context menu.
* NIFI-11481:
- Adding support to log in.
- LoginFilter, LogoutFilter.
- Moved the handling of 'include-new-ui' profile to make building with and within more straight forward.
- Splash screen while guard executing.
- Http request interceptor to show loading on the canvas.
- Http request interceptor to handle 401 responses.
* NIFI-11481:
- Extension Creation Component.
- Filter, Usage Restrictions, and selected type.
* NIFI-11481:
- Stopping polling when unable to connect to server.
* NIFI-11481:
- Settings - General.
* NIFI-11481:
- Settings - Management Controller Services.
* NIFI-11481:
- NiFi Tooltip directive.
- Usage Restriction Tip.
- Comments Tip.
- Validation Errors Tip.
- Bulletins Tip.
* NIFI-11481:
- Settings - Reporting Tasks.
* NIFI-11481:
- Avoiding unnecessary web requests in route guards.
* NIFI-11481:
- Edit Controller Service Dialog.
- View Property Table.
- Update component density.
* NIFI-11481:
- Supports Controller Service API tooltip and dialog content.
* NIFI-11481:
- Property table - NF Editor.
- Property table - Combo Editor.
* NIFI-11481:
- Making property table a control value accessor.
- Wiring up saving Controller Services from Edit Dialog.
- Handling Delete Property.
- Handling New Property.
- Updating how form submission is triggered throughout to address issue with incidental form submit events.
* NIFI-11481:
- Moving Settings into pages.
* NIFI-11481:
- Moving Canvas into pages.
* NIFI-11481:
- Moving Login into pages.
* NIFI-11481:
- Adding routing to the Controller Service listing and Reporting Task listing.
- Updating Canvas routing to follow similar pattern.
* NIFI-11481:
- Controller Service references.
* NIFI-11481:
- Create inline Controller Service.
- Edit Controller Service route.
- Go To Controller Service from Property Table.
- Switching to Event Emitter in New Property dialog.
* NIFI-11481:
- Saving spinner - Create Processor, Create Port, and Edit Port.
* NIFI-11481:
- Saving spinner - Create Controller Service, Edit Controller Service, and Create Reporting Task.
* NIFI-11481:
- Parameter Context Listing.
- Add new Parameter Context.
- Edit Parameter Context.
* NIFI-11481:
- New Paramter.
- Edit Parameter.
- Parameter table.
* NIFI-11481:
- Parameter references.
- Parameter Context update steps.
- Bound Process Group references.
* NIFI-11481:
- Parameter Context Inheritance.
* NIFI-11481:
- Processor configuration.
- Ensuring new Property names are unique.
- Trapping focus in nf and combo editors.
- Reloading component connections after updating a Processor.
* NIFI-11481:
- Navigation Control.
- Birdseye.
- Operation Control.
* NIFI-11481:
- Create Process Group.
- Upload Process Group.
* NIFI-11481:
- Implementing current Process Group context in operation palette.
* NIFI-11481:
- Connection creation.
* NIFI-11481:
- Connection configuration.
* NIFI-11481:
- Standardizing selection option model.
- Connection load balancing tooltip.
- Clean up.
* NIFI-11481:
- Move components in to/out of groups.
- Group components.
* NIFI-11481:
- Render connections for component action.
* NIFI-11481:
- CodeMirror for Parameter and EL configuration.
* NIFI-11481:
- Resizable.
- Moving tooltip directive.
* NIFI-11481:
- Ensuring all specs are bootstrapped and create successfully.
* NIFI-11481:
- Updating some interface names to avoid conflicting with various components in an attempt to better establish a naming convention.
* NIFI-11481:
- Show Source/Destination.
- Defaulting current Parameter Context in Create PG and Group dialogs.
- Handling disabled state in a few ControlValueAccessors.
- Ensuring Parameter Contest uri is set.
- Unit tests.
* NIFI-11481:
- Fixing checkstyle issue.
* NIFI-11481:
- LICENSE/NOTICE.
* NIFI-11481:
- RAT Plugin config.
* NIFI-12401:
- Addressing review feedback.
* NIFI-11481:
- Ensuring the option is disabled when there is no description.
* NIFI-11481:
- Only including parameters in the payload when they have been modified.
- Showing appropriate message after applying based on whether parameters were included or not.
* NIFI-11481:
- Fixing parameter deletion.
- Enforcing parameter name uniqueness.
- Preventing changing parameter sensitive.
* NIFI-11481:
- Only loading the service link once when considering updated property value.
- Ensuring existing parameter are set in all instances of opening the new Property dialog.
* NIFI-11481:
- Fixing tests that regressed.
* NIFI-11481:
- Adding default karma config which was needed in order to debug tests in IDE.
* NIFI-11481:
- Updating karma config to not watch for now. Can introduce new options for running in various contexts in the future.
This closes#8053