package ecologylab.bigsemantics.actions; import ecologylab.bigsemantics.seeding.SearchState; import ecologylab.bigsemantics.seeding.SeedSet; import ecologylab.generic.StringTools; import ecologylab.serialization.annotations.simpl_inherit; import ecologylab.serialization.annotations.simpl_scalar; import ecologylab.serialization.annotations.simpl_tag; @simpl_inherit @simpl_tag(SemanticActionStandardMethods.SEARCH) public class SearchSemanticAction extends SemanticAction { protected static final String ARG_QUERY = "query"; @simpl_scalar protected String engine; @Override public String getActionName() { return SemanticActionStandardMethods.SEARCH; } @Override public void handleError() { // TODO Auto-generated method stub } @Override public Object perform(Object obj) { if (sessionScope.isService()) { return null; } String query = (String) getArgumentObject(ARG_QUERY); if (StringTools.isNullOrEmpty(query)) return null; SearchState search = new SearchState(query, engine); search.initialize(sessionScope); SeedSet seedSet = new SeedSet(); seedSet.setParentSeedSet(sessionScope.getSeeding().getSeedSet()); seedSet.add(search, sessionScope); seedSet.performSeeding(sessionScope, true); return null; } }