diff --git a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/steps/JobStepAddDialog.java b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/steps/JobStepAddDialog.java index 86c2408efb6..fbbff990e72 100644 --- a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/steps/JobStepAddDialog.java +++ b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/client/steps/JobStepAddDialog.java @@ -340,9 +340,22 @@ protected void refreshJobStepDefinition(GwtJobStepDefinition gwtJobStepDefinitio textArea.setData(PROPERTY_TYPE, property.getPropertyType()); textArea.setData(PROPERTY_NAME, property.getPropertyName()); - textArea.setMaxLength(65535); jobStepPropertiesPanel.add(textArea); + JOB_STEP_SERVICE.getJobStepPropertyLengthMax(new AsyncCallback() { + @Override + public void onFailure(Throwable caught) { + textArea.setMaxLength(104857600); // 100MB + + FailureHandler.handle(caught); + } + + @Override + public void onSuccess(Integer jobStepPropertyMaxLength) { + textArea.setMaxLength(jobStepPropertyMaxLength); + } + }); + if (property.getExampleValue() != null) { final String exampleValue = KapuaSafeHtmlUtils.htmlUnescape(property.getExampleValue()); exampleButton = new KapuaButton(getExampleButtonText(), new KapuaIcon(IconSet.EDIT), new SelectionListener() { diff --git a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/server/GwtJobStepServiceImpl.java b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/server/GwtJobStepServiceImpl.java index 5b346c0b2ee..585de102d9b 100644 --- a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/server/GwtJobStepServiceImpl.java +++ b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/server/GwtJobStepServiceImpl.java @@ -221,6 +221,15 @@ public GwtJobStep update(GwtXSRFToken xsrfToken, GwtJobStep gwtJobStep) throws G } } + @Override + public int getJobStepPropertyLengthMax() throws GwtKapuaException { + try { + return JOB_STEP_SERVICE.getJobStepPropertyMaxLength(); + } catch (Exception e) { + throw KapuaExceptionHandler.buildExceptionFromError(e); + } + } + /** * Set the {@link GwtJobStepProperty#isEnum()} property. * This cannot be performed in *.shared.* packages (entity converters are in that package), since `Class.forName` is not present in the JRE Emulation library. diff --git a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/shared/service/GwtJobStepService.java b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/shared/service/GwtJobStepService.java index b7322458494..cbbb1d63956 100644 --- a/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/shared/service/GwtJobStepService.java +++ b/console/module/job/src/main/java/org/eclipse/kapua/app/console/module/job/shared/service/GwtJobStepService.java @@ -47,6 +47,9 @@ void delete(GwtXSRFToken xsrfToken, String gwtScopeId, String gwtJobStepId) GwtJobStep update(GwtXSRFToken xsrfToken, GwtJobStep gwtJobStep) throws GwtKapuaException; + int getJobStepPropertyLengthMax() + throws GwtKapuaException; + /** * Just to make Gwt serialize {@link GwtJobStepProperty} */ diff --git a/extras/encryption-migrator/src/main/java/org/eclipse/kapua/extras/migrator/encryption/job/JobStepMigratorServiceImpl.java b/extras/encryption-migrator/src/main/java/org/eclipse/kapua/extras/migrator/encryption/job/JobStepMigratorServiceImpl.java index 41ae3725d1d..e845b8d9636 100644 --- a/extras/encryption-migrator/src/main/java/org/eclipse/kapua/extras/migrator/encryption/job/JobStepMigratorServiceImpl.java +++ b/extras/encryption-migrator/src/main/java/org/eclipse/kapua/extras/migrator/encryption/job/JobStepMigratorServiceImpl.java @@ -69,4 +69,9 @@ public JobStep find(KapuaId scopeId, KapuaId jobStepId) { public void delete(KapuaId scopeId, KapuaId jobStepId) { throw new UnsupportedOperationException(); } + + @Override + public int getJobStepPropertyMaxLength() throws KapuaException { + throw new UnsupportedOperationException(); + } } diff --git a/service/job/api/src/main/java/org/eclipse/kapua/service/job/step/JobStepService.java b/service/job/api/src/main/java/org/eclipse/kapua/service/job/step/JobStepService.java index 613fc41df93..1f05f980635 100644 --- a/service/job/api/src/main/java/org/eclipse/kapua/service/job/step/JobStepService.java +++ b/service/job/api/src/main/java/org/eclipse/kapua/service/job/step/JobStepService.java @@ -16,6 +16,7 @@ import org.eclipse.kapua.model.query.KapuaQuery; import org.eclipse.kapua.service.KapuaEntityService; import org.eclipse.kapua.service.KapuaUpdatableEntityService; +import org.eclipse.kapua.service.job.step.definition.JobStepProperty; /** * {@link JobStepService} exposes APIs to manage JobStep objects.
@@ -38,4 +39,12 @@ public interface JobStepService extends KapuaEntityService