| ... |
... |
@@ -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);
|