Skip to main content

nsx-runtime


2024.0.0 (2024-04-09)

  • Updated 3rd party dependencies:
    • Libraries:
      • org.apache.tomcat:tomcat-servlet-api: 9.0.82 -> 9.0.87
      • org.slf4j:slf4j-api: 2.0.9 -> 2.0.12
      • org.slf4j:slf4j-simple: 2.0.9 -> 2.0.12
      • com.opencsv:opencsv: 5.8 -> 5.9
      • com.googlecode.owasp-java-html-sanitizer:owasp-java-html-sanitizer: 20220608.1 -> 20240325.1

2023.9.0 (2023-11-08)

Added

  • Added new Context.get(Class) method which returns the requested ContextGroup object or throws an exception otherwise.

Changed

  • Removed deprecated methods StringUtil.wrap(String, List, String), StringUtil.wrap(String, Object[], String), StringUtil.wrap(String, Object, String), StringUtil.wrap(String, Collection, String, String) and StringUtil.wrap(String, Object[], String, String). (deprecated since 2021-06-04)
  • Removed deprecated methods StringUtil.wrapLines(String, List), StringUtil.wrapLines(String, Object...) and StringUtil.wrapLines(String, String...). (deprecated since 2021-06-04)

2023.8.1 (2023-09-14)

Fixed

  • Improved inline documentation.
  • Reverted null-checks for diagnostics added to CrudsResult<T>, as these should have never been null. The check has been replaced with nullability annotations instead.

2023.8.0 (2023-09-13)

Changed

  • Deprecations added in DataRef:
    • setId(String)
  • Replaced implementation of CrudsResult to be fully self-contained without the use of any subclasses.
    • The class is now marked final.
    • Success is now stored as a boolean value in the class.
    • CrudsResult has been reworked to be immutable (to the extent possible with backwards compatibility in mind).
  • Deprecations added in CrudsResult:
    • addDiagnostics(Diagnostic...)
    • addDiagnostics(Collection<Diagnostic>)
    • setDiagnostics(List<Diagnostic>)

Removed

  • Removed deprecated method DataRef.getDataRefLink().
  • Removed deprecated class net.democritus.io.JndiProperties.
  • Removed deprecated CrudsSucces and CrudsError classes. (deprecated since 2020-09-07)
  • Removed deprecated CrudsResult.getErrorMessage() classes. (deprecated since 2022-08-18)

2023.7.0 (2023-09-06)

Changed

  • Deprecations added in ParameterContext:
    • createEmpty(UserContext)
    • create(UserContext, Object)
    • create(UserContext, Object, DataRef)
    • create(UserContext, ProcessingContext, Object)
    • ParameterContext(Object, Context)
    • ParameterContext(Object)
    • ParameterContext(DataRef, Object)
    • ParameterContext(UserContext, Object)
    • ParameterContext(UserContext, DataRef, Object)
    • ParameterContext(UserContext, ProcessingContext, Object)
    • ParameterContext(UserContext, ProcessingContext, DataRef, Object)
    • getDataRef()
    • getUserContext()
    • getProcessingContext()
    • getFactory()
  • Marked classes IParameterContextFactory and ParameterContextFactory as deprecated.

Removed

  • Removed deprecated constructor DataRef(Long). (deprecated since 2021-06-15)
  • Removed deprecated constructor DataRef(String). (deprecated since 2021-06-15)
  • Removed deprecated constructor DataRef(Long, String, String, String). (deprecated since 2013-03-06)
  • Removed deprecated class net.democritus.sys.language.TranslationRef as related expander feature was also removed.
  • Removed deprecated class net.democritus.io.NioFileCopier. (deprecated since 2021-06-04)
  • Removed deprecated method DirUtil.copyFile(). (deprecated since 2021-06-04)
  • Removed deprecated method DirUtil.moveDirectory().
  • Removed deprecated method DirUtil.containsFilesRecursively(). (deprecated since 2021-06-04)
  • Removed deprecated method DirUtil.copyDirectoryRecursivelySkipEmptyDirectories(). (deprecated since 2021-06-04)
  • Removed deprecated method DirUtil.copyDirectoryRecursively(). (deprecated since 2021-06-04)
  • Removed deprecated method DirUtil.addSubFolder(). (deprecated since 2021-06-04)
  • Removed deprecated method DirUtil.containsAtLeastOneFile(). (deprecated since 2021-06-04)
  • Removed deprecated method DirUtil.appendSeparatorIfMissing(). (deprecated since 2021-06-04)

