intent: sourceStatusOnRetire on a button create-from emits a GenerateReopen with an empty back-reference (does not compile)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 70/100
Línea de trabajo
Start with GlueIntentGenerator.java at the reported putGeneratesEvent logic and GenerateReopen.java.template, then compare the existing event-driven reopen coverage in IntentEngineIT.generates_reopen_returns_the_source_when_its_target_is_retired. Trace how the source key is selected from the map and how button create-from inputs are validated. Done means the generated button reopen uses the mapped back-reference, invalid maps are rejected, and the generated Java compiles.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
A button create-from (no event:) that declares sourceStatus + sourceStatusOnRetire - the shape #7647 / PR #7678 made legal - parses and generates, but the emitted <Name>GenerateReopen.java has an empty back-reference property and does not compile. The client-Java batch then reports the unit as failed, so the reopen never runs.
Reproduced on dirigiblelabs/dirigible:14.95.0 with base-sales-invoices (invoice-from-proforma, map: { Proforma: id, ... }, sourceStatus: 3, sourceStatusOnRetire: 2, stage: cancelled / stage: void on SalesInvoiceStatus 8 / 9):
if (target. == null) {
return; // this row back-references no ProformaInvoice, so there is nothing to return
}
...
sourceRepository.findById(target.);
...
.eq("", target.))) {
javac error at /gen/events/sales_invoices/InvoiceFromProformaGenerateReopen.java:75:20: <identifier> expected
Compiled batch: [358] units, [366] class file(s) over [2] compile rounds; [1] unit(s) failed to compile: [gen.events.sales_invoices.InvoiceFromProformaGenerateReopen]
Cause
GlueIntentGenerator.putGeneratesEvent derives backRefProperty from the map entry that copies the source key, but only for an event-driven create-from. For a button it returns early with e.put("backRefProperty", "") (v14.95.0, GlueIntentGenerator.java:1414), and GenerateReopen.java.template - now emitted for a button too since #7678 - renders target.${backRefProperty} with that empty value. The IntentEngineIT.generates_reopen_returns_the_source_when_its_target_is_retired case covers the event-driven shape only.
Expected
The reopen of a button create-from resolves its back-reference from the map exactly as the event-driven one does (and the parser refuses a reopen whose map copies no source key, as it does for an event).
Impact
BusinessIntents base-sales-invoices#220 (a voided invoice made from a proforma leaves the proforma INVOICED for ever) cannot adopt the declared reopen; the module keeps a hand-written listener until this lands.
- Lenguaje dominante
- Java
- Estrellas
- 278
- Forks
- 97
- Merge medio
- 17 h 19 min
- PR fusionados (30 d)
- 261
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de eclipse-dirigible/dirigible
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
eclipse-dirigible/dirigible#7958 ·
Los mantenedores suelen responder en 1 día
-
intent: a create-from without fromStatus answers 200 on a missing or unknown source id (no 400/404)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
eclipse-dirigible/dirigible#7945 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
eclipse-dirigible/dirigible#7891 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
eclipse-dirigible/dirigible#6538 ·
Los mantenedores suelen responder en 1 día
-
Create shortcut for Camel filesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
eclipse-dirigible/dirigible#4812 ·
Los mantenedores suelen responder en 1 día
Todos los issues de eclipse-dirigible/dirigible
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ome/ome-codecs#48 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
tonihele/OpenKeeper#672 ·
Los mantenedores suelen responder en 4 días
-
Shaded google-api-client trust stores still include AAA Certificate Services (eMudhra CA compromise)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
snowflakedb/snowflake-jdbc#2763 ·
-
MacFileUtils: FSPathMakeRef passes an int where the C function takes its FSRef output pointerAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 79/100
java-native-access/jna#1746 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ControlSystemStudio/phoebus#3983 ·
Los mantenedores suelen responder en 2 días