package org.jboss.windup.rules.apps.java.service; import com.tinkerpop.blueprints.Vertex; import com.tinkerpop.frames.structures.FramedVertexIterable; import com.tinkerpop.gremlin.java.GremlinPipeline; import org.jboss.windup.graph.GraphContext; import org.jboss.windup.graph.model.ArchiveModel; import org.jboss.windup.graph.service.GraphService; import org.jboss.windup.rules.apps.java.model.JarManifestModel; /** * Manages the creation, querying, and deletion of {@link JarManifestModel}s. * * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> * */ public class JarManifestService extends GraphService<JarManifestModel> { public JarManifestService(GraphContext context) { super(context, JarManifestModel.class); } /** * Gets all {@link JarManifestModel}s associated with this archive. */ public Iterable<JarManifestModel> getManifestsByArchive(ArchiveModel archiveModel) { GremlinPipeline<Vertex, Vertex> pipeline = new GremlinPipeline<>(archiveModel.asVertex()); pipeline.out(JarManifestModel.ARCHIVE); return new FramedVertexIterable<>(getGraphContext().getFramed(), pipeline, JarManifestModel.class); } }