2023.6.1 (2023-08-28)

Fixed

  • Added dependency on prime-core for nsx-runtime-libraries expansion resource.

2023.6.0 (2023-08-28)

Changed

  • Updated OpenCSV to version 5.8.
  • Moved net.democritus.sys.IParamTargetValueProvider to application-shared-struts2.

2023.5.0 (2023-07-12)

Changed

  • net.democritus.upload.ImportFile.getParameter(String) now returns Optional<String> instead of the deprecated Options.Option<String>.
  • net.democritus.upload.ExportQuery.getParameter(String) now returns Optional<String> instead of the deprecated Options.Option<String>.

Removed

  • Removed deprecated constructor with arguments from net.democritus.download.CsvExportCollection.

2023.4.0 (2023-06-26)

Added

  • Added new SearchResult.getFirstResult() method with Optional<T> return type to replace SearchResult.getFirst().

Changed

  • Deprecated methods:
    • SearchResult.getFirst(Class)
  • SearchResult.SearchSuccess and SearchResult.SearchError are now marked as private, as these should not be used directly and have been deprecated for some time.

2023.3.1 (2023-06-22)

Fixed

  • Fixed concurrency issue in ComponentJNDI.

2023.3.0 (2023-06-19)

Added

  • Added new Context.find(Class) method with Optional<T> return type to replace Context.getContext(Class).

Changed

  • Deprecated methods:
    • Context.getContext(Class)
  • The following classes are now marked as final:
    • net.democritus.sys.Context

2023.2.1 (2023-06-07)

Added

  • Added methods to QueryParameter for creating null linkField query parameters.

2023.2.0 (2023-05-31)

Added

  • Added IsNullLinkFieldQueryParameterImpl implementation for null finder operator on link fields.
  • Added SCM information to deployed pom.xml artifacts.

Changed

  • Deprecated methods:

    • StringUtil.escape(char)
    • StringUtil.escape(String)
  • Deprecated classes:

    • net.democritus.validation.DateType
    • net.democritus.validation.IFieldValidator
    • net.democritus.validation.IValueType
    • net.democritus.validation.ValidationHelper

2023.1.1 (2023-05-04)

Changed

  • Updated 3rd party dependencies:
    • Libraries:
      • org.apache.tomcat:tomcat-servlet-api: 9.0.71 -> 9.0.74
      • org.slf4j:slf4j-api: 2.0.6 -> 2.0.7
      • org.slf4j:slf4j-simple: 2.0.6 -> 2.0.7

2023.1.0 (2023-04-20)

caution

As part of our initiative to modernise existing APIs, we have started replacing net.palver.util.Options.Option with java.util.Optional in this release. As a result, there are some breaking changes. We are rolling out these changes in stages to minimize the impact.

Fixed

  • ComponentMetaDataRegister.reset() was not a synchronized method, which could result in a race condition.

Changed

  • net.palver.util.Options and net.palver.util.Options.Option are now marked as deprecated.
  • All code related to component metadata has its used of net.palver.util.Options.Option replaced with java.util.Optional:
    • The methods getDataElementDef(), getTaskElementDef(), getFlowElementDef() and getResourceDef() in IComponentMetaData (and all implementation classes) now return Optional.
    • The methods getDataElementDef(), getTaskElementDef(), getFlowElementDef() and getResourceDef() in ComponentMetaDataRegister now return Optional.
    • The method getFieldDef() in DataElementDef now returns Optional.
  • The class net.democritus.metadata.AbstractComponentMetaData is now abstract.
  • The following classes are now marked as final:
    • net.democritus.metadata.CalculatedFieldDef
    • net.democritus.metadata.CommandDef
    • net.democritus.metadata.ComponentJNDI
    • net.democritus.metadata.FieldOperator
    • net.democritus.metadata.FinderDef
    • net.democritus.metadata.FlowElementDef
    • net.democritus.metadata.FlowElementRetriever
    • net.democritus.metadata.IndirectFieldDef
    • net.democritus.metadata.LinkDriverDef
    • net.democritus.metadata.LinkFieldDef
    • net.democritus.metadata.LinkTarget
    • net.democritus.metadata.ProjectionDef
    • net.democritus.metadata.ResourceDef
    • net.democritus.metadata.TaskElementDef
    • net.democritus.metadata.ValueFieldDef
    • net.democritus.properties.ApplicationProperties
    • net.democritus.properties.RuntimeProperties
  • All POJOs related to component metadata are now marked as serializable as they are used in Struts actions.

Removed

  • Removed deprecated class net.democritus.metadata.FieldDef (deprecated since 2014)
  • Removed deprecated constructor ValueFieldDef(name) (deprecated since 2014)
  • Removed deprecated constructor DataElementDef(component, packageName, elementName, fields, finders) (deprecated since 2014)
  • Removed deprecated constructor LinkFieldDef(name) (deprecated since 2014)
  • Removed deprecated classes/methods that were no longer in use:
    • nsx-common:
      • net.palver.util.CollectionUtil
      • net.palver.util.EnvironmentUtil
      • net.palver.util.IMapper
      • net.palver.util.IPredicate
      • net.palver.util.ListUtil.filter()
      • net.palver.util.ListUtil.first()
      • net.palver.util.ListUtil.forAll()
      • net.palver.util.ListUtil.map()
      • net.palver.util.ListUtil.reject()

2023.0.0 (2023-02-17)

Changed

  • Updated 3rd party dependencies:
    • Libraries:
      • org.apache.tomcat:tomcat-servlet-api: 9.0.65 -> 9.0.71
      • org.slf4j:slf4j-api: 2.0.5 -> 2.0.6
      • org.slf4j:slf4j-simple: 2.0.5 -> 2.0.6
  • Vararg factory method SearchResult.error() now accepts zero or more Diagnostics instead of at least one.
  • Marked net.democritus.sys.language.TranslationRef as deprecated, seeing as the feature that uses it in Expanders is also deprecated and marked for removal.
  • Marked net.democritus.sys.NullUserContext as final, since it should not be extended and was already package-private.

Removed

  • Removed deprecated classes/methods that were no longer in use:
    • nsx-common:
      • net.palver.util.ListUtil.split()
      • net.palver.util.SplitPair
      • net.democritus.io.LineReader
      • net.democritus.io.LineWriter
    • nsx-shared-common:
      • net.democritus.support.FinderSupport
      • net.democritus.support.Paging
      • net.democritus.sys.AnchorResult
      • net.democritus.sys.DataRefNode
      • net.democritus.sys.IconRef
      • net.democritus.sys.PageDataRef
      • net.democritus.sys.PageMask
      • net.democritus.sys.SearchDataRef
      • net.democritus.sys.SearchDef
      • net.democritus.sys.SearchMask
    • nsx-shared-ejb3:
      • net.democritus.support.BeanSupport
      • net.democritus.support.ejb3.Ejb3Finder
      • net.democritus.support.ejb3.SearchDataRefToSearchDetailsMapper
      • net.democritus.support.jpa.JPAQueryUtil
    • nsx-shared-testing:
      • net.democritus.testing.LineReader (Was not used anywhere and did not use UTF-8 encoding)
  • Removed nsx-shared-ejb3 module, which had no more classes.

2022.5.2 (2023-01-25)

Changed

  • Adjusted StringLong sanitizer policy to allow links

2022.5.1 (2022-11-30)

Changed

  • Updated SLF4J to version 2.0.5.
  • Updated OpenCSV to version 5.7.1. (addresses CVE-2022-42889)

2022.5.0 (2022-11-24)

Removed

  • The library nsx-presentation-struts2 was removed and all code was integrated into a new library application-shared-struts2 as part of the JEE Application expanders project.

2022.4.1 (2022-11-04)

