Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 32dffe9e by Tony CHEMIT at 2018-05-23T12:50:21Z Correction des variables dans les rapports - - - - - 1 changed file: - client/src/main/java/fr/ird/observe/client/ui/admin/report/ReportUIHandler.java Changes: ===================================== client/src/main/java/fr/ird/observe/client/ui/admin/report/ReportUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/admin/report/ReportUIHandler.java +++ b/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; import fr.ird.observe.client.ui.util.UIHelper; import fr.ird.observe.dto.ObserveModelType; import fr.ird.observe.dto.data.DataDto; +import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper; +import fr.ird.observe.dto.decoration.ObserveI18nLabelsBuilder; import fr.ird.observe.dto.reference.DataDtoReference; import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.services.service.actions.report.DataMatrix; import fr.ird.observe.services.service.actions.report.Report; import fr.ird.observe.services.service.actions.report.ReportService; import fr.ird.observe.services.service.actions.report.ReportVariable; +import fr.ird.observe.spi.DtoModelHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; @@ -328,14 +331,27 @@ public class ReportUIHandler extends AdminTabUIHandler<ReportUI> implements UIHa combo.setShowReset(true); variablesPanel.add(combo); + log.info("init variable: " + variable); + Class variableType = variable.getType(); Decorator decorator; - if (ReferentialDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { - decorator = getDecoratorService().getReferentialReferenceDecorator(variable.getType()); - } else if (DataDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { - decorator = getDecoratorService().getDataReferenceDecorator(variable.getType()); + Class referenceType; + if (ReferentialDto.class.isAssignableFrom(variableType) && !universe.isEmpty()) { + referenceType = DtoModelHelper.fromReferentialDto(variableType).toReferenceType(); + decorator = getDecoratorService().getReferentialReferenceDecorator(referenceType); + } else if (DataDto.class.isAssignableFrom(variableType) && !universe.isEmpty()) { + referenceType = DtoModelHelper.fromDataDto(variableType).toReferenceType(); + decorator = getDecoratorService().getDataReferenceDecorator(referenceType); } else { - decorator = getDecoratorService().getDecoratorByType(variable.getType()); + referenceType = variableType; + decorator = getDecoratorService().getDecoratorByType(variableType); } + log.info("decorator: " + decorator); + combo.setI18nPrefix("observe.common."); + combo.setBeanType(referenceType); + combo.setI18nLabelBuilder(ObserveI18nLabelsBuilder.createFromReferenceType(referenceType)); + String entityLabel = t(ObserveI18nDecoratorHelper.getTypeI18nKey(variableType)); + combo.setPopupTitleText(t("observe.common.ReferentialDto.type", entityLabel)); + combo.init((JXPathDecorator<Object>) decorator, universe); JComboBox jComboBox = combo.getCombobox(); jComboBox.putClientProperty(VARIABLE_NAME, variableName); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/32dffe9e23d3c9850ad6079cfbda... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/32dffe9e23d3c9850ad6079cfbda... You're receiving this email because of your account on gitlab.com.