package org.weso.wesearch.steps;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;
import org.jbehave.core.steps.Steps;
import org.weso.utils.OntoModelException;
import org.weso.utils.WesearchException;
import org.weso.wesearch.Wesearch;
import org.weso.wesearch.domain.Matter;
import org.weso.wesearch.domain.Property;
import org.weso.wesearch.domain.Query;
import org.weso.wesearch.domain.ValueSelector;
import org.weso.wesearch.domain.impl.JenaPropertyImpl;
import org.weso.wesearch.domain.impl.MatterImpl;
import org.weso.wesearch.domain.impl.ValueSelectorImpl;
import org.weso.wesearch.domain.impl.values.StringValue;
import org.weso.wesearch.factories.WesearchFactory;
import org.weso.wesearch.factories.impl.JenaWesearchFactory;
import org.weso.wesearch.model.OntoModelWrapper;
import org.weso.wesearch.model.impl.FileOntologyLoader;
import org.weso.wesearch.model.impl.JenaOntoModelWrapper;
public class CreateQuery extends Steps {
private Wesearch wesearch;
private Matter matter;
private Property property;
private ValueSelector valueSelector;
private Query query;
@Given("a matter $m, property $p and value selector $selector with " +
"value $value")
public void loadQueryParameters(String m, String p, String selector,
String value) throws WesearchException, OntoModelException {
String[] ontologies = {"src/test/resources/ontoTest2.owl"};
WesearchFactory factory = new JenaWesearchFactory();
OntoModelWrapper modelWrapper = new JenaOntoModelWrapper(
new FileOntologyLoader(ontologies));
wesearch = factory.createWesearch(modelWrapper);
property = new JenaPropertyImpl(p, "nacido_en",
"");
matter = new MatterImpl("Ministro", m,
"" +
"");
valueSelector = new ValueSelectorImpl(selector);
valueSelector.setValue(new StringValue(value));
assertNotNull(wesearch);
assertNotNull(matter);
assertNotNull(property);
assertNotNull(valueSelector);
}
@When("I ask for a query")
public void askQuery() throws WesearchException {
query = wesearch.createQuery(matter, property, valueSelector);
assertNotNull(query);
}
@Then("I get query $sparqlQuery")
public void getQuery(String sparqlQuery) {
String q = query.obtainQuery();
System.out.println(q);
assertTrue(q.equals(sparqlQuery));
}
}