package fr.adrienbrault.idea.symfony2plugin; import com.intellij.openapi.util.Condition; import com.intellij.util.containers.ContainerUtil; import fr.adrienbrault.idea.symfony2plugin.dic.ContainerFile; import fr.adrienbrault.idea.symfony2plugin.extension.ServiceContainerLoader; import fr.adrienbrault.idea.symfony2plugin.extension.ServiceContainerLoaderParameter; import java.util.List; /** * @author Daniel Espendiller <daniel@espendiller.net> */ public class ServiceContainerSettingsLoader implements ServiceContainerLoader { private static Condition<ContainerFile> CONDITION = new ContainerFileCondition(); @Override public void attachContainerFile(ServiceContainerLoaderParameter parameter) { List<ContainerFile> settingsContainerFiles = Settings.getInstance(parameter.getProject()).containerFiles; if(settingsContainerFiles == null) { return; } List<ContainerFile> filter = ContainerUtil.filter(settingsContainerFiles, CONDITION); parameter.addContainerFiles(filter); } private static class ContainerFileCondition implements Condition<ContainerFile> { @Override public boolean value(ContainerFile containerFile) { return containerFile.getPath() != null && !containerFile.getPath().startsWith("remote://"); } } }