Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

intent: exports: fields have no text normalisation - per-file case, allowed characters, replacements and a refusal on information loss

Chiusa
#7,925 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Una pull request collegata è già stata integrata.

  • #7999 di @nedelcho-delchev-tues — integrata

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
java
Ambito
backend

Direzione di ricerca

The issue names engine-intent unit tests and an export integration test, but no source files or entry points. Start by locating how exports: fields are parsed and written, then trace how export run records store field values. Done means each proposed option is covered by unit tests, onLoss rejects the run with record and field details, and the integration test verifies an uppercased, stripped name column in a delimited file.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

An exports: field writes its source value verbatim. The field options are from / literal / param, width / align / pad / truncate, scale / decimalSeparator, pattern (dates) and the XML name / attribute — there is no way to normalise text for a target file format. The run only fails when a character cannot be encoded in the target charset.

Some regulator formats accept a far narrower character set than the master data should hold. Example: the Bulgarian NRA validators for the payroll Declarations обр. 1 / обр. 6 accept only uppercase Cyrillic, digits and - in names, while the VAT-ledger validator of the same agency accepts Latin, №, „“, &, /, ., , and more. The legal name must stay as registered in the master data; each file needs its own normalisation, in one declared place, not in a Java helper per module.

Proposal

Per-field text options on exports: fields:

  • case: upper | lower
  • allowed: "<character class>" — characters outside it are handled by replace / strip
  • replace: { "№": "", "/": " " } — explicit replacements applied before allowed
  • onDisallowed: strip | space | fail (default fail, keeping the "nothing is written approximately" rule); collapseSpaces: true
  • onLoss: fail — refuse the run (recorded FAILED, 422) naming the record and field when normalisation changed more than case, punctuation and whitespace — e.g. a Latin-script value written into a Cyrillic-only field — instead of writing a value nobody typed.

The run record keeps the original and the written value for every field that was normalised, so a rejected upload can be traced back to the record.

Verify

Unit tests in engine-intent for each option and the onLoss refusal; one export IT writing a delimited file with an uppercased/stripped name column.

Lingua principale
Java
Stelle
278
Fork
97
Merge medio
18h 57m
PR unite (30g)
249

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di eclipse-dirigible/dirigible

Tutte le issue di eclipse-dirigible/dirigible

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.