package org.jboss.windup.rules.apps.xml.service;
import org.jboss.windup.graph.GraphContext;
import org.jboss.windup.graph.service.GraphService;
import org.jboss.windup.rules.apps.xml.model.NamespaceMetaModel;
/**
* Adds createNamespaceSchemaLocation().
*/
public class NamespaceService extends GraphService<NamespaceMetaModel>
{
public NamespaceService(GraphContext context)
{
super(context, NamespaceMetaModel.class);
}
public NamespaceMetaModel createNamespaceSchemaLocation(String namespaceURI, String schemaLocation)
{
Iterable<NamespaceMetaModel> results = getGraphContext().getQuery().type(NamespaceMetaModel.class)
.has("namespaceURI", namespaceURI).has("schemaLocation", schemaLocation)
.vertices(NamespaceMetaModel.class);
if (results.iterator().hasNext())
{
return results.iterator().next();
}
// otherwise, create it.
NamespaceMetaModel meta = getGraphContext().getFramed().addVertex(null, NamespaceMetaModel.class);
meta.setSchemaLocation(schemaLocation);
meta.setURI(namespaceURI);
return meta;
}
}