github-code-scanning[bot] commented on code in PR #421:
URL: https://github.com/apache/syncope/pull/421#discussion_r1129721452
##########
client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportWizardBuilder.java:
##########
@@ -68,38 +121,87 @@
private static final long serialVersionUID = -3043839139187792810L;
- public Profile(final ReportTO reportTO) {
+ private final IModel<List<String>> reportJobDelegates =
SyncopeWebApplication.get().
+ getImplementationInfoProvider().getReportJobDelegates();
+
+ public Profile(final ReportTO modelObject) {
AjaxTextFieldPanel name = new AjaxTextFieldPanel(
Constants.NAME_FIELD_NAME, Constants.NAME_FIELD_NAME,
- new PropertyModel<>(reportTO, Constants.NAME_FIELD_NAME),
false);
- name.addRequiredLabel();
- name.setEnabled(true);
- add(name);
-
- AjaxDropDownChoicePanel<String> template = new
AjaxDropDownChoicePanel<>(
- "template", getString("template"),
- new PropertyModel<>(reportTO, "template"));
- template.setChoices(restClient.listTemplates().stream().
-
map(ReportTemplateTO::getKey).collect(Collectors.toList()));
-
- template.addRequiredLabel();
- add(template);
+ new PropertyModel<>(modelObject,
Constants.NAME_FIELD_NAME), false);
+ add(name.addRequiredLabel().setEnabled(true));
AjaxCheckBoxPanel active = new AjaxCheckBoxPanel(
- "active", "active", new PropertyModel<>(reportTO,
"active"), false);
+ "active", "active", new PropertyModel<>(modelObject,
"active"), false);
add(active);
+
+ AjaxTextFieldPanel mimeType = new AjaxTextFieldPanel(
+ "mimeType", "mimeType", new PropertyModel<>(modelObject,
"mimeType"));
+ mimeType.setChoices(mimeTypesLoader.getMimeTypes());
+ add(mimeType.addRequiredLabel());
+
+ AjaxTextFieldPanel fileExt = new AjaxTextFieldPanel(
+ "fileExt", "fileExt", new PropertyModel<>(modelObject,
"fileExt"));
+ add(fileExt.addRequiredLabel());
+ mimeType.getField().add(new
IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID =
-6139318907146065915L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+
Optional.ofNullable(mimeTypesLoader.getFileExt(mimeType.getModelObject())).
+ ifPresent(fileExt::setModelObject);
+ target.add(fileExt);
+ }
+ });
+
+ AjaxDropDownChoicePanel<String> jobDelegate = new
AjaxDropDownChoicePanel<>(
+ "jobDelegate", "jobDelegate", new
PropertyModel<>(modelObject, "jobDelegate"), false);
+ jobDelegate.setChoices(reportJobDelegates.getObject());
+ add(jobDelegate.addRequiredLabel().setEnabled(modelObject.getKey()
== null));
+ jobDelegate.getField().add(new
IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
+
+ private static final long serialVersionUID =
-6139318907146065915L;
+
+ @Override
+ protected void onUpdate(final AjaxRequestTarget target) {
+ try {
+ ImplementationTO implementation =
ImplementationRestClient.read(
+ IdRepoImplementationType.REPORT_DELEGATE,
jobDelegate.getModelObject());
+ if (implementation.getEngine() ==
ImplementationEngine.JAVA) {
+
conf.setObject(MAPPER.readValue(implementation.getBody(), ReportConf.class));
+ } else {
+ conf.setObject(null);
+ }
+ } catch (Exception e) {
+ LOG.error("Could not read or parse {}",
jobDelegate.getModelObject(), e);
+ }
+ }
+ });
+ }
+ }
+
+ public class Configuration extends WizardStep implements
WizardModel.ICondition {
+
+ private static final long serialVersionUID = -785981096328637758L;
+
+ public Configuration(final ReportTO modelObject) {
Review Comment:
## Useless parameter
The parameter 'modelObject' is never used.
[Show more
details](https://github.com/apache/syncope/security/code-scanning/1237)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]