All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.afrigis.services.internal.saas.api2.reverseGeocoding.response.ReverseGeocodeResponseSaaSImpl Maven / Gradle / Ivy

package com.afrigis.services.internal.saas.api2.reverseGeocoding.response;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.codec.binary.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.afrigis.services.Response;
import com.afrigis.services.impl.AbstractResponse;
import com.afrigis.services.internal.saas.api2.reverseGeocoding.parsedObjects.ParsedReverseGeocodeData;
import com.afrigis.services.internal.saas.api2.reverseGeocoding.parsedObjects.ReverseGeocodeResult;
import com.google.gson.Gson;

/**
 * 

* Response returned by search and getDetails calls. Contains a * parsedSearchResult and ParsedErrorData. *

*

* Only one of these should contain values. Use isError() to determine which * contains the response. *

* * @author sydney * */ public class ReverseGeocodeResponseSaaSImpl extends AbstractResponse implements Response { @Override public String toString() { final StringBuilder builder = new StringBuilder(); builder.append("ReverseGeocodeResponseSaaSImpl [httpStatusCode="); builder.append(getHttpStatusCode()); builder.append(", errMesg="); builder.append(getErrorMessage()); builder.append(", results="); builder.append(results); builder.append(", error="); builder.append(getError()); builder.append("]"); return builder.toString(); } private ParsedReverseGeocodeData results; // private ParsedErrorData error; /** * * @return Object containing the result of the query, IF there was no error */ public ParsedReverseGeocodeData getResults() { return results; } /** *

* Return logger instance. *

* * @return {@link Logger} instance */ protected Logger getLog() { return LoggerFactory.getLogger(getClass()); } /** *

* Lists the parsed results. *

* * @return list of parsed {@link ReverseGeocodeResult} objects. */ public List results() { final ReverseGeocodeResult[] retResults = getResults().getResults(); if (retResults == null) { return new ArrayList<>(); } final List tmp = new ArrayList<>(retResults.length); for (ReverseGeocodeResult reverseGeocodeAddress : retResults) { tmp.add(reverseGeocodeAddress); } return tmp; } @Override public List listResults() { return results(); } @Override public void completeBuild() { this.completeBuild(getByteArrayInternal()); } @Override protected void completeBuild(byte[] input) { final Gson gson = new Gson(); try { results = gson.fromJson(StringUtils.newStringUtf8(input), ParsedReverseGeocodeData.class); } catch (Exception e) { getLog().debug("Error in fromJson {}", e); } } /** *

* The record count. *

* * @return the record count */ public Integer getCount() { return results.getCount(); } /** *

* Return the query time. *

* * @return the query time. */ public Integer getQtime() { // Side note.WHY are we exposing this?? We are simply giving // SOMEBODY out there a stick to hit us with? return Double.valueOf(results.getqTime()).intValue(); } /** *

* Return teh response code. *

* * @return the response code */ public Integer getResponseCode() { return results.getResponseCode(); } /** *

* Return the resposne message. *

* * @return the response message. */ public String getResponseMessage() { return results.getResponseMessage(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy