package de.is24.rest.api.export.api.parser.impl;
/**
* @author Martin Fluegge
*
*/
public class PublishRealestateResultParser extends AbstractResultParser {
/**
* Subclasses may overwrite thos method to throw different exceptions
*
* @param throwable
* @param parseMessage
*/
protected void throwException(Throwable throwable, Message parseMessage) {
String message = parseMessage.getMessage();
if (message != null && (message.contains("No automatic booking enabled") || message.contains("No contingent available"))) {
throw new PublicLimitExceededException(parseMessage.getMessageCode() + ": " + parseMessage.getMessage(), throwable);
}
throw new RuntimeException(parseMessage.getMessageCode() + ": " + parseMessage.getMessage(), throwable);
}
@Override
public String getResult(String response) {
return response;
}
/**
*
* @author Martin Fluegge
*
*/
public static class PublicLimitExceededException extends RuntimeException {
private static final long serialVersionUID = 1L;
public PublicLimitExceededException(String message, Throwable throwable) {
super(message, throwable);
}
}
}