/* * The MIT License * * Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package hudson.maven.agent; import org.codehaus.plexus.PlexusContainer; import org.codehaus.plexus.PlexusContainerException; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.logging.LoggerManager; import org.codehaus.plexus.configuration.PlexusConfigurationResourceException; import org.codehaus.plexus.context.Context; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.component.repository.exception.ComponentRepositoryException; import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException; import org.codehaus.plexus.component.repository.ComponentDescriptor; import org.codehaus.plexus.component.factory.ComponentInstantiationException; import org.codehaus.plexus.component.composition.CompositionException; import org.codehaus.plexus.component.composition.UndefinedComponentComposerException; import org.codehaus.plexus.component.discovery.ComponentDiscoveryListener; import org.codehaus.classworlds.ClassRealm; import java.util.Date; import java.util.List; import java.util.Map; import java.io.Reader; import java.io.File; /** * {@link PlexusContainer} filter. * * @author Kohsuke Kawaguchi */ class ContainerFilter implements PlexusContainer { private final PlexusContainer core; public ContainerFilter(PlexusContainer core) { this.core = core; } public Date getCreationDate() { return core.getCreationDate(); } public boolean hasChildContainer(String name) { return core.hasChildContainer(name); } public void removeChildContainer(String name) { core.removeChildContainer(name); } public PlexusContainer getChildContainer(String name) { return core.getChildContainer(name); } public PlexusContainer createChildContainer(String name, List classpathJars, Map context) throws PlexusContainerException { return core.createChildContainer(name, classpathJars, context); } public PlexusContainer createChildContainer(String name, List classpathJars, Map context, List discoveryListeners) throws PlexusContainerException { return core.createChildContainer(name, classpathJars, context, discoveryListeners); } public Object lookup(String componentKey) throws ComponentLookupException { return core.lookup(componentKey); } public Object lookup(String role, String roleHint) throws ComponentLookupException { return core.lookup(role, roleHint); } public Map lookupMap(String role) throws ComponentLookupException { return core.lookupMap(role); } public List lookupList(String role) throws ComponentLookupException { return core.lookupList(role); } public ComponentDescriptor getComponentDescriptor(String componentKey) { return core.getComponentDescriptor(componentKey); } public Map getComponentDescriptorMap(String role) { return core.getComponentDescriptorMap(role); } public List getComponentDescriptorList(String role) { return core.getComponentDescriptorList(role); } public void addComponentDescriptor(ComponentDescriptor componentDescriptor) throws ComponentRepositoryException { core.addComponentDescriptor(componentDescriptor); } public void release(Object component) throws ComponentLifecycleException { core.release(component); } public void releaseAll(Map components) throws ComponentLifecycleException { core.releaseAll(components); } public void releaseAll(List components) throws ComponentLifecycleException { core.releaseAll(components); } public boolean hasComponent(String componentKey) { return core.hasComponent(componentKey); } public boolean hasComponent(String role, String roleHint) { return core.hasComponent(role, roleHint); } public void suspend(Object component) throws ComponentLifecycleException { core.suspend(component); } public void resume(Object component) throws ComponentLifecycleException { core.resume(component); } public void initialize() throws PlexusContainerException { core.initialize(); } public boolean isInitialized() { return core.isInitialized(); } public void start() throws PlexusContainerException { core.start(); } public boolean isStarted() { return core.isStarted(); } public void dispose() { core.dispose(); } public Context getContext() { return core.getContext(); } public void setParentPlexusContainer(PlexusContainer parentContainer) { core.setParentPlexusContainer(parentContainer); } public void addContextValue(Object key, Object value) { core.addContextValue(key, value); } public void setConfigurationResource(Reader configuration) throws PlexusConfigurationResourceException { core.setConfigurationResource(configuration); } public Logger getLogger() { return core.getLogger(); } public Object createComponentInstance(ComponentDescriptor componentDescriptor) throws ComponentInstantiationException, ComponentLifecycleException { return core.createComponentInstance(componentDescriptor); } public void composeComponent(Object component, ComponentDescriptor componentDescriptor) throws CompositionException, UndefinedComponentComposerException { core.composeComponent(component, componentDescriptor); } public void registerComponentDiscoveryListener(ComponentDiscoveryListener listener) { core.registerComponentDiscoveryListener(listener); } public void removeComponentDiscoveryListener(ComponentDiscoveryListener listener) { core.removeComponentDiscoveryListener(listener); } public void addJarRepository(File repository) { core.addJarRepository(repository); } public void addJarResource(File resource) throws PlexusContainerException { core.addJarResource(resource); } public ClassRealm getContainerRealm() { return core.getContainerRealm(); } public ClassRealm getComponentRealm(String componentKey) { return core.getComponentRealm(componentKey); } public void setLoggerManager(LoggerManager loggerManager) { core.setLoggerManager(loggerManager); } public LoggerManager getLoggerManager() { return core.getLoggerManager(); } }