leosimons 01/04/17 04:38:39 Added: proposal/4.0/src/java/org/apache/avalon/atlantis package.html proposal/4.0/src/java/org/apache/avalon/atlantis/applications Application.java ApplicationException.java ApplicationFactory.java ServerApplication.java ServerApplicationFactory.java proposal/4.0/src/java/org/apache/avalon/atlantis/core Block.java BlockContext.java Embeddor.java Kernel.java ServerKernel.java proposal/4.0/src/java/org/apache/avalon/atlantis/facilities ApplicationManager.java ClassManager.java ConfigurationManager.java Facility.java LogManager.java Manager.java SecurityManager.java ThreadManager.java package.html Log: - temporary adding atlantis here so the proposal can compile. Revision Changes Path 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/package.html Index: package.html =================================================================== <html><body>This part of the specification defines the interface an Avalon application server should implement. It is an optional part - an Avalon implementation does not have to implement Atlantis to be compatible. The reference implementation of Atlantis can be found in the <code>org.apache.phoenix.engine</code> package. </body></html> 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/applications/Application.java Index: Application.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.applications; import org.apache.framework.lifecycle.Disposable; import org.apache.framework.lifecycle.Initializable; import org.apache.framework.lifecycle.Executable; import org.apache.avalon.camelot.Container; /** * An <code>Application</code> is used to represent a self-contained component. * These are usually not created directly, but rather are created by the * Avalon application server to wrap around an application. * * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a> * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface Application extends Initializable, Executable, Disposable, Container { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/applications/ApplicationException.java Index: ApplicationException.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.applications; import org.apache.framework.CascadingException; /** * The ApplicationException is used to indicate problems with applications. * * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a> */ public class ApplicationException extends CascadingException { public ApplicationException( final String message ) { this( message, null ); } public ApplicationException( final String message, final Throwable throwable ) { super( message, throwable ); } } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/applications/ApplicationFactory.java Index: ApplicationFactory.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.applications; import org.apache.framework.context.Context; import org.apache.framework.component.ComponentManager; import org.apache.framework.configuration.Configuration; /** * Convenience class for the creation of Applications. * * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface ApplicationFactory { /** * Provides a new Application. */ public Application getApplication(); /** * Provides a new Application on which contextualize() has * already been called (using the supplied context). */ public Application getApplication( Context context ); /** * Provides a new Application on which contextualize() and * compose() have already been called (using the supplied * context and componentManager). */ public Application getApplication( Context context, ComponentManager componentManager ); /** * Provides a new Application on which contextualize(), * compose() and configure() have already been called * (using the supplied context, componentManager, and * configuration). */ public Application getApplication( Context context, ComponentManager componentManager, Configuration configuration ); } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/applications/ServerApplication.java Index: ServerApplication.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.applications; import org.apache.framework.context.Contextualizable; import org.apache.framework.configuration.Configurable; /** * The ServerApplication is a self-contained server component that performs a specific * user function. * * Example ServerApplications may be a Mail Server, File Server, Directory Server etc. * * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a> */ public interface ServerApplication extends Application, Contextualizable, Configurable // and thus extends Initializable, Startable, Stoppable, Disposable, Container { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/applications/ServerApplicationFactory.java Index: ServerApplicationFactory.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.applications; import org.apache.framework.context.Context; import org.apache.framework.component.ComponentManager; import org.apache.framework.configuration.Configuration; /** * Convenience class for the creation of ServerApplications. * * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface ServerApplicationFactory { /** * Provides a new Application. */ public ServerApplication getApplication(); /** * Provides a new Application on which contextualize() has * already been called (using the supplied context). */ public ServerApplication getApplication( Context context ); /** * Provides a new Application on which contextualize() and * compose() have already been called (using the supplied * context and componentManager). */ public ServerApplication getApplication( Context context, ComponentManager componentManager ); /** * Provides a new Application on which contextualize(), * compose() and configure() have already been called * (using the supplied context, componentManager, and * configuration). */ public ServerApplication getApplication( Context context, ComponentManager componentManager, Configuration configuration ); } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/core/Block.java Index: Block.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.core; import org.apache.framework.component.Component; /** * The main interface to implement for building servers using Avalon patterns. * * @author <a href="mailto:[EMAIL PROTECTED]">Federico Barbieri</a> */ public interface Block extends Component { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/core/BlockContext.java Index: BlockContext.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.core; import java.io.File; import org.apache.framework.context.Context; import org.apache.avalon.thread.ThreadPool; import org.apache.log.Logger; /** * Context via which Blocks communicate with container. * * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a> */ public interface BlockContext extends Context { String APP_NAME = "app.name"; String APP_HOME_DIR = "app.home"; String NAME = "block.name"; /** * Base directory of .sar application. * * @return the base directory */ File getBaseDirectory(); /** * Retrieve name of block. * * @return the name of block */ String getName(); /** * Retrieve thread pool by category. * ThreadPools are given names so that you can manage different thread * count to different components. * * @param category the category * @return the ThreadManager */ ThreadPool getThreadPool( String category ); /** * Retrieve default thread pool. * Equivelent to getThreadPool( "default" ); * * @return the default ThreadPool */ ThreadPool getDefaultThreadPool(); /** * Retrieve logger coresponding to root category of application. * * @return the base logger */ Logger getBaseLogger(); } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/core/Embeddor.java Index: Embeddor.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.core; import java.lang.UnsupportedOperationException; import org.apache.framework.parameters.Parametizable; import org.apache.framework.lifecycle.Initializable; import org.apache.framework.lifecycle.Executable; /** * * @author <a href="[EMAIL PROTECTED]">Leo Simons</a> */ public interface Embeddor extends Parametizable, Initializable, Executable { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/core/Kernel.java Index: Kernel.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.core; import org.apache.avalon.camelot.ContainerException; import org.apache.avalon.atlantis.applications.Application; /** * The Kernel is the core of any system. * The kernel is responsible for orchestrating low level services * such as loading, configuring and destroying applications. It also * gives access to basic facilities specific to that particular kernel. * A ServerKernel may offer scheduling, naming, security, classloading etc. * A JesktopKernel may offer inter-application drag-n-drop support. * A VEKernel may offer inter-VE transport for Avatars. * * Note that no facilities are available until after the Kernel has been initialized. * * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a> */ public interface Kernel extends Application, Runnable // and thus extends Initializable, Startable, Stoppable, Disposable, Container, Component { /** * Retrieve Application from container. * The Application that is returned must be initialized * and prepared for manipulation. * * @param name the name of application * @return the application * @exception ContainerException if an error occurs */ Application getApplication( String name ) throws ContainerException; } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/core/ServerKernel.java Index: ServerKernel.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.core; import org.apache.framework.logger.Loggable; import org.apache.framework.context.Contextualizable; import org.apache.avalon.atlantis.applications.ServerApplication; /** * The ServerKernel is the core of the Phoenix system. * The kernel is responsible for orchestrating low level services * such as loading, configuring and destroying blocks. It also * gives access to basic facilities such as scheduling sub-systems, * protected execution contexts, naming and directory services etc. * * Note that no facilities are available until after the Kernel has been * contextualized, configured and initialized. * * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a> */ public interface ServerKernel extends Loggable, Kernel, Contextualizable, ServerApplication // and thus extends Application, Runnable, Initializable, Startable, // Stoppable, Disposable, Container, Component { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/facilities/ApplicationManager.java Index: ApplicationManager.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.facilities; import org.apache.avalon.atlantis.applications.ApplicationFactory; /** * * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface ApplicationManager extends Facility { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/facilities/ClassManager.java Index: ClassManager.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.facilities; /** * * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface ClassManager extends Facility { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/facilities/ConfigurationManager.java Index: ConfigurationManager.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.facilities; /** * * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface ConfigurationManager extends Facility { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/facilities/Facility.java Index: Facility.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.facilities; import org.apache.framework.component.Component; /** * A facility performs a specific task for the Kernel. * * @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a> * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface Facility extends Component { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/facilities/LogManager.java Index: LogManager.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.facilities; /** * * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface LogManager extends Facility { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/facilities/Manager.java Index: Manager.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.facilities; import javax.management.MBeanServer; import org.apache.framework.lifecycle.Executable; import org.apache.framework.context.Context; import org.apache.framework.context.Contextualizable; import org.apache.framework.context.ContextException; /** * * @author <a href="[EMAIL PROTECTED]">Leo Simons</a> */ public interface Manager extends Facility, Executable, Contextualizable // and thus Component { /** * At a minimum, the <code>Context</code> for Manager * should contain:<br /> * <ul> * <li>"javax.management.MBeanServer" containing a reference to an MBeanServer;</li> * <li>"org.apache.framework.atlantis.core.Embeddor" containing a reference to an Embeddor;</li> * <li>"org.apache.framework.atlantis.core.Kernel" containing a reference to a Kernel;</li> * <li>"org.apache.avalon.camelot.Deployer" containing a reference to a Deployer;</li> * </ul> */ public void contextualize( Context context ) throws ContextException; } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/facilities/SecurityManager.java Index: SecurityManager.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.facilities; /** * * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface SecurityManager extends Facility { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/facilities/ThreadManager.java Index: ThreadManager.java =================================================================== /* * Copyright (C) The Apache Software Foundation. All rights reserved. * * This software is published under the terms of the Apache Software License * version 1.1, a copy of which has been included with this distribution in * the LICENSE file. */ package org.apache.avalon.atlantis.facilities; /** * * @author <a href="mailto:[EMAIL PROTECTED]">Leo Simons</a> */ public interface ThreadManager extends Facility { } 1.1 jakarta-avalon-phoenix/proposal/4.0/src/java/org/apache/avalon/atlantis/facilities/package.html Index: package.html =================================================================== <html><body> A <code>Facility</code> is a pluggable piece of code that performs a well-defined role for the Avalon application server. This package defines the interface all Facilities must implement, as well as interfaces for the most commonly used pieces of code. </body></html>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]