Skip to content

Commit

Permalink
Renamed RegisteredAddon to Addon, Added UI API Mock Examples in impl …
Browse files Browse the repository at this point in the history
…tests package
  • Loading branch information
lincolnthree committed Dec 20, 2012
1 parent d147a76 commit 01c98b3
Show file tree
Hide file tree
Showing 30 changed files with 308 additions and 112 deletions.
6 changes: 3 additions & 3 deletions aesh/src/main/java/org/jboss/forge/aesh/AeshShell.java
Expand Up @@ -22,7 +22,7 @@
import org.jboss.aesh.console.settings.Settings;
import org.jboss.forge.container.AddonRegistry;
import org.jboss.forge.container.ContainerControl;
import org.jboss.forge.container.RegisteredAddon;
import org.jboss.forge.container.Addon;
import org.jboss.forge.container.event.Perform;
import org.jboss.forge.container.services.Remote;

Expand Down Expand Up @@ -74,8 +74,8 @@ public void observe(@Observes Perform startup) throws IOException

private void listServices(Console console) throws IOException
{
Set<RegisteredAddon> addons = registry.getRegisteredAddons();
for (RegisteredAddon addon : addons)
Set<Addon> addons = registry.getRegisteredAddons();
for (Addon addon : addons)
{
Set<Class<?>> serviceClasses = addon.getServiceRegistry().getServices();
for (Class<?> type : serviceClasses)
Expand Down
Expand Up @@ -32,8 +32,8 @@
import org.jboss.forge.container.AddonRegistry;
import org.jboss.forge.container.AddonRepository;
import org.jboss.forge.container.Forge;
import org.jboss.forge.container.RegisteredAddon;
import org.jboss.forge.container.RegisteredAddonFilter;
import org.jboss.forge.container.Addon;
import org.jboss.forge.container.AddonFilter;
import org.jboss.forge.container.Status;
import org.jboss.forge.container.impl.AddonRepositoryImpl;
import org.jboss.forge.container.util.ClassLoaders;
Expand Down Expand Up @@ -89,10 +89,10 @@ else if (archive instanceof ForgeRemoteAddon)
httpContext.add(new Servlet("ArquillianServletRunner", "/ArquillianServletRunner"));

final AddonRegistry registry = runnable.getForge().getAddonRegistry();
RegisteredAddonFilter waitForFilter = new RegisteredAddonFilter()
AddonFilter waitForFilter = new AddonFilter()
{
@Override
public boolean accept(RegisteredAddon addon)
public boolean accept(Addon addon)
{
boolean result = false;
Set<AddonDependency> dependencies = repository.getAddonDependencies(addon.getId());
Expand All @@ -112,14 +112,14 @@ public boolean accept(RegisteredAddon addon)
}
};

final Set<RegisteredAddon> waitFor = registry.getRegisteredAddons(waitForFilter);
final Set<Addon> waitFor = registry.getRegisteredAddons(waitForFilter);

boolean deployed = false;
while (!deployed || !waitFor.isEmpty())
{
if (thread.isAlive())
{
for (RegisteredAddon addon : registry.getRegisteredAddons())
for (Addon addon : registry.getRegisteredAddons())
{
if (addon.getId().equals(addonToDeploy) && isDeploymentComplete(addon))
{
Expand All @@ -130,7 +130,7 @@ public boolean accept(RegisteredAddon addon)
Threads.sleep(10);

if (!waitFor.isEmpty())
for (RegisteredAddon addon : registry.getRegisteredAddons())
for (Addon addon : registry.getRegisteredAddons())
{
if (waitFor.contains(addon) && isDeploymentComplete(addon))
{
Expand All @@ -148,7 +148,7 @@ public boolean accept(RegisteredAddon addon)
.addContext(httpContext);
}

private boolean isDeploymentComplete(RegisteredAddon addon)
private boolean isDeploymentComplete(Addon addon)
{
return Status.STARTED.equals(addon.getStatus())
|| Status.FAILED.equals(addon.getStatus())
Expand Down
Expand Up @@ -10,7 +10,7 @@
import org.jboss.shrinkwrap.api.container.ServiceProviderContainer;

/**
* Archive representing a Forge RegisteredAddon deployment.
* Archive representing a Forge Addon deployment.
*
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
Expand Down
Expand Up @@ -4,7 +4,7 @@
import org.jboss.shrinkwrap.api.Archive;

/**
* Archive representing a Forge RegisteredAddon deployment.
* Archive representing a Forge Addon deployment.
*
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
Expand Down
Expand Up @@ -2,7 +2,7 @@

import org.jboss.forge.container.services.ServiceRegistry;

public interface RegisteredAddon
public interface Addon
{
public AddonId getId();

Expand Down
@@ -0,0 +1,6 @@
package org.jboss.forge.container;

public interface AddonFilter
{
public boolean accept(Addon addon);
}
Expand Up @@ -8,15 +8,15 @@

public interface AddonRegistry
{
RegisteredAddon getRegisteredAddon(AddonId entry);
Addon getRegisteredAddon(AddonId entry);

Set<RegisteredAddon> getRegisteredAddons();
Set<Addon> getRegisteredAddons();

Set<RegisteredAddon> getRegisteredAddons(RegisteredAddonFilter filter);
Set<Addon> getRegisteredAddons(AddonFilter filter);

boolean isRegistered(AddonId id);

Map<RegisteredAddon, ServiceRegistry> getServiceRegistries();
Map<Addon, ServiceRegistry> getServiceRegistries();

<T> Set<RemoteInstance<T>> getRemoteServices(Class<T> type);
}
Expand Up @@ -13,7 +13,7 @@
import javax.inject.Inject;

/**
* Used to perform RegisteredAddon installation/registration operations. May be obtained using CDI injection:
* Used to perform Addon installation/registration operations. May be obtained using CDI injection:
* <p>
* <code>@{@link Inject} private {@link AddonRepository} repository;</code>
*
Expand Down

This file was deleted.

28 changes: 14 additions & 14 deletions container/src/main/java/org/jboss/forge/container/Forge.java
Expand Up @@ -32,7 +32,7 @@ public final class Forge

private AddonRepository repository = AddonRepositoryImpl.forDefaultDirectory();

private Map<RegisteredAddon, Set<RegisteredAddon>> waitlist = new HashMap<RegisteredAddon, Set<RegisteredAddon>>();
private Map<Addon, Set<Addon>> waitlist = new HashMap<Addon, Set<Addon>>();

private boolean serverMode = true;

Expand Down Expand Up @@ -104,23 +104,23 @@ public Forge stop()

private void updateAddons(Set<AddonThread> threads, ModuleLoader addonLoader)
{
Set<RegisteredAddon> loadedAddons = new HashSet<RegisteredAddon>();
Set<Addon> loadedAddons = new HashSet<Addon>();
for (AddonThread thread : threads)
{
loadedAddons.add(thread.getRunnable().getAddon());
}

Set<RegisteredAddon> toStop = new HashSet<RegisteredAddon>(loadedAddons);
Set<RegisteredAddon> updatedSet = loadAddons(addonLoader);
Set<Addon> toStop = new HashSet<Addon>(loadedAddons);
Set<Addon> updatedSet = loadAddons(addonLoader);
toStop.removeAll(updatedSet);

Set<RegisteredAddon> toStart = new HashSet<RegisteredAddon>(updatedSet);
Set<Addon> toStart = new HashSet<Addon>(updatedSet);
toStart.removeAll(loadedAddons);

if (!toStop.isEmpty())
{
Set<AddonThread> stopped = new HashSet<AddonThread>();
for (RegisteredAddon addon : toStop)
for (Addon addon : toStop)
{
// TODO This needs to handle dependencies and ordering.
((RegisteredAddonImpl) addon).setStatus(Status.STOPPING);
Expand All @@ -145,14 +145,14 @@ private void updateAddons(Set<AddonThread> threads, ModuleLoader addonLoader)
}
}

private Set<AddonThread> startAddons(Set<RegisteredAddon> toStart)
private Set<AddonThread> startAddons(Set<Addon> toStart)
{
Set<AddonThread> started = new HashSet<AddonThread>();
AddonRegistryImpl registry = AddonRegistryImpl.INSTANCE;

int startedThreads = 0;
int batchSize = Math.min(BATCH_SIZE, toStart.size());
for (RegisteredAddon addon : toStart)
for (Addon addon : toStart)
{
((RegisteredAddonImpl) addon).setStatus(Status.STARTING);
logger.info("Starting addon (" + addon.getId() + ")");
Expand Down Expand Up @@ -183,9 +183,9 @@ public AddonRegistry getAddonRegistry()
return AddonRegistryImpl.INSTANCE;
}

synchronized private Set<RegisteredAddon> loadAddons(ModuleLoader addonLoader)
synchronized private Set<Addon> loadAddons(ModuleLoader addonLoader)
{
Set<RegisteredAddon> result = new HashSet<RegisteredAddon>();
Set<Addon> result = new HashSet<Addon>();

String runtimeVersion = AddonRepositoryImpl.getRuntimeAPIVersion();
List<AddonId> enabledCompatible = repository.listEnabledCompatibleWithVersion(runtimeVersion);
Expand All @@ -206,15 +206,15 @@ synchronized private Set<RegisteredAddon> loadAddons(ModuleLoader addonLoader)

for (AddonId entry : enabledCompatible)
{
RegisteredAddon addonToLoad = loadAddon(addonLoader, entry);
Addon addonToLoad = loadAddon(addonLoader, entry);
if (Status.STARTING.equals(addonToLoad.getStatus()) || Status.STARTED.equals(addonToLoad.getStatus()))
result.add(addonToLoad);
}

return result;
}

private RegisteredAddon loadAddon(ModuleLoader addonLoader, AddonId addonId)
private Addon loadAddon(ModuleLoader addonLoader, AddonId addonId)
{
AddonRegistryImpl registry = AddonRegistryImpl.INSTANCE;

Expand All @@ -231,7 +231,7 @@ private RegisteredAddon loadAddon(ModuleLoader addonLoader, AddonId addonId)
}
else if (!waitlist.containsKey(addonToLoad) && (addonToLoad.getModule() == null))
{
Set<RegisteredAddon> missingDependencies = new HashSet<RegisteredAddon>();
Set<Addon> missingDependencies = new HashSet<Addon>();
for (AddonDependency dependency : repository.getAddonDependencies(addonId))
{
AddonId dependencyId = dependency.getId();
Expand Down Expand Up @@ -259,7 +259,7 @@ else if (!waitlist.containsKey(addonToLoad) && (addonToLoad.getModule() == null)
addonToLoad.setModule(module);
addonToLoad.setStatus(Status.STARTING);

for (RegisteredAddon waiting : waitlist.keySet())
for (Addon waiting : waitlist.keySet())
{
waitlist.get(waiting).remove(addonToLoad);
if (waitlist.get(waiting).isEmpty())
Expand Down
Expand Up @@ -2,36 +2,36 @@

public class RegisteredAddonFilters
{
public static RegisteredAddonFilter allStarted()
public static AddonFilter allStarted()
{
return new RegisteredAddonFilter()
return new AddonFilter()
{
@Override
public boolean accept(RegisteredAddon addon)
public boolean accept(Addon addon)
{
return Status.STARTED.equals(addon.getStatus());
}
};
}

public static RegisteredAddonFilter allWaiting()
public static AddonFilter allWaiting()
{
return new RegisteredAddonFilter()
return new AddonFilter()
{
@Override
public boolean accept(RegisteredAddon addon)
public boolean accept(Addon addon)
{
return Status.WAITING.equals(addon.getStatus());
}
};
}

public static RegisteredAddonFilter allNotStarted()
public static AddonFilter allNotStarted()
{
return new RegisteredAddonFilter()
return new AddonFilter()
{
@Override
public boolean accept(RegisteredAddon addon)
public boolean accept(Addon addon)
{
return !Status.STARTED.equals(addon.getStatus());
}
Expand Down
Expand Up @@ -14,7 +14,7 @@
import javax.enterprise.inject.spi.CDI;
import javax.enterprise.inject.spi.ObserverMethod;

import org.jboss.forge.container.RegisteredAddon;
import org.jboss.forge.container.Addon;
import org.jboss.forge.container.AddonRegistry;
import org.jboss.forge.container.RegisteredAddonFilters;
import org.jboss.forge.container.exception.ContainerException;
Expand Down Expand Up @@ -77,7 +77,7 @@ public void notify(final Object event, final Set<Annotation> qualifiers)
if (contextClassLoader.equals(eventClassLoader))
{
AddonRegistry addonRegistry = CDI.current().select(AddonRegistry.class).get();
for (RegisteredAddon addon : addonRegistry.getRegisteredAddons(RegisteredAddonFilters.allStarted()))
for (Addon addon : addonRegistry.getRegisteredAddons(RegisteredAddonFilters.allStarted()))
{
// Events should not be fired back into the container from which they originated
ClassLoader addonClassLoader = addon.getClassLoader();
Expand Down

0 comments on commit 01c98b3

Please sign in to comment.