package org.fluxtream.connectors.quantifiedmind; import java.util.ArrayList; import java.util.List; import org.fluxtream.core.ApiData; import org.fluxtream.core.connectors.ObjectType; import org.fluxtream.core.connectors.updaters.UpdateInfo; import org.fluxtream.core.domain.AbstractFacet; import org.fluxtream.core.facets.extractors.AbstractFacetExtractor; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.springframework.stereotype.Component; /** * * @author Candide Kemmler (candide@fluxtream.com) */ @Component public class QuantifiedMindTestFacetExtractor extends AbstractFacetExtractor { @Override public List<AbstractFacet> extractFacets(final UpdateInfo updateInfo, final ApiData apiData, final ObjectType objectType) throws Exception { List<AbstractFacet> facets = new ArrayList<AbstractFacet>(); JSONArray array = JSONArray.fromObject(apiData.json); for(int i=0; i<array.size(); i++) { QuantifiedMindTestFacet facet = new QuantifiedMindTestFacet(apiData.updateInfo.apiKey.getId()); JSONObject testData = array.getJSONObject(i); extractCommonFacetData(facet, apiData); facet.start = testData.getLong("test_timestamp")*1000; facet.end = facet.start; facet.test_name = testData.getString("test_name"); facet.result_name = testData.getString("result_name"); facet.result_value = testData.getDouble("result_value"); facet.session_timestamp = testData.getLong("session_timestamp")*1000; facets.add(facet); } return facets; } }