Fixed

  • Updated signature of <X extends Throwable> CrudsResult<T>.getValueOrElseThrow(Supplier<? extends X>) to <X extends Throwable> CrudsResult<T>.getValueOrElseThrow(Function<CrudsResult<T>, ? extends X>).

Added

  • Added method Result<T>.getValueOrElse(T) to get the value of the result in case of success or the given default value in case of an error.
  • Added method Result<T>.getValueOrElseGet(Supplier<T>) to get the value of the result in case of success or the result value of the provided supplier in case of an error.
  • Added method <X extends Throwable> Result<T>.getValueOrElseThrow(Function<Result<T>, ? extends X>) to get the value of the result in case of success or throw an exception returned by the provided supplier in case of an error.

2022.4.0 (2022-10-26)

Moved

The following classes have been moved to metamodel-runtime:

  • net.democritus.projection.ElementOption
  • net.democritus.projection.CompositeProjection
  • net.democritus.projection.TreeProjection

Added

  • Added method <X extends Throwable> CrudsResult<T>.getValueOrElseThrow(Supplier<? extends X>) to get the value of the
    result in case of success or throw an exception returned by the provided supplier in case of an error.

Changed

  • Updated signature of CrudsResult<T>.getValueOrElseGet() to allow suppliers which return objects of subclasses of T.

2022.3.0 (2022-08-30)

Added

  • Added nsx-runtime-libraries expansion-resource. This expansion-resource defines the libraries of nsx-runtime, which were previously defined in prime-data. With this setup, the nsx-runtime version can be updated directly in nsx-default-stack without the need to update prime-data.
  • Added method CrudsResult<T>.getValueOrElseGet(Supplier<T>) to get the value of the result in case of success or the result value of the provided supplier in case of an error.
  • Exception net.democritus.sys.NoValueOnErrorException, which is thrown when calling getValue() on a cruds error result.
  • Added hamcrest 2.2 as additional dependency alongside hamcrest 1.3 for nsx-shared-testing.

Changed

  • Updated SLF4J to version 2.0.0.
  • Updated Hamcrest to version 2.2 in nsx-shared-testing where the artifactId also changed from hamcrest-all to hamcrest.

Moved

The following classes have been moved to workflow-shared-common:

  • net.democritus.claims.BatchRequest
  • net.democritus.claims.ReleaseRequest
  • net.democritus.claims.ClaimCleaner
  • net.democritus.claims.ClaimCleanerFactory
  • net.democritus.claims.ClaimId
  • net.democritus.state.NOPStateRecoverer
  • net.democritus.state.StateRecoverer
  • net.democritus.state.StateRecovererFactory
  • net.democritus.state.StateTransitioner
  • net.democritus.state.StateTransitionerFactory
  • net.democritus.state.StateUpdate
  • net.democritus.state.StateViewer
  • net.democritus.state.StateViewerFactory
  • net.democritus.state.TaskInterruptStateRecoverer
  • net.democritus.state.TaskUpdate
  • net.democritus.sys.workflow.FlowParameterContext
  • net.democritus.sys.workflow.FlowProcessingContext
  • net.democritus.sys.workflow.RunId
  • net.democritus.sys.workflow.TaskParameterContext
  • net.democritus.sys.workflow.TaskProcessingContext
  • net.democritus.sys.FlowOrchestrator
  • net.democritus.sys.FlowResult
  • net.democritus.sys.TaskExecutor
  • net.democritus.sys.TaskPerformer
  • net.democritus.sys.TaskPerformerByDataRef
  • net.democritus.wfe.BatchProcessingContext
  • net.democritus.wfe.EngineServiceProcessingContext

In addition to this, 2 methods of the QueryParameter class have been moved to ClaimQueryParameter in workflow-shared-jpa:

  • static QueryParameter createClaimExistsParameter(@NotNull String claimQualifiedName, @NotNull ElementRef element, @NotNull ClaimId claimId)
  • static QueryParameter createClaimDoesNotExistParameter(@NotNull String claimQualifiedName, @NotNull ElementRef element, @NotNull ClaimId claimId)

Removed

These classes have been removed, since they were no longer used:

  • net.democritus.connector.ExternalRef
  • net.democritus.sys.AnchorResult
  • net.democritus.sys.BeanId

2022.2.0 (2022-08-18)

Reverted

  • Removed null-check in Options#some(value). This is to prevent unexpected issues in existing applications, but some(null) is not a valid use-case.

Changed

  • Marked classes as deprecated:
    • nsx-shared-common:
      • net.democritus.support.FinderSupport: Used by old expanded code that is now only expandable using legacy.searchDataRefMethods.reenable.
      • net.democritus.support.Paging: Used by old expanded code that is now only expandable using legacy.searchDataRefMethods.reenable.
      • net.democritus.sys.DataRefNode: No longer in use.
      • net.democritus.sys.IconRef: No longer in use.
      • net.democritus.sys.PageMask: Used by old expanded code that is now only expandable using legacy.searchDataRefMethods.reenable.
      • net.democritus.sys.SearchDataRef: Used by old expanded code that is now only expandable using legacy.searchDataRefMethods.reenable.
      • net.democritus.sys.SearchDef: Used by old expanded code that is now only expandable using legacy.searchDataRefMethods.reenable.
      • net.democritus.sys.SearchMask: Used by old expanded code that is now only expandable using legacy.searchDataRefMethods.reenable.
  • Updated FinderSupport.getSearchKey to support transition away from java.util.Vector.

2022.1.0 (2022-07-28)

Changed

  • Updated 3rd party dependencies:
    • Libraries:
      • com.opencsv:opencsv: 4.6 -> 5.6
      • commons-cli: 1.4 -> 1.5.6
    • Maven plugins:
      • org.apache.maven.plugins:maven-compiler-plugin: 3.8.1 -> 3.10.1
      • org.apache.maven.plugins:maven-javadoc-plugin: 3.3.0 -> 3.4.0
      • org.apache.maven.plugins:maven-project-info-reports-plugin: 3.1.2 -> 3.4.0
      • org.apache.maven.plugins:maven-surefire-plugin: 2.22.2 -> 3.0.0-M7
      • org.apache.maven.plugins:maven-site-plugin: 3.9.1 -> 3.12.0
      • org.codehaus.mojo:flatten-maven-plugin: 1.1.0 -> 1.2.7
      • org.codehaus.mojo:versions-maven-plugin: 2.8.1 -> 2.11.0
      • org.jacoco:jacoco-maven-plugin: 0.8.2 -> 0.8.8
      • org.sonarsource.scanner.maven:jacoco-maven-plugin: 3.7.0.1746 -> 3.9.1.2184

2022.0.2 (2022-05-03)

Fixed

  • Made ClaimId serializable
  • Added error log when recovery state transitioning failed

2022.0.1 (2022-04-27)

Reverted

  • Reverted deprecation of JPAQueryBuilder#setUseIdInSort(), since it was used in several projects for performance

Added

  • Implemented toString() method of ElementOption

2022.0.0 (2022-02-17)

Added

  • Added QueryParameter implementation for IN operator with DataRefs
  • ProcessRunner: added shutdownHook to attempt to auto-terminate launched processes

Removed

  • Internal cleanup
    • Removed classes: FileInserter, ReportFile, SimpleHtmlFormat (for removed ReportExpander)
    • Old cocoon artifacts (TreeNode)
    • Deprecated JndiProperties and removed its behavior as it pertains only to obsoleted external RMI invocation
    • Deprecated net.democritus.mapping.Base64 in favor of java.util.Base64

2021.3.4 (2021-12-14)

Added

  • [NSX-161] SearchDetails.getAllowCaching() and SearchDetails.setAllowCaching() to instruct the search operation to use a caching mechanism if available.

2021.3.3 (2021-11-25)

Added

  • Added DotVersion as any-number-of-dots alternative to semver Version
  • Added basic setup for maven site documentation

Changed

  • ProcessRunner's stdout and stderr can now be redirected independently

Fixed

  • Fixed ZipArchive not preserving timestamps on unzipping

2021.3.2 (2021-09-23)

Fixed

  • Fixed Result class returning a null value on error. Instead, it now throws an exception if the getValue() is called on an error result. Implementations should always check the isError() or isSuccess() method first.

2021.3.1 (2021-08-23)

Changed

  • Changed Context.getContext() typing to allow parameterized context groups

2021.3.0 (2021-08-12)

Added

  • [process] Added net.democritus:nsx-shared-process-experimental to simplify external command and shell invocations
    • experimental, API subject to change
  • [zip] Added net.democritus:nsx-shared-zip-experimental for routine Zip archive operations
    • experimental, API subject to change

2021.2.3 (2021-08-11)

Added

  • Added Serializable interface to the CompositeProjection and TreeProjection interfaces. Since Composites and Trees already implemented Serializable, this only has effect on polymorphic fields.

2021.2.2 (2021-07-09)

Reverted

  • QueryParameter#create* methods now return again QueryParameter instead of QueryConditionalExpression
    • if assigning the result, it should always be cast to QueryConditionalExpression
  • Reverted JPAQueryBuilder hiding its private methods and deprecated them for public use instead
    • the public API is the QueryBuilder interface

Fixed

  • SortField re-added no-arg constructor as it already has an arg-constructor

2021.2.1 (2021-07-08)

Reverted

  • Partially reverted DataRef#equals due to comparison issues in tests
    • do not use this method directly
    • return true only for the same identities, or when both id and name are equal
  • Reverted ApplicationMenuResolver#getApplicationMenu() signature (originally changed in v2021.0.0)
    • Marked the method as deprecated
  • Reverted QueryParameter not acting as a superclass anymore (originally changed in 2021.2.0), and deprecated its overridable methods
    • Instead of subclassing QueryParameter, implement QueryConditionalExpression directly.

2021.2.0 (2021-07-05)

Added

  • [jpa] Added support for null/not-null field operator pairs via QueryParameter#createIsNullParameter and QueryParameter#createIsNotNullParameter
  • [jpa] Providing empty list to createValueParameter will exclude the parameter (same as providing null or an empty string)
  • [presentation-struts2] Finders with noViewLayer are now excluded in UI 1.x (excluded from GetFindersForDataElementAction response)

Changed

  • [jpa] Refactoring of nsx-shared-jpa module
    • If a custom code was subclassing QueryParameter, it must be changed to directly implement QueryConditionalExpression interface
    • Deprecated JPAQueryBuilder#setUseIdInSort due to a lack of a clear use case

Fixed

  • Fixed AcyclicSubGraphFinder prematurely pruning branches [NSX-167]

2021.1.1 (2021-06-15)

Changed

  • DataRef#equals now compares by object identity, instead of attributes equality on fields and metadata
    • Do not use DataRef#equals for comparing different DataRefs.
    • Use DataRefValidation#equalsById for DataRef comparison.

2021.1.0 (2021-06-09)

Added

  • Added Options.Option#asOptional() to convert to java.util.Optional

Changed

  • Changed nsx-runtime target version to Java 8
    • for Java 7 legacy projects, use nsx-runtime v2020.x or older
  • Moved DataRef, DataRefValidation, and DataRefWithFunctionalKey to a new nsx-shared-ref module
    • nsx-shared-common now depends on this module
  • Moved @Nullable and @NotNull annotations to nsx-contract-annotations module

Deprecated

  • Deprecated direct DataRef constructors
    • prefer creation via DataRef#withId(Long) and DataRef#withIdAndName(Long, String)
  • Deprecated for removal all net.democritus.validation.IConverter subclasses
    • use IConverter instead
    • Expanders will no longer use them (see Expanders changelog)
  • Deprecated majority of classes and methods in nsx-common
    • This includes most of StringUtil and DirUtil (see the method javadocs for alternatives)
    • all stream-like classes (IMapper, CollectionUtil, ...)
    • Some methods can still be un-deprecated if they are deemed valuable
    • There is currently no plan to remove the deprecated methods

Removed

  • Removed unnecessary dependencies from nsx-shared-cli to nsx-common and nsx-shared-common
  • Removed module nsx-common-java7 as it never ended up being used

Fixed

  • Fixed Options#some allowing null value to be represented as Some instead of throwing an exception

    • use Options#notNull when the value can be null
  • Fixed DataRef#equals when comparing null ids


2021.0.1 (2021-05-04)

Fixed

  • Fixed NullPointerException in DataRef.getDataRefLink() when the mId field in the DataRef object is null.
  • Fixed file name in DownloadAction contentDisposition not being encoded when using non-ASCII characters

2021.0.0 (2021-01-29)

Added

  • Added skipCount field to SearchDetails
  • Added Path-based overloads for DocumentReader/DocumentWriter
  • Improved support around NavigationMenu
    • added an extra default-complete fallback profile support -- this profile will be generated by expanders
    • added XSDs for applicationMenu & componentMenu
    • improved error reporting and removed some error suppression

Fixed

  • Fixed DataRef#equals comparing identity of boxed types instead of their values

2020.11.2 (2021-01-08)

Updated

  • Updated struts to v2.5.26

2020.11.1 (2020-10-21)

Fixed

  • Fixed SemVer Version validation of preRelease & build to match the spec.

2020.11.0 (2020-10-09)

Updated

  • nsx-parent 2019.5 -> 2020.9.1

Added

  • Added @Documented annotation on @NotNull/@Nullable annotations

Deprecated

  • Deprecated all nsx-common stream-like classes (IPredicate, CollectionUtil, ...)
    • for Java 8, use native streams
    • for Java 7, use nsx-common-java7 module instead

Removed

  • Removed improper BufferedRandomAccessFile

2020.10.0 (2020-09-24)

  • Added BatchProcessingContext and EngineServiceProcessingContext

2020.9.0 (2020-09-08)

Added

  • Added http method enforcement to all ActionSupport actions

Changed

  • [internal] Reformatted codebase

2020.8.0 (2020-06-12)

Changed

  • Terminated experimental branch release (not part of 2020.9.0+)

2020.7.3 (2020-08-20)

Added

  • Added @NotNull and @Nullable annotations

2020.7.2 (2020-08-20)

Added

  • Extracted DocumentBuilder to a separate class and added DocumentBuilder.createDocument()
  • Added DocumentStream.attributes() to stream DOM Element attributes

Fixed

  • CliParser#printAndExitOnIssues now correctly returns non-zero exit code on error

2020.7.1 (2020-06-19)

Fixed

  • Fixed Version comparison for pre-release versions.

2020.7.0 (2020-05-28)

Added

  • Added nsx-shared-xml module
    • Added DocumentReader/DocumentWriter with disabled DTDs and any online resolution
    • Added DocumentStream for easier processing of DOM child elements

2020.6.0 (2020-04-10)

Added

  • Added SemVer implementation in net.democritus.versioning.Version

Changed

  • Target Java 7
  • Update commons-beanutils

2020.5.0 (2020-03-19)

Removed

  • Moved struts TranslateTextAction and LocalizedTextTranslator to struts-stack

2020.4.0 (2020-03-04)

Added

  • Added LocalizedTextTranslator as a replacement for struts 2.3 LocalizedTextUtil

2020.3.2 (2020-03-04)

Added

  • Added nsx-shared-tomee providing ResponseEncodingFilter to force UTF-8 server responses.
  • Added javadoc to jar

2020.3.1 (2020-02-26)

Changed

  • Readded localization overriding for TranslateTextAction struts action

2020.3.0 (2020-02-21)

Added

  • Added CliParser::getRemainingArguments

Changed

  • Merged nsx-libraries' nsx-common and nsx-logging into nsx-runtime
  • Changed JAVAAEE6 JNDI local name to java:app/<component>/... from java:global/<deployment>/<component>/...

2020.2.0 (2020-02-07)

Changed

  • Migrated nsx-presentation-struts2 for struts 2.3 -> 2.5
  • Updated opencsv dependency 2.3 -> 4.6 (highest available for JDK7)

Removed

  • Dropped modules nsx-shared-jaxrs, nsx-shared-yaml

2020.1.0 (2020-01-22)

Added

  • Added clearer error message to ComponentJNDI failures

2019.7.1 (2019-12-03)

Added

  • Add constructors to FlowParameterContext and TaskParameterContext that allow the passing down of Context