public Set listGBeans(AbstractNameQuery query) { Map clone; synchronized (this) { clone = new HashMap(infoRegistry); } Set result = new HashSet(clone.size()); for (Iterator i = clone.entrySet().iterator(); i.hasNext();) { Map.Entry entry = (Map.Entry) i.next(); AbstractName abstractName = (AbstractName) entry.getKey(); GBeanInstance gbeanData = (GBeanInstance) entry.getValue(); if (query == null || query.matches(abstractName, gbeanData.getGBeanInfo().getInterfaces())) { result.add(gbeanData); } } return result; }
public Set listGBeansByInterface(String[] interfaces) { Set gbeans = new HashSet(); Set all = listGBeans((AbstractNameQuery)null); for (Iterator it = all.iterator(); it.hasNext();) { AbstractName name = (AbstractName) it.next(); try { GBeanInfo info = getGBeanInfo(name); Set intfs = info.getInterfaces(); for (int i = 0; i < interfaces.length; i++) { String candidate = interfaces[i]; if(intfs.contains(candidate)) { gbeans.add(name); break; } } } catch (GBeanNotFoundException e) {} } return gbeans; }
private List getVisibleInterfaces(AbstractName target, ClassLoader classLoader, boolean shouldLog) throws GBeanNotFoundException { GBeanInfo info = kernel.getGBeanInfo(target); Set interfaces = info.getInterfaces(); if(interfaces.size() == 0) { if (shouldLog) { log.warn("No interfaces found for " + target + " ("+target+")"); } return null; } String[] names = (String[]) interfaces.toArray(new String[0]); List types = new ArrayList(); for (int i = 0; i < names.length; i++) { try { Class type = classLoader.loadClass(names[i]); if (type.isInterface()) { types.add(type); } } catch (ClassNotFoundException e) { if (shouldLog) { log.warn("Could not load interface "+names[i]+" in provided ClassLoader for "+target); } } } return types; }
public BasicLifecycleMonitor(Kernel kernel) { // register for state change notifications with all mbeans that match the target patterns Set names = kernel.listGBeans((AbstractNameQuery)null); for (Iterator objectNameIterator = names.iterator(); objectNameIterator.hasNext();) { AbstractName source = (AbstractName) objectNameIterator.next(); GBeanData gBeanData; try { gBeanData = kernel.getGBeanData(source); } catch (GBeanNotFoundException e) { //this should never happen throw new AssertionError(e); } addSource(source, gBeanData.getGBeanInfo().getInterfaces()); } }
GBeanInfo info = kernel.getGBeanInfo(connectorName); boolean found = false; Set intfs = info.getInterfaces(); for (Iterator it = intfs.iterator(); it.hasNext() && !found;) { String intf = (String) it.next();
GBeanInfo info = kernel.getGBeanInfo(connectorName); boolean found = false; Set intfs = info.getInterfaces(); for (Iterator it = intfs.iterator(); it.hasNext();) { String intf = (String) it.next();
GBeanInfo info = kernel.getGBeanInfo(connectorName); boolean found = false; Set intfs = info.getInterfaces(); for (Iterator it = intfs.iterator(); it.hasNext();) { String intf = (String) it.next();
/** * Find the gbeanDatas matching the patterns in this configuration only, ignoring parents. * * @param configuration configuration to look in * @param patterns patterns to look for * @return set of gbeandatas matching one of the patterns from this configuration only, not including parents. */ public LinkedHashSet<GBeanData> findGBeanDatas(Configuration configuration, Set<AbstractNameQuery> patterns) { LinkedHashSet<GBeanData> result = new LinkedHashSet<GBeanData>(); Set<Map.Entry<AbstractName, GBeanData>> gbeanNames = configuration.getGBeans().entrySet(); for (AbstractNameQuery abstractNameQuery : patterns) { Artifact queryArtifact = abstractNameQuery.getArtifact(); // Does this query apply to this configuration if (queryArtifact == null || queryArtifact.matches(configuration.getId())) { // Search the GBeans for (Map.Entry<AbstractName, GBeanData> entry : gbeanNames) { AbstractName abstractName = entry.getKey(); GBeanData gbeanData = entry.getValue(); if (abstractNameQuery.matches(abstractName, gbeanData.getGBeanInfo().getInterfaces())) { result.add(gbeanData); } } } } return result; }
for (Iterator iterator = source.getInterfaces().iterator(); iterator.hasNext();) { String intf = (String) iterator.next(); interfaces.add(intf);
interfaces = (String[]) gbeanInfo.getInterfaces().toArray(new String[0]);
public void loadGBean(GBeanData gbeanData, ClassLoader classLoader) throws GBeanAlreadyExistsException, InternalKernelException { AbstractName abstractName = gbeanData.getAbstractName(); Set interfaces = gbeanData.getGBeanInfo().getInterfaces(); LifecycleBroadcaster lifecycleBroadcaster = lifecycleMonitor.createLifecycleBroadcaster(abstractName, interfaces); GBeanInstance gbeanInstance = new GBeanInstance(gbeanData, this, dependencyManager, lifecycleBroadcaster, classLoader); registry.register(gbeanInstance); lifecycleBroadcaster.fireLoadedEvent(); }