package org.jboss.windup.rules.apps.javaee.service; import java.util.ArrayList; import java.util.List; import java.util.Set; import org.jboss.windup.graph.GraphContext; import org.jboss.windup.graph.model.ProjectModel; import org.jboss.windup.graph.service.GraphService; import org.jboss.windup.config.projecttraversal.ProjectTraversalCache; import org.jboss.windup.rules.apps.javaee.model.HibernateConfigurationFileModel; /** * Contains methods for querying, updating, and deleting {@link HibernateConfigurationFileModel} * * @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a> * */ public class HibernateConfigurationFileService extends GraphService<HibernateConfigurationFileModel> { public HibernateConfigurationFileService(GraphContext context) { super(context, HibernateConfigurationFileModel.class); } /** * Gets an {@link Iterable} of {@link HibernateConfigurationFileModel}s for the given {@link ProjectModel}. */ public Iterable<HibernateConfigurationFileModel> findAllByApplication(final ProjectModel application) { List<HibernateConfigurationFileModel> results = new ArrayList<>(); for (HibernateConfigurationFileModel model : findAll()) { Set<ProjectModel> modelApplications = ProjectTraversalCache.getApplicationsForProject(getGraphContext(), model.getProjectModel()); if (modelApplications.contains(application)) results.add(model); } return results; } }