Skip to content

Commit 06f2595

Browse files
feat(QTDI-1291): npe protections
1 parent 2817efd commit 06f2595

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

  • component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front

component-server-parent/component-server/src/main/java/org/talend/sdk/component/server/front/ActionResourceImpl.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
import javax.ws.rs.core.Response;
4343

4444
import org.talend.sdk.component.api.exception.ComponentException;
45-
import org.talend.sdk.component.api.exception.ComponentException.ErrorOrigin;
4645
import org.talend.sdk.component.api.exception.DiscoverSchemaException;
46+
import org.talend.sdk.component.api.exception.DiscoverSchemaException.HandleErrorWith;
4747
import org.talend.sdk.component.runtime.manager.ComponentManager;
4848
import org.talend.sdk.component.runtime.manager.ContainerComponentRegistry;
4949
import org.talend.sdk.component.runtime.manager.ServiceMeta;
@@ -224,7 +224,9 @@ private Response onError(final Throwable re) {
224224
: "no error message");
225225
if (re instanceof final DiscoverSchemaException eSchema) {
226226
// we send reason to recognize the error on client side
227-
final String subCode = eSchema.getPossibleHandleErrorWith().toString();
227+
final String subCode = ofNullable(eSchema.getPossibleHandleErrorWith())
228+
.orElse(HandleErrorWith.EXCEPTION)
229+
.toString();
228230
throw new WebApplicationException(Response
229231
.status(400, subCode)
230232
.entity(new ErrorPayload(ErrorDictionary.ACTION_ERROR, subCode, description))
@@ -243,6 +245,10 @@ private Response onError(final Throwable re) {
243245
}
244246

245247
private static int evaluateStatusCodeForException(final ComponentException eComponent) {
248+
if (null == eComponent.getErrorOrigin()) {
249+
return 520;
250+
}
251+
246252
return switch (eComponent.getErrorOrigin()) {
247253
case USER -> 400;
248254
case BACKEND -> 456;

0 commit comments

Comments
 (0)