Refine search
private ResourceFactory getResourceFactory() { if (resourceFactory == null) { AddonRegistry addonRegistry = SimpleContainer.getFurnace(getClass().getClassLoader()).getAddonRegistry(); resourceFactory = addonRegistry.getServices(ResourceFactory.class).get(); } return resourceFactory; }
public void setup(File repoDir) { furnace = FurnaceFactory.getInstance(Thread.currentThread() .getContextClassLoader(), Thread.currentThread() .getContextClassLoader()); furnace.addRepository(AddonRepositoryMode.IMMUTABLE, repoDir); Future<Furnace> future = furnace.startAsync(); try { future.get(); } catch (InterruptedException | ExecutionException e) { throw new RuntimeException("Furnace failed to start.", e); } AddonRegistry addonRegistry = furnace.getAddonRegistry(); commandFactory = addonRegistry.getServices(CommandFactory.class).get(); controllerFactory = (CommandControllerFactory) addonRegistry .getServices(CommandControllerFactory.class.getName()).get(); }
@Override public String toString() { String result = "Furnace: " + runnable.furnace.hashCode() + "\nStatus: " + runnable.furnace.getStatus() + "\n\n"; for (AddonRepository repository : runnable.furnace.getRepositories()) { result += repository + "\n"; } result += "\n" + runnable.furnace; return result; } }
private ForgeScriptEngineFactory getEngineFactory() { if (engineFactory == null) { AddonRegistry addonRegistry = Furnace.instance(getClass().getClassLoader()).getAddonRegistry(); this.engineFactory = addonRegistry.getServices(ForgeScriptEngineFactory.class).get(); } return engineFactory; }
public ConverterFactory getConverterFactory() { if (converterFactory == null) { AddonRegistry addonRegistry = furnace.getAddonRegistry(); Imported<ConverterFactory> converterFactoryImport = addonRegistry.getServices(ConverterFactory.class); converterFactory = converterFactoryImport.get(); } return converterFactory; }
@Override public Result execute(UIExecutionContext context) final Furnace furnace = SimpleContainer.getFurnace(getClass().getClassLoader()); AddonManager addonManager = SimpleContainer.getServices(getClass().getClassLoader(), AddonManager.class).get(); AddonDependencyResolver resolver = SimpleContainer .getServices(getClass().getClassLoader(), AddonDependencyResolver.class).get(); Set<Addon> addons = furnace.getAddonRegistry().getAddons(); AddonId addonId = addons.stream().map(a -> a.getId()).filter(a -> a.getName().equals(named.getValue())) .findFirst().get(); String addonAPIVersion = resolver.resolveAPIVersion(addonId).get(); try Response<AddonId[]> resolveVersions = resolver.resolveVersions(addonId.getName()); if (id.getVersion().compareTo(maxAddonId.getVersion()) > 0 && addonAPIVersion.equals(resolver.resolveAPIVersion(id).get())) for (AddonRepository r : furnace.getRepositories())
@Override public Result execute(UIExecutionContext context) throws Exception Furnace furnace = SimpleContainer.getFurnace(getClass().getClassLoader()); AddonRegistry registry = furnace.getAddonRegistry(); AddonManager addonManager = registry.getServices(AddonManager.class).get(); ProjectFactory projectFactory = getProjectFactory(); ResourceFactory resourceFactory = registry.getServices(ResourceFactory.class).get(); GitUtils gitUtils = registry.getServices(GitUtils.class).get(); .addArguments("clean", "install", "-Dversion.furnace=" + furnace.getVersion(), "-Dversion.forge=" + Versions.getImplementationVersionFor(getClass())) .runTests(false) ids.add(AddonId.fromCoordinates(c)); ids.add(AddonId.from(c, buildCoordinate.getVersion())); ids.add(AddonId.from(buildCoordinate.getGroupId() + ":" + buildCoordinate.getArtifactId(), buildCoordinate.getVersion()));
furnace.setServerMode(true); if (!containsMutableRepository(furnace.getRepositories())) furnace.addRepository(AddonRepositoryMode.MUTABLE, getUserAddonsDir()); return; furnace.addContainerLifecycleListener(containerStatusListener); try return; furnace.addContainerLifecycleListener(new GreetingListener()); Imported<WindupServerProvider> serverProviders = furnace.getAddonRegistry().getServices(WindupServerProvider.class); for (WindupServerProvider serverProvider : serverProviders)
AddonManager addonManager = SimpleContainer.getServices(getClass().getClassLoader(), AddonManager.class).get(); AddonId id = AddonId.from(coordinate.getGroupId() + ":" + coordinate.getArtifactId(), coordinate.getVersion()); RemoveRequest removeRequest = addonManager.remove(id); removeRequest.perform(); AddonRegistry registry = SimpleContainer.getFurnace(getClass().getClassLoader()).getAddonRegistry(); Addons.waitUntilStopped(registry.getAddon(id)); InstallRequest installRequest = addonManager.install(id); installRequest.perform();
private Imported<TemplateGenerator> getTemplateGenerators() { if (generators == null) { AddonRegistry addonRegistry = SimpleContainer.getFurnace(getClass().getClassLoader()).getAddonRegistry(); generators = addonRegistry.getServices(TemplateGenerator.class); } return generators; } }
private AddonRegistry getAddonRegistry() { if (registry == null) { Furnace furnace = SimpleContainer.getFurnace(this.getClass().getClassLoader()); this.registry = furnace.getAddonRegistry(); } return registry; }
@Override public <T> Collection<T> produce(final Class<T> type) { final Collection<T> result = new HashSet<>(); final Furnace furnace = FurnaceHolder.getFurnace(); // Furnace may be not available if the ServiceLoader is called before FurnaceHolder // has received the Furnace PostConstruct event, so check for null and if it isStarted if (furnace != null && furnace.getStatus().isStarted()) { final Imported<T> services = furnace.getAddonRegistry().getServices(type); for (final T service : services) { result.add(service); } } return result; }
private Addon getAddon() { Set<Addon> addons = SimpleContainer.getFurnace(RexsterInitializer.class.getClassLoader()).getAddonRegistry().getAddons(); for (Addon addon : addons) { boolean isRexster = addon.getId().getName().contains("rexster"); if (isRexster) { return addon; } } return null; }
public GraphApiCompositeClassLoaderProvider() { this.furnace = SimpleContainer.getFurnace(GraphApiCompositeClassLoaderProvider.class.getClassLoader()); for (Addon addon : this.furnace.getAddonRegistry().getAddons()) { if (addon.getClassLoader() != null && addon.getClassLoader().equals(GraphApiCompositeClassLoaderProvider.class.getClassLoader())) { this.addon = addon; break; } } }
.getServices(getClass().getClassLoader(), AddonProjectConfigurator.class).get(); InputComponentFactory factory = builder.getInputComponentFactory(); addon = factory.createInput("addon", String.class).setLabel("Addon Coordinates") Project project = getSelectedProject(builder); Furnace furnace = SimpleContainer.getFurnace(getClass().getClassLoader()); for (AddonRepository repository : furnace.getRepositories()) boolean isContainerAddon = id.getName().contains("org.jboss.forge.furnace.container"); if (!isContainerAddon && !configurator.dependsOnAddon(project, id))
@Override public Set<ClassLoader> call() throws Exception { if (furnace.getStatus().isStarted()) { long registryVersion = furnace.getAddonRegistry().getVersion(); if (registryVersion != lastRegistryVersion) { result.clear(); lastRegistryVersion = registryVersion; for (Addon addon : furnace.getAddonRegistry().getAddons()) { ClassLoader classLoader = addon.getClassLoader(); if (classLoader != null) result.add(classLoader); } } } return result; } };
.setRequired(true).setRequiredMessage( "The specified addon coordinates were not found within any configured furnace repository"); Furnace furnace = SimpleContainer.getFurnace(getClass().getClassLoader()); ProjectFactory projectFactory = SimpleContainer.getServices(getClass().getClassLoader(), ProjectFactory.class) .get(); Set<AddonId> choices = new TreeSet<>(); for (AddonRepository repository : furnace.getRepositories()) AddonId selectedAddonId = AddonId.from(name, facet.getProjectVersion()); if (choices.contains(selectedAddonId))
@Override public T produce(CreationalContext<T> ctx) { return furnaceProducer.getFurnace().getAddonRegistry().getServices(type).iterator().next(); }
@Override public Iterable<String> getCompletionProposals(UIContext context, InputComponent<?, String> input, String value) { Set<String> items = new TreeSet<String>(); Set<Addon> addons = furnace.getAddonRegistry().getAddons(); for (Addon addon : addons) { if (addon.getId().toCoordinates().startsWith(value)) items.add(addon.getId().getName()); } return items; } });