Return-Path: Delivered-To: apmail-jakarta-avalon-cvs-archive@apache.org Received: (qmail 59631 invoked from network); 13 Jul 2002 13:38:18 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 13 Jul 2002 13:38:18 -0000 Received: (qmail 19001 invoked by uid 97); 13 Jul 2002 13:38:30 -0000 Delivered-To: qmlist-jakarta-archive-avalon-cvs@jakarta.apache.org Received: (qmail 18926 invoked by uid 97); 13 Jul 2002 13:38:28 -0000 Mailing-List: contact avalon-cvs-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Avalon CVS List" Reply-To: "Avalon Developers List" Delivered-To: mailing list avalon-cvs@jakarta.apache.org Received: (qmail 18915 invoked by uid 97); 13 Jul 2002 13:38:28 -0000 X-Antivirus: nagoya (v4198 created Apr 24 2002) Date: 13 Jul 2002 13:38:08 -0000 Message-ID: <20020713133808.886.qmail@icarus.apache.org> From: nicolaken@apache.org To: jakarta-avalon-site-cvs@apache.org Subject: cvs commit: jakarta-avalon-site/docs/excalibur/tweety/skin print.css site.css tigris.css X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N nicolaken 2002/07/13 06:38:07 Modified: docs/excalibur/tweety avalon-container-howto.html avalon-for-beginners.html faq.html features.html getting-started.html index.html install.html docs/excalibur/tweety/api allclasses-frame.html deprecated-list.html help-doc.html index-all.html index.html overview-frame.html overview-summary.html overview-tree.html packages.html stylesheet.css docs/excalibur/tweety/api/org/apache/avalon/excalibur/tweety Tweety.html package-frame.html package-summary.html package-tree.html docs/excalibur/tweety/api/org/apache/avalon/excalibur/tweety/demos ChirpWorld.html package-frame.html package-summary.html package-tree.html Added: docs/excalibur/tweety/api allclasses-noframe.html constant-values.html docs/excalibur/tweety/api/org/apache/avalon/excalibur/tweety Egg.html Main.html docs/excalibur/tweety/skin print.css site.css tigris.css Log: Updated tweety site with new skin. Revision Changes Path 1.2 +168 -102 jakarta-avalon-site/docs/excalibur/tweety/avalon-container-howto.html Index: avalon-container-howto.html =================================================================== RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/tweety/avalon-container-howto.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- avalon-container-howto.html 3 Jul 2002 20:34:12 -0000 1.1 +++ avalon-container-howto.html 13 Jul 2002 13:38:06 -0000 1.2 @@ -1,134 +1,200 @@ + -The Avalon Container HOWTO - Overview - - - + + + + + +The Avalon Container HOWTO - Overview - - - -
- - -
- -  -
-

The Avalon Container HOWTO - Overview

-
-
+apache >jakarta >avalon +
+ + + + +
+ + +
+
+

+
The Avalon Container HOWTO - Overview
+

+

+
+

+
-

Introduction

-
+
+

Prerequisites

+
+ +

Question: Do you know what Lifecycle in Avalon is? Ok, start reading.

-

TBD

+

If not, look at Egg and understand this concept before reading about Containers.

+ + +
+

Do I really know what a Container is?

+ +

Well, you're mostly on your own for now. We're still working + on the entire concept of container and on the various containers + that ship with avalon.

- -

Table of Contents

-
-

TBD

+

Anyway, Tweety.java conceptually is a Container. Look at the difference between + Tweety and Egg, and you'll see that the main difference are: + +

+
    + +
  • Egg has just main(), while Main calles Tweety, ie The application (Main) uses the container (Tweety)
  • + +
  • Tweety is a Container but also a Component; this is important, because it could contain + itself hierarchically.
  • + +
+
+ + +

+ + + +
+

So you want to build your won container, huh?

+ + +

