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]