Skip to content
Snippets Groups Projects
XtaClient.java 1.84 KiB
Newer Older
  • Learn to ignore specific revisions
  • 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;
    
    import lombok.AccessLevel;
    import lombok.Builder;
    import lombok.Getter;
    import lombok.RequiredArgsConstructor;
    
    @RequiredArgsConstructor(access = AccessLevel.PROTECTED)
    @Builder(access = AccessLevel.PROTECTED)
    @Getter(AccessLevel.PROTECTED)
    
    	private final WrappedXtaService service;
    
    	private final XtaClientConfig config;
    
    	public XtaMessageMetaDataAndHeader getMessagesMetadata(String xtaIdentifier)
    			throws XTAWSTechnicalProblemException, PermissionDeniedException {
    
    		var clientIdentifier = deriveIdentifier(xtaIdentifier);
    		service.checkAccountActive(clientIdentifier);
    		return getStatusList(clientIdentifier);
    
    	public XtaMessageMetaDataAndHeader getNextMessagesMetadata(String xtaIdentifier)
    			throws XTAWSTechnicalProblemException, PermissionDeniedException {
    
    		return getStatusList(deriveIdentifier(xtaIdentifier));
    
    	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("");
    	}
    }