For now, I suggest you check out the sources for Tweety + (inside the jakarta-avalon-excalibur CVS module), + Plexus, + Containerkit (also inside the jakarta-avalon-excalibur + CVS module), Fortress (same CVS module) and Phoenix + (inside the jakarta-avalon-phoenix CVS module) to see + how it is done.

+ + +

Finally, take a peak at the avalon-dev mail archives or ask some + questions on that list,

+ + -
by Leo Simons
+
-
- -Ant LogoCocoon LogoKrysalis LogoKrysalis Centipede Logo 1.2 +433 -97 jakarta-avalon-site/docs/excalibur/tweety/avalon-for-beginners.html Index: avalon-for-beginners.html =================================================================== RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/tweety/avalon-for-beginners.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- avalon-for-beginners.html 3 Jul 2002 20:34:12 -0000 1.1 +++ avalon-for-beginners.html 13 Jul 2002 13:38:06 -0000 1.2 @@ -1,134 +1,470 @@ + -Avalon for Beginners - Overview - - - + + + + + +Avalon for Beginners - Overview - - - + + + +
+ + +
+
+

+
Avalon for Beginners - Overview
+

+

+
+

+
+ + + +
+

Work in Progress!

-
- - - +
-  -
-

Avalon for Beginners - Overview

-
-
- - - -

Introduction

-
-

TBD

- +
  +		package avalon.tutorial;
  +
  +		import org.apache.avalon.framework.parameters.Parameters;
  +		import org.apache.avalon.framework.parameters.ParameterException;
  +		import org.apache.avalon.logger.AbstractLoggable;
  +
  +		import avalon.tutorial.BirdSong;
  +		import avalon.tutorial.BirdSongRunner;
  +
  +		public class BirdSongImpl extends AbstractLoggable implements BirdSong
  +		{
  +			private int m_numberOfChilps;
  +			private String m_chilpMessage;
  +			private String m_chilpSeparator;
  +
  +			private Thread m_runnerThread;
  +
  +
  +			public void BirdSongImpl()
  +			{
  +			}
  +
  +			public void parameterize( Parameters parameters ) throws ParameterException
  +			{
  +				getLogger().debug( "got parameters" );
  +
  +				m_numberOfChilps = m_parameters.getParameterAsInteger( PARAM_NUMBER_OF_CHILPS );
  +				m_chilpMessage = m_parameters.getParameter( PARAM_CHILP_MESSAGE );
  +				m_chilpSeparator = m_parameters.getParameter( PARAM_CHILP_SEPARATOR );
  +			}
  +			public void start()
  +			{
  +				getLogger().debug( "starting" );
  +
  +				Runnable runnable = new BirdSongImplRunner( this );
  +
  +				m_runnerThread = new Thread( runnable );
  +				m_runnerThread.setDaemon( true );
  +				m_runnerThread.run();
  +			}
  +			public void stop()
  +			{
  +				getLogger().debug( "stopping" );
  +
  +				m_runnerThread.notify();
  +			}
  +
  +			int getNumberOfChilps()
  +			{
  +				return m_numberOfChilps;
  +			}
  +			String getChilpMessage()
  +			{
  +				return m_chilpMessage;
  +			}
  +			String getChilpSeperator()
  +			{
  +				return m_chilpSeparator;
  +			}
  +		}
  +		
+ + + +
+

+ +
  +		package avalon.tutorial;
   
  -	
  -

Table of Contents

-
+ import avalon.tutorial.BirdSongImpl; + + public class BirdSongRunner implements Runnable + { + BirdSongImpl m_bs; + + public void BirdSongRunner( BirdSongImpl bs ) + { + m_bs = bs; + } + + public void run() + { + int max = bs.getNumberOfChilps(); + String msg = bs.getChilpMessage(); + String separator = bs.getSeparator(); + + for( int i = 0; i != max; i++ ) + { + if( i != 0 && i != (max-1) ) + System.out.print( separator ); + + System.out.print(msg ); + } + } + } +
-

TBD

+ + +

