package kr.ac.kaist.resl.lilliput.util; import javax.xml.datatype.DatatypeConfigurationException; import org.fosstrak.epcis.model.ArrayOfString; import org.fosstrak.epcis.model.Poll; import org.fosstrak.epcis.model.QueryParam; import org.fosstrak.epcis.model.QueryParams; public class EPCISHelper { public Poll createPoll(String epc) { // construct the query parameters QueryParam queryParam1 = new QueryParam(); queryParam1.setName("eventType"); ArrayOfString queryParamValue1 = new ArrayOfString(); queryParamValue1.getString().add("ObjectEvent"); queryParam1.setValue(queryParamValue1); QueryParam queryParam2 = new QueryParam(); queryParam2.setName("MATCH_epc"); ArrayOfString queryParamValue2 = new ArrayOfString(); queryParamValue2.getString().add(epc); queryParam2.setValue(queryParamValue2); // add the query parameters to the list of parameters QueryParams queryParams = new QueryParams(); queryParams.getParam().add(queryParam1); queryParams.getParam().add(queryParam2); // create the Poll object Poll poll = new Poll(); poll.setQueryName("SimpleEventQuery"); poll.setParams(queryParams); return poll; } public Poll createRecentSensingObjectPoll(String epc) { // construct the query parameters QueryParam queryParam1 = new QueryParam(); queryParam1.setName("eventType"); ArrayOfString queryParamValue1 = new ArrayOfString(); queryParamValue1.getString().add("SensingEvent"); queryParam1.setValue(queryParamValue1); QueryParam queryParam2 = new QueryParam(); queryParam2.setName("MATCH_epc"); ArrayOfString queryParamValue2 = new ArrayOfString(); queryParamValue2.getString().add(epc); queryParam2.setValue(queryParamValue2); //Order - eventTime QueryParam queryParam3 = new QueryParam(); queryParam3.setName("orderBy"); String queryParamValue3 = "recordTime"; queryParam3.setValue(queryParamValue3); //OrderDirection - DESC QueryParam queryParam4 = new QueryParam(); queryParam4.setName("orderDirection"); String queryParamValue4 = "DESC"; queryParam4.setValue(queryParamValue4); //get just 1! QueryParam queryParam5 = new QueryParam(); queryParam5.setName("eventCountLimit"); Integer queryParamValue5 = 6; queryParam5.setValue(queryParamValue5); // add the query parameters to the list of parameters QueryParams queryParams = new QueryParams(); queryParams.getParam().add(queryParam1); queryParams.getParam().add(queryParam2); queryParams.getParam().add(queryParam3); queryParams.getParam().add(queryParam4); queryParams.getParam().add(queryParam5); // create the Poll object Poll poll = new Poll(); poll.setQueryName("SimpleEventQuery"); poll.setParams(queryParams); return poll; } public Poll createRecentObjectPoll(String epc) { // construct the query parameters QueryParam queryParam1 = new QueryParam(); queryParam1.setName("eventType"); ArrayOfString queryParamValue1 = new ArrayOfString(); queryParamValue1.getString().add("ObjectEvent"); queryParam1.setValue(queryParamValue1); QueryParam queryParam2 = new QueryParam(); queryParam2.setName("MATCH_epc"); ArrayOfString queryParamValue2 = new ArrayOfString(); queryParamValue2.getString().add(epc); queryParam2.setValue(queryParamValue2); //Order - eventTime QueryParam queryParam3 = new QueryParam(); queryParam3.setName("orderBy"); String queryParamValue3 = "recordTime"; queryParam3.setValue(queryParamValue3); //OrderDirection - DESC QueryParam queryParam4 = new QueryParam(); queryParam4.setName("orderDirection"); String queryParamValue4 = "DESC"; queryParam4.setValue(queryParamValue4); //get just 1! QueryParam queryParam5 = new QueryParam(); queryParam5.setName("eventCountLimit"); Integer queryParamValue5 = 1; queryParam5.setValue(queryParamValue5); // add the query parameters to the list of parameters QueryParams queryParams = new QueryParams(); queryParams.getParam().add(queryParam1); queryParams.getParam().add(queryParam2); queryParams.getParam().add(queryParam3); queryParams.getParam().add(queryParam4); queryParams.getParam().add(queryParam5); // create the Poll object Poll poll = new Poll(); poll.setQueryName("SimpleEventQuery"); poll.setParams(queryParams); return poll; } public Poll createRecentPoll(String businessLocation) throws DatatypeConfigurationException{ //Get the most recent object event from epcis //Order - eventTime QueryParam queryParam2 = new QueryParam(); queryParam2.setName("orderBy"); String queryParamValue2 = "eventTime"; queryParam2.setValue(queryParamValue2); //OrderDirection - DESC QueryParam queryParam3 = new QueryParam(); queryParam3.setName("orderDirection"); String queryParamValue3 = "DESC"; queryParam3.setValue(queryParamValue3); //get just 1! QueryParam queryParam4 = new QueryParam(); queryParam4.setName("eventCountLimit"); Integer queryParamValue4 = 1; queryParam4.setValue(queryParamValue4); //In this businessLocation QueryParam queryParam5 = new QueryParam(); queryParam5.setName("EQ_bizLocation"); ArrayOfString queryParamValue5 = new ArrayOfString(); queryParamValue5.getString().add(businessLocation); queryParam5.setValue(queryParamValue5); QueryParams queryParams = new QueryParams(); queryParams.getParam().add(queryParam2); queryParams.getParam().add(queryParam3); queryParams.getParam().add(queryParam4); queryParams.getParam().add(queryParam5); Poll poll = new Poll(); poll.setQueryName("SimpleEventQuery"); poll.setParams(queryParams); return poll; } public Poll createRecentPoll() throws DatatypeConfigurationException{ //Get the most recent object event from epcis //objectEvent QueryParam queryParam1 = new QueryParam(); queryParam1.setName("eventType"); ArrayOfString queryParamValue1 = new ArrayOfString(); queryParamValue1.getString().add("ObjectEvent"); queryParam1.setValue(queryParamValue1); //Order - eventTime QueryParam queryParam2 = new QueryParam(); queryParam2.setName("orderBy"); String queryParamValue2 = "eventTime"; queryParam2.setValue(queryParamValue2); //OrderDirection - DESC QueryParam queryParam3 = new QueryParam(); queryParam3.setName("orderDirection"); String queryParamValue3 = "DESC"; queryParam3.setValue(queryParamValue3); //get just 1! QueryParam queryParam4 = new QueryParam(); queryParam4.setName("eventCountLimit"); Integer queryParamValue4 = 1; queryParam4.setValue(queryParamValue4); QueryParams queryParams = new QueryParams(); queryParams.getParam().add(queryParam1); queryParams.getParam().add(queryParam2); queryParams.getParam().add(queryParam3); queryParams.getParam().add(queryParam4); Poll poll = new Poll(); poll.setQueryName("SimpleEventQuery"); poll.setParams(queryParams); return poll; } }