mcconnell 2003/08/18 09:59:41
Modified: merlin/merlin-platform/tutorials/context_casting/src/java/tutorial
DemoContextProvider.java HelloComponent.java
Added: merlin/merlin-platform/tutorials/context_casting README.TXT
maven.xml project.xml
merlin/merlin-platform/tutorials/context_casting/conf
block.xml
Removed: merlin/merlin-platform/tutorials/context_casting build.xml
merlin/merlin-platform/tutorials/context_casting/src/config
block.xml
merlin/merlin-platform/tutorials/context_casting/src/java/tutorial
HelloComponent.xinfo
Log:
Update tutorial to 3.0.
Revision Changes Path
1.1
avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/README.TXT
Index: README.TXT
===================================================================
Typesafe context casting
------------------------
This tutorial covers the declaration of constext castiong criteria
and the creation of a typed context.
$ maven
$ merlin -execute target\classes
[INFO ] (tutorial.hello): listing values resolved from domain specific context
[INFO ] (tutorial.hello): supplied context class: tutorial.DemoContextProvider
[INFO ] (tutorial.hello): name: hello
[INFO ] (tutorial.hello): partition: /tutorial/
[INFO ] (tutorial.hello): home: [you-directory]\home\tutorial\hello
[INFO ] (tutorial.hello): temp: C:\TEMP\tutorial\hello
1.1
avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/maven.xml
Index: maven.xml
===================================================================
<project default="jar:jar" xmlns:maven="jelly:maven" xmlns:j="jelly:core"
xmlns:util="jelly:util">
<preGoal name="java:compile">
<attainGoal name="avalon:meta"/>
</preGoal>
</project>
1.1
avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/project.xml
Index: project.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<project>
<groupId>merlin</groupId>
<id>merlin-tutorial-context-casting</id>
<name>Merlin Context Casting Tutorial</name>
<package>tutorial</package>
<currentVersion>1.0</currentVersion>
<inceptionYear>2003</inceptionYear>
<shortDescription>Merlin Context Casting Tutorial.</shortDescription>
<dependencies>
<dependency>
<groupId>avalon-framework</groupId>
<artifactId>avalon-framework-api</artifactId>
<version>SNAPSHOT</version>
</dependency>
<dependency>
<groupId>avalon-framework</groupId>
<artifactId>avalon-framework-impl</artifactId>
<version>SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>${basedir}/src/java</sourceDirectory>
<resources>
<resource>
<directory>${basedir}/conf</directory>
<targetPath>BLOCK-INF</targetPath>
<includes>
<include>block.xml</include>
</includes>
</resource>
</resources>
<jars></jars>
</build>
</project>
1.1
avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/conf/block.xml
Index: block.xml
===================================================================
<container name="tutorial">
<component name="hello" class="tutorial.HelloComponent" activation="startup">
<context class="tutorial.DemoContextProvider"/>
</component>
</container>
1.2 +4 -3
avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/src/java/tutorial/DemoContextProvider.java
Index: DemoContextProvider.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/src/java/tutorial/DemoContextProvider.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DemoContextProvider.java 10 Jun 2003 02:12:23 -0000 1.1
+++ DemoContextProvider.java 18 Aug 2003 16:59:41 -0000 1.2
@@ -4,6 +4,7 @@
import java.util.Map;
import java.io.File;
+import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.DefaultContext;
import org.apache.avalon.framework.context.ContextException;
@@ -20,9 +21,9 @@
* the following constructor.
* @param entries a map of context entries
*/
- public DemoContextProvider( Map entries )
+ public DemoContextProvider( Context context )
{
- super( entries );
+ super( context );
}
/**
@@ -85,7 +86,7 @@
{
try
{
- return (File) super.get( "urn:avalon:work" );
+ return (File) super.get( "urn:avalon:temp" );
}
catch( ContextException ce )
{
1.2 +12 -0
avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/src/java/tutorial/HelloComponent.java
Index: HelloComponent.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/context_casting/src/java/tutorial/HelloComponent.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- HelloComponent.java 10 Jun 2003 02:12:23 -0000 1.1
+++ HelloComponent.java 18 Aug 2003 16:59:41 -0000 1.2
@@ -5,6 +5,12 @@
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.ContextException;
+/**
+ * Component implementation that demonstrates type safe casting of a supplied
+ * context object.
+ *
+ * @avalon.component name="demo" lifestyle="singleton"
+ */
public class HelloComponent extends AbstractLogEnabled
implements Contextualizable
{
@@ -12,6 +18,12 @@
/**
* Contextualization of the component using a context
* class that implements a domain specific context interface.
+ *
+ * @avalon.context type="tutorial.DemoContext"
+ * @avalon.entry key="urn:avalon:name" type="java.lang.String"
+ * @avalon.entry key="urn:avalon:partition" type="java.lang.String"
+ * @avalon.entry key="urn:avalon:home" type="java.io.File"
+ * @avalon.entry key="urn:avalon:temp" type="java.io.File"
*/
public void contextualize( Context context )
throws ContextException
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]