package org.jnario.suite.suite.impl; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.EList; import org.eclipse.xtext.resource.XtextResource; import org.jnario.Executable; import org.jnario.suite.jvmmodel.SpecResolver; import org.jnario.suite.jvmmodel.SuiteExecutableProvider; import org.jnario.suite.jvmmodel.SuiteNodeBuilder; public class SuiteImplCustom extends SuiteImpl { @Override protected EList<Executable> calculateChildren() { if(eResource() == null){ return super.calculateChildren(); } SuiteExecutableProvider executableProvider = new SuiteExecutableProvider(get(SpecResolver.class), get(SuiteNodeBuilder.class)); return new BasicEList<Executable>(executableProvider.getExecutables(this)); } protected <T> T get(Class<T> type) { return ((XtextResource)eResource()).getResourceServiceProvider().get(type); } }