package org.jboss.windup.reporting.service;
import org.jboss.windup.graph.GraphContext;
import com.tinkerpop.blueprints.Vertex;
import org.jboss.windup.graph.service.GraphService;
import org.jboss.windup.reporting.model.QuickfixModel;
import org.jboss.windup.reporting.model.QuickfixType;
/**
* Contains methods for loading, querying, and deleting {@link QuickfixModel}s.
*
*/
public class QuickfixService extends GraphService<QuickfixModel>
{
/**
* Constructs a {@link QuickfixService} instance.
*/
public QuickfixService(GraphContext context)
{
super(context, QuickfixModel.class);
}
/**
* Tries to find a link with the specified description and href. If it cannot, then it will return a new one.
*/
public QuickfixModel getOrCreate(String name, QuickfixType type)
{
Iterable<Vertex> results = getTypedQuery().has(QuickfixModel.PROPERTY_TYPE, type).has(QuickfixModel.PROPERTY_DESCRIPTION, name).vertices();
if (!results.iterator().hasNext())
{
QuickfixModel model = create();
model.setQuickfixType(type);
model.setName(name);
return model;
}
return frame(results.iterator().next());
}
}