There's quite a few things different about this component compared to the BirdSong1 class. + The constructor doesn't take any arguments; those are passed in at a later point instead through + the use of parameterize(). sing() has been renamed to start(), and a stop() method has been + added. Also, logging statements have been added throughout the code. Finally, the + actual printing of the messages is handled in a separate thread.

+ + +

All the added complexity is of course not really justified for this simple demo component; it + just serves to illustrate typical evolution from an 'average' java class into a typical avalon + component.

-
-
by Leo Simons
+ +
+ -
- -Ant LogoCocoon LogoKrysalis LogoKrysalis Centipede Logo 1.2 +176 -100 jakarta-avalon-site/docs/excalibur/tweety/faq.html Index: faq.html =================================================================== RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/tweety/faq.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- faq.html 3 Jul 2002 20:34:12 -0000 1.1 +++ faq.html 13 Jul 2002 13:38:06 -0000 1.2 @@ -1,136 +1,212 @@ + -Avalon Excalibur's Tweety - FAQ - - - + + + + + +Avalon Excalibur's Tweety - FAQ - - - -
- - -
- -  -
-

Avalon Excalibur's Tweety - FAQ

-
-
+apache >jakarta >avalon +
+ + + + +
+ + +
+
+

+
Avalon Excalibur's Tweety - FAQ
+

+

+
+

+
-

Why tweety?

-
+
+

Why tweety?

+

Some people found avalon very complex to get started with. We decided a good way to fix this was to provide an implementation specifically geared at learning how avalon works: tweety.

+ +
+

Why name an avalon container 'tweety'???

+ +

"No clues in this fishy. No clues in that fishy."
+
+ One popular avalon subproject (also a container) is called Phoenix. It has quite a + lot of features (runs multiple applications, classloader management, isolation, + automagically provides management for hosted applications, etc etc etc). It is also + quite difficult to get started with at first.
+ "Phoenix" (among other things) is the name of a powerful mythological bird. Tweety + is the name of a sweet yellow canary. Some of us geeks think it is funny.

+ -

Will you add feature XXX to tweety?

-
+
+

Will you add feature XXX to tweety?

+
-

Very unlikely. That would probably increase tweety in size and complexity, which we +

"Gimme a 'P', gimme a 'U', gimme a 'D', 'D', 'Y'."
+
+ Very unlikely. That would probably increase tweety in size and complexity, which we don't want.

+ +
+

My question is not answered. What do I do?

+
+ +

"Oh goody, goody. A surprise for me."
+
+ Start by reading the documentation provided. If your question is not answered + there, post a detailed message to the + Avalon User list. + We will try to help you out.

+ + +
+

I followed the instructions in the getting started document, but Tweety doesn't work. What do I do?

+
+ +

"Aaaah. The poor puddy tat fall down."
+ That's not supposed to happen! Please contact us through the user mailing list + (see above) with detailed information of your system configuration and what steps + you took that led to an error message, and of course the error message.

+ + +
+

Knock it off with the stupid quotes already!!!

+ +

"I did! I did taw a puddy tat!"
+
+ You can find a lot more, along with pictures, icons, sounds, animations, what + have ye, just by typing "tweety" into the google search box. Just in case you + came here looking for just that, + this site + will get you started. + In case you really can't stand it, go and read our serious documentation about + multi-dimensional separation of concerns 'n stuff!

+ -
by Leo Simons
+ +
-
- -Ant LogoCocoon LogoKrysalis LogoKrysalis Centipede Logo 1.2 +140 -98 jakarta-avalon-site/docs/excalibur/tweety/features.html Index: features.html =================================================================== RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/tweety/features.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- features.html 3 Jul 2002 20:34:12 -0000 1.1 +++ features.html 13 Jul 2002 13:38:06 -0000 1.2 @@ -1,128 +1,170 @@ + -Avalon Excalibur's Tweety - Features - - - + + + + + +Avalon Excalibur's Tweety - Features - - - -
- - -
- -  -
-

Avalon Excalibur's Tweety - Features

-
-
+apache >jakarta >avalon +
+ + + + +
+ + +
+
+

