]
Alexey Kazakov updated JBIDE-18950:
-----------------------------------
Fix Version/s: 4.3.0.Alpha2
(was: 4.3.0.Alpha1)
New Batch Artifact wizard
-------------------------
Key: JBIDE-18950
URL:
https://issues.jboss.org/browse/JBIDE-18950
Project: Tools (JBoss Tools)
Issue Type: Sub-task
Components: batch
Affects Versions: 4.3.0.Alpha1
Reporter: Viacheslav Kabanovich
Assignee: Viacheslav Kabanovich
Labels: new_and_noteworthy
Fix For: 4.3.0.Alpha2
There are about 20 artifacts in Java EE Batch:
Batchlet; Checkpoint Algorithm; Decider; Item Reader; Item Writer; Item Processor;
Partition Analyzer; Partition Reducer; Partition Collector; Partition Mapper; Partition
Plan; Chunk Listener; Item Process Listener; Item Reader Listener; Item Writer Listener;
Job Listener; Step Listener; Retry Process Listener; Retry Read Listener; Retry Write
Listener; Skip Process Listener; Skip Listener; Skip Write Listener.
We may have one wizard for each, or some of this artifacts. However, there is so much
common in them that it makes sense also (or instead) to have one wizard with list choice
of artifact. When a specific artifact should be created from the context of Batch XML
editor, this wizard can be invoked with selection of that artifact (list of artifacts may
be disabled or hidden).
1. Artifact implements a specific Java interface (for interfaces that have more than 1
method, there is optional abstract class to extend that implements rarely overridden
methods);
2. Reference name should be provided for each artifact. There are 3 options:
- An implementation of Batch runtime may define its own way of matching class to name.
For example, CDI uses javax.inject.Named;
- META-INF/batch.xml
- by default, when first 2 options failed reference name is tried as the qualified class
name.
3. Artifact class may declare fields, with values to be injected from properties set in
job xml element referencing that artifact:
{code}
@Inject @BatchProperty(name="property1") String property;
@Inject @BatchProperty String property2;
{code}
Thus, the wizard will have inputs as follows:
- Artifact: [combo]
- Source folder: [as in New Java Class wizard]
- Package: [as in New Java Class wizard]
- Class name: [text]
- [radio] implement interface [radio] extend abstract class (if class is not
available, the option is disabled)
- Reference name: (block of inputs)
| - [radio] Annotation Named [radio] batch.xml [radio] Qualified name
| - Name: [text] (for first 2 options filled with default value; for the last option
disabled)
- Properties: [table editor with 'Property name' and 'Field name'
columns]
Some more inputs may be inherited from New Java Class wizard, if default values are not
enough.