Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe

Commits:

1 changed file:

Changes:

  • client/src/main/java/fr/ird/observe/client/ui/admin/report/ReportUIHandler.java
    ... ... @@ -30,12 +30,15 @@ import fr.ird.observe.client.ui.admin.config.ConfigUI;
    30 30
     import fr.ird.observe.client.ui.util.UIHelper;
    
    31 31
     import fr.ird.observe.dto.ObserveModelType;
    
    32 32
     import fr.ird.observe.dto.data.DataDto;
    
    33
    +import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper;
    
    34
    +import fr.ird.observe.dto.decoration.ObserveI18nLabelsBuilder;
    
    33 35
     import fr.ird.observe.dto.reference.DataDtoReference;
    
    34 36
     import fr.ird.observe.dto.referential.ReferentialDto;
    
    35 37
     import fr.ird.observe.services.service.actions.report.DataMatrix;
    
    36 38
     import fr.ird.observe.services.service.actions.report.Report;
    
    37 39
     import fr.ird.observe.services.service.actions.report.ReportService;
    
    38 40
     import fr.ird.observe.services.service.actions.report.ReportVariable;
    
    41
    +import fr.ird.observe.spi.DtoModelHelper;
    
    39 42
     import org.apache.commons.logging.Log;
    
    40 43
     import org.apache.commons.logging.LogFactory;
    
    41 44
     import org.nuiton.decorator.Decorator;
    
    ... ... @@ -328,14 +331,27 @@ public class ReportUIHandler extends AdminTabUIHandler<ReportUI> implements UIHa
    328 331
     
    
    329 332
                             combo.setShowReset(true);
    
    330 333
                             variablesPanel.add(combo);
    
    334
    +                        log.info("init variable: " + variable);
    
    335
    +                        Class variableType = variable.getType();
    
    331 336
                             Decorator decorator;
    
    332
    -                        if (ReferentialDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) {
    
    333
    -                            decorator = getDecoratorService().getReferentialReferenceDecorator(variable.getType());
    
    334
    -                        } else if (DataDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) {
    
    335
    -                            decorator = getDecoratorService().getDataReferenceDecorator(variable.getType());
    
    337
    +                        Class referenceType;
    
    338
    +                        if (ReferentialDto.class.isAssignableFrom(variableType) && !universe.isEmpty()) {
    
    339
    +                            referenceType = DtoModelHelper.fromReferentialDto(variableType).toReferenceType();
    
    340
    +                            decorator = getDecoratorService().getReferentialReferenceDecorator(referenceType);
    
    341
    +                        } else if (DataDto.class.isAssignableFrom(variableType) && !universe.isEmpty()) {
    
    342
    +                            referenceType = DtoModelHelper.fromDataDto(variableType).toReferenceType();
    
    343
    +                            decorator = getDecoratorService().getDataReferenceDecorator(referenceType);
    
    336 344
                             } else {
    
    337
    -                            decorator = getDecoratorService().getDecoratorByType(variable.getType());
    
    345
    +                            referenceType = variableType;
    
    346
    +                            decorator = getDecoratorService().getDecoratorByType(variableType);
    
    338 347
                             }
    
    348
    +                        log.info("decorator: " + decorator);
    
    349
    +                        combo.setI18nPrefix("observe.common.");
    
    350
    +                        combo.setBeanType(referenceType);
    
    351
    +                        combo.setI18nLabelBuilder(ObserveI18nLabelsBuilder.createFromReferenceType(referenceType));
    
    352
    +                        String entityLabel = t(ObserveI18nDecoratorHelper.getTypeI18nKey(variableType));
    
    353
    +                        combo.setPopupTitleText(t("observe.common.ReferentialDto.type", entityLabel));
    
    354
    +
    
    339 355
                             combo.init((JXPathDecorator<Object>) decorator, universe);
    
    340 356
                             JComboBox jComboBox = combo.getCombobox();
    
    341 357
                             jComboBox.putClientProperty(VARIABLE_NAME, variableName);