+
Avalon Excalibur's Tweety - Features
+

+

+
+

+
-

Simple, simple, simple

-
+
+

Simple, simple, simple

+

The one feature that Tweety has as opposed to related avalon projects is that it is simple, simple, simple. Following the getting started document should get you running tweety in about 2 minutes, and developing components in 10.

- + +
+

Egg

+ +

Tweety is small and easy, but it can be made easier still.

+ +

For real starters there is Egg, that introduces you to the Lifecycle + concept. Once you understand it hatch, it's time to Chirp!

+ + +
+

Tweety

+
+ +

Then Tweety awaits you, and introduces the concept of a Container.

+ +

It can't be simpler, one concept at a time!

+ + -
by Leo Simons
+ -
- -Ant LogoCocoon LogoKrysalis LogoKrysalis Centipede Logo 1.2 +168 -108 jakarta-avalon-site/docs/excalibur/tweety/getting-started.html Index: getting-started.html =================================================================== RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/tweety/getting-started.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- getting-started.html 3 Jul 2002 20:34:12 -0000 1.1 +++ getting-started.html 13 Jul 2002 13:38:06 -0000 1.2 @@ -1,105 +1,122 @@ + -Avalon Excalibur's Tweety - Getting Started - - - + + + + + +Avalon Excalibur's Tweety - Getting Started - - - -
- - -
- -  -
-

Avalon Excalibur's Tweety - Getting Started

-
-
+apache >jakarta >avalon +
+ + + + +
+ + +
+
+

+
Avalon Excalibur's Tweety - Getting Started
+

+

+
+

+
-

Introduction

-
+
+

Introduction

+

Getting started with tweety is quite simple. In a nutshell:

