[ 
https://issues.apache.org/jira/browse/DAFFODIL-2567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mike Beckerle updated DAFFODIL-2567:
------------------------------------
    Description: 
(This ticket comes from splitting DAFFODIL-1927 into two tickets, this being 
the latter half of the work.)

Recent changes to fix DAFFODIL-1927 allow extending Daffodil with new layer 
transforms using layers that are defined (written in scala) separately and 
outside of Daffodil.

(Or they can be easily incorporated into the daffodil-runtime1-layers module 
which holds the layer definitions that are built-in to Daffodil)

This ticket is to define a Java API allowing one to define layers using Java 
code


  was:
(This ticket comes from splitting DAFFODIL-1927 into two tickets, this being 
the latter half of the work.)

Recent changes to fix DAFFODIL-1927 allow extending Daffodil with new layer 
transforms using layers that are defined (written in scala) separately and 
outside of Daffodil.

(Or they can be easily incorporated into the daffodil-runtime1-layers module 
which holds the layer definitions that are built-in to Daffodil)

An application that wishes to use one of these externally defined new layers 
must explicitly call LayerCompilerRegistry.register(....) to register the new 
layer. 

This works fine for API-based applications using Daffodil, as they have many 
convenient places to make this call. 

It does not allow the Daffodil CLI to parse/unparse data using a schema that 
requires such a loadable layer as their is nothing that will make the call to 
register the new layer in the CLI.

This ticket is to 

(a) define a Java API allowing one to define layers using Java code

(b) Use service loader techniques (as we already do for validators and UDFs) to 
find an dynamically load layer definitions from jars on the classpath. 

This enables the CLI to find and dynamically load layer definitions, and frees 
API-based applications from having to explicitly invoke 
LayerCompilerRegistry.register(...). 



        Summary: java-based layering transformers  (was: dynamic loading of 
java-based layering transformers)

> java-based layering transformers
> --------------------------------
>
>                 Key: DAFFODIL-2567
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2567
>             Project: Daffodil
>          Issue Type: New Feature
>          Components: Front End
>    Affects Versions: 3.2.0
>            Reporter: Mike Beckerle
>            Priority: Minor
>
> (This ticket comes from splitting DAFFODIL-1927 into two tickets, this being 
> the latter half of the work.)
> Recent changes to fix DAFFODIL-1927 allow extending Daffodil with new layer 
> transforms using layers that are defined (written in scala) separately and 
> outside of Daffodil.
> (Or they can be easily incorporated into the daffodil-runtime1-layers module 
> which holds the layer definitions that are built-in to Daffodil)
> This ticket is to define a Java API allowing one to define layers using Java 
> code



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to