Newer
Older
package de.ozgcloud.xta.client;
import org.apache.commons.lang3.NotImplementedException;
import de.ozgcloud.xta.client.config.XtaClientConfig;
import de.ozgcloud.xta.client.core.WrappedXtaService;
import de.ozgcloud.xta.client.model.Identifier;
import de.ozgcloud.xta.client.model.XtaMessage;
import de.ozgcloud.xta.client.model.XtaMessageMetaDataAndHeader;
import genv3.de.xoev.transport.xta.x211.PermissionDeniedException;
import genv3.de.xoev.transport.xta.x211.XTAWSTechnicalProblemException;

Jan Zickermann
committed
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
@Builder(access = AccessLevel.PROTECTED)
@Getter(AccessLevel.PROTECTED)
public class XtaClient {
private final WrappedXtaService service;

Jan Zickermann
committed
private final XtaClientConfig config;
public XtaMessageMetaDataAndHeader getMessagesMetadata(String xtaIdentifier)
throws XTAWSTechnicalProblemException, PermissionDeniedException {
var clientIdentifier = deriveIdentifier(xtaIdentifier);
service.checkAccountActive(clientIdentifier);
return getStatusList(clientIdentifier);

Jan Zickermann
committed
public XtaMessageMetaDataAndHeader getNextMessagesMetadata(String xtaIdentifier)
throws XTAWSTechnicalProblemException, PermissionDeniedException {
return getStatusList(deriveIdentifier(xtaIdentifier));

Jan Zickermann
committed
}
private XtaMessageMetaDataAndHeader getStatusList(Identifier clientIdentifier) throws XTAWSTechnicalProblemException, PermissionDeniedException {
return service.getStatusList(clientIdentifier, config.getMaxListItems());
Identifier deriveIdentifier(String xtaIdentifier) {
return Identifier.builder().value(xtaIdentifier).build();
}
public XtaMessage getMessage(String messageId) {
throw new NotImplementedException("");
}
public void close(String messageId) {
throw new NotImplementedException("");
}
}