@@ -120,14 +137,14 @@
  • optional: Drop your Tweety-compatible Avalon components into the - classes/ directory inside + classes/ directory inside the distribution
  • -optional: Drop any libraries your components depend on into the lib/ directory
  • +optional: Drop any libraries your components depend on into the lib/ directory
  • -optional: Modify tweety.properties to know about your components
  • +optional: Modify tweety.properties to know about your components
  • at the root of the distribution, type 'ant'
  • @@ -137,38 +154,81 @@ -
    -

    Detailed installation instructions

    -
    +
    +

    Detailed installation instructions

    +

    Please read the Install Document.

    - + + +
    +

    It doesn't work!

    - -

    Component writing tutorial

    -
    + +

    "Puddy tat sure doesn't get discouraged."
    +
    + + Ah. That's bad. Our + FAQ will point you to the avalon-user + mailing list where you can contact an avalon expert to help you out.

    -

    TBD

    + +
    +

    Component writing tutorial

    + +

    If you're an experienced programmer, your guide is this:

    + +
    +
      + +
    1. read our javadocs
    2. + +
    3. read the sources for + ChirpWorld +
    4. + +
    5. modify 'em, play with 'em a bit
    6. + +
    7. read Developing with Avalon +
    8. + +
    9. Code! Code! Code!
    10. + +
    +
    + + +

    If you're not (but you do know a class from method, don't you??), we've + got a more extensive document right + here for you to check out.

    + -
    by Leo Simons
    + -
    - -Ant LogoCocoon LogoKrysalis LogoKrysalis Centipede Logo 1.2 +139 -116 jakarta-avalon-site/docs/excalibur/tweety/index.html Index: index.html =================================================================== RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/tweety/index.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- index.html 3 Jul 2002 20:34:12 -0000 1.1 +++ index.html 13 Jul 2002 13:38:06 -0000 1.2 @@ -1,105 +1,122 @@ + -Avalon Excalibur's Tweety - Overview - - - + + + + + +Avalon Excalibur's Tweety - Overview - - - -
    - - -
    - -  -
    -

    Avalon Excalibur's Tweety - Overview

    -
    -
    +apache >jakarta >avalon +
    + + + + +
    + + +
    +
    +

    +
    Avalon Excalibur's Tweety - Overview
    +

    +

    +
    +

    +
    -

    Introduction

    -
    +
    +

    Introduction

    +

    Tweety is a minimalist container explicitly designed for educational purposes, and educational purposes only.

    @@ -125,33 +142,34 @@ We'll get to it!

    -
    -

    Hello World in 2 minutes

    -
    +
    +

    Hello World in 2 minutes

    +

    Following the instructions on the Install and Getting Started pages should get you a working Hello World demo in no time at all. If you haven't got Apache Ant installed yet, it'll take a bit longer (around 15 minutes, I guess).

    -
    -

    The available documentation

    -
    +
    +

    The available documentation

    +
    -

    The Tweety FAQ

    -
    +
    +

    The Tweety FAQ

    +

    Tweety has a very modest FAQ (Frequently Asked Questions document). If your question is not answered there or in the documentation, post a detailed message to the Avalon User list.

    -
    -

    JavaDocs

    -
    +
    +

    JavaDocs

    +

    All of the Tweety code has complete javadocs. If you're an experienced java programmer, you can probably figure out everything that happens when you invoke tweety @@ -162,11 +180,11 @@ API Documentation

    -
    -

    Avalon for beginners

    -
    +
    +

    Avalon for beginners

    +

    This is a hands-on, example-based tutorial for people that are new to avalon. It will eventually migrate to the main avalon site. It introduces avalon framework and its @@ -177,11 +195,11 @@ Start the tutorial

    -
    -

    The Avalon Container HOWTO

    -
    +
    +

    The Avalon Container HOWTO

    +

    This is a tutorial for the advanced avalon user who wants to write his own container. It is assumed you are familiar with all the avalon framework definitions, interfaces, @@ -192,26 +210,31 @@ Start the tutorial

    -
    -
    -
    by Leo Simons
    + +
    +
    -
    - -Ant LogoCocoon LogoKrysalis LogoKrysalis Centipede Logo 1.2 +121 -98 jakarta-avalon-site/docs/excalibur/tweety/install.html Index: install.html =================================================================== RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/tweety/install.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- install.html 3 Jul 2002 20:34:12 -0000 1.1 +++ install.html 13 Jul 2002 13:38:06 -0000 1.2 @@ -1,126 +1,149 @@ + -Avalon Excalibur's Tweety - Install - - - + + + + + +Avalon Excalibur's Tweety - Install - - - -
    - - -
    - -  -
    -

    Avalon Excalibur's Tweety - Install

    -
    -
    +apache >jakarta >avalon +
    + + + + +
    + + +
    +
    +

    +
    Avalon Excalibur's Tweety - Install
    +

    +

    +
    +

    +
    -

    Not written yet!

    -
    +
    +

    Not written yet!

    +

    TBD

    -
    -
    by Leo Simons
    + +
    -
    - -Ant LogoCocoon LogoKrysalis LogoKrysalis Centipede Logo 1.2 +13 -3 jakarta-avalon-site/docs/excalibur/tweety/api/allclasses-frame.html Index: allclasses-frame.html =================================================================== RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/tweety/api/allclasses-frame.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- allclasses-frame.html 3 Jul 2002 20:34:12 -0000 1.1 +++ allclasses-frame.html 13 Jul 2002 13:38:06 -0000 1.2 @@ -1,14 +1,20 @@ - + - + All Classes - + + All Classes
    @@ -16,6 +22,10 @@
    ChirpWorld +
    +Egg +
    +Main
    Tweety
    1.2 +39 -9 jakarta-avalon-site/docs/excalibur/tweety/api/deprecated-list.html Index: deprecated-list.html =================================================================== RCS file: /home/cvs/jakarta-avalon-site/docs/excalibur/tweety/api/deprecated-list.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- deprecated-list.html 3 Jul 2002 20:34:12 -0000 1.1 +++ deprecated-list.html 13 Jul 2002 13:38:06 -0000 1.2 @@ -1,20 +1,26 @@ - + - + -Excalibur Tweety API: Deprecated List +Deprecated List (Excalibur Tweety